From 47a6f6f5371842c68505acbf0a71dde935e7ee19 Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Fri, 30 Mar 2018 22:11:11 +0200 Subject: added dedicated scan button --- .../de/pixart/messenger/ui/ConversationActivity.java | 3 +++ .../de/pixart/messenger/ui/ConversationFragment.java | 17 ++++++++++------- .../pixart/messenger/ui/StartConversationActivity.java | 5 +---- .../de/pixart/messenger/ui/UriHandlerActivity.java | 8 ++++++++ src/main/res/drawable-hdpi/ic_chat_white_24dp.png | Bin 0 -> 223 bytes src/main/res/drawable-mdpi/ic_chat_white_24dp.png | Bin 0 -> 154 bytes src/main/res/drawable-xhdpi/ic_chat_white_24dp.png | Bin 0 -> 239 bytes src/main/res/drawable-xxhdpi/ic_chat_white_24dp.png | Bin 0 -> 354 bytes src/main/res/drawable-xxxhdpi/ic_chat_white_24dp.png | Bin 0 -> 416 bytes .../res/layout/fragment_conversations_overview.xml | 2 +- src/main/res/menu/activity_conversations.xml | 6 ++++++ src/main/res/values-w945dp/defaults.xml | 5 +++++ src/main/res/values/defaults.xml | 1 + 13 files changed, 35 insertions(+), 12 deletions(-) create mode 100644 src/main/res/drawable-hdpi/ic_chat_white_24dp.png create mode 100644 src/main/res/drawable-mdpi/ic_chat_white_24dp.png create mode 100644 src/main/res/drawable-xhdpi/ic_chat_white_24dp.png create mode 100644 src/main/res/drawable-xxhdpi/ic_chat_white_24dp.png create mode 100644 src/main/res/drawable-xxxhdpi/ic_chat_white_24dp.png create mode 100644 src/main/res/values-w945dp/defaults.xml diff --git a/src/main/java/de/pixart/messenger/ui/ConversationActivity.java b/src/main/java/de/pixart/messenger/ui/ConversationActivity.java index 9d023f235..501a70961 100644 --- a/src/main/java/de/pixart/messenger/ui/ConversationActivity.java +++ b/src/main/java/de/pixart/messenger/ui/ConversationActivity.java @@ -261,6 +261,9 @@ public class ConversationActivity extends XmppActivity implements OnConversation return true; } break; + case R.id.action_scan_qr_code: + UriHandlerActivity.scan(this); + return true; } return super.onOptionsItemSelected(item); } diff --git a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java index d056194a5..718b0d8b9 100644 --- a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java +++ b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java @@ -1851,28 +1851,31 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke } private void reInit(Conversation conversation) { - Log.d(Config.LOGTAG, "reInit()"); + reInit(conversation, false); + } + + private void reInit(Conversation conversation, boolean restore) { if (conversation == null) { - Log.d(Config.LOGTAG, "conversation was null :("); return; } if (this.activity == null) { - Log.d(Config.LOGTAG, "activity was null"); this.conversation = conversation; return; } - + Log.d(Config.LOGTAG, "reInit(restore=" + Boolean.toString(restore) + ")"); setupIme(); if (this.conversation != null) { final String msg = this.binding.textinput.getText().toString(); if (this.conversation.setNextMessage(msg)) { activity.xmppConnectionService.updateConversation(conversation); } - if (this.conversation != conversation) { + if (this.conversation != conversation && !restore) { updateChatState(this.conversation, msg); messageListAdapter.stopAudioPlayer(); } - this.conversation.trim(); + if (!restore) { + this.conversation.trim(); + } } if (activity != null) { @@ -2624,7 +2627,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke clearPending(); return; } - reInit(conversation); + reInit(conversation, true); } ActivityResult activityResult = postponedActivityResult.pop(); if (activityResult != null) { diff --git a/src/main/java/de/pixart/messenger/ui/StartConversationActivity.java b/src/main/java/de/pixart/messenger/ui/StartConversationActivity.java index 5c88dc0d2..0d658ebb2 100644 --- a/src/main/java/de/pixart/messenger/ui/StartConversationActivity.java +++ b/src/main/java/de/pixart/messenger/ui/StartConversationActivity.java @@ -645,10 +645,7 @@ public class StartConversationActivity extends XmppActivity implements OnRosterU showJoinConferenceDialog(null); return true; case R.id.action_scan_qr_code: - Intent intent = new Intent(this, UriHandlerActivity.class); - intent.setAction(UriHandlerActivity.ACTION_SCAN_QR_CODE); - intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); - startActivity(intent); + UriHandlerActivity.scan(this); return true; case R.id.action_hide_offline: mHideOfflineContacts = !item.isChecked(); diff --git a/src/main/java/de/pixart/messenger/ui/UriHandlerActivity.java b/src/main/java/de/pixart/messenger/ui/UriHandlerActivity.java index 09d4d26ac..c4374df33 100644 --- a/src/main/java/de/pixart/messenger/ui/UriHandlerActivity.java +++ b/src/main/java/de/pixart/messenger/ui/UriHandlerActivity.java @@ -1,5 +1,6 @@ package de.pixart.messenger.ui; +import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.support.v7.app.AppCompatActivity; @@ -101,4 +102,11 @@ public class UriHandlerActivity extends AppCompatActivity { finish(); super.onActivityResult(requestCode, requestCode, intent); } + + public static void scan(Activity activity) { + Intent intent = new Intent(activity, UriHandlerActivity.class); + intent.setAction(UriHandlerActivity.ACTION_SCAN_QR_CODE); + intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); + activity.startActivity(intent); + } } \ No newline at end of file diff --git a/src/main/res/drawable-hdpi/ic_chat_white_24dp.png b/src/main/res/drawable-hdpi/ic_chat_white_24dp.png new file mode 100644 index 000000000..6cdc66caf Binary files /dev/null and b/src/main/res/drawable-hdpi/ic_chat_white_24dp.png differ diff --git a/src/main/res/drawable-mdpi/ic_chat_white_24dp.png b/src/main/res/drawable-mdpi/ic_chat_white_24dp.png new file mode 100644 index 000000000..96cfcfe58 Binary files /dev/null and b/src/main/res/drawable-mdpi/ic_chat_white_24dp.png differ diff --git a/src/main/res/drawable-xhdpi/ic_chat_white_24dp.png b/src/main/res/drawable-xhdpi/ic_chat_white_24dp.png new file mode 100644 index 000000000..a63bccd85 Binary files /dev/null and b/src/main/res/drawable-xhdpi/ic_chat_white_24dp.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_chat_white_24dp.png b/src/main/res/drawable-xxhdpi/ic_chat_white_24dp.png new file mode 100644 index 000000000..ab5600da7 Binary files /dev/null and b/src/main/res/drawable-xxhdpi/ic_chat_white_24dp.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_chat_white_24dp.png b/src/main/res/drawable-xxxhdpi/ic_chat_white_24dp.png new file mode 100644 index 000000000..2d51842d5 Binary files /dev/null and b/src/main/res/drawable-xxxhdpi/ic_chat_white_24dp.png differ diff --git a/src/main/res/layout/fragment_conversations_overview.xml b/src/main/res/layout/fragment_conversations_overview.xml index 1f3d9e4e2..339514059 100644 --- a/src/main/res/layout/fragment_conversations_overview.xml +++ b/src/main/res/layout/fragment_conversations_overview.xml @@ -20,6 +20,6 @@ android:layout_height="wrap_content" android:layout_gravity="end|bottom" android:layout_margin="16dp" - android:src="?attr/icon_new" /> + android:src="@drawable/ic_chat_white_24dp" /> \ No newline at end of file diff --git a/src/main/res/menu/activity_conversations.xml b/src/main/res/menu/activity_conversations.xml index 6cd9000fd..136dd8458 100644 --- a/src/main/res/menu/activity_conversations.xml +++ b/src/main/res/menu/activity_conversations.xml @@ -1,6 +1,12 @@ + + + false + + diff --git a/src/main/res/values/defaults.xml b/src/main/res/values/defaults.xml index 869072f84..71f1d5937 100644 --- a/src/main/res/values/defaults.xml +++ b/src/main/res/values/defaults.xml @@ -101,5 +101,6 @@ true true false + true -- cgit v1.2.3