From 6e3e1d310aafddd9ddf9fc09c23df2d13f760dfd Mon Sep 17 00:00:00 2001 From: iNPUTmice Date: Wed, 9 Jul 2014 21:45:03 +0200 Subject: [PATCH] unified warnings/error msgs --- res/drawable/blue.xml | 5 - res/drawable/bluebackground.xml | 9 -- res/drawable/darkblue.xml | 5 - res/drawable/darkred.xml | 5 - res/drawable/red.xml | 5 - res/drawable/redbackground.xml | 9 -- res/layout/fragment_conversation.xml | 115 +++++------------- res/values/colors.xml | 2 + res/values/strings.xml | 2 + .../ui/ConversationActivity.java | 2 +- .../ui/ConversationFragment.java | 54 ++++---- .../siacs/conversations/utils/UIHelper.java | 2 +- 12 files changed, 59 insertions(+), 156 deletions(-) delete mode 100644 res/drawable/blue.xml delete mode 100644 res/drawable/bluebackground.xml delete mode 100644 res/drawable/darkblue.xml delete mode 100644 res/drawable/darkred.xml delete mode 100644 res/drawable/red.xml delete mode 100644 res/drawable/redbackground.xml diff --git a/res/drawable/blue.xml b/res/drawable/blue.xml deleted file mode 100644 index 5692154ad..000000000 --- a/res/drawable/blue.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - \ No newline at end of file diff --git a/res/drawable/bluebackground.xml b/res/drawable/bluebackground.xml deleted file mode 100644 index fbf6d3170..000000000 --- a/res/drawable/bluebackground.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - diff --git a/res/drawable/darkblue.xml b/res/drawable/darkblue.xml deleted file mode 100644 index b33c38ceb..000000000 --- a/res/drawable/darkblue.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - \ No newline at end of file diff --git a/res/drawable/darkred.xml b/res/drawable/darkred.xml deleted file mode 100644 index 1313cc2f6..000000000 --- a/res/drawable/darkred.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - \ No newline at end of file diff --git a/res/drawable/red.xml b/res/drawable/red.xml deleted file mode 100644 index abdc07d6f..000000000 --- a/res/drawable/red.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - \ No newline at end of file diff --git a/res/drawable/redbackground.xml b/res/drawable/redbackground.xml deleted file mode 100644 index ddca66f44..000000000 --- a/res/drawable/redbackground.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - diff --git a/res/layout/fragment_conversation.xml b/res/layout/fragment_conversation.xml index 749d97b26..4605889d9 100644 --- a/res/layout/fragment_conversation.xml +++ b/res/layout/fragment_conversation.xml @@ -3,7 +3,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/primarybackground" > + android:background="@color/secondarybackground" > - + android:minHeight="48dp" + android:background="@color/darkbackground" + android:visibility="gone"> - - - - - - - - + - - - - - - - - - - - - - + android:layout_alignParentRight="true" + android:layout_centerVertical="true" + android:textSize="14sp" + android:textColor="@color/ondarktext" + android:textStyle="bold" + android:textAllCaps="true" + android:paddingLeft="24dp" + android:paddingRight="24dp" + android:paddingTop="18dp" + android:paddingBottom="18dp"/> + \ No newline at end of file diff --git a/res/values/colors.xml b/res/values/colors.xml index 382b5471d..4ede1c107 100644 --- a/res/values/colors.xml +++ b/res/values/colors.xml @@ -2,8 +2,10 @@ #de000000 #8a000000 + #fffafafa #fffafafa #ffeeeeee + #ff323232 #1f000000 #ffe51c23 \ No newline at end of file diff --git a/res/values/strings.xml b/res/values/strings.xml index dcaf58d2f..80bd2052e 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -252,4 +252,6 @@ No suitable Conference Server found Your fingerprint OTR fingerprint + Verify + Decrypt \ No newline at end of file diff --git a/src/eu/siacs/conversations/ui/ConversationActivity.java b/src/eu/siacs/conversations/ui/ConversationActivity.java index 03ced2895..c11e1d654 100644 --- a/src/eu/siacs/conversations/ui/ConversationActivity.java +++ b/src/eu/siacs/conversations/ui/ConversationActivity.java @@ -768,7 +768,7 @@ public class ConversationActivity extends XmppActivity { ConversationFragment selectedFragment = (ConversationFragment) getFragmentManager() .findFragmentByTag("conversation"); if (selectedFragment != null) { - selectedFragment.hidePgpPassphraseBox(); + selectedFragment.hideSnackbar(); } } else if (requestCode == REQUEST_ATTACH_FILE_DIALOG) { attachImageToConversation(getSelectedConversation(), diff --git a/src/eu/siacs/conversations/ui/ConversationFragment.java b/src/eu/siacs/conversations/ui/ConversationFragment.java index 300b6c4c1..01bab7731 100644 --- a/src/eu/siacs/conversations/ui/ConversationFragment.java +++ b/src/eu/siacs/conversations/ui/ConversationFragment.java @@ -48,6 +48,7 @@ import android.widget.LinearLayout; import android.widget.ListView; import android.widget.ImageButton; import android.widget.ImageView; +import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Toast; @@ -68,6 +69,9 @@ public class ConversationFragment extends Fragment { private EditText chatMsg; private String pastedText = null; + private RelativeLayout snackbar; + private TextView snackbarMessage; + private TextView snackbarAction; protected Bitmap selfBitmap; @@ -109,10 +113,7 @@ public class ConversationFragment extends Fragment { } } }; - - private LinearLayout pgpInfo; - private LinearLayout mucError; - private TextView mucErrorText; + private OnClickListener clickToMuc = new OnClickListener() { @Override @@ -152,10 +153,6 @@ public class ConversationFragment extends Fragment { private ConversationActivity activity; - public void hidePgpPassphraseBox() { - pgpInfo.setVisibility(View.GONE); - } - public void updateChatMsgHint() { switch (conversation.getNextEncryption()) { case Message.ENCRYPTION_NONE: @@ -191,11 +188,9 @@ public class ConversationFragment extends Fragment { .findViewById(R.id.textSendButton); sendButton.setOnClickListener(this.sendMsgListener); - pgpInfo = (LinearLayout) view.findViewById(R.id.pgp_keyentry); - pgpInfo.setOnClickListener(clickToDecryptListener); - mucError = (LinearLayout) view.findViewById(R.id.muc_error); - mucError.setOnClickListener(clickToMuc); - mucErrorText = (TextView) view.findViewById(R.id.muc_error_msg); + snackbar = (RelativeLayout) view.findViewById(R.id.snackbar); + snackbarMessage = (TextView) view.findViewById(R.id.snackbar_message); + snackbarAction = (TextView) view.findViewById(R.id.snackbar_action); messagesView = (ListView) view.findViewById(R.id.messages_view); messagesView.setOnScrollListener(mOnScrollListener); @@ -688,7 +683,7 @@ public class ConversationFragment extends Fragment { @Override public void userInputRequried(PendingIntent pi, Message message) { askForPassphraseIntent = pi.getIntentSender(); - pgpInfo.setVisibility(View.VISIBLE); + showSnackbar(R.string.openpgp_messages_found,R.string.decrypt,clickToDecryptListener); } @Override @@ -704,8 +699,6 @@ public class ConversationFragment extends Fragment { // updateMessages(); } }); - } else { - pgpInfo.setVisibility(View.GONE); } } @@ -742,12 +735,10 @@ public class ConversationFragment extends Fragment { } } else { if (conversation.getMucOptions().getError() != 0) { - mucError.setVisibility(View.VISIBLE); + showSnackbar(R.string.nick_in_use, R.string.edit,clickToMuc); if (conversation.getMucOptions().getError() == MucOptions.ERROR_NICK_IN_USE) { - mucErrorText.setText(getString(R.string.nick_in_use)); + showSnackbar(R.string.nick_in_use, R.string.edit,clickToMuc); } - } else { - mucError.setVisibility(View.GONE); } } getActivity().invalidateOptionsMenu(); @@ -795,34 +786,37 @@ public class ConversationFragment extends Fragment { } protected void makeFingerprintWarning(int latestEncryption) { - final LinearLayout fingerprintWarning = (LinearLayout) getView() - .findViewById(R.id.new_fingerprint); Set knownFingerprints = conversation.getContact() .getOtrFingerprints(); if ((latestEncryption == Message.ENCRYPTION_OTR) && (conversation.hasValidOtrSession() && (conversation.getOtrSession().getSessionStatus() == SessionStatus.ENCRYPTED) && (!knownFingerprints .contains(conversation.getOtrFingerprint())))) { - fingerprintWarning.setVisibility(View.VISIBLE); - TextView fingerprint = (TextView) getView().findViewById( - R.id.otr_fingerprint); - fingerprint.setText(conversation.getOtrFingerprint()); - fingerprintWarning.setOnClickListener(new OnClickListener() { + showSnackbar(R.string.unknown_otr_fingerprint, R.string.verify, new OnClickListener() { @Override public void onClick(View v) { if (conversation.getOtrFingerprint() != null) { AlertDialog dialog = UIHelper.getVerifyFingerprintDialog( (ConversationActivity) getActivity(), conversation, - fingerprintWarning); + snackbar); dialog.show(); } } }); - } else { - fingerprintWarning.setVisibility(View.GONE); } } + + protected void showSnackbar(int message, int action, OnClickListener clickListener) { + snackbar.setVisibility(View.VISIBLE); + snackbarMessage.setText(message); + snackbarAction.setText(action); + snackbarAction.setOnClickListener(clickListener); + } + + protected void hideSnackbar() { + snackbar.setVisibility(View.GONE); + } protected void sendPlainTextMessage(Message message) { ConversationActivity activity = (ConversationActivity) getActivity(); diff --git a/src/eu/siacs/conversations/utils/UIHelper.java b/src/eu/siacs/conversations/utils/UIHelper.java index ddd5e1bea..7f24943fe 100644 --- a/src/eu/siacs/conversations/utils/UIHelper.java +++ b/src/eu/siacs/conversations/utils/UIHelper.java @@ -492,7 +492,7 @@ public class UIHelper { public static AlertDialog getVerifyFingerprintDialog( final ConversationActivity activity, - final Conversation conversation, final LinearLayout msg) { + final Conversation conversation, final View msg) { final Contact contact = conversation.getContact(); final Account account = conversation.getAccount();