diff options
author | kruks23 <scardenas@openmailbox.org> | 2014-07-09 22:05:48 +0200 |
---|---|---|
committer | kruks23 <scardenas@openmailbox.org> | 2014-07-09 22:05:48 +0200 |
commit | c7088489bd339e4b8b5128e909a1b4377864a5c9 (patch) | |
tree | 56974ad74bfdb025a56e817b952221ce4f2dbbe6 | |
parent | 71324261e5560fa70ef028fba35bd121f2527578 (diff) | |
parent | da79e2cca2ffce6e4e5c3b479c4de702ecca1872 (diff) |
Merge branch 'development' of https://github.com/siacs/Conversations into development
-rw-r--r-- | res/drawable/blue.xml | 5 | ||||
-rw-r--r-- | res/drawable/bluebackground.xml | 9 | ||||
-rw-r--r-- | res/drawable/darkblue.xml | 5 | ||||
-rw-r--r-- | res/drawable/darkred.xml | 5 | ||||
-rw-r--r-- | res/drawable/red.xml | 5 | ||||
-rw-r--r-- | res/drawable/redbackground.xml | 9 | ||||
-rw-r--r-- | res/layout/fragment_conversation.xml | 115 | ||||
-rw-r--r-- | res/values/colors.xml | 2 | ||||
-rw-r--r-- | res/values/strings.xml | 2 | ||||
-rw-r--r-- | src/eu/siacs/conversations/ui/ConversationActivity.java | 2 | ||||
-rw-r--r-- | src/eu/siacs/conversations/ui/ConversationFragment.java | 54 | ||||
-rw-r--r-- | src/eu/siacs/conversations/utils/UIHelper.java | 2 |
12 files changed, 59 insertions, 156 deletions
diff --git a/res/drawable/blue.xml b/res/drawable/blue.xml deleted file mode 100644 index 5692154a..00000000 --- a/res/drawable/blue.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<shape xmlns:android="http://schemas.android.com/apk/res/android" - android:shape="rectangle"> - <solid android:color="#FF1da9da" /> -</shape>
\ No newline at end of file diff --git a/res/drawable/bluebackground.xml b/res/drawable/bluebackground.xml deleted file mode 100644 index fbf6d317..00000000 --- a/res/drawable/bluebackground.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<selector xmlns:android="http://schemas.android.com/apk/res/android" > - <item - android:state_pressed="false" - android:drawable="@drawable/blue" /> - <item - android:state_pressed="true" - android:drawable="@drawable/darkblue" /> -</selector> diff --git a/res/drawable/darkblue.xml b/res/drawable/darkblue.xml deleted file mode 100644 index b33c38ce..00000000 --- a/res/drawable/darkblue.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<shape xmlns:android="http://schemas.android.com/apk/res/android" - android:shape="rectangle"> - <solid android:color="#FF0099cc" /> -</shape>
\ No newline at end of file diff --git a/res/drawable/darkred.xml b/res/drawable/darkred.xml deleted file mode 100644 index 1313cc2f..00000000 --- a/res/drawable/darkred.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<shape xmlns:android="http://schemas.android.com/apk/res/android" - android:shape="rectangle"> - <solid android:color="#ffcc0000" /> -</shape>
\ No newline at end of file diff --git a/res/drawable/red.xml b/res/drawable/red.xml deleted file mode 100644 index abdc07d6..00000000 --- a/res/drawable/red.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<shape xmlns:android="http://schemas.android.com/apk/res/android" - android:shape="rectangle"> - <solid android:color="#FFe92727" /> -</shape>
\ No newline at end of file diff --git a/res/drawable/redbackground.xml b/res/drawable/redbackground.xml deleted file mode 100644 index ddca66f4..00000000 --- a/res/drawable/redbackground.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<selector xmlns:android="http://schemas.android.com/apk/res/android" > - <item - android:state_pressed="false" - android:drawable="@drawable/red" /> - <item - android:state_pressed="true" - android:drawable="@drawable/darkred" /> -</selector> diff --git a/res/layout/fragment_conversation.xml b/res/layout/fragment_conversation.xml index 749d97b2..4605889d 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" > <RelativeLayout android:id="@+id/textsend" @@ -49,7 +49,7 @@ android:layout_height="wrap_content" android:layout_above="@+id/textsend" android:layout_alignParentLeft="true" - android:layout_below="@+id/info_box" + android:layout_below="@+id/snackbar" android:background="@color/secondarybackground" android:divider="@null" android:dividerHeight="0dp" @@ -59,94 +59,37 @@ tools:listitem="@layout/message_sent" > </ListView> - <LinearLayout - android:id="@+id/info_box" + <RelativeLayout + android:id="@+id/snackbar" android:layout_width="fill_parent" android:layout_height="wrap_content" - android:orientation="vertical" > - - <LinearLayout - android:id="@+id/muc_error" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:background="@drawable/redbackground" - android:orientation="vertical" - android:visibility="gone" > - - <TextView - android:id="@+id/muc_error_msg" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:padding="6dp" - android:textColor="#eee" - android:textSize="18sp" - android:textStyle="bold" /> + android:minHeight="48dp" + android:background="@color/darkbackground" + android:visibility="gone"> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:paddingBottom="6dp" - android:paddingLeft="6dp" - android:text="@string/edit_conference_details" - android:textColor="#eee" - android:textSize="14sp" /> - </LinearLayout> - - <LinearLayout - android:id="@+id/new_fingerprint" - android:layout_width="fill_parent" + <TextView + android:id="@+id/snackbar_message" + android:layout_width="wrap_content" android:layout_height="wrap_content" - android:background="@drawable/redbackground" - android:orientation="vertical" - android:visibility="gone" > - - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:padding="6dp" - android:text="@string/unknown_otr_fingerprint" - android:textColor="#eee" - android:textSize="18sp" - android:textStyle="bold" /> - - <TextView - android:id="@+id/otr_fingerprint" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:paddingBottom="6dp" - android:paddingLeft="6dp" - android:textColor="#eee" - android:textSize="14sp" - android:singleLine="true" - android:typeface="monospace" /> - </LinearLayout> - - <LinearLayout - android:id="@+id/pgp_keyentry" - android:layout_width="fill_parent" + android:layout_alignParentLeft="true" + android:layout_centerVertical="true" + android:textSize="14sp" + android:textColor="@color/ondarktext" + android:paddingLeft="24dp"/> + <TextView + android:id="@+id/snackbar_action" + android:layout_width="wrap_content" android:layout_height="wrap_content" - android:background="@drawable/bluebackground" - android:orientation="vertical" - android:visibility="gone" > - - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:padding="6dp" - android:text="@string/openpgp_messages_found" - android:textColor="#eee" - android:textSize="18sp" - android:textStyle="bold" /> - - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:paddingBottom="6dp" - android:paddingLeft="6dp" - android:text="@string/openpgp_click_to_decrypt" - android:textColor="#eee" - android:textSize="14sp" /> - </LinearLayout> - </LinearLayout> + 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"/> + </RelativeLayout> </RelativeLayout>
\ No newline at end of file diff --git a/res/values/colors.xml b/res/values/colors.xml index 382b5471..4ede1c10 100644 --- a/res/values/colors.xml +++ b/res/values/colors.xml @@ -2,8 +2,10 @@ <resources> <color name="primarytext" type="color">#de000000</color> <color name="secondarytext" type="color">#8a000000</color> + <color name="ondarktext" type="color">#fffafafa</color> <color name="primarybackground" type="color">#fffafafa</color> <color name="secondarybackground" type="color">#ffeeeeee</color> + <color name="darkbackground" type="color">#ff323232</color> <color name="divider">#1f000000</color> <color name="red">#ffe51c23</color> </resources>
\ No newline at end of file diff --git a/res/values/strings.xml b/res/values/strings.xml index dcaf58d2..80bd2052 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -252,4 +252,6 @@ <string name="no_muc_server_found">No suitable Conference Server found</string> <string name="your_fingerprint">Your fingerprint</string> <string name="otr_fingerprint">OTR fingerprint</string> + <string name="verify">Verify</string> + <string name="decrypt">Decrypt</string> </resources>
\ 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 03ced289..c11e1d65 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 300b6c4c..01bab773 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<String> 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 f3f1d9e5..eeefa591 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(); |