diff options
author | olzzon <github@olzzon.dk> | 2017-08-23 09:46:32 +0300 |
---|---|---|
committer | olzzon <github@olzzon.dk> | 2017-08-23 09:46:32 +0300 |
commit | 82ccc2d075332c4ef2f10ff5adb692ec24ddaad2 (patch) | |
tree | e46313bd10979ce0f351cc8821bfa1475223be45 | |
parent | 1d120322c5af19646f502aa8a0b6c3ec14da47de (diff) |
StartUpInPinnedMode added requested changes
(This is V3 as i completely messed up the two first branches)
Login "inPinnedMode" Setting
When connecting to a server this setting makes it possible to start in pinned mode, especially when the server is large or the user is a non tech, this can be usefull.
A new checkbox in settiolngs->general is added.
Added in RES->XML->settings_general.xml:
a new Checkbox called "startupInPinnedMode”
Added in settings.java:
PREF_START_UP_IN_PINNED_MODE
DEFAULT_START_UP_IN_PINNED_MODE
isStartUpInPinnedMode()
Added in res->values->preferences.xml:
pref_start_up_in_pinned_mode
pref_start_up_in_pinned_mode_sum
Added in app->PlumbleActivity->JumbleObserver->OnConnected():
status check of mSettings.shouldStartUpInPinnedMode
-----------------------------
The Drawermenu has 2 changes to make it more logical.
1: Label Server is changed to "All Channels”
2: Order of menu is changed so "Pinned Channels" are the second item.
Changed in res->value->strings.xml:
drawer_server default label changed from "Server" to "All Channels”
Changed in app->DrawerAdaptor:
placement/order of add(new DrawerAdapter.DrawerItem(ITEM_PINNED_CHANNELS, context.getString(R.string.drawer_pinned), R.drawable.ic_action_comment));
Order of ITEM_PINNED_CHANNELS, ITEM_INFO, ITEM_ACCESS_TOKENS
6 files changed, 28 insertions, 7 deletions
diff --git a/app/src/main/java/com/morlunk/mumbleclient/Settings.java b/app/src/main/java/com/morlunk/mumbleclient/Settings.java index 787f209..a35b849 100644 --- a/app/src/main/java/com/morlunk/mumbleclient/Settings.java +++ b/app/src/main/java/com/morlunk/mumbleclient/Settings.java @@ -164,6 +164,9 @@ public class Settings { public static final String PREF_SHOW_USER_COUNT = "show_user_count"; public static final boolean DEFAULT_SHOW_USER_COUNT = false; + public static final String PREF_START_UP_IN_PINNED_MODE = "startUpInPinnedMode"; + public static final boolean DEFAULT_START_UP_IN_PINNED_MODE = true; + static { ARRAY_INPUT_METHODS = new HashSet<String>(); ARRAY_INPUT_METHODS.add(ARRAY_INPUT_METHOD_VOICE); @@ -449,4 +452,8 @@ public class Settings { public boolean shouldShowUserCount() { return preferences.getBoolean(PREF_SHOW_USER_COUNT, DEFAULT_SHOW_USER_COUNT); } + + public boolean shouldStartUpInPinnedMode() { + return preferences.getBoolean(PREF_START_UP_IN_PINNED_MODE, DEFAULT_START_UP_IN_PINNED_MODE); + } } diff --git a/app/src/main/java/com/morlunk/mumbleclient/app/DrawerAdapter.java b/app/src/main/java/com/morlunk/mumbleclient/app/DrawerAdapter.java index e48c8be..d84c1e8 100644 --- a/app/src/main/java/com/morlunk/mumbleclient/app/DrawerAdapter.java +++ b/app/src/main/java/com/morlunk/mumbleclient/app/DrawerAdapter.java @@ -51,9 +51,9 @@ public class DrawerAdapter extends ArrayAdapter<DrawerAdapter.DrawerRow> { // Drawer rows, integer value is id public static final int HEADER_CONNECTED_SERVER = 0; public static final int ITEM_SERVER = 1; - public static final int ITEM_INFO = 2; - public static final int ITEM_ACCESS_TOKENS = 3; - public static final int ITEM_PINNED_CHANNELS = 4; + public static final int ITEM_PINNED_CHANNELS = 2; + public static final int ITEM_INFO = 3; + public static final int ITEM_ACCESS_TOKENS = 4; public static final int HEADER_SERVERS = 5; public static final int ITEM_FAVOURITES = 6; // public static final int ITEM_LAN = 7; @@ -99,9 +99,9 @@ public class DrawerAdapter extends ArrayAdapter<DrawerAdapter.DrawerRow> { mProvider = provider; add(new DrawerAdapter.DrawerHeader(HEADER_CONNECTED_SERVER, context.getString(R.string.drawer_not_connected))); add(new DrawerAdapter.DrawerItem(ITEM_SERVER, context.getString(R.string.drawer_server), R.drawable.ic_action_channels)); + add(new DrawerAdapter.DrawerItem(ITEM_PINNED_CHANNELS, context.getString(R.string.drawer_pinned), R.drawable.ic_action_comment)); add(new DrawerAdapter.DrawerItem(ITEM_INFO, context.getString(R.string.information), R.drawable.ic_action_info_dark)); add(new DrawerAdapter.DrawerItem(ITEM_ACCESS_TOKENS, context.getString(R.string.drawer_tokens), R.drawable.ic_action_save)); - add(new DrawerAdapter.DrawerItem(ITEM_PINNED_CHANNELS, context.getString(R.string.drawer_pinned), R.drawable.ic_action_comment)); add(new DrawerAdapter.DrawerHeader(HEADER_SERVERS, context.getString(R.string.drawer_header_servers))); add(new DrawerAdapter.DrawerItem(ITEM_FAVOURITES, context.getString(R.string.drawer_favorites), R.drawable.ic_action_favourite_on)); // add(new DrawerAdapter.DrawerItem(ITEM_LAN, context.getString(R.string.drawer_lan), R.drawable.ic_action_fullscreen)); // Coming soon, TODO diff --git a/app/src/main/java/com/morlunk/mumbleclient/app/PlumbleActivity.java b/app/src/main/java/com/morlunk/mumbleclient/app/PlumbleActivity.java index b0cb4f2..243358a 100644 --- a/app/src/main/java/com/morlunk/mumbleclient/app/PlumbleActivity.java +++ b/app/src/main/java/com/morlunk/mumbleclient/app/PlumbleActivity.java @@ -53,7 +53,6 @@ import com.morlunk.jumble.IJumbleService; import com.morlunk.jumble.IJumbleSession; import com.morlunk.jumble.model.Server; import com.morlunk.jumble.protobuf.Mumble; -import com.morlunk.jumble.util.JumbleDisconnectedException; import com.morlunk.jumble.util.JumbleException; import com.morlunk.jumble.util.JumbleObserver; import com.morlunk.jumble.util.MumbleURLParser; @@ -146,7 +145,12 @@ public class PlumbleActivity extends ActionBarActivity implements ListView.OnIte private JumbleObserver mObserver = new JumbleObserver() { @Override public void onConnected() { - loadDrawerFragment(DrawerAdapter.ITEM_SERVER); + if (mSettings.shouldStartUpInPinnedMode()) { + loadDrawerFragment(DrawerAdapter.ITEM_PINNED_CHANNELS); + } else { + loadDrawerFragment(DrawerAdapter.ITEM_SERVER); + } + mDrawerAdapter.notifyDataSetChanged(); supportInvalidateOptionsMenu(); diff --git a/app/src/main/res/values/preference.xml b/app/src/main/res/values/preference.xml index 02ff84f..c33c4d0 100644 --- a/app/src/main/res/values/preference.xml +++ b/app/src/main/res/values/preference.xml @@ -131,4 +131,6 @@ <string name="pref_export_certificate_summary">Exports a certificate to external storage.</string> <string name="pref_show_user_count">Show Channel User Count</string> <string name="pref_show_user_count_summary">Show a counter with the number of users in a channel subtree.</string> + <string name="pref_start_up_in_pinned_mode">Start Up In Pinned Mode</string> + <string name="pref_start_upIn_pinned_mode_sum">When connecting to a server, only the pinned channels will be displayed.</string> </resources> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f3dec72..5fbb02f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -22,7 +22,7 @@ <string name="drawer_open">Open Drawer</string> <string name="drawer_close">Close Drawer</string> <string name="drawer_not_connected">Not Connected</string> - <string name="drawer_server">Server</string> + <string name="drawer_server">All Channels</string> <string name="drawer_info">Information</string> <string name="drawer_tokens">Access Tokens</string> <string name="drawer_pinned">Pinned Channels</string> diff --git a/app/src/main/res/xml/settings_general.xml b/app/src/main/res/xml/settings_general.xml index 1950273..59de468 100644 --- a/app/src/main/res/xml/settings_general.xml +++ b/app/src/main/res/xml/settings_general.xml @@ -65,4 +65,12 @@ android:key="useTor" android:summary="@string/useTorSum" android:title="@string/useTor"/> + + <CheckBoxPreference + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:defaultValue="false" + android:key="startUpInPinnedMode" + android:summary="@string/pref_start_upIn_pinned_mode_sum" + android:title="@string/pref_start_up_in_pinned_mode" /> </PreferenceScreen>
\ No newline at end of file |