From 34b22dea48bfc2f932bfdb27439493a71a409260 Mon Sep 17 00:00:00 2001 From: Andreas Straub Date: Wed, 5 Aug 2015 22:22:37 +0200 Subject: [PATCH] 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. --- .../conversations/ui/TrustKeysActivity.java | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/main/java/eu/siacs/conversations/ui/TrustKeysActivity.java b/src/main/java/eu/siacs/conversations/ui/TrustKeysActivity.java index 37ddf590..c5551857 100644 --- a/src/main/java/eu/siacs/conversations/ui/TrustKeysActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/TrustKeysActivity.java @@ -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)); }