Merge "Show only APNs belonging to carrier (mno/mvno) under apn settings." into mnc-dev
diff --git a/res/drawable/ic_settings_memory.xml b/res/drawable/ic_settings_memory.xml
index a459465..410460e 100644
--- a/res/drawable/ic_settings_memory.xml
+++ b/res/drawable/ic_settings_memory.xml
@@ -17,7 +17,8 @@
android:width="32dp"
android:height="32dp"
android:viewportWidth="24.0"
- android:viewportHeight="24.0">
+ android:viewportHeight="24.0"
+ android:tint="?android:attr/colorAccent">
<path
android:pathData="M6.0,4.0l0.0,16.0 12.0,0.0 0.0,-16.0 -12.0,0.0z
M6.0,5.25l0,1.5 -3,0 0,-1.5 3,0z
@@ -33,5 +34,5 @@
M13.25,14.5l1,0 0,3 -1,0 0,-3z
M15.0,14.5l1,0 0,3 -1,0 0,-3z
"
- android:fillColor="#ff009587" />
+ android:fillColor="@android:color/black" />
</vector>
diff --git a/res/layout/app_storage_settings.xml b/res/layout/app_storage_settings.xml
deleted file mode 100644
index 82493f7..0000000
--- a/res/layout/app_storage_settings.xml
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- Copyright (C) 2015 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.
--->
-
-<LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/all_details"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:paddingStart="?android:attr/listPreferredItemPaddingStart"
- android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
- android:orientation="vertical">
-
- <TextView xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/category_title"
- android:layout_width="match_parent"
- android:layout_height="@dimen/dashboard_category_title_height"
- android:singleLine="true"
- android:gravity="center_vertical"
- android:textAppearance="@style/TextAppearance.CategoryTitle"
- android:textAlignment="viewStart"
- android:text="@string/storage_label"
- />
-
- <FrameLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingTop="0dip">
- <TextView
- android:id="@+id/total_size_prefix"
- android:text="@string/total_size_label"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:layout_height="wrap_content"
- android:layout_width="match_parent"
- android:textColor="?android:textColorPrimary"
- android:maxLines="1" />
- <TextView
- android:id="@+id/total_size_text"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:layout_height="wrap_content"
- android:layout_width="match_parent"
- android:gravity="right"
- android:maxLines="1" />
- </FrameLayout>
-
- <FrameLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingTop="3dip">
- <TextView
- android:id="@+id/application_size_prefix"
- android:text="@string/application_size_label"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:layout_height="wrap_content"
- android:layout_width="match_parent"
- android:textColor="?android:textColorPrimary"
- android:maxLines="1" />
- <TextView
- android:id="@+id/application_size_text"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:layout_height="wrap_content"
- android:layout_width="match_parent"
- android:gravity="right"
- android:maxLines="1" />
- </FrameLayout>
-
- <FrameLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingTop="3dip">
- <TextView
- android:id="@+id/external_code_size_prefix"
- android:text="@string/external_code_size_label"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:layout_height="wrap_content"
- android:layout_width="match_parent"
- android:textColor="?android:textColorPrimary"
- android:maxLines="1" />
- <TextView
- android:id="@+id/external_code_size_text"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:layout_height="wrap_content"
- android:layout_width="match_parent"
- android:gravity="right"
- android:maxLines="1" />
- </FrameLayout>
-
- <FrameLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingTop="3dip">
- <TextView
- android:id="@+id/data_size_prefix"
- android:text="@string/data_size_label"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:layout_height="wrap_content"
- android:layout_width="match_parent"
- android:textColor="?android:textColorPrimary"
- android:maxLines="1" />
- <TextView
- android:id="@+id/data_size_text"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:layout_height="wrap_content"
- android:layout_width="match_parent"
- android:gravity="right"
- android:maxLines="1" />
- </FrameLayout>
-
- <FrameLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingTop="3dip">
- <TextView
- android:id="@+id/external_data_size_prefix"
- android:text="@string/external_data_size_label"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:layout_height="wrap_content"
- android:layout_width="match_parent"
- android:textColor="?android:textColorPrimary"
- android:maxLines="1" />
- <TextView
- android:id="@+id/external_data_size_text"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:layout_height="wrap_content"
- android:layout_width="match_parent"
- android:gravity="right"
- android:maxLines="1" />
- </FrameLayout>
-
- <include
- android:id="@+id/clear_data_button"
- layout="@layout/single_button_panel" />
-
- <Space
- android:layout_width="match_parent"
- android:layout_height="10dp" />
-
-</LinearLayout>
diff --git a/res/layout/horizontal_preference.xml b/res/layout/horizontal_preference.xml
index 540b7e3..4e16e9a 100644
--- a/res/layout/horizontal_preference.xml
+++ b/res/layout/horizontal_preference.xml
@@ -20,7 +20,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:paddingTop="3dp"
+ android:paddingTop="1dp"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
diff --git a/res/layout/single_button_panel.xml b/res/layout/single_button_panel.xml
index 5f1fee9..2af1765 100755
--- a/res/layout/single_button_panel.xml
+++ b/res/layout/single_button_panel.xml
@@ -22,15 +22,20 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+ android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:gravity="bottom"
- android:paddingTop="4dip"
+ android:paddingTop="6dip"
+ android:paddingBottom="6dip"
android:orientation="horizontal">
<Button
android:id="@+id/button"
android:layout_width="120dip"
android:layout_weight="0.4"
android:layout_height="wrap_content"
- android:layout_gravity="center_vertical" />
+ android:layout_gravity="center_vertical"
+ android:backgroundTint="?android:attr/colorAccent"
+ android:textColor="@android:color/white" />
<Space
android:layout_width="0dip"
android:layout_height="wrap_content"
diff --git a/res/layout/tall_preference_category.xml b/res/layout/tall_preference_category.xml
new file mode 100644
index 0000000..7a5dd77
--- /dev/null
+++ b/res/layout/tall_preference_category.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 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.
+-->
+
+<!-- Based on frameworks/base/core/res/res/layout/preference_category_material.xml.
+ except has paddingBottom set.-->
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+android:id/title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="16dip"
+ android:textAppearance="@android:style/TextAppearance.Material.Body2"
+ android:textColor="?android:attr/colorAccent"
+ android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+ android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+ android:paddingBottom="8dp"
+ android:paddingTop="16dip" />
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 242177a..ebf1fb4 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -5860,6 +5860,7 @@
<string name="keywords_all_apps">apps download applications system</string>
<string name="keywords_app_permissions">apps permissions security</string>
<string name="keywords_default_apps">apps default</string>
+ <string name="keywords_ignore_optimizations">ignore optimizations doze app standby</string>
<!-- Search keywords for different screen unlock modes : slide to unlock, password, pattern and PIN [CHAR LIMIT=none] -->
<string name="keywords_lockscreen">slide password pattern pin</string>
@@ -6467,6 +6468,12 @@
LIMIT=45] -->
<string name="app_permissions_group_summary"><xliff:g id="count" example="10">%d</xliff:g> of <xliff:g id="count" example="10">%d</xliff:g> apps allowed</string>
+ <!-- Label for tap to wake setting [CHAR LIMIT=30] -->
+ <string name="tap_to_wake">Tap to wake</string>
+
+ <!-- Summary for take to wake setting [CHAR LIMIT=90] -->
+ <string name="tap_to_wake_summary">Double-tap anywhere on the screen to wake device</string>
+
<!-- Label for the Domain URLs list that shows domain urls per App [CHAR LIMIT=30] -->
<string name="domain_urls_title">Domain URLs</string>
@@ -6558,22 +6565,19 @@
<!-- Filter for apps allowed to use a lot of power [CHAR LIMIT=25] -->
<string name="high_power_filter_on">Allowed</string>
- <!-- Filter for apps not allowed to use a lot of power [CHAR LIMIT=25] -->
- <string name="high_power_filter_off">Not allowed</string>
-
<!-- Summary of app allowed to use a lot of power [CHAR LIMIT=60] -->
- <string name="high_power_on">Allowed to ignore optimizations</string>
+ <string name="high_power_on">Ignoring battery optimizations</string>
<!-- Summary of app not allowed to use a lot of power [CHAR LIMIT=60] -->
- <string name="high_power_off">Not allowed to ignore optimizations</string>
+ <string name="high_power_off">Off</string>
<!-- Description of high power switch [CHAR LIMIT=NONE] -->
- <string name="high_power_desc">Ignore optimizations including Battery saver, allow instant content refresh etc.</string>
+ <string name="high_power_desc">Don\'t apply battery optimizations. May drain your battery more quickly.</string>
<!-- Description of number of apps with high power turned on [CHAR LIMIT=NONE] -->
<plurals name="high_power_count">
- <item quantity="one">1 app is allowed to ignore battery optimizations</item>
- <item quantity="other"><xliff:g id="count" example="10">%d</xliff:g> apps are allowed to battery optimizations</item>
+ <item quantity="one">1 app allowed to ignore battery optimizations</item>
+ <item quantity="other"><xliff:g id="count" example="10">%d</xliff:g> apps allowed to ignore battery optimizations</item>
</plurals>
<!-- Summary of power usage for an app [CHAR LIMIT=NONE] -->
@@ -6585,4 +6589,7 @@
<!-- Link to an apps notification settings [CHAR LIMIT=50] -->
<string name="app_notification_preferences">App notification preferences</string>
+ <!-- Turn on settings for system ui tuner [CHAR LIMIT=40] -->
+ <string name="system_ui_settings">Show SystemUI Tuner</string>
+
</resources>
diff --git a/res/values/themes.xml b/res/values/themes.xml
index a0dd581..76fc04f 100644
--- a/res/values/themes.xml
+++ b/res/values/themes.xml
@@ -30,6 +30,8 @@
</style>
<style name="SetupWizardTheme" parent="SuwThemeMaterial">
+ <!-- For all Alert Dialogs -->
+ <item name="android:alertDialogTheme">@style/ThemeOverlay.AlertDialog</item>
<item name="android:listPreferredItemPaddingEnd">@dimen/suw_layout_margin_sides</item>
<item name="android:listPreferredItemPaddingStart">@dimen/suw_layout_margin_sides</item>
<item name="android:windowBackground">?android:attr/colorBackground</item>
@@ -50,6 +52,8 @@
</style>
<style name="SetupWizardTheme.Light" parent="SuwThemeMaterial.Light">
+ <!-- For all Alert Dialogs -->
+ <item name="android:alertDialogTheme">@style/ThemeOverlay.AlertDialog</item>
<item name="android:listPreferredItemPaddingEnd">@dimen/suw_layout_margin_sides</item>
<item name="android:listPreferredItemPaddingStart">@dimen/suw_layout_margin_sides</item>
<item name="android:windowBackground">?android:attr/colorBackground</item>
@@ -160,6 +164,10 @@
<item name="preferenceBackgroundColor">@drawable/preference_background</item>
</style>
+ <style name="ThemeOverlay.AlertDialog" parent="@android:style/ThemeOverlay.Material.Dialog.Alert">
+ <item name="android:windowSoftInputMode">adjustResize</item>
+ </style>
+
<style name="Theme.AlertDialog" parent="@*android:style/Theme.Material.Settings.Dialog.Alert">
<item name="android:windowSoftInputMode">adjustResize</item>
diff --git a/res/xml/advanced_apps.xml b/res/xml/advanced_apps.xml
index 62431c3..1bb9c58 100644
--- a/res/xml/advanced_apps.xml
+++ b/res/xml/advanced_apps.xml
@@ -43,7 +43,8 @@
<PreferenceScreen
android:key="high_power_apps"
android:title="@string/high_power_apps"
- android:fragment="com.android.settings.applications.ManageApplications">
+ android:fragment="com.android.settings.applications.ManageApplications"
+ settings:keywords="@string/keywords_ignore_optimizations">
<extra
android:name="classname"
android:value="com.android.settings.Settings$HighPowerApplicationsActivity" />
diff --git a/res/xml/app_storage_settings.xml b/res/xml/app_storage_settings.xml
index 6baaae1..5bb9204 100644
--- a/res/xml/app_storage_settings.xml
+++ b/res/xml/app_storage_settings.xml
@@ -23,12 +23,54 @@
android:summary="@string/storage_type_internal"
android:selectable="true" />
- <com.android.settings.applications.LayoutPreference
- android:key="storage_settings"
- android:layout="@layout/app_storage_settings" />
+ <PreferenceCategory
+ android:key="storage_category"
+ android:layout="@layout/tall_preference_category"
+ android:title="@string/storage_label">
+
+ <Preference
+ android:key="total_size"
+ android:title="@string/total_size_label"
+ android:selectable="false"
+ android:layout="@layout/horizontal_preference" />
+
+ <Preference
+ android:key="app_size"
+ android:title="@string/application_size_label"
+ android:selectable="false"
+ android:layout="@layout/horizontal_preference" />
+
+ <Preference
+ android:key="external_code_size"
+ android:title="@string/external_code_size_label"
+ android:selectable="false"
+ android:layout="@layout/horizontal_preference" />
+
+ <Preference
+ android:key="data_size"
+ android:title="@string/data_size_label"
+ android:selectable="false"
+ android:layout="@layout/horizontal_preference" />
+
+ <Preference
+ android:key="external_data_size"
+ android:title="@string/external_data_size_label"
+ android:selectable="false"
+ android:layout="@layout/horizontal_preference" />
+
+ <com.android.settings.applications.LayoutPreference
+ android:key="clear_data_button"
+ android:layout="@layout/single_button_panel" />
+ </PreferenceCategory>
+
+ <Preference
+ android:key="cache_size"
+ android:title="@string/cache_size_label"
+ android:layout="@layout/horizontal_preference" />
<com.android.settings.applications.LayoutPreference
- android:key="cache_settings"
- android:layout="@layout/app_cache_settings" />
+ android:key="clear_cache_button"
+ android:selectable="false"
+ android:layout="@layout/single_button_panel" />
</PreferenceScreen>
diff --git a/res/xml/development_prefs.xml b/res/xml/development_prefs.xml
index ecab700..39866c9 100644
--- a/res/xml/development_prefs.xml
+++ b/res/xml/development_prefs.xml
@@ -60,6 +60,11 @@
android:summary="@string/runningservices_settings_summary"
android:fragment="com.android.settings.applications.RunningServices" />
+ <SwitchPreference
+ android:key="tuner_ui"
+ android:persistent="false"
+ android:title="@string/system_ui_settings" />
+
<PreferenceCategory android:key="debug_debugging_category"
android:title="@string/debug_debugging_category">
diff --git a/res/xml/display_settings.xml b/res/xml/display_settings.xml
index 70dcb9a..304a77b 100644
--- a/res/xml/display_settings.xml
+++ b/res/xml/display_settings.xml
@@ -72,6 +72,12 @@
android:summary="@string/doze_summary"
android:persistent="false" />
+ <SwitchPreference
+ android:key="tap_to_wake"
+ android:title="@string/tap_to_wake"
+ android:summary="@string/tap_to_wake_summary"
+ android:persistent="false" />
+
<com.android.settings.WarnedListPreference
android:key="font_size"
android:title="@string/title_font_size"
diff --git a/res/xml/power_usage_details.xml b/res/xml/power_usage_details.xml
index 3ad6547..ad28650 100644
--- a/res/xml/power_usage_details.xml
+++ b/res/xml/power_usage_details.xml
@@ -25,23 +25,28 @@
android:layout="@layout/two_buttons_panel"
android:selectable="false" />
- <Preference
- android:key="high_power"
- android:title="@string/high_power_apps" />
+ <PreferenceCategory
+ android:key="controls_parent"
+ android:title="@string/controls_subtitle">
+
+ <Preference
+ android:key="high_power"
+ android:title="@string/high_power_apps" />
+
+ </PreferenceCategory>
<PreferenceCategory
android:key="details_parent"
+ android:layout="@layout/tall_preference_category"
android:title="@string/details_subtitle" />
<PreferenceCategory
- android:key="controls_parent"
- android:title="@string/controls_subtitle" />
-
- <PreferenceCategory
- android:key="messages_parent" />
+ android:key="messages_parent"
+ android:layout="@layout/tall_preference_category" />
<PreferenceCategory
android:key="packages_parent"
+ android:layout="@layout/tall_preference_category"
android:title="@string/packages_subtitle" />
</PreferenceScreen>
diff --git a/src/com/android/settings/ChooseLockGeneric.java b/src/com/android/settings/ChooseLockGeneric.java
index 7aa1053..317d372 100644
--- a/src/com/android/settings/ChooseLockGeneric.java
+++ b/src/com/android/settings/ChooseLockGeneric.java
@@ -292,7 +292,6 @@
/** increases the quality if necessary */
private int upgradeQuality(int quality) {
quality = upgradeQualityForDPM(quality);
- quality = upgradeQualityForKeyStore(quality);
return quality;
}
@@ -305,15 +304,6 @@
return quality;
}
- private int upgradeQualityForKeyStore(int quality) {
- if (!mKeyStore.isEmpty()) {
- if (quality < CredentialStorage.MIN_PASSWORD_QUALITY) {
- quality = CredentialStorage.MIN_PASSWORD_QUALITY;
- }
- }
- return quality;
- }
-
/***
* Disables preferences that are less secure than required quality. The actual
* implementation is in disableUnusablePreferenceImpl.
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java
index 3c964c9..314e70a 100644
--- a/src/com/android/settings/DevelopmentSettings.java
+++ b/src/com/android/settings/DevelopmentSettings.java
@@ -97,6 +97,9 @@
*/
public static final String PREF_SHOW = "show";
+ private static final ComponentName SYSUI_TUNER = new ComponentName("com.android.systemui",
+ "com.android.systemui.tuner.TunerActivity");
+
private static final String ENABLE_ADB = "enable_adb";
private static final String CLEAR_ADB_KEYS = "clear_adb_keys";
private static final String ENABLE_TERMINAL = "enable_terminal";
@@ -112,6 +115,7 @@
private static final String BUGREPORT = "bugreport";
private static final String BUGREPORT_IN_POWER_KEY = "bugreport_in_power";
private static final String OPENGL_TRACES_PROPERTY = "debug.egl.trace";
+ private static final String TUNER_UI_KEY = "tuner_ui";
private static final String DEBUG_APP_KEY = "debug_app";
private static final String WAIT_FOR_DEBUGGER_KEY = "wait_for_debugger";
@@ -260,6 +264,8 @@
private Dialog mAdbKeysDialog;
private boolean mUnavailable;
+ private SwitchPreference mTunerUiPref;
+
@Override
protected int getMetricsCategory() {
return MetricsLogger.DEVELOPMENT;
@@ -392,6 +398,8 @@
mAllPrefs.add(mShowAllANRs);
mResetSwitchPrefs.add(mShowAllANRs);
+ mTunerUiPref = findAndInitSwitchPref(TUNER_UI_KEY);
+
Preference hdcpChecking = findPreference(HDCP_CHECKING_KEY);
if (hdcpChecking != null) {
mAllPrefs.add(hdcpChecking);
@@ -593,6 +601,7 @@
updateSimulateColorSpace();
updateUseNuplayerOptions();
updateUSBAudioOptions();
+ updateTweakUi();
}
private void resetDangerousOptions() {
@@ -1069,6 +1078,21 @@
}
}
+ private void updateTweakUi() {
+ updateSwitchPreference(mTunerUiPref, getActivity().getPackageManager()
+ .getComponentEnabledSetting(SYSUI_TUNER)
+ == PackageManager.COMPONENT_ENABLED_STATE_ENABLED);
+ mTunerUiPref.setOnPreferenceChangeListener(this);
+ }
+
+ private void writeTweakUi(Object newValue) {
+ Boolean enabled = (Boolean) newValue;
+ getActivity().getPackageManager().setComponentEnabledSetting(SYSUI_TUNER,
+ enabled ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
+ : PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
+ PackageManager.DONT_KILL_APP);
+ }
+
private void updateUseNuplayerOptions() {
updateSwitchPreference(
mUseAwesomePlayer, SystemProperties.getBoolean(USE_AWESOMEPLAYER_PROPERTY, false));
@@ -1669,6 +1693,9 @@
} else if (preference == mSimulateColorSpace) {
writeSimulateColorSpace(newValue);
return true;
+ } else if (preference == mTunerUiPref) {
+ writeTweakUi(newValue);
+ return true;
}
return false;
}
diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java
index 7ad3832..d9b6447 100644
--- a/src/com/android/settings/DisplaySettings.java
+++ b/src/com/android/settings/DisplaySettings.java
@@ -22,6 +22,7 @@
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
+import static android.provider.Settings.Secure.DOUBLE_TAP_TO_WAKE;
import static android.provider.Settings.Secure.DOZE_ENABLED;
import static android.provider.Settings.Secure.WAKE_GESTURE_ENABLED;
import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE;
@@ -69,6 +70,7 @@
private static final String KEY_SCREEN_SAVER = "screensaver";
private static final String KEY_LIFT_TO_WAKE = "lift_to_wake";
private static final String KEY_DOZE = "doze";
+ private static final String KEY_TAP_TO_WAKE = "tap_to_wake";
private static final String KEY_AUTO_BRIGHTNESS = "auto_brightness";
private static final String KEY_AUTO_ROTATE = "auto_rotate";
private static final String KEY_NIGHT_MODE = "night_mode";
@@ -84,6 +86,7 @@
private Preference mScreenSaverPreference;
private SwitchPreference mLiftToWakePreference;
private SwitchPreference mDozePreference;
+ private SwitchPreference mTapToWakePreference;
private SwitchPreference mAutoBrightnessPreference;
@Override
@@ -139,6 +142,13 @@
removePreference(KEY_DOZE);
}
+ if (isTapToWakeAvailable(getResources())) {
+ mTapToWakePreference = (SwitchPreference) findPreference(KEY_TAP_TO_WAKE);
+ mTapToWakePreference.setOnPreferenceChangeListener(this);
+ } else {
+ removePreference(KEY_TAP_TO_WAKE);
+ }
+
if (RotationPolicy.isRotationLockToggleVisible(activity)) {
DropDownPreference rotatePreference =
(DropDownPreference) findPreference(KEY_AUTO_ROTATE);
@@ -201,6 +211,10 @@
return !TextUtils.isEmpty(name);
}
+ private static boolean isTapToWakeAvailable(Resources res) {
+ return res.getBoolean(com.android.internal.R.bool.config_supportDoubleTapWake);
+ }
+
private static boolean isAutomaticBrightnessAvailable(Resources res) {
return res.getBoolean(com.android.internal.R.bool.config_automatic_brightness_available);
}
@@ -345,6 +359,12 @@
int value = Settings.Secure.getInt(getContentResolver(), DOZE_ENABLED, 1);
mDozePreference.setChecked(value != 0);
}
+
+ // Update tap to wake if it is available.
+ if (mTapToWakePreference != null) {
+ int value = Settings.Secure.getInt(getContentResolver(), DOUBLE_TAP_TO_WAKE, 0);
+ mTapToWakePreference.setChecked(value != 0);
+ }
}
private void updateScreenSaverSummary() {
@@ -396,6 +416,10 @@
boolean value = (Boolean) objValue;
Settings.Secure.putInt(getContentResolver(), DOZE_ENABLED, value ? 1 : 0);
}
+ if (preference == mTapToWakePreference) {
+ boolean value = (Boolean) objValue;
+ Settings.Secure.putInt(getContentResolver(), DOUBLE_TAP_TO_WAKE, value ? 1 : 0);
+ }
if (preference == mNightModePreference) {
try {
final int value = Integer.parseInt((String) objValue);
diff --git a/src/com/android/settings/applications/AppStorageSettings.java b/src/com/android/settings/applications/AppStorageSettings.java
index 5c367d7..fe68cbc4 100644
--- a/src/com/android/settings/applications/AppStorageSettings.java
+++ b/src/com/android/settings/applications/AppStorageSettings.java
@@ -29,6 +29,8 @@
import android.os.Message;
import android.os.storage.StorageManager;
import android.os.storage.VolumeInfo;
+import android.preference.Preference;
+import android.preference.PreferenceCategory;
import android.text.format.Formatter;
import android.util.Log;
import android.view.View;
@@ -69,17 +71,26 @@
private static final int DLG_CANNOT_CLEAR_DATA = DLG_BASE + 2;
private static final String KEY_MOVE_PREFERENCE = "app_location_setting";
- private static final String KEY_STORAGE_SETTINGS = "storage_settings";
- private static final String KEY_CACHE_SETTINGS = "cache_settings";
+ private static final String KEY_STORAGE_CATEGORY = "storage_category";
- private TextView mTotalSize;
- private TextView mAppSize;
- private TextView mDataSize;
- private TextView mExternalCodeSize;
- private TextView mExternalDataSize;
+ private static final String KEY_TOTAL_SIZE = "total_size";
+ private static final String KEY_APP_SIZE = "app_size";
+ private static final String KEY_EXTERNAL_CODE_SIZE = "external_code_size";
+ private static final String KEY_DATA_SIZE = "data_size";
+ private static final String KEY_EXTERNAL_DATA_SIZE = "external_data_size";
+ private static final String KEY_CACHE_SIZE = "cache_size";
+
+ private static final String KEY_CLEAR_DATA = "clear_data_button";
+ private static final String KEY_CLEAR_CACHE = "clear_cache_button";
+
+ private Preference mTotalSize;
+ private Preference mAppSize;
+ private Preference mDataSize;
+ private Preference mExternalCodeSize;
+ private Preference mExternalDataSize;
// Views related to cache info
- private TextView mCacheSize;
+ private Preference mCacheSize;
private Button mClearDataButton;
private Button mClearCacheButton;
@@ -113,29 +124,28 @@
private void setupViews() {
mComputingStr = getActivity().getText(R.string.computing_size);
mInvalidSizeStr = getActivity().getText(R.string.invalid_size_value);
- LayoutPreference view = (LayoutPreference) findPreference(KEY_STORAGE_SETTINGS);
// Set default values on sizes
- mTotalSize = (TextView) view.findViewById(R.id.total_size_text);
- mAppSize = (TextView) view.findViewById(R.id.application_size_text);
- mDataSize = (TextView) view.findViewById(R.id.data_size_text);
- mExternalCodeSize = (TextView) view.findViewById(R.id.external_code_size_text);
- mExternalDataSize = (TextView) view.findViewById(R.id.external_data_size_text);
+ mTotalSize = findPreference(KEY_TOTAL_SIZE);
+ mAppSize = findPreference(KEY_APP_SIZE);
+ mDataSize = findPreference(KEY_DATA_SIZE);
+ mExternalCodeSize = findPreference(KEY_EXTERNAL_CODE_SIZE);
+ mExternalDataSize = findPreference(KEY_EXTERNAL_DATA_SIZE);
if (Environment.isExternalStorageEmulated()) {
- ((View) mExternalCodeSize.getParent()).setVisibility(View.GONE);
- ((View) mExternalDataSize.getParent()).setVisibility(View.GONE);
+ PreferenceCategory category = (PreferenceCategory) findPreference(KEY_STORAGE_CATEGORY);
+ category.removePreference(mExternalCodeSize);
+ category.removePreference(mExternalDataSize);
}
- mClearDataButton = (Button) view.findViewById(R.id.clear_data_button)
+ mClearDataButton = (Button) ((LayoutPreference) findPreference(KEY_CLEAR_DATA))
.findViewById(R.id.button);
mMoveDropDown = (DropDownPreference) findPreference(KEY_MOVE_PREFERENCE);
mMoveDropDown.setCallback(this);
- view = (LayoutPreference) findPreference(KEY_CACHE_SETTINGS);
// Cache section
- mCacheSize = (TextView) view.findViewById(R.id.cache_size_text);
- mClearCacheButton = (Button) view.findViewById(R.id.clear_cache_button)
+ mCacheSize = findPreference(KEY_CACHE_SIZE);
+ mClearCacheButton = (Button) ((LayoutPreference) findPreference(KEY_CLEAR_CACHE))
.findViewById(R.id.button);
mClearCacheButton.setText(R.string.clear_cache_btn_text);
}
@@ -192,10 +202,10 @@
|| mAppEntry.size == ApplicationsState.SIZE_UNKNOWN) {
mLastCodeSize = mLastDataSize = mLastCacheSize = mLastTotalSize = -1;
if (!mHaveSizes) {
- mAppSize.setText(mComputingStr);
- mDataSize.setText(mComputingStr);
- mCacheSize.setText(mComputingStr);
- mTotalSize.setText(mComputingStr);
+ mAppSize.setSummary(mComputingStr);
+ mDataSize.setSummary(mComputingStr);
+ mCacheSize.setSummary(mComputingStr);
+ mTotalSize.setSummary(mComputingStr);
}
mClearDataButton.setEnabled(false);
mClearCacheButton.setEnabled(false);
@@ -210,29 +220,29 @@
} else {
if (mLastExternalCodeSize != mAppEntry.externalCodeSize) {
mLastExternalCodeSize = mAppEntry.externalCodeSize;
- mExternalCodeSize.setText(getSizeStr(mAppEntry.externalCodeSize));
+ mExternalCodeSize.setSummary(getSizeStr(mAppEntry.externalCodeSize));
}
if (mLastExternalDataSize != mAppEntry.externalDataSize) {
mLastExternalDataSize = mAppEntry.externalDataSize;
- mExternalDataSize.setText(getSizeStr( mAppEntry.externalDataSize));
+ mExternalDataSize.setSummary(getSizeStr( mAppEntry.externalDataSize));
}
}
if (mLastCodeSize != codeSize) {
mLastCodeSize = codeSize;
- mAppSize.setText(getSizeStr(codeSize));
+ mAppSize.setSummary(getSizeStr(codeSize));
}
if (mLastDataSize != dataSize) {
mLastDataSize = dataSize;
- mDataSize.setText(getSizeStr(dataSize));
+ mDataSize.setSummary(getSizeStr(dataSize));
}
long cacheSize = mAppEntry.cacheSize + mAppEntry.externalCacheSize;
if (mLastCacheSize != cacheSize) {
mLastCacheSize = cacheSize;
- mCacheSize.setText(getSizeStr(cacheSize));
+ mCacheSize.setSummary(getSizeStr(cacheSize));
}
if (mLastTotalSize != mAppEntry.size) {
mLastTotalSize = mAppEntry.size;
- mTotalSize.setText(getSizeStr(mAppEntry.size));
+ mTotalSize.setSummary(getSizeStr(mAppEntry.size));
}
if ((mAppEntry.dataSize+ mAppEntry.externalDataSize) <= 0 || !mCanClearData) {
@@ -304,14 +314,18 @@
final List<VolumeInfo> candidates = context.getPackageManager()
.getPackageCandidateVolumes(mAppEntry.info);
- Collections.sort(candidates, VolumeInfo.getDescriptionComparator());
+ if (candidates.size() > 1) {
+ Collections.sort(candidates, VolumeInfo.getDescriptionComparator());
- mMoveDropDown.clearItems();
- for (VolumeInfo vol : candidates) {
- final String volDescrip = storage.getBestVolumeDescription(vol);
- mMoveDropDown.addItem(volDescrip, vol);
+ mMoveDropDown.clearItems();
+ for (VolumeInfo vol : candidates) {
+ final String volDescrip = storage.getBestVolumeDescription(vol);
+ mMoveDropDown.addItem(volDescrip, vol);
+ }
+ mMoveDropDown.setSelectable(!mAppControlRestricted);
+ } else {
+ removePreference(KEY_MOVE_PREFERENCE);
}
- mMoveDropDown.setSelectable(!mAppControlRestricted);
}
/*
diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java
index 1ef20f2..c74e23d 100644
--- a/src/com/android/settings/applications/ManageApplications.java
+++ b/src/com/android/settings/applications/ManageApplications.java
@@ -109,22 +109,22 @@
// Filter options used for displayed list of applications
// The order which they appear is the order they will show when spinner is present.
- public static final int FILTER_APPS_ALL = 0;
- public static final int FILTER_APPS_ENABLED = 1;
- public static final int FILTER_APPS_DISABLED = 2;
- public static final int FILTER_APPS_BLOCKED = 3;
- public static final int FILTER_APPS_PRIORITY = 4;
- public static final int FILTER_APPS_NO_PEEKING = 5;
- public static final int FILTER_APPS_SENSITIVE = 6;
- public static final int FILTER_APPS_PERSONAL = 7;
- public static final int FILTER_APPS_WORK = 8;
- public static final int FILTER_APPS_WITH_DOMAIN_URLS = 9;
- public static final int FILTER_APPS_USAGE_ACCESS = 10;
- public static final int FILTER_APPS_POWER_WHITELIST = 11;
- public static final int FILTER_APPS_POWER_NO_WHITELIST = 12;
+ public static final int FILTER_APPS_POWER_WHITELIST = 0;
+ public static final int FILTER_APPS_ALL = 1;
+ public static final int FILTER_APPS_ENABLED = 2;
+ public static final int FILTER_APPS_DISABLED = 3;
+ public static final int FILTER_APPS_BLOCKED = 4;
+ public static final int FILTER_APPS_PRIORITY = 5;
+ public static final int FILTER_APPS_NO_PEEKING = 6;
+ public static final int FILTER_APPS_SENSITIVE = 7;
+ public static final int FILTER_APPS_PERSONAL = 8;
+ public static final int FILTER_APPS_WORK = 9;
+ public static final int FILTER_APPS_WITH_DOMAIN_URLS = 10;
+ public static final int FILTER_APPS_USAGE_ACCESS = 11;
// This is the string labels for the filter modes above, the order must be kept in sync.
public static final int[] FILTER_LABELS = new int[] {
+ R.string.high_power_filter_on, // High power whitelist, on
R.string.filter_all_apps, // All apps
R.string.filter_enabled_apps, // Enabled
R.string.filter_apps_disabled, // Disabled
@@ -136,12 +136,11 @@
R.string.filter_work_apps, // Work
R.string.filter_with_domain_urls_apps, // Domain URLs
R.string.filter_all_apps, // Usage access screen, never displayed
- R.string.high_power_filter_on, // High power whitelist, on
- R.string.high_power_filter_off, // High power whitelist, off
};
// This is the actual mapping to filters from FILTER_ constants above, the order must
// be kept in sync.
public static final AppFilter[] FILTERS = new AppFilter[] {
+ AppStatePowerBridge.FILTER_POWER_WHITELISTED, // High power whitelist, on
ApplicationsState.FILTER_EVERYTHING, // All apps
ApplicationsState.FILTER_ALL_ENABLED, // Enabled
ApplicationsState.FILTER_DISABLED, // Disabled
@@ -153,8 +152,6 @@
ApplicationsState.FILTER_WORK, // Work
ApplicationsState.FILTER_WITH_DOMAIN_URLS, // Apps with Domain URLs
AppStateUsageBridge.FILTER_APP_USAGE, // Apps with Domain URLs
- AppStatePowerBridge.FILTER_POWER_WHITELISTED, // High power whitelist, on
- AppStatePowerBridge.FILTER_POWER_NOT_WHITELISTED, // High power whitelist, off
};
// sort order
@@ -321,7 +318,7 @@
mFilterAdapter.enableFilter(FILTER_APPS_NO_PEEKING);
}
if (mListType == LIST_TYPE_HIGH_POWER) {
- mFilterAdapter.enableFilter(FILTER_APPS_POWER_NO_WHITELIST);
+ mFilterAdapter.enableFilter(FILTER_APPS_ALL);
}
if (mListType == LIST_TYPE_STORAGE) {
mApplications.setOverrideFilter(new VolumeFilter(mVolumeUuid));
diff --git a/src/com/android/settings/fuelgauge/PowerUsageDetail.java b/src/com/android/settings/fuelgauge/PowerUsageDetail.java
index 5e11baf..6313ff5 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageDetail.java
@@ -358,6 +358,8 @@
if (mHighPower != null) {
mHighPower.setSummary(HighPowerDetail.getSummary(getActivity(), mApp.packageName));
}
+
+ setupHeader();
}
private void createDetails() {
@@ -370,8 +372,6 @@
mNoCoverage = args.getDouble(EXTRA_NO_COVERAGE, 0);
mShowLocationButton = args.getBoolean(EXTRA_SHOW_LOCATION_BUTTON);
- setupHeader();
-
mTypes = args.getIntArray(EXTRA_DETAIL_TYPES);
mValues = args.getDoubleArray(EXTRA_DETAIL_VALUES);
@@ -445,14 +445,14 @@
private void setupHeader() {
final Bundle args = getArguments();
String title = args.getString(EXTRA_TITLE);
- String iconPackage = args.getString(EXTRA_ICON_PACKAGE);
+ String pkg = args.getString(EXTRA_ICON_PACKAGE);
int iconId = args.getInt(EXTRA_ICON_ID, 0);
Drawable appIcon = null;
- if (!TextUtils.isEmpty(iconPackage)) {
+ if (!TextUtils.isEmpty(pkg)) {
try {
final PackageManager pm = getActivity().getPackageManager();
- ApplicationInfo ai = pm.getPackageInfo(iconPackage, 0).applicationInfo;
+ ApplicationInfo ai = pm.getPackageInfo(pkg, 0).applicationInfo;
if (ai != null) {
appIcon = ai.loadIcon(pm);
}
@@ -466,8 +466,11 @@
appIcon = getActivity().getPackageManager().getDefaultActivityIcon();
}
+ if (pkg == null && mPackages != null) {
+ pkg = mPackages[0];
+ }
AppHeader.createAppHeader(this, appIcon, title,
- AppInfoWithHeader.getInfoIntent(this, iconPackage),
+ pkg != null ? AppInfoWithHeader.getInfoIntent(this, pkg) : null,
mDrainType != DrainType.APP ? android.R.color.white : 0);
}
@@ -629,7 +632,6 @@
private void addControl(int pageSummary, int actionTitle, final int action) {
Preference pref = new Preference(getActivity());
pref.setTitle(actionTitle);
- pref.setSummary(pageSummary);
pref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {