aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Gultsch <daniel@gultsch.de>2016-07-17 20:31:04 +0200
committerDaniel Gultsch <daniel@gultsch.de>2016-07-17 20:31:04 +0200
commit3e50d4831fc1cfff2fb5774cc4efdad3b35abda4 (patch)
tree9e3a4f5ca127e90c1c52cc72f526363c915ae0fd
parent0bc5dbdf9439074aeab6c34aaa8db4bef504f1fd (diff)
show toast hint when touching inactive omemo fingerprints
-rw-r--r--src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java7
-rw-r--r--src/main/java/eu/siacs/conversations/ui/XmppActivity.java31
-rw-r--r--src/main/res/layout/activity_edit_account.xml1
-rw-r--r--src/main/res/values/strings.xml1
4 files changed, 39 insertions, 1 deletions
diff --git a/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java b/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java
index f6c2c7af..18f3239c 100644
--- a/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java
@@ -86,6 +86,7 @@ public class EditAccountActivity extends XmppActivity implements OnAccountUpdate
private TextView mSessionEst;
private TextView mOtrFingerprint;
private TextView mAxolotlFingerprint;
+ private TextView mOwnFingerprintDesc;
private TextView mAccountJidLabel;
private ImageView mAvatar;
private RelativeLayout mOtrFingerprintBox;
@@ -468,6 +469,7 @@ public class EditAccountActivity extends XmppActivity implements OnAccountUpdate
this.mAxolotlFingerprintBox = (RelativeLayout) findViewById(R.id.axolotl_fingerprint_box);
this.mAxolotlFingerprintToClipboardButton = (ImageButton) findViewById(R.id.action_copy_axolotl_to_clipboard);
this.mRegenerateAxolotlKeyButton = (ImageButton) findViewById(R.id.action_regenerate_axolotl_key);
+ this.mOwnFingerprintDesc = (TextView) findViewById(R.id.own_fingerprint_desc);
this.keysCard = (LinearLayout) findViewById(R.id.other_device_keys_card);
this.keys = (LinearLayout) findViewById(R.id.other_device_keys);
this.mNamePort = (LinearLayout) findViewById(R.id.name_port);
@@ -801,6 +803,11 @@ public class EditAccountActivity extends XmppActivity implements OnAccountUpdate
final String ownAxolotlFingerprint = this.mAccount.getAxolotlService().getOwnFingerprint();
if (ownAxolotlFingerprint != null && Config.supportOmemo()) {
this.mAxolotlFingerprintBox.setVisibility(View.VISIBLE);
+ if (ownAxolotlFingerprint.equals(messageFingerprint)) {
+ this.mOwnFingerprintDesc.setTextColor(getResources().getColor(R.color.accent));
+ } else {
+ this.mOwnFingerprintDesc.setTextColor(getSecondaryTextColor());
+ }
this.mAxolotlFingerprint.setText(CryptoHelper.prettifyFingerprint(ownAxolotlFingerprint.substring(2)));
this.mAxolotlFingerprintToClipboardButton
.setVisibility(View.VISIBLE);
diff --git a/src/main/java/eu/siacs/conversations/ui/XmppActivity.java b/src/main/java/eu/siacs/conversations/ui/XmppActivity.java
index 3f2308e1..b745afec 100644
--- a/src/main/java/eu/siacs/conversations/ui/XmppActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/XmppActivity.java
@@ -128,8 +128,12 @@ public abstract class XmppActivity extends Activity {
}
protected void replaceToast(String msg) {
+ replaceToast(msg, true);
+ }
+
+ protected void replaceToast(String msg, boolean showlong) {
hideToast();
- mToast = Toast.makeText(this, msg ,Toast.LENGTH_LONG);
+ mToast = Toast.makeText(this, msg ,showlong ? Toast.LENGTH_LONG : Toast.LENGTH_SHORT);
mToast.show();
}
@@ -806,6 +810,7 @@ public abstract class XmppActivity extends Activity {
return true;
}
};
+ boolean active = true;
view.setOnLongClickListener(purge);
key.setOnLongClickListener(purge);
keyType.setOnLongClickListener(purge);
@@ -836,6 +841,7 @@ public abstract class XmppActivity extends Activity {
trustToggle.setEnabled(false);
key.setTextColor(getTertiaryTextColor());
keyType.setTextColor(getTertiaryTextColor());
+ active = false;
break;
case INACTIVE_TRUSTED:
case INACTIVE_TRUSTED_X509:
@@ -844,6 +850,7 @@ public abstract class XmppActivity extends Activity {
trustToggle.setEnabled(false);
key.setTextColor(getTertiaryTextColor());
keyType.setTextColor(getTertiaryTextColor());
+ active = false;
break;
}
@@ -860,6 +867,28 @@ public abstract class XmppActivity extends Activity {
}
key.setText(CryptoHelper.prettifyFingerprint(fingerprint.substring(2)));
+
+ final View.OnClickListener toast;
+ if (!active) {
+ toast = new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ replaceToast(getString(R.string.this_device_is_no_longer_in_use), false);
+ }
+ };
+ trustToggle.setOnClickListener(toast);
+ } else {
+ toast = new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ hideToast();
+ }
+ };
+ }
+ view.setOnClickListener(toast);
+ key.setOnClickListener(toast);
+ keyType.setOnClickListener(toast);
+
keys.addView(view);
return true;
}
diff --git a/src/main/res/layout/activity_edit_account.xml b/src/main/res/layout/activity_edit_account.xml
index e180f1be..555f18ff 100644
--- a/src/main/res/layout/activity_edit_account.xml
+++ b/src/main/res/layout/activity_edit_account.xml
@@ -506,6 +506,7 @@
android:typeface="monospace"/>
<TextView
+ android:id="@+id/own_fingerprint_desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/this_device_omemo_fingerprint"
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index 40e64b8b..84d9fee2 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -667,4 +667,5 @@
<string name="pref_use_green_background">Green Background</string>
<string name="pref_use_green_background_summary">Use green background for received messages</string>
<string name="unable_to_connect_to_keychain">Unable to connect to OpenKeychain</string>
+ <string name="this_device_is_no_longer_in_use">This device is no longer in use</string>
</resources>