aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsteckbrief <steckbrief@chefmail.de>2016-03-11 23:44:59 +0100
committersteckbrief <steckbrief@chefmail.de>2016-03-11 23:44:59 +0100
commita4444026444c75678db1663e01de05df225cd9ed (patch)
tree3bee0b26345feee9eeb477e45e4d443c52d832ca
parentbfc5000b6aa3d401ad80e04c43a6671aa9c2c619 (diff)
Fixes FS#51: Change toggle in Account Management back to standard
-rw-r--r--build.gradle1
-rw-r--r--src/main/java/de/thedevstack/conversationsplus/ui/XmppActivity.java10
-rw-r--r--src/main/java/de/thedevstack/conversationsplus/ui/adapter/AccountAdapter.java9
-rw-r--r--src/main/java/de/thedevstack/conversationsplus/ui/widget/Switch.java68
-rw-r--r--src/main/res/drawable/switch_back_off.xml15
-rw-r--r--src/main/res/drawable/switch_back_on.xml16
-rw-r--r--src/main/res/drawable/switch_thumb.xml12
-rw-r--r--src/main/res/layout/account_row.xml3
-rw-r--r--src/main/res/layout/contact_key.xml5
-rw-r--r--src/main/res/values/styles.xml13
10 files changed, 13 insertions, 139 deletions
diff --git a/build.gradle b/build.gradle
index 877fe4b6..1b07d681 100644
--- a/build.gradle
+++ b/build.gradle
@@ -45,7 +45,6 @@ dependencies {
compile name: 'protobuf-java-2.5.0' // axolotl, loaded from maven
compile name: 'android-crop-1.0.1', ext: 'aar'
compile name: 'roundedimageview-2.2.0', ext: 'aar'
- compile name: 'switchbutton-1.2.8', ext: 'aar' // loaded from jcenter
compile name: 'openpgp-api-10.0', ext: 'aar' // loaded from jcenter
// Local modules
diff --git a/src/main/java/de/thedevstack/conversationsplus/ui/XmppActivity.java b/src/main/java/de/thedevstack/conversationsplus/ui/XmppActivity.java
index cf029ee3..15e9d173 100644
--- a/src/main/java/de/thedevstack/conversationsplus/ui/XmppActivity.java
+++ b/src/main/java/de/thedevstack/conversationsplus/ui/XmppActivity.java
@@ -49,6 +49,7 @@ import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
+import android.widget.Switch;
import android.widget.TextView;
import android.widget.Toast;
@@ -82,7 +83,6 @@ import de.thedevstack.conversationsplus.entities.MucOptions;
import de.thedevstack.conversationsplus.entities.Presences;
import de.thedevstack.conversationsplus.services.XmppConnectionService;
import de.thedevstack.conversationsplus.services.XmppConnectionService.XmppConnectionBinder;
-import de.thedevstack.conversationsplus.ui.widget.Switch;
import de.thedevstack.conversationsplus.utils.CryptoHelper;
import de.thedevstack.conversationsplus.utils.ExceptionHelper;
import de.thedevstack.conversationsplus.xmpp.OnKeyStatusUpdated;
@@ -743,7 +743,7 @@ public abstract class XmppActivity extends Activity {
case UNTRUSTED:
case TRUSTED:
case TRUSTED_X509:
- trustToggle.setChecked(trust.trusted(), false);
+ trustToggle.setChecked(trust.trusted());
trustToggle.setEnabled(trust != XmppAxolotlSession.Trust.TRUSTED_X509);
if (trust == XmppAxolotlSession.Trust.TRUSTED_X509) {
trustToggle.setOnClickListener(null);
@@ -752,7 +752,7 @@ public abstract class XmppActivity extends Activity {
keyType.setTextColor(getSecondaryTextColor());
break;
case UNDECIDED:
- trustToggle.setChecked(false, false);
+ trustToggle.setChecked(false);
trustToggle.setEnabled(false);
key.setTextColor(getPrimaryTextColor());
keyType.setTextColor(getSecondaryTextColor());
@@ -760,7 +760,7 @@ public abstract class XmppActivity extends Activity {
case INACTIVE_UNTRUSTED:
case INACTIVE_UNDECIDED:
trustToggle.setOnClickListener(null);
- trustToggle.setChecked(false, false);
+ trustToggle.setChecked(false);
trustToggle.setEnabled(false);
key.setTextColor(getTertiaryTextColor());
keyType.setTextColor(getTertiaryTextColor());
@@ -768,7 +768,7 @@ public abstract class XmppActivity extends Activity {
case INACTIVE_TRUSTED:
case INACTIVE_TRUSTED_X509:
trustToggle.setOnClickListener(null);
- trustToggle.setChecked(true, false);
+ trustToggle.setChecked(true);
trustToggle.setEnabled(false);
key.setTextColor(getTertiaryTextColor());
keyType.setTextColor(getTertiaryTextColor());
diff --git a/src/main/java/de/thedevstack/conversationsplus/ui/adapter/AccountAdapter.java b/src/main/java/de/thedevstack/conversationsplus/ui/adapter/AccountAdapter.java
index eb0344bc..b6caa019 100644
--- a/src/main/java/de/thedevstack/conversationsplus/ui/adapter/AccountAdapter.java
+++ b/src/main/java/de/thedevstack/conversationsplus/ui/adapter/AccountAdapter.java
@@ -7,6 +7,7 @@ import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.CompoundButton;
import android.widget.ImageView;
+import android.widget.Switch;
import android.widget.TextView;
import java.util.List;
@@ -17,7 +18,6 @@ import de.thedevstack.conversationsplus.entities.Account;
import de.thedevstack.conversationsplus.services.AvatarService;
import de.thedevstack.conversationsplus.ui.ManageAccountActivity;
import de.thedevstack.conversationsplus.ui.XmppActivity;
-import de.thedevstack.conversationsplus.ui.widget.Switch;
public class AccountAdapter extends ArrayAdapter<Account> {
@@ -60,12 +60,13 @@ public class AccountAdapter extends ArrayAdapter<Account> {
}
final Switch tglAccountState = (Switch) view.findViewById(R.id.tgl_account_status);
final boolean isDisabled = (account.getStatus() == Account.State.DISABLED);
- tglAccountState.setChecked(!isDisabled,false);
+ tglAccountState.setChecked(!isDisabled);
tglAccountState.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
- if (b == isDisabled && activity instanceof ManageAccountActivity) {
- ((ManageAccountActivity) activity).onClickTglAccountState(account,b);
+ // Condition compoundButton.isPressed() added because of http://stackoverflow.com/a/28219410
+ if (compoundButton.isPressed() && b == isDisabled && activity instanceof ManageAccountActivity) {
+ ((ManageAccountActivity) activity).onClickTglAccountState(account, b);
}
}
});
diff --git a/src/main/java/de/thedevstack/conversationsplus/ui/widget/Switch.java b/src/main/java/de/thedevstack/conversationsplus/ui/widget/Switch.java
deleted file mode 100644
index e5a4f0dc..00000000
--- a/src/main/java/de/thedevstack/conversationsplus/ui/widget/Switch.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package de.thedevstack.conversationsplus.ui.widget;
-
-import android.content.Context;
-import android.util.AttributeSet;
-import android.view.MotionEvent;
-import android.view.ViewConfiguration;
-
-import com.kyleduo.switchbutton.SwitchButton;
-
-public class Switch extends SwitchButton {
-
- private int mTouchSlop;
- private int mClickTimeout;
- private float mStartX;
- private float mStartY;
- private OnClickListener mOnClickListener;
-
- public Switch(Context context) {
- super(context);
- mTouchSlop = ViewConfiguration.get(getContext()).getScaledTouchSlop();
- mClickTimeout = ViewConfiguration.getPressedStateDuration() + ViewConfiguration.getTapTimeout();
- }
-
- public Switch(Context context, AttributeSet attrs) {
- super(context, attrs);
- mTouchSlop = ViewConfiguration.get(getContext()).getScaledTouchSlop();
- mClickTimeout = ViewConfiguration.getPressedStateDuration() + ViewConfiguration.getTapTimeout();
- }
-
- public Switch(Context context, AttributeSet attrs, int defStyle) {
- super(context, attrs, defStyle);
- mTouchSlop = ViewConfiguration.get(getContext()).getScaledTouchSlop();
- mClickTimeout = ViewConfiguration.getPressedStateDuration() + ViewConfiguration.getTapTimeout();
- }
-
- @Override
- public void setOnClickListener(OnClickListener onClickListener) {
- this.mOnClickListener = onClickListener;
- }
-
- @Override
- public boolean onTouchEvent(MotionEvent event) {
- if (!isEnabled()) {
- float deltaX = event.getX() - mStartX;
- float deltaY = event.getY() - mStartY;
- int action = event.getAction();
- switch (action) {
- case MotionEvent.ACTION_DOWN:
- mStartX = event.getX();
- mStartY = event.getY();
- break;
- case MotionEvent.ACTION_CANCEL:
- case MotionEvent.ACTION_UP:
- float time = event.getEventTime() - event.getDownTime();
- if (deltaX < mTouchSlop && deltaY < mTouchSlop && time < mClickTimeout) {
- if (mOnClickListener != null) {
- this.mOnClickListener.onClick(this);
- }
- }
- break;
- default:
- break;
- }
- return true;
- }
- return super.onTouchEvent(event);
- }
-}
diff --git a/src/main/res/drawable/switch_back_off.xml b/src/main/res/drawable/switch_back_off.xml
deleted file mode 100644
index 20d2fb14..00000000
--- a/src/main/res/drawable/switch_back_off.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-
- <item android:state_enabled="false"><shape android:shape="rectangle">
- <solid android:color="#D5D5D5" />
-
- <corners android:radius="99dp" />
- </shape></item>
- <item android:state_enabled="true"><shape android:shape="rectangle">
- <solid android:color="#939393" />
-
- <corners android:radius="99dp" />
- </shape></item>
-
-</selector> \ No newline at end of file
diff --git a/src/main/res/drawable/switch_back_on.xml b/src/main/res/drawable/switch_back_on.xml
deleted file mode 100644
index 45117a98..00000000
--- a/src/main/res/drawable/switch_back_on.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_enabled="false">
- <shape android:shape="rectangle">
- <solid android:color="#D5D5D5"/>
- <corners android:radius="99dp"/>
- </shape>
- </item>
- <item android:state_enabled="true">
- <shape android:shape="rectangle">
- <!-- 30% accent on white -->
- <solid android:color="#b3ddf7"/>
- <corners android:radius="99dp"/>
- </shape>
- </item>
-</selector> \ No newline at end of file
diff --git a/src/main/res/drawable/switch_thumb.xml b/src/main/res/drawable/switch_thumb.xml
deleted file mode 100644
index ba3d1c45..00000000
--- a/src/main/res/drawable/switch_thumb.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-
- <item android:drawable="@drawable/switch_thumb_disable" android:state_enabled="false"/>
- <item android:drawable="@drawable/switch_thumb_on_pressed" android:state_checked="true" android:state_pressed="true"/>
- <item android:drawable="@drawable/switch_thumb_on_pressed" android:state_checked="true" android:state_focused="true"/>
- <item android:drawable="@drawable/switch_thumb_on_normal" android:state_checked="true"/>
- <item android:drawable="@drawable/switch_thumb_off_pressed" android:state_checked="false" android:state_pressed="true"/>
- <item android:drawable="@drawable/switch_thumb_off_pressed" android:state_checked="false" android:state_focused="true"/>
- <item android:drawable="@drawable/switch_thumb_off_normal" android:state_checked="false"/>
-
-</selector> \ No newline at end of file
diff --git a/src/main/res/layout/account_row.xml b/src/main/res/layout/account_row.xml
index 05270e3a..d1ec92af 100644
--- a/src/main/res/layout/account_row.xml
+++ b/src/main/res/layout/account_row.xml
@@ -46,8 +46,7 @@
android:textStyle="bold" />
</LinearLayout>
- <de.thedevstack.conversationsplus.ui.widget.Switch
- style="@style/MD"
+ <Switch
android:id="@+id/tgl_account_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
diff --git a/src/main/res/layout/contact_key.xml b/src/main/res/layout/contact_key.xml
index 6882abc4..bf818001 100644
--- a/src/main/res/layout/contact_key.xml
+++ b/src/main/res/layout/contact_key.xml
@@ -56,14 +56,13 @@
android:visibility="gone" />
- <de.thedevstack.conversationsplus.ui.widget.Switch
+ <Switch
android:id="@+id/tgl_trust"
android:visibility="invisible"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
- android:layout_centerVertical="true"
- style="@style/MD"/>
+ android:layout_centerVertical="true"/>
</RelativeLayout>
</RelativeLayout> \ No newline at end of file
diff --git a/src/main/res/values/styles.xml b/src/main/res/values/styles.xml
index e8572d9d..450cf183 100644
--- a/src/main/res/values/styles.xml
+++ b/src/main/res/values/styles.xml
@@ -4,18 +4,5 @@
<item name="android:layout_height">1.5dp</item>
<item name="android:background">@color/black12</item>
</style>
- <style name="MD">
- <item name="animationVelocity">6</item>
- <item name="insetBottom">16dp</item>
- <item name="insetTop">16dp</item>
- <item name="insetLeft">16dp</item>
- <item name="insetRight">16dp</item>
- <item name="measureFactor">1.4</item>
- <item name="offDrawable">@drawable/switch_back_off</item>
- <item name="onDrawable">@drawable/switch_back_on</item>
- <item name="thumbDrawable">@drawable/switch_thumb</item>
- <item name="thumb_margin">-17dp</item>
- <item name="android:padding">16dp</item>
- </style>
</resources> \ No newline at end of file