Improve TrustKeysActivity slider responsiveness
Andreas Straub
created 10 years ago
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.
Change summary
src/main/java/eu/siacs/conversations/ui/TrustKeysActivity.java | 22 ++--
1 file changed, 11 insertions(+), 11 deletions(-)
Detailed changes
@@ -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));
}