Display error message if all contact keys purged

This commit is contained in:
Andreas Straub 2015-08-15 18:52:47 +02:00
parent 32826ec29d
commit 45d68c200e
3 changed files with 44 additions and 0 deletions

View file

@ -32,6 +32,8 @@ public class TrustKeysActivity extends XmppActivity implements OnKeyStatusUpdate
private boolean hasNoTrustedKeys = true; private boolean hasNoTrustedKeys = true;
private Contact contact; private Contact contact;
private TextView keyErrorMessage;
private LinearLayout keyErrorMessageCard;
private TextView ownKeysTitle; private TextView ownKeysTitle;
private LinearLayout ownKeys; private LinearLayout ownKeys;
private LinearLayout ownKeysCard; private LinearLayout ownKeysCard;
@ -92,6 +94,8 @@ public class TrustKeysActivity extends XmppActivity implements OnKeyStatusUpdate
} }
hasNoTrustedKeys = getIntent().getBooleanExtra("has_no_trusted", false); hasNoTrustedKeys = getIntent().getBooleanExtra("has_no_trusted", false);
keyErrorMessageCard = (LinearLayout) findViewById(R.id.key_error_message_card);
keyErrorMessage = (TextView) findViewById(R.id.key_error_message);
ownKeysTitle = (TextView) findViewById(R.id.own_keys_title); ownKeysTitle = (TextView) findViewById(R.id.own_keys_title);
ownKeys = (LinearLayout) findViewById(R.id.own_keys_details); ownKeys = (LinearLayout) findViewById(R.id.own_keys_details);
ownKeysCard = (LinearLayout) findViewById(R.id.own_keys_card); ownKeysCard = (LinearLayout) findViewById(R.id.own_keys_card);
@ -157,6 +161,12 @@ public class TrustKeysActivity extends XmppActivity implements OnKeyStatusUpdate
setFetching(); setFetching();
lock(); lock();
} else { } else {
if (!hasForeignKeys && !hasOtherTrustedKeys) {
keyErrorMessageCard.setVisibility(View.VISIBLE);
keyErrorMessage.setText(R.string.error_no_keys_to_trust);
ownKeys.removeAllViews(); ownKeysCard.setVisibility(View.GONE);
foreignKeys.removeAllViews(); foreignKeysCard.setVisibility(View.GONE);
}
lockOrUnlockAsNeeded(); lockOrUnlockAsNeeded();
setDone(); setDone();
} }

View file

@ -15,6 +15,38 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout
android:id="@+id/key_error_message_card"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/activity_horizontal_margin"
android:layout_marginRight="@dimen/activity_horizontal_margin"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:background="@drawable/infocard_border"
android:orientation="vertical"
android:padding="@dimen/infocard_padding"
android:visibility="gone">
<TextView
android:id="@+id/key_error_message_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black87"
android:textSize="?attr/TextSizeHeadline"
android:textStyle="bold"
android:text="@string/error_trustkeys_title"/>
<TextView
android:id="@+id/key_error_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black87"
android:textSize="?attr/TextSizeBody"
android:padding="8dp"/>
</LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/own_keys_card" android:id="@+id/own_keys_card"
android:layout_width="fill_parent" android:layout_width="fill_parent"

View file

@ -397,6 +397,8 @@
<string name="purge_key">Purge key</string> <string name="purge_key">Purge key</string>
<string name="purge_key_desc_part1">Are you sure you want to purge this key?</string> <string name="purge_key_desc_part1">Are you sure you want to purge this key?</string>
<string name="purge_key_desc_part2">It will irreversibly be considered compromised, and you can never build a session with it again.</string> <string name="purge_key_desc_part2">It will irreversibly be considered compromised, and you can never build a session with it again.</string>
<string name="error_no_keys_to_trust">There are no usable keys available for this contact. If you have purged any of their keys, they need to generate new ones.</string>
<string name="error_trustkeys_title">Error</string>
<string name="fetching_history_from_server">Fetching history from server</string> <string name="fetching_history_from_server">Fetching history from server</string>
<string name="no_more_history_on_server">No more history on server</string> <string name="no_more_history_on_server">No more history on server</string>
<string name="updating">Updating…</string> <string name="updating">Updating…</string>