diff options
author | Antony Dovgal <tony@daylessday.org> | 2016-05-11 12:50:21 +0300 |
---|---|---|
committer | Antony Dovgal <tony@daylessday.org> | 2016-05-11 12:50:21 +0300 |
commit | 800513900e5b34bb0c6543f3ecfe9e6f4db37754 (patch) | |
tree | f2da15355e8b280e8b2b6d08c31a31b403f150c4 | |
parent | 357261505e5b090b0afc106b642a7da4a14a223c (diff) |
add setting to change PTT button height
4 files changed, 31 insertions, 3 deletions
diff --git a/app/src/main/java/com/morlunk/mumbleclient/Settings.java b/app/src/main/java/com/morlunk/mumbleclient/Settings.java index 30d470f..787f209 100644 --- a/app/src/main/java/com/morlunk/mumbleclient/Settings.java +++ b/app/src/main/java/com/morlunk/mumbleclient/Settings.java @@ -105,6 +105,9 @@ public class Settings { public static final String ARRAY_THEME_SOLARIZED_LIGHT = "solarizedLight"; public static final String ARRAY_THEME_SOLARIZED_DARK = "solarizedDark"; + public static final String PREF_PTT_BUTTON_HEIGHT = "pttButtonHeight"; + public static final int DEFAULT_PTT_BUTTON_HEIGHT = 150; + /** @deprecated use {@link #PREF_CERT_ID } */ public static final String PREF_CERT_DEPRECATED = "certificatePath"; /** @deprecated use {@link #PREF_CERT_ID } */ @@ -323,6 +326,11 @@ public class Settings { return -1; } + /* @return the height of PTT button */ + public int getPTTButtonHeight() { + return preferences.getInt(Settings.PREF_PTT_BUTTON_HEIGHT, DEFAULT_PTT_BUTTON_HEIGHT); + } + /** * Returns a database identifier for the default certificate, or a negative number if there is * no default certificate set. diff --git a/app/src/main/java/com/morlunk/mumbleclient/channel/ChannelFragment.java b/app/src/main/java/com/morlunk/mumbleclient/channel/ChannelFragment.java index 711ab66..9a4b6c2 100644 --- a/app/src/main/java/com/morlunk/mumbleclient/channel/ChannelFragment.java +++ b/app/src/main/java/com/morlunk/mumbleclient/channel/ChannelFragment.java @@ -38,6 +38,7 @@ import android.view.ViewGroup; import android.widget.Button; import android.widget.CheckBox; import android.widget.ImageView; +import android.widget.LinearLayout; import android.widget.TextView; import com.morlunk.jumble.IJumbleService; @@ -248,14 +249,20 @@ public class ChannelFragment extends JumbleServiceFragment implements SharedPref */ private void configureInput() { Settings settings = Settings.getInstance(getActivity()); + + ViewGroup.LayoutParams params = mTalkView.getLayoutParams(); + params.height = settings.getPTTButtonHeight(); + mTalkButton.setLayoutParams(params); + boolean showPttButton = settings.isPushToTalkButtonShown() && settings.getInputMethod().equals(Settings.ARRAY_INPUT_METHOD_PTT); mTalkView.setVisibility(showPttButton ? View.VISIBLE : View.GONE); } @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { - if(Settings.PREF_INPUT_METHOD.equals(key) || - Settings.PREF_PUSH_BUTTON_HIDE_KEY.equals(key)) + if(Settings.PREF_INPUT_METHOD.equals(key) + || Settings.PREF_PUSH_BUTTON_HIDE_KEY.equals(key) + || Settings.PREF_PTT_BUTTON_HEIGHT.equals(key)) configureInput(); } diff --git a/app/src/main/res/values/preference.xml b/app/src/main/res/values/preference.xml index 4a093ab..02ff84f 100644 --- a/app/src/main/res/values/preference.xml +++ b/app/src/main/res/values/preference.xml @@ -102,6 +102,8 @@ <string name="useTorSum">Requires Orbot app</string> <string name="inputQuality">Input Quality</string> <string name="inputQualitySum">The target input quality in bps.</string> + <string name="pttButtonHeight">Push-To-Talk Button height</string> + <string name="pttButtonHeightSum">Change the height of Push-To-Talk Button.</string> <string name="pressKey">Press a hardware key to bind to push-to-talk.</string> <string name="pressKeyInfo">Note: due to limitations in Android, the app must be open to use hardware key push to talk.</string> <string name="loadImagesSum">Whether to load external images in chat.</string> diff --git a/app/src/main/res/xml/settings_appearance.xml b/app/src/main/res/xml/settings_appearance.xml index ab6fc07..cfaeac5 100644 --- a/app/src/main/res/xml/settings_appearance.xml +++ b/app/src/main/res/xml/settings_appearance.xml @@ -31,6 +31,17 @@ android:defaultValue="false" android:title="@string/pref_show_user_count" android:summary="@string/pref_show_user_count_summary" /> + + <com.morlunk.mumbleclient.preference.SeekBarDialogPreference + android:key="pttButtonHeight" + android:title="@string/pttButtonHeight" + android:summary="@string/pttButtonHeightSum" + multiplier="10" + max="100" + min="15" + android:defaultValue="15" + android:text=" dp"/> + <!-- <ListPreference android:defaultValue="35" @@ -52,4 +63,4 @@ android:summary="@string/colorthresholdSum" android:title="@string/colorthreshold" /> --> -</PreferenceScreen>
\ No newline at end of file +</PreferenceScreen> |