Improve TrustKeysActivity slider responsiveness

Slider used to skip back on drag-and-drop action. The switch doesn't
trigger explicit whole UI refreshes anymore, it now directly adjusts the
"done" button's locked status.
This commit is contained in:
Andreas Straub 2015-08-05 22:22:37 +02:00
parent a1c43d8fdf
commit 34b22dea48

View File

@ -124,9 +124,7 @@ public class TrustKeysActivity extends XmppActivity implements OnKeyStatusUpdate
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
ownKeysToTrust.put(identityKey, isChecked);
refreshUi();
xmppConnectionService.updateAccountUi();
xmppConnectionService.updateConversationUi();
// own fingerprints have no impact on locked status.
}
},
null
@ -140,9 +138,7 @@ public class TrustKeysActivity extends XmppActivity implements OnKeyStatusUpdate
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
foreignKeysToTrust.put(identityKey, isChecked);
refreshUi();
xmppConnectionService.updateAccountUi();
xmppConnectionService.updateConversationUi();
lockOrUnlockAsNeeded();
}
},
null
@ -161,11 +157,7 @@ public class TrustKeysActivity extends XmppActivity implements OnKeyStatusUpdate
setFetching();
lock();
} else {
if (!hasOtherTrustedKeys && !foreignKeysToTrust.values().contains(true)){
lock();
} else {
unlock();
}
lockOrUnlockAsNeeded();
setDone();
}
}
@ -245,6 +237,14 @@ public class TrustKeysActivity extends XmppActivity implements OnKeyStatusUpdate
mSaveButton.setTextColor(getSecondaryTextColor());
}
private void lockOrUnlockAsNeeded() {
if (!hasOtherTrustedKeys && !foreignKeysToTrust.values().contains(true)){
lock();
} else {
unlock();
}
}
private void setDone() {
mSaveButton.setText(getString(R.string.done));
}