aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2018-03-30 22:11:11 +0200
committerChristian Schneppe <christian@pix-art.de>2018-03-30 22:11:11 +0200
commit47a6f6f5371842c68505acbf0a71dde935e7ee19 (patch)
treebe9fef300a0523e31550ab64f7c56be1867c2a36
parent255406a86fd8bfa757b39b07c1adac7cfe493cc5 (diff)
added dedicated scan button
-rw-r--r--src/main/java/de/pixart/messenger/ui/ConversationActivity.java3
-rw-r--r--src/main/java/de/pixart/messenger/ui/ConversationFragment.java17
-rw-r--r--src/main/java/de/pixart/messenger/ui/StartConversationActivity.java5
-rw-r--r--src/main/java/de/pixart/messenger/ui/UriHandlerActivity.java8
-rw-r--r--src/main/res/drawable-hdpi/ic_chat_white_24dp.pngbin0 -> 223 bytes
-rw-r--r--src/main/res/drawable-mdpi/ic_chat_white_24dp.pngbin0 -> 154 bytes
-rw-r--r--src/main/res/drawable-xhdpi/ic_chat_white_24dp.pngbin0 -> 239 bytes
-rw-r--r--src/main/res/drawable-xxhdpi/ic_chat_white_24dp.pngbin0 -> 354 bytes
-rw-r--r--src/main/res/drawable-xxxhdpi/ic_chat_white_24dp.pngbin0 -> 416 bytes
-rw-r--r--src/main/res/layout/fragment_conversations_overview.xml2
-rw-r--r--src/main/res/menu/activity_conversations.xml6
-rw-r--r--src/main/res/values-w945dp/defaults.xml5
-rw-r--r--src/main/res/values/defaults.xml1
13 files changed, 35 insertions, 12 deletions
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
--- /dev/null
+++ b/src/main/res/drawable-hdpi/ic_chat_white_24dp.png
Binary files 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
--- /dev/null
+++ b/src/main/res/drawable-mdpi/ic_chat_white_24dp.png
Binary files 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
--- /dev/null
+++ b/src/main/res/drawable-xhdpi/ic_chat_white_24dp.png
Binary files 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
--- /dev/null
+++ b/src/main/res/drawable-xxhdpi/ic_chat_white_24dp.png
Binary files 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
--- /dev/null
+++ b/src/main/res/drawable-xxxhdpi/ic_chat_white_24dp.png
Binary files 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" />
</FrameLayout>
</layout> \ 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
@@ -2,6 +2,12 @@
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
+ android:id="@+id/action_scan_qr_code"
+ android:icon="?attr/icon_scan_qr_code"
+ android:title="@string/scan_qr_code"
+ android:visible="@bool/show_qr_code_scan"
+ app:showAsAction="always" />
+ <item
android:id="@+id/action_accounts"
android:orderInCategory="90"
android:title="@string/action_accounts"
diff --git a/src/main/res/values-w945dp/defaults.xml b/src/main/res/values-w945dp/defaults.xml
new file mode 100644
index 000000000..855f5b520
--- /dev/null
+++ b/src/main/res/values-w945dp/defaults.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <bool name="show_qr_code_scan">false</bool>
+</resources>
+
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 @@
<bool name="warn_unencrypted_chat">true</bool>
<bool name="use_bundled_emoji">true</bool>
<bool name="enable_multi_accounts">false</bool>
+ <bool name="show_qr_code_scan">true</bool>
</resources>