aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenny Root <kenny@the-b.org>2015-09-18 01:48:42 -0700
committerKenny Root <kenny@the-b.org>2015-09-18 01:48:42 -0700
commitec65697814b6e0b37c4de6863b16b559c55761b8 (patch)
tree99f9e86bfa3f56a26bfbf53878eec72a448c8e2f
parent9a9bd90362f70cfddb65d7814b91069f43275abc (diff)
parent92ade14a3c6f1dbc23318d0d37c57e7c5b6f78be (diff)
downloadconnectbot-ec65697814b6e0b37c4de6863b16b559c55761b8.tar.gz
connectbot-ec65697814b6e0b37c4de6863b16b559c55761b8.tar.bz2
connectbot-ec65697814b6e0b37c4de6863b16b559c55761b8.zip
Merge pull request #205 from rhansby/use-switches-not-checkboxes
Changed Settings options to use switches instead of checkboxes.
-rw-r--r--app/src/main/java/org/connectbot/util/SwitchCompatPreference.java53
-rw-r--r--app/src/main/res/layout/switch_compat_preference_layout.xml30
-rw-r--r--app/src/main/res/values/styles.xml4
-rw-r--r--app/src/main/res/xml-v14/host_prefs.xml124
-rw-r--r--app/src/main/res/xml-v14/preferences.xml188
-rw-r--r--app/src/main/res/xml/host_prefs.xml23
-rw-r--r--app/src/main/res/xml/preferences.xml26
7 files changed, 420 insertions, 28 deletions
diff --git a/app/src/main/java/org/connectbot/util/SwitchCompatPreference.java b/app/src/main/java/org/connectbot/util/SwitchCompatPreference.java
new file mode 100644
index 0000000..0e551b5
--- /dev/null
+++ b/app/src/main/java/org/connectbot/util/SwitchCompatPreference.java
@@ -0,0 +1,53 @@
+/*
+ * ConnectBot: simple, powerful, open-source SSH client for Android
+ * Copyright 2015 Kenny Root, Jeffrey Sharkey
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.connectbot.util;
+
+import org.connectbot.R;
+
+import android.annotation.TargetApi;
+import android.content.Context;
+import android.os.Build;
+import android.preference.CheckBoxPreference;
+import android.util.AttributeSet;
+
+public class SwitchCompatPreference extends CheckBoxPreference {
+
+ public SwitchCompatPreference(Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ init();
+ }
+
+ @TargetApi(Build.VERSION_CODES.LOLLIPOP)
+ public SwitchCompatPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
+ super(context, attrs, defStyleAttr, defStyleRes);
+ init();
+ }
+
+ public SwitchCompatPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ init();
+ }
+
+ public SwitchCompatPreference(Context context) {
+ super(context);
+ init();
+ }
+
+ private void init() {
+ setWidgetLayoutResource(R.layout.switch_compat_preference_layout);
+ }
+}
diff --git a/app/src/main/res/layout/switch_compat_preference_layout.xml b/app/src/main/res/layout/switch_compat_preference_layout.xml
new file mode 100644
index 0000000..89deeb0
--- /dev/null
+++ b/app/src/main/res/layout/switch_compat_preference_layout.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ ConnectBot: simple, powerful, open-source SSH client for Android
+ ~ Copyright 2015 Kenny Root, Jeffrey Sharkey
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<android.support.v7.widget.SwitchCompat
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@android:id/checkbox"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:clickable="false"
+ android:focusable="false"
+ android:theme="@style/SwitchCompatTheme"
+ app:showText="false"
+ /> \ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 0e6a546..322f5e1 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -72,4 +72,8 @@
<!-- This value is overridden for v11 and higher, but left empty here. -->
<style name="SelectableItem"></style>
+
+ <style name="SwitchCompatTheme" parent="Theme.AppCompat">
+ <item name="colorAccent">@color/accent</item>
+ </style>
</resources>
diff --git a/app/src/main/res/xml-v14/host_prefs.xml b/app/src/main/res/xml-v14/host_prefs.xml
new file mode 100644
index 0000000..e0cd4f2
--- /dev/null
+++ b/app/src/main/res/xml-v14/host_prefs.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+ * ConnectBot: simple, powerful, open-source SSH client for Android
+ * Copyright 2007 Kenny Root, Jeffrey Sharkey
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <EditTextPreference
+ android:key="nickname"
+ android:title="@string/hostpref_nickname_title"
+ android:singleLine="true"
+ />
+
+ <ListPreference
+ android:key="color"
+ android:title="@string/hostpref_color_title"
+ android:entries="@array/list_colors"
+ android:entryValues="@array/list_color_values"
+ />
+
+ <EditTextPreference
+ android:key="fontsize"
+ android:title="@string/hostpref_fontsize_title"
+ android:inputType="number"
+ android:singleLine="true"
+ />
+
+ <ListPreference
+ android:key="pubkeyid"
+ android:title="@string/hostpref_pubkeyid_title"
+ android:entries="@array/list_pubkeyids"
+ android:entryValues="@array/list_pubkeyids_value"
+ />
+
+ <ListPreference
+ android:key="useauthagent"
+ android:title="@string/hostpref_authagent_title"
+ android:entries="@array/list_authagent"
+ android:entryValues="@array/list_authagent_values"
+ />
+
+ <EditTextPreference
+ android:key="postlogin"
+ android:title="@string/hostpref_postlogin_title"
+ android:summary="@string/hostpref_postlogin_summary"
+ />
+
+ <SwitchPreference
+ android:key="compression"
+ android:title="@string/hostpref_compression_title"
+ android:summary="@string/hostpref_compression_summary"
+ />
+
+ <SwitchPreference
+ android:key="wantsession"
+ android:title="@string/hostpref_wantsession_title"
+ android:summary="@string/hostpref_wantsession_summary"
+ />
+
+ <SwitchPreference
+ android:key="stayconnected"
+ android:title="@string/hostpref_stayconnected_title"
+ android:summary="@string/hostpref_stayconnected_summary"
+ />
+
+ <SwitchPreference
+ android:key="quickdisconnect"
+ android:title="@string/hostpref_quickdisconnect_title"
+ android:summary="@string/hostpref_quickdisconnect_summary"
+ />
+
+ <ListPreference
+ android:key="delkey"
+ android:title="@string/hostpref_delkey_title"
+ android:summary="@string/hostpref_delkey_summary"
+ android:entries="@array/list_delkey"
+ android:entryValues="@array/list_delkey_values"
+ />
+
+ <ListPreference
+ android:key="encoding"
+ android:title="@string/hostpref_encoding_title"
+ android:summary="@string/hostpref_encoding_summary"
+ />
+
+ <PreferenceCategory
+ android:title="@string/hostpref_connection_category">
+
+ <EditTextPreference
+ android:key="username"
+ android:title="@string/hostpref_username_title"
+ android:singleLine="true"
+ />
+
+ <EditTextPreference
+ android:key="hostname"
+ android:title="@string/hostpref_hostname_title"
+ android:singleLine="true"
+ />
+
+ <EditTextPreference
+ android:key="port"
+ android:title="@string/hostpref_port_title"
+ android:numeric="integer"
+ />
+
+ </PreferenceCategory>
+
+</PreferenceScreen>
diff --git a/app/src/main/res/xml-v14/preferences.xml b/app/src/main/res/xml-v14/preferences.xml
new file mode 100644
index 0000000..d04119f
--- /dev/null
+++ b/app/src/main/res/xml-v14/preferences.xml
@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+ * ConnectBot: simple, powerful, open-source SSH client for Android
+ * Copyright 2007 Kenny Root, Jeffrey Sharkey
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <SwitchPreference
+ android:key="memkeys"
+ android:title="@string/pref_memkeys_title"
+ android:summary="@string/pref_memkeys_summary"
+ android:defaultValue="true"
+ />
+
+ <SwitchPreference
+ android:key="connPersist"
+ android:title="@string/pref_conn_persist_title"
+ android:summary="@string/pref_conn_persist_summary"
+ android:defaultValue="true"
+ />
+
+ <SwitchPreference
+ android:key="wifilock"
+ android:title="@string/pref_wifilock_title"
+ android:summary="@string/pref_wifilock_summary"
+ android:defaultValue="true"
+ />
+
+ <PreferenceCategory
+ android:title="@string/pref_emulation_category">
+
+ <ListPreference
+ android:key="emulation"
+ android:title="@string/pref_emulation_title"
+ android:summary="@string/pref_emulation_summary"
+ android:entries="@array/list_emulation_modes"
+ android:entryValues="@array/list_emulation_modes"
+ android:defaultValue="screen"
+ />
+
+ <EditTextPreference
+ android:key="scrollback"
+ android:title="@string/pref_scrollback_title"
+ android:summary="@string/pref_scrollback_summary"
+ android:defaultValue="140"
+ android:numeric="integer"
+ />
+
+ </PreferenceCategory>
+
+ <PreferenceCategory
+ android:title="@string/pref_ui_category">
+
+ <ListPreference
+ android:key="rotation"
+ android:title="@string/pref_rotation_title"
+ android:summary="@string/pref_rotation_summary"
+ android:entries="@array/list_rotation"
+ android:entryValues="@array/list_rotation_values"
+ android:defaultValue="Default"
+ />
+
+ <SwitchPreference
+ android:key="titlebarhide"
+ android:title="@string/pref_titlebarhide_title"
+ android:summary="@string/pref_titlebarhide_summary"
+ android:defaultValue="false"
+ />
+
+ <SwitchPreference
+ android:key="fullscreen"
+ android:title="@string/pref_fullscreen_title"
+ android:summary="@string/pref_fullscreen_summary"
+ android:defaultValue="false"
+ />
+
+ <SwitchPreference
+ android:key="volumefont"
+ android:title="@string/pref_volumefont_title"
+ android:summary="@string/pref_volumefont_summary"
+ android:defaultValue="true"
+ />
+
+ <SwitchPreference
+ android:key="keepalive"
+ android:title="@string/pref_keepalive_title"
+ android:summary="@string/pref_keepalive_summary"
+ android:defaultValue="true"
+ />
+ </PreferenceCategory>
+
+ <PreferenceCategory
+ android:title="@string/pref_keyboard_category">
+
+ <SwitchPreference
+ android:key="shiftfkeys"
+ android:title="@string/pref_shiftfkeys_title"
+ android:summary="@string/pref_shiftfkeys_summary"
+ android:defaultValue="false"
+ />
+
+ <SwitchPreference
+ android:key="ctrlfkeys"
+ android:title="@string/pref_ctrlfkeys_title"
+ android:summary="@string/pref_ctrlfkeys_summary"
+ android:defaultValue="false"
+ />
+
+ <ListPreference
+ android:key="stickymodifiers"
+ android:title="@string/pref_stickymodifiers_title"
+ android:summary="@string/pref_stickymodifiers_summary"
+ android:entries="@array/list_stickymodifiers"
+ android:entryValues="@array/list_stickymodifiers_values"
+ android:defaultValue="no"
+ />
+
+ <ListPreference
+ android:key="keymode"
+ android:title="@string/pref_keymode_title"
+ android:summary="@string/pref_keymode_summary"
+ android:entries="@array/list_keymode"
+ android:entryValues="@array/list_keymode_values"
+ android:defaultValue="none"
+ />
+
+ <ListPreference
+ android:key="camera"
+ android:title="@string/pref_camera_title"
+ android:summary="@string/pref_camera_summary"
+ android:entries="@array/list_camera"
+ android:entryValues="@array/list_camera_values"
+ android:defaultValue="Ctrl+A then Space"
+ />
+
+ <SwitchPreference
+ android:key="bumpyarrows"
+ android:title="@string/pref_bumpyarrows_title"
+ android:summary="@string/pref_bumpyarrows_summary"
+ android:defaultValue="true"
+ />
+ </PreferenceCategory>
+
+ <PreferenceCategory
+ android:title="@string/pref_bell_category">
+
+ <SwitchPreference
+ android:key="bell"
+ android:title="@string/pref_bell_title"
+ android:defaultValue="true"
+ />
+
+ <org.connectbot.util.VolumePreference
+ android:key="bellVolume"
+ android:title="@string/pref_bell_volume_title"
+ />
+
+ <SwitchPreference
+ android:key="bellVibrate"
+ android:title="@string/pref_bell_vibrate_title"
+ android:defaultValue="true"
+ />
+
+ <SwitchPreference
+ android:key="bellNotification"
+ android:title="@string/pref_bell_notification_title"
+ android:summary="@string/pref_bell_notification_summary"
+ android:defaultValue="false"
+ />
+
+ </PreferenceCategory>
+
+</PreferenceScreen>
diff --git a/app/src/main/res/xml/host_prefs.xml b/app/src/main/res/xml/host_prefs.xml
index a2fc1a4..c6e5b4b 100644
--- a/app/src/main/res/xml/host_prefs.xml
+++ b/app/src/main/res/xml/host_prefs.xml
@@ -40,13 +40,6 @@
android:singleLine="true"
/>
-<!--
- <CheckBoxPreference
- android:key="usekeys"
- android:title="Use SSH keys"
- />
--->
-
<ListPreference
android:key="pubkeyid"
android:title="@string/hostpref_pubkeyid_title"
@@ -66,26 +59,26 @@
android:title="@string/hostpref_postlogin_title"
android:summary="@string/hostpref_postlogin_summary"
/>
-
- <CheckBoxPreference
+
+ <org.connectbot.util.SwitchCompatPreference
android:key="compression"
android:title="@string/hostpref_compression_title"
android:summary="@string/hostpref_compression_summary"
/>
-
- <CheckBoxPreference
+
+ <org.connectbot.util.SwitchCompatPreference
android:key="wantsession"
android:title="@string/hostpref_wantsession_title"
android:summary="@string/hostpref_wantsession_summary"
/>
- <CheckBoxPreference
+ <org.connectbot.util.SwitchCompatPreference
android:key="stayconnected"
android:title="@string/hostpref_stayconnected_title"
android:summary="@string/hostpref_stayconnected_summary"
/>
- <CheckBoxPreference
+ <org.connectbot.util.SwitchCompatPreference
android:key="quickdisconnect"
android:title="@string/hostpref_quickdisconnect_title"
android:summary="@string/hostpref_quickdisconnect_summary"
@@ -104,10 +97,10 @@
android:title="@string/hostpref_encoding_title"
android:summary="@string/hostpref_encoding_summary"
/>
-
+
<PreferenceCategory
android:title="@string/hostpref_connection_category">
-
+
<EditTextPreference
android:key="username"
android:title="@string/hostpref_username_title"
diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
index 70bdb5b..d1801c5 100644
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -20,21 +20,21 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
- <CheckBoxPreference
+ <org.connectbot.util.SwitchCompatPreference
android:key="memkeys"
android:title="@string/pref_memkeys_title"
android:summary="@string/pref_memkeys_summary"
android:defaultValue="true"
/>
- <CheckBoxPreference
+ <org.connectbot.util.SwitchCompatPreference
android:key="connPersist"
android:title="@string/pref_conn_persist_title"
android:summary="@string/pref_conn_persist_summary"
android:defaultValue="true"
/>
- <CheckBoxPreference
+ <org.connectbot.util.SwitchCompatPreference
android:key="wifilock"
android:title="@string/pref_wifilock_title"
android:summary="@string/pref_wifilock_summary"
@@ -75,28 +75,28 @@
android:defaultValue="Default"
/>
- <CheckBoxPreference
+ <org.connectbot.util.SwitchCompatPreference
android:key="titlebarhide"
android:title="@string/pref_titlebarhide_title"
android:summary="@string/pref_titlebarhide_summary"
android:defaultValue="false"
/>
- <CheckBoxPreference
+ <org.connectbot.util.SwitchCompatPreference
android:key="fullscreen"
android:title="@string/pref_fullscreen_title"
android:summary="@string/pref_fullscreen_summary"
android:defaultValue="false"
/>
- <CheckBoxPreference
+ <org.connectbot.util.SwitchCompatPreference
android:key="volumefont"
android:title="@string/pref_volumefont_title"
android:summary="@string/pref_volumefont_summary"
android:defaultValue="true"
/>
- <CheckBoxPreference
+ <org.connectbot.util.SwitchCompatPreference
android:key="keepalive"
android:title="@string/pref_keepalive_title"
android:summary="@string/pref_keepalive_summary"
@@ -107,14 +107,14 @@
<PreferenceCategory
android:title="@string/pref_keyboard_category">
- <CheckBoxPreference
+ <org.connectbot.util.SwitchCompatPreference
android:key="shiftfkeys"
android:title="@string/pref_shiftfkeys_title"
android:summary="@string/pref_shiftfkeys_summary"
android:defaultValue="false"
/>
- <CheckBoxPreference
+ <org.connectbot.util.SwitchCompatPreference
android:key="ctrlfkeys"
android:title="@string/pref_ctrlfkeys_title"
android:summary="@string/pref_ctrlfkeys_summary"
@@ -148,7 +148,7 @@
android:defaultValue="Ctrl+A then Space"
/>
- <CheckBoxPreference
+ <org.connectbot.util.SwitchCompatPreference
android:key="bumpyarrows"
android:title="@string/pref_bumpyarrows_title"
android:summary="@string/pref_bumpyarrows_summary"
@@ -159,7 +159,7 @@
<PreferenceCategory
android:title="@string/pref_bell_category">
- <CheckBoxPreference
+ <org.connectbot.util.SwitchCompatPreference
android:key="bell"
android:title="@string/pref_bell_title"
android:defaultValue="true"
@@ -170,13 +170,13 @@
android:title="@string/pref_bell_volume_title"
/>
- <CheckBoxPreference
+ <org.connectbot.util.SwitchCompatPreference
android:key="bellVibrate"
android:title="@string/pref_bell_vibrate_title"
android:defaultValue="true"
/>
- <CheckBoxPreference
+ <org.connectbot.util.SwitchCompatPreference
android:key="bellNotification"
android:title="@string/pref_bell_notification_title"
android:summary="@string/pref_bell_notification_summary"