aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2018-04-08 00:50:29 +0200
committerChristian Schneppe <christian@pix-art.de>2018-04-08 00:50:29 +0200
commitb4373eb8758e3fbfef6987d4239abfbc579f8b33 (patch)
treebb82eef673dc582dfc34b470c1362e02071d8d0e
parentbe20e4b9190a247e3752664f397cc79a8966094d (diff)
fix menu entries
Diffstat (limited to '')
-rw-r--r--src/main/java/de/pixart/messenger/ui/ConversationFragment.java38
-rw-r--r--src/main/java/de/pixart/messenger/ui/ConversationsActivity.java6
-rw-r--r--src/main/java/de/pixart/messenger/ui/XmppActivity.java3
-rw-r--r--src/main/res/menu/fragment_conversation.xml15
4 files changed, 30 insertions, 32 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java
index 39534be2d..1d0a0fce3 100644
--- a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java
+++ b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java
@@ -1098,13 +1098,18 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke
final MenuItem menuNeedHelp = menu.findItem(R.id.action_create_issue);
final MenuItem menuSearchHistory = menu.findItem(R.id.action_search_history);
final MenuItem menuSearchUpdates = menu.findItem(R.id.action_check_updates);
+ final MenuItem menuArchiveChat = menu.findItem(R.id.action_archive_chat);
+ final MenuItem menuEditProfiles = menu.findItem(R.id.action_accounts);
if (conversation != null) {
if (conversation.getMode() == Conversation.MODE_MULTI) {
menuInviteContact.setVisible(true);
+ menuArchiveChat.setTitle(R.string.action_end_conversation_muc);
} else {
menuInviteContact.setVisible(false);
+ menuArchiveChat.setTitle(R.string.action_end_conversation);
}
+ menuEditProfiles.setVisible(false);
menuNeedHelp.setVisible(true);
menuSearchHistory.setVisible(true);
menuSearchUpdates.setVisible(false);
@@ -1388,22 +1393,23 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke
handleAttachmentSelection(item);
break;
case R.id.action_archive_chat:
- activity.xmppConnectionService.archiveConversation(conversation);
- activity.onConversationArchived(conversation);
- break;
- case R.id.action_archive_muc:
- activity.runOnUiThread(() -> {
- AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
- builder.setTitle(getString(R.string.action_end_conversation_muc));
- builder.setMessage(getString(R.string.leave_conference_warning));
- builder.setNegativeButton(getString(R.string.cancel), null);
- builder.setPositiveButton(getString(R.string.action_end_conversation_muc),
- (dialog, which) -> {
- activity.xmppConnectionService.archiveConversation(conversation);
- activity.onConversationArchived(conversation);
- });
- builder.create().show();
- });
+ if (conversation.getMode() == Conversation.MODE_SINGLE) {
+ activity.xmppConnectionService.archiveConversation(conversation);
+ activity.onConversationArchived(conversation);
+ } else {
+ activity.runOnUiThread(() -> {
+ AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+ builder.setTitle(getString(R.string.action_end_conversation_muc));
+ builder.setMessage(getString(R.string.leave_conference_warning));
+ builder.setNegativeButton(getString(R.string.cancel), null);
+ builder.setPositiveButton(getString(R.string.action_end_conversation_muc),
+ (dialog, which) -> {
+ activity.xmppConnectionService.archiveConversation(conversation);
+ activity.onConversationArchived(conversation);
+ });
+ builder.create().show();
+ });
+ }
break;
case R.id.action_invite:
startActivityForResult(ChooseContactActivity.create(activity, conversation), REQUEST_INVITE_TO_CONVERSATION);
diff --git a/src/main/java/de/pixart/messenger/ui/ConversationsActivity.java b/src/main/java/de/pixart/messenger/ui/ConversationsActivity.java
index 00d5e2a7c..a7d1db8e7 100644
--- a/src/main/java/de/pixart/messenger/ui/ConversationsActivity.java
+++ b/src/main/java/de/pixart/messenger/ui/ConversationsActivity.java
@@ -444,6 +444,7 @@ public class ConversationsActivity extends XmppActivity implements OnConversatio
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_conversations, menu);
MenuItem qrCodeScanMenuItem = menu.findItem(R.id.action_scan_qr_code);
+ final MenuItem menuEditProfiles = menu.findItem(R.id.action_accounts);
if (qrCodeScanMenuItem != null) {
Fragment fragment = getFragmentManager().findFragmentById(R.id.main_fragment);
boolean visible = getResources().getBoolean(R.bool.show_qr_code_scan)
@@ -451,6 +452,11 @@ public class ConversationsActivity extends XmppActivity implements OnConversatio
&& fragment instanceof ConversationsOverviewFragment;
qrCodeScanMenuItem.setVisible(visible);
}
+ if (xmppConnectionServiceBound && xmppConnectionService.getAccounts().size() == 1 && !xmppConnectionService.multipleAccounts()) {
+ menuEditProfiles.setTitle(R.string.mgmt_account_edit);
+ } else {
+ menuEditProfiles.setTitle(R.string.action_accounts);
+ }
return super.onCreateOptionsMenu(menu);
}
diff --git a/src/main/java/de/pixart/messenger/ui/XmppActivity.java b/src/main/java/de/pixart/messenger/ui/XmppActivity.java
index 76d6f2fa5..8bfe7d2fa 100644
--- a/src/main/java/de/pixart/messenger/ui/XmppActivity.java
+++ b/src/main/java/de/pixart/messenger/ui/XmppActivity.java
@@ -122,6 +122,7 @@ public abstract class XmppActivity extends AppCompatActivity {
registerListeners();
registeredListeners = true;
}
+ invalidateOptionsMenu();
onBackendConnected();
}
@@ -383,7 +384,7 @@ public abstract class XmppActivity extends AppCompatActivity {
startActivity(new Intent(this, SettingsActivity.class));
break;
case R.id.action_accounts:
- if (xmppConnectionService.getAccounts().size() == 1 && !xmppConnectionService.multipleAccounts()) {
+ if (xmppConnectionServiceBound && this.xmppConnectionService.getAccounts().size() == 1 && !this.xmppConnectionService.multipleAccounts()) {
final Intent intent = new Intent(getApplicationContext(), EditAccountActivity.class);
Account mAccount = xmppConnectionService.getAccounts().get(0);
intent.putExtra("jid", mAccount.getJid().asBareJid().toString());
diff --git a/src/main/res/menu/fragment_conversation.xml b/src/main/res/menu/fragment_conversation.xml
index 0a34e4de1..78edffeca 100644
--- a/src/main/res/menu/fragment_conversation.xml
+++ b/src/main/res/menu/fragment_conversation.xml
@@ -73,21 +73,6 @@
app:showAsAction="never"
android:title="@string/action_end_conversation" />
<item
- android:id="@+id/action_archive_muc"
- android:orderInCategory="60"
- app:showAsAction="never"
- android:title="@string/action_end_conversation_muc" />
- <item
- android:id="@+id/action_accounts"
- android:orderInCategory="90"
- app:showAsAction="never"
- android:title="@string/mgmt_account_edit" />
- <item
- android:id="@+id/action_settings"
- android:orderInCategory="100"
- app:showAsAction="never"
- android:title="@string/action_settings" />
- <item
android:id="@+id/action_invite_user"
android:orderInCategory="100"
app:showAsAction="never"