aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkruks23 <scardenas@openmailbox.org>2014-07-09 22:05:48 +0200
committerkruks23 <scardenas@openmailbox.org>2014-07-09 22:05:48 +0200
commitc7088489bd339e4b8b5128e909a1b4377864a5c9 (patch)
tree56974ad74bfdb025a56e817b952221ce4f2dbbe6
parent71324261e5560fa70ef028fba35bd121f2527578 (diff)
parentda79e2cca2ffce6e4e5c3b479c4de702ecca1872 (diff)
Merge branch 'development' of https://github.com/siacs/Conversations into development
-rw-r--r--res/drawable/blue.xml5
-rw-r--r--res/drawable/bluebackground.xml9
-rw-r--r--res/drawable/darkblue.xml5
-rw-r--r--res/drawable/darkred.xml5
-rw-r--r--res/drawable/red.xml5
-rw-r--r--res/drawable/redbackground.xml9
-rw-r--r--res/layout/fragment_conversation.xml115
-rw-r--r--res/values/colors.xml2
-rw-r--r--res/values/strings.xml2
-rw-r--r--src/eu/siacs/conversations/ui/ConversationActivity.java2
-rw-r--r--src/eu/siacs/conversations/ui/ConversationFragment.java54
-rw-r--r--src/eu/siacs/conversations/utils/UIHelper.java2
12 files changed, 59 insertions, 156 deletions
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 @@
-<?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 fbf6d3170..000000000
--- 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 b33c38ceb..000000000
--- 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 1313cc2f6..000000000
--- 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 abdc07d6f..000000000
--- 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 ddca66f44..000000000
--- 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 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" >
<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 382b5471d..4ede1c107 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 dcaf58d2f..80bd2052e 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 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<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 f3f1d9e5b..eeefa591e 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();