summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Lee <anwlee@google.com>2015-02-26 14:26:16 -0800
committerAndrew Lee <anwlee@google.com>2015-02-26 15:40:08 -0800
commite83576c5503596480d57ff9991df4ad99d26cfc4 (patch)
treeb7ee42d4ea666a5ce37eaa441622c336d2b4dc37
parenteb2097d840ac4e2f8709041cb7c9282697a309af (diff)
Convert GeneralSettings to SoundSettings.
Rather than create a new fragment for "Sounds and vibration", reuse the existing general settings fragment. The other settings which used to reside general settings have been moved into their own top-level settings fragments. + Rename layout file and fragment. + Tweak string names. - Delete category heading; no longer necessary. Bug: 19372734 Change-Id: I5690df7ecbd49da5d5af94889e6b68e053ce25ba
-rw-r--r--res/values/strings.xml9
-rw-r--r--res/xml/general_settings.xml47
-rw-r--r--res/xml/sound_settings.xml40
-rw-r--r--src/com/android/dialer/settings/DialerSettingsActivity.java8
-rw-r--r--src/com/android/dialer/settings/SoundSettingsFragment.java (renamed from src/com/android/dialer/settings/GeneralSettingsFragment.java)32
5 files changed, 62 insertions, 74 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml
index ab8fd2754..1e7a48b2d 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -694,12 +694,9 @@
[CHAR LIMIT=40] -->
<string name="display_options_title">Display options</string>
- <!-- Label for the general dialer settings section [CHAR LIMIT=30]-->
- <string name="general_settings_label">General</string>
-
- <!-- Title for the category "sounds", which is shown above sounds and vibration related
- settings. [CHAR LIMIT=30] -->
- <string name="sounds_and_vibrate_category_title">Sounds and vibrate</string>
+ <!-- Title for the "Sounds and vibration" settings control settings related to ringtones,
+ dialpad tones, and vibration for incoming calls. [CHAR LIMIT=40] -->
+ <string name="sounds_and_vibration_title">Sounds and vibration</string>
<!-- Setting option name to pick ringtone (a list dialog comes up). [CHAR LIMIT=30] -->
<string name="ringtone_title">Phone ringtone</string>
diff --git a/res/xml/general_settings.xml b/res/xml/general_settings.xml
deleted file mode 100644
index c856e1a46..000000000
--- a/res/xml/general_settings.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
- ~ Copyright (C) 2014 The Android Open Source Project
- ~
- ~ 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">
-
- <PreferenceCategory
- android:key="dialer_general_sounds_category_key"
- android:title="@string/sounds_and_vibrate_category_title"
- android:persistent="false">
-
- <com.android.dialer.settings.DefaultRingtonePreference
- android:key="button_ringtone_key"
- android:title="@string/ringtone_title"
- android:dialogTitle="@string/ringtone_title"
- android:persistent="false"
- android:ringtoneType="ringtone" />
-
- <CheckBoxPreference
- android:key="button_play_dtmf_tone"
- android:title="@string/dtmf_tone_enable_title"
- android:persistent="false"
- android:defaultValue="true" />
-
- <CheckBoxPreference
- android:key="button_vibrate_on_ring"
- android:title="@string/vibrate_on_ring_title"
- android:persistent="false"
- android:defaultValue="false" />
-
- </PreferenceCategory>
-
-</PreferenceScreen>
diff --git a/res/xml/sound_settings.xml b/res/xml/sound_settings.xml
new file mode 100644
index 000000000..e933eedc0
--- /dev/null
+++ b/res/xml/sound_settings.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ ~ Copyright (C) 2014 The Android Open Source Project
+ ~
+ ~ 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">
+
+ <com.android.dialer.settings.DefaultRingtonePreference
+ android:key="button_ringtone_key"
+ android:title="@string/ringtone_title"
+ android:dialogTitle="@string/ringtone_title"
+ android:persistent="false"
+ android:ringtoneType="ringtone" />
+
+ <CheckBoxPreference
+ android:key="button_play_dtmf_tone"
+ android:title="@string/dtmf_tone_enable_title"
+ android:persistent="false"
+ android:defaultValue="true" />
+
+ <CheckBoxPreference
+ android:key="button_vibrate_on_ring"
+ android:title="@string/vibrate_on_ring_title"
+ android:persistent="false"
+ android:defaultValue="false" />
+
+</PreferenceScreen>
diff --git a/src/com/android/dialer/settings/DialerSettingsActivity.java b/src/com/android/dialer/settings/DialerSettingsActivity.java
index 935b6c7fd..08beffd9b 100644
--- a/src/com/android/dialer/settings/DialerSettingsActivity.java
+++ b/src/com/android/dialer/settings/DialerSettingsActivity.java
@@ -41,10 +41,10 @@ public class DialerSettingsActivity extends PreferenceActivity {
displayOptionsHeader.fragment = DisplayOptionsFragment.class.getName();
target.add(displayOptionsHeader);
- Header generalSettingsHeader = new Header();
- generalSettingsHeader.titleRes = R.string.general_settings_label;
- generalSettingsHeader.fragment = GeneralSettingsFragment.class.getName();
- target.add(generalSettingsHeader);
+ Header soundSettingsHeader = new Header();
+ soundSettingsHeader.titleRes = R.string.sounds_and_vibration_title;
+ soundSettingsHeader.fragment = SoundSettingsFragment.class.getName();
+ target.add(soundSettingsHeader);
Header quickResponseSettingsHeader = new Header();
Intent quickResponseSettingsIntent =
diff --git a/src/com/android/dialer/settings/GeneralSettingsFragment.java b/src/com/android/dialer/settings/SoundSettingsFragment.java
index 7d8228642..6a9bc1e36 100644
--- a/src/com/android/dialer/settings/GeneralSettingsFragment.java
+++ b/src/com/android/dialer/settings/SoundSettingsFragment.java
@@ -24,7 +24,6 @@ import android.os.Message;
import android.os.Vibrator;
import android.preference.CheckBoxPreference;
import android.preference.Preference;
-import android.preference.PreferenceCategory;
import android.preference.PreferenceFragment;
import android.preference.PreferenceScreen;
import android.provider.Settings;
@@ -40,9 +39,8 @@ import java.lang.Runnable;
import java.lang.String;
import java.lang.Thread;
-public class GeneralSettingsFragment extends PreferenceFragment
+public class SoundSettingsFragment extends PreferenceFragment
implements Preference.OnPreferenceChangeListener {
- private static final String CATEGORY_SOUNDS_KEY = "dialer_general_sounds_category_key";
private static final String BUTTON_RINGTONE_KEY = "button_ringtone_key";
private static final String BUTTON_VIBRATE_ON_RING = "button_vibrate_on_ring";
private static final String BUTTON_PLAY_DTMF_TONE = "button_play_dtmf_tone";
@@ -73,19 +71,18 @@ public class GeneralSettingsFragment extends PreferenceFragment
mContext = getActivity().getApplicationContext();
- addPreferencesFromResource(R.xml.general_settings);
+ addPreferencesFromResource(R.xml.sound_settings);
mRingtonePreference = findPreference(BUTTON_RINGTONE_KEY);
mVibrateWhenRinging = (CheckBoxPreference) findPreference(BUTTON_VIBRATE_ON_RING);
mPlayDtmfTone = (CheckBoxPreference) findPreference(BUTTON_PLAY_DTMF_TONE);
- PreferenceCategory soundCategory = (PreferenceCategory) findPreference(CATEGORY_SOUNDS_KEY);
if (mVibrateWhenRinging != null) {
Vibrator vibrator = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE);
if (vibrator != null && vibrator.hasVibrator()) {
mVibrateWhenRinging.setOnPreferenceChangeListener(this);
} else {
- soundCategory.removePreference(mVibrateWhenRinging);
+ getPreferenceScreen().removePreference(mVibrateWhenRinging);
mVibrateWhenRinging = null;
}
}
@@ -111,6 +108,18 @@ public class GeneralSettingsFragment extends PreferenceFragment
};
}
+ @Override
+ public void onResume() {
+ super.onResume();
+
+ if (mVibrateWhenRinging != null) {
+ mVibrateWhenRinging.setChecked(getVibrateWhenRingingSetting(mContext));
+ }
+
+ // Lookup the ringtone name asynchronously.
+ new Thread(mRingtoneLookupRunnable).start();
+ }
+
/**
* Supports onPreferenceChangeListener to look for preference changes.
*
@@ -139,17 +148,6 @@ public class GeneralSettingsFragment extends PreferenceFragment
return true;
}
- @Override
- public void onResume() {
- super.onResume();
-
- if (mVibrateWhenRinging != null) {
- mVibrateWhenRinging.setChecked(getVibrateWhenRingingSetting(mContext));
- }
-
- // Lookup the ringtone name asynchronously.
- new Thread(mRingtoneLookupRunnable).start();
- }
/**
* Obtain the setting for "vibrate when ringing" setting.