diff options
author | Andrew Lee <anwlee@google.com> | 2015-02-26 14:26:16 -0800 |
---|---|---|
committer | Andrew Lee <anwlee@google.com> | 2015-02-26 15:40:08 -0800 |
commit | e83576c5503596480d57ff9991df4ad99d26cfc4 (patch) | |
tree | b7ee42d4ea666a5ce37eaa441622c336d2b4dc37 | |
parent | eb2097d840ac4e2f8709041cb7c9282697a309af (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.xml | 9 | ||||
-rw-r--r-- | res/xml/general_settings.xml | 47 | ||||
-rw-r--r-- | res/xml/sound_settings.xml | 40 | ||||
-rw-r--r-- | src/com/android/dialer/settings/DialerSettingsActivity.java | 8 | ||||
-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. |