Fixes FS#51: Change toggle in Account Management back to standard
This commit is contained in:
parent
bfc5000b6a
commit
a444402644
10 changed files with 13 additions and 139 deletions
|
@ -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
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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"
|
||||
|
|
|
@ -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>
|
|
@ -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>
|
Loading…
Add table
Reference in a new issue