summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYorke Lee <yorkelee@google.com>2014-07-14 19:13:16 -0700
committerYorke Lee <yorkelee@google.com>2014-07-15 10:00:32 -0700
commitaf6f195af0bb200d1bb06ad11dac476e8dff0073 (patch)
tree916ce243afb2ab86524ae16491e5d451fc4a1fc5
parent434dbcc2f581619f79a691e1a39c5e69003a9d16 (diff)
downloadandroid_packages_apps_Dialer-af6f195af0bb200d1bb06ad11dac476e8dff0073.tar.gz
android_packages_apps_Dialer-af6f195af0bb200d1bb06ad11dac476e8dff0073.tar.bz2
android_packages_apps_Dialer-af6f195af0bb200d1bb06ad11dac476e8dff0073.zip
Make ContactPreferences use SharedPreferences instead of System settings (5/5)
* Move constants that originally lived in the framework into ContactsCommon * Use SharedPreferences instead of System settings to persist preferences * Use a SharedPreferenceListener to monitor changes instead of a content observer on system settings * Move DisplayOrderPreference and SortOrderPreference into ContactsCommon so that it can be used by Dialer * Create base DialerSettingsActivity in Dialer, and make GoogleDialerSettingsActivity extend it Bug: 16153186 Change-Id: I27befcc3b038038830f72092b55a6fc8a6f85674
-rw-r--r--AndroidManifest.xml7
-rw-r--r--res/menu/dialtacts_options.xml2
-rw-r--r--res/values/colors.xml6
-rw-r--r--res/values/strings.xml12
-rw-r--r--res/values/styles.xml9
-rw-r--r--src/com/android/dialer/DialtactsActivity.java9
-rw-r--r--src/com/android/dialer/settings/DialerSettingsActivity.java54
7 files changed, 90 insertions, 9 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index bacec34f6..40a17f9bb 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -122,6 +122,13 @@
</intent-filter>
</activity>
+ <activity android:name="com.android.dialer.settings.DialerSettingsActivity"
+ android:label="@string/dialer_settings_label"
+ android:parentActivityName="com.android.dialer.DialtactsActivity"
+ android:theme="@style/SettingsStyle"
+ android:exported="false">
+ </activity>
+
<activity android:name="com.android.dialer.calllog.CallLogActivity"
android:label="@string/call_log_activity_title"
android:theme="@style/DialtactsThemeWithoutActionBarOverlay"
diff --git a/res/menu/dialtacts_options.xml b/res/menu/dialtacts_options.xml
index 17f4d9fe1..cc5e3868e 100644
--- a/res/menu/dialtacts_options.xml
+++ b/res/menu/dialtacts_options.xml
@@ -30,6 +30,6 @@
android:title="@string/menu_newContact"/>
<item
android:id="@+id/menu_call_settings"
- android:title="@string/call_settings"
+ android:title="@string/dialer_settings_label"
android:orderInCategory="2" />
</menu>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 6624c2d80..cbf737cb2 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -21,6 +21,12 @@
<color name="dialtacts_secondary_text_color">#888888</color>
<color name="dialer_accent_color">#eeff41</color>
+ <!-- Color for the setting text. -->
+ <color name="setting_primary_color">#4d4c4c</color>
+ <!-- Color for the setting description text. -->
+ <color name="setting_secondary_color">#989898</color>
+ <color name="setting_background_color">#ffffff</color>
+
<!-- Color of the text describing an unconsumed missed call. -->
<color name="call_log_missed_call_highlight_color">#FF0000</color>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index e51aff714..29b965163 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -329,8 +329,8 @@
<!-- Menu item to select account used to make phone calls [CHAR LIMIT=30] -->
<string name="menu_select_account">Select Account</string>
- <!-- Menu item label for call settings [CHAR LIMIT=30] -->
- <string name="call_settings">Settings</string>
+ <!-- Label for the dialer app setting page [CHAR LIMIT=30]-->
+ <string name="dialer_settings_label">Settings</string>
<!-- Menu item to create a new contact [CHAR LIMIT=30] -->
<string name="menu_newContact">New contact</string>
@@ -750,4 +750,12 @@
<!-- Delimeter used between each item in a textual list; for example "Alpha, Beta".
[CHAR LIMIT=3] -->
<string name="list_delimeter">", "</string>
+
+ <!-- Dialer settings related strings-->
+
+ <!-- Label for the call settings section [CHAR LIMIT=30]-->
+ <string name="call_settings_label">Call Settings</string>
+
+ <!-- Label for the call settings section description [CHAR LIMIT=80]-->
+ <string name="call_settings_description">Ringtones, voicemail settings, VoIP calling, etc</string>
</resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 0140db8e1..a7c1ec138 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -150,4 +150,13 @@
<item name="android:paddingLeft">@dimen/dismiss_button_padding_start</item>
<item name="android:paddingRight">@dimen/dismiss_button_padding_end</item>
</style>
+
+ <!-- Style applied to the "Settings" screen. Keep in sync with SettingsLight in Telephony. -->
+ <style name="SettingsStyle" parent="DialtactsThemeWithoutActionBarOverlay">
+ <!-- Setting text. -->
+ <item name="android:textColorSecondary">@color/setting_primary_color</item>
+ <!-- Setting description. -->
+ <item name="android:textColorTertiary">@color/setting_secondary_color</item>
+ <item name="android:windowBackground">@color/setting_background_color</item>
+ </style>
</resources>
diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java
index 4965647e7..d08b38f44 100644
--- a/src/com/android/dialer/DialtactsActivity.java
+++ b/src/com/android/dialer/DialtactsActivity.java
@@ -81,6 +81,7 @@ import com.android.dialer.list.RegularSearchFragment;
import com.android.dialer.list.SearchFragment;
import com.android.dialer.list.SmartDialSearchFragment;
import com.android.dialer.list.SpeedDialFragment;
+import com.android.dialer.settings.DialerSettingsActivity;
import com.android.dialer.util.DialerUtils;
import com.android.dialer.widget.ActionBarController;
import com.android.dialer.widget.SearchEditTextLayout;
@@ -519,12 +520,8 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
}
protected void handleMenuSettings() {
- openTelephonySetting(this);
- }
-
- public static void openTelephonySetting(Activity activity) {
- final Intent settingsIntent = getCallSettingsIntent();
- activity.startActivity(settingsIntent);
+ final Intent intent = new Intent(this, DialerSettingsActivity.class);
+ startActivity(intent);
}
@Override
diff --git a/src/com/android/dialer/settings/DialerSettingsActivity.java b/src/com/android/dialer/settings/DialerSettingsActivity.java
new file mode 100644
index 000000000..904be82b8
--- /dev/null
+++ b/src/com/android/dialer/settings/DialerSettingsActivity.java
@@ -0,0 +1,54 @@
+package com.android.dialer.settings;
+
+import android.content.SharedPreferences;
+import android.os.Bundle;
+import android.preference.PreferenceActivity;
+import android.preference.PreferenceManager;
+import android.preference.PreferenceActivity.Header;
+import android.view.MenuItem;
+
+import com.android.contacts.common.preference.DisplayOptionsPreferenceFragment;
+import com.android.dialer.DialtactsActivity;
+import com.android.dialer.R;
+
+import java.util.List;
+
+public class DialerSettingsActivity extends PreferenceActivity {
+
+ protected SharedPreferences mPreferences;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ mPreferences = PreferenceManager.getDefaultSharedPreferences(this);
+ }
+
+ @Override
+ public void onBuildHeaders(List<Header> target) {
+ final Header contactDisplayHeader = new Header();
+ contactDisplayHeader.titleRes = R.string.settings_contact_display_options_title;
+ contactDisplayHeader.summaryRes = R.string.settings_contact_display_options_description;
+ contactDisplayHeader.fragment = DisplayOptionsPreferenceFragment.class.getName();
+ target.add(contactDisplayHeader);
+
+ final Header callSettingHeader = new Header();
+ callSettingHeader.titleRes = R.string.call_settings_label;
+ callSettingHeader.summaryRes = R.string.call_settings_description;
+ callSettingHeader.intent = DialtactsActivity.getCallSettingsIntent();
+ target.add(callSettingHeader);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ if (item.getItemId() == android.R.id.home) {
+ onBackPressed();
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ protected boolean isValidFragment(String fragmentName) {
+ return true;
+ }
+}