diff options
author | Andrew Comminos <andrew@comminos.com> | 2016-04-28 23:05:46 +0300 |
---|---|---|
committer | Andrew Comminos <andrew@comminos.com> | 2016-04-28 23:05:46 +0300 |
commit | 1af5d2f1ffb5ae634b25a4f791b60b496dd4dea0 (patch) | |
tree | 6d67e4a2578958abb78299f09b0505c798b28d8e | |
parent | 96adf418a3ce593e9a9406b70373189c4d304502 (diff) |
Consolidate linking and unlinking into a checkbox.
-rw-r--r-- | app/src/main/java/com/morlunk/mumbleclient/channel/ChannelMenu.java | 13 | ||||
-rw-r--r-- | app/src/main/res/menu/context_channel.xml | 6 | ||||
-rw-r--r-- | app/src/main/res/values/strings.xml | 3 |
3 files changed, 10 insertions, 12 deletions
diff --git a/app/src/main/java/com/morlunk/mumbleclient/channel/ChannelMenu.java b/app/src/main/java/com/morlunk/mumbleclient/channel/ChannelMenu.java index 0e44628..d815195 100644 --- a/app/src/main/java/com/morlunk/mumbleclient/channel/ChannelMenu.java +++ b/app/src/main/java/com/morlunk/mumbleclient/channel/ChannelMenu.java @@ -73,6 +73,8 @@ public class ChannelMenu implements PermissionsPopupMenu.IOnMenuPrepareListener, menu.findItem(R.id.context_channel_pin) .setChecked(mDatabase.isChannelPinned(server.getId(), mChannel.getId())); } + menu.findItem(R.id.context_channel_link) + .setChecked(mChannel.getLinks().contains(mService.getSessionChannel())); } @Override @@ -123,12 +125,11 @@ public class ChannelMenu implements PermissionsPopupMenu.IOnMenuPrepareListener, break; case R.id.context_channel_link: { IChannel channel = mService.getSessionChannel(); - mService.linkChannels(channel, mChannel); - break; - } - case R.id.context_channel_unlink: { - IChannel channel = mService.getSessionChannel(); - mService.unlinkChannels(channel, mChannel); + if (!item.isChecked()) { + mService.linkChannels(channel, mChannel); + } else { + mService.unlinkChannels(channel, mChannel); + } break; } case R.id.context_channel_unlink_all: diff --git a/app/src/main/res/menu/context_channel.xml b/app/src/main/res/menu/context_channel.xml index 88c7a8a..1cd2bc7 100644 --- a/app/src/main/res/menu/context_channel.xml +++ b/app/src/main/res/menu/context_channel.xml @@ -37,10 +37,8 @@ app:showAsAction="never" /> <item android:id="@+id/context_channel_link" - android:title="@string/context_channel_link" - /> - <item android:id="@+id/context_channel_unlink" - android:title="@string/context_channel_unlink" + android:title="@string/context_channel_linked" + android:checkable="true" /> <item android:id="@+id/context_channel_unlink_all" android:title="@string/context_channel_unlink_all" diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c64364e..99c464c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -260,7 +260,6 @@ <string name="error_writing_to_storage">Error writing to external storage.</string> <string name="export_success">Exported certificate to \'%s\'.</string> <string name="notification_unread_many">%d new messages</string> - <string name="context_channel_link">Link</string> - <string name="context_channel_unlink">Unlink</string> + <string name="context_channel_linked">Linked</string> <string name="context_channel_unlink_all">Unlink All</string> </resources> |