summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--AndroidManifest.xml15
-rw-r--r--res/values/arrays.xml14
-rw-r--r--res/values/colors.xml1
-rw-r--r--res/values/strings.xml12
-rw-r--r--res/values/themes.xml16
-rw-r--r--res/xml/accessibility_contrast_settings.xml35
-rw-r--r--res/xml/accessibility_inversion_settings.xml8
-rw-r--r--res/xml/accessibility_settings.xml4
-rw-r--r--res/xml/user_settings.xml2
-rw-r--r--src/com/android/settings/SettingsActivity.java5
-rw-r--r--src/com/android/settings/accessibility/AccessibilitySettings.java2
-rw-r--r--src/com/android/settings/accessibility/ListDialogPreference.java14
-rw-r--r--src/com/android/settings/accessibility/ToggleContrastPreferenceFragment.java121
-rw-r--r--src/com/android/settings/accessibility/ToggleInversionPreferenceFragment.java10
-rw-r--r--src/com/android/settings/dashboard/SearchResultsSummary.java41
-rw-r--r--src/com/android/settings/notification/NotificationStation.java14
-rw-r--r--src/com/android/settings/tts/TtsEngineSettingsFragment.java39
-rw-r--r--src/com/android/settings/users/UserSettings.java25
18 files changed, 139 insertions, 239 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index b84075a..2794d9d 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -987,21 +987,6 @@
android:resource="@id/accessibility_settings" />
</activity>
- <activity android:name="Settings$AccessibilityContrastSettingsActivity"
- android:label="@string/accessibility_display_contrast_preference_title"
- android:taskAffinity="com.android.settings"
- android:parentActivityName="Settings$AccessibilitySettingsActivity">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <action android:name="com.android.settings.ACCESSIBILITY_CONTRAST_SETTINGS" />
- <category android:name="android.intent.category.DEFAULT" />
- </intent-filter>
- <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
- android:value="com.android.settings.accessibility.ToggleContrastPreferenceFragment" />
- <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
- android:resource="@id/accessibility_settings" />
- </activity>
-
<activity android:name="Settings$AccessibilityDaltonizerSettingsActivity"
android:label="@string/accessibility_display_daltonizer_preference_title"
android:taskAffinity="com.android.settings"
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 6d0cd76..5d1a9b6 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -1171,20 +1171,6 @@
<item>critical</item>
</string-array>
- <!-- Display color inversion modes for accessibility -->
- <string-array name="inversion_type_entries">
- <item>Standard</item>
- <item>Hue only</item>
- <item>Value only</item>
- </string-array>
-
- <!-- Values for display color inversion modes -->
- <string-array name="inversion_type_values" translatable="false">
- <item>0</item>
- <item>1</item>
- <item>2</item>
- </string-array>
-
<!-- Display color space adjustment modes for accessibility -->
<string-array name="daltonizer_type_entries" translatable="false">
<item>@string/daltonizer_mode_deuteranomaly</item>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index ce60cf3..b996e1e 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -60,5 +60,6 @@
<color name="quantum_orange_A200">#ffffab40</color>
<color name="quantum_orange_A400">#ffff9100</color>
+ <color name="actionbar_background_color">#ff263238</color>
<color name="dashboard_background_color">#ffe1e1e0</color>
</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index bebc51b..fd3922c 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -3362,8 +3362,6 @@
<string name="accessibility_toggle_speak_password_preference_title">Speak passwords</string>
<!-- Title for accessibility preference to choose long-press delay i.e. timeout before it is detected. [CHAR LIMIT=35] -->
<string name="accessibility_long_press_timeout_preference_title">Touch &amp; hold delay</string>
- <!-- Title for the accessibility preference to configure display contrast enhancement. [CHAR LIMIT=NONE] -->
- <string name="accessibility_display_contrast_preference_title">Contrast enhancement</string>
<!-- Title for the accessibility preference to configure display color inversion. [CHAR LIMIT=NONE] -->
<string name="accessibility_display_inversion_preference_title">Color inversion</string>
<!-- Title for the accessibility preference to configure display color space correction. [CHAR LIMIT=NONE] -->
@@ -3371,12 +3369,6 @@
<!-- Title for the preference to show a tile for a particular feature in the Quick Settings pane. [CHAR LIMIT=NONE] -->
<string name="enable_quick_setting">Show in Quick Settings</string>
- <!-- Title for the preference to configure contrast enhancement's brightness level. [CHAR LIMIT=NONE] -->
- <string name="contrast_brightness">Brightness</string>
- <!-- Title for the preference to configure contrast enhancement's contrast level. [CHAR LIMIT=NONE] -->
- <string name="contrast_contrast">Contrast</string>
- <!-- Title for the preference to configure the type of color inversion to apply. [CHAR LIMIT=NONE] -->
- <string name="inversion_type">Inversion mode</string>
<!-- Title for the preference to configure the type of color space correction to apply. [CHAR LIMIT=NONE] -->
<string name="daltonizer_type">Correction mode</string>
<!-- Summary shown for color space correction preference when its value is overridden by another preference [CHAR LIMIT=35] -->
@@ -4844,8 +4836,10 @@
<string name="user_settings_title">Users</string>
<!-- User settings header for list of users and profiles [CHAR LIMIT=40] -->
<string name="user_list_title">Users &amp; profiles</string>
+ <!-- User settings add user or restricted profile menu [CHAR LIMIT=35] -->
+ <string name="user_add_user_or_profile_menu">Add user or profile</string>
<!-- User settings add user menu [CHAR LIMIT=35] -->
- <string name="user_add_user_menu">Add user or profile</string>
+ <string name="user_add_user_menu">Add user</string>
<!-- User settings summary for a restricted profile [CHAR LIMIT=50] -->
<string name="user_summary_restricted_profile">Restricted profile</string>
<!-- User settings summary for a managed profile [CHAR LIMIT=50] -->
diff --git a/res/values/themes.xml b/res/values/themes.xml
index ca99d6b..97dc0d4 100644
--- a/res/values/themes.xml
+++ b/res/values/themes.xml
@@ -71,9 +71,23 @@
<item name="ic_wps">@drawable/ic_wps_dark</item>
<item name="wifi_signal">@drawable/wifi_signal_dark</item>
+ <item name="android:actionBarTheme">@style/Theme.Settings.ActionBar.Quantum</item>
+
+ <item name="android:colorPrimary">@color/actionbar_background_color</item>
<item name="android:colorPrimaryLight">@color/quantum_blue_grey_100</item>
- <item name="android:colorPrimary">@color/quantum_blue_grey_500</item>
<item name="android:colorPrimaryDark">@color/quantum_blue_grey_700</item>
<item name="android:colorAccent">@color/quantum_orange_A200</item>
</style>
+
+ <style name="Theme.Settings.ActionBar.Quantum" parent="@android:style/Theme.Quantum">
+ <!--Set the background color-->
+ <item name="android:colorPrimary">@color/actionbar_background_color</item>
+ <!--Set the activated state color for the on/off switches-->
+ <item name="android:colorControlActivated">?android:attr/colorControlNormal</item>
+ <!--Other colors-->
+ <item name="android:colorPrimaryLight">@color/quantum_blue_grey_100</item>
+ <item name="android:colorPrimaryDark">@color/quantum_blue_grey_700</item>
+ <item name="android:colorAccent">@color/quantum_orange_A200</item>
+ </style>
+
</resources>
diff --git a/res/xml/accessibility_contrast_settings.xml b/res/xml/accessibility_contrast_settings.xml
deleted file mode 100644
index 6d08932..0000000
--- a/res/xml/accessibility_contrast_settings.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- Copyright (C) 2013 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"
- android:title="@string/accessibility_display_contrast_preference_title" >
-
- <CheckBoxPreference
- android:key="enable_quick_setting"
- android:persistent="false"
- android:title="@string/enable_quick_setting" />
-
- <SeekBarPreference
- android:key="contrast"
- android:persistent="false"
- android:title="@string/contrast_contrast" />
- <SeekBarPreference
- android:key="brightness"
- android:persistent="false"
- android:title="@string/contrast_brightness" />
-
-</PreferenceScreen>
diff --git a/res/xml/accessibility_inversion_settings.xml b/res/xml/accessibility_inversion_settings.xml
index a20c4db..6aa3869 100644
--- a/res/xml/accessibility_inversion_settings.xml
+++ b/res/xml/accessibility_inversion_settings.xml
@@ -22,12 +22,4 @@
android:persistent="false"
android:title="@string/enable_quick_setting" />
- <ListPreference
- android:entries="@array/inversion_type_entries"
- android:entryValues="@array/inversion_type_values"
- android:key="type"
- android:persistent="false"
- android:summary="%s"
- android:title="@string/inversion_type" />
-
</PreferenceScreen>
diff --git a/res/xml/accessibility_settings.xml b/res/xml/accessibility_settings.xml
index 9bbb670..3ce5f1b 100644
--- a/res/xml/accessibility_settings.xml
+++ b/res/xml/accessibility_settings.xml
@@ -78,10 +78,6 @@
android:key="display_category"
android:title="@string/accessibility_display_title" >
<PreferenceScreen
- android:fragment="com.android.settings.accessibility.ToggleContrastPreferenceFragment"
- android:key="contrast_preference_screen"
- android:title="@string/accessibility_display_contrast_preference_title" />
- <PreferenceScreen
android:fragment="com.android.settings.accessibility.ToggleInversionPreferenceFragment"
android:key="inversion_preference_screen"
android:title="@string/accessibility_display_inversion_preference_title" />
diff --git a/res/xml/user_settings.xml b/res/xml/user_settings.xml
index 3a0ab74..6bbeffa 100644
--- a/res/xml/user_settings.xml
+++ b/res/xml/user_settings.xml
@@ -25,7 +25,7 @@
<Preference
android:key="user_add"
- android:title="@string/user_add_user_menu"
+ android:title="@string/user_add_user_or_profile_menu"
android:icon="@drawable/ic_menu_add_dark" />
</PreferenceScreen>
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 3c865a9..2b580e4 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -256,7 +256,6 @@ public class SettingsActivity extends Activity
AccessibilitySettings.class.getName(),
CaptionPropertiesFragment.class.getName(),
com.android.settings.accessibility.ToggleInversionPreferenceFragment.class.getName(),
- com.android.settings.accessibility.ToggleContrastPreferenceFragment.class.getName(),
com.android.settings.accessibility.ToggleDaltonizerPreferenceFragment.class.getName(),
TextToSpeechSettings.class.getName(),
Memory.class.getName(),
@@ -411,6 +410,10 @@ public class SettingsActivity extends Activity
return false;
}
+ if (mSearchResultsFragment != null) {
+ mSearchResultsFragment.setSearchView(mSearchView);
+ }
+
mSearchMenuItem.setOnActionExpandListener(this);
mSearchView.setOnQueryTextListener(this);
mSearchView.setOnCloseListener(this);
diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java
index 9aa822e..b116290 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettings.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettings.java
@@ -525,8 +525,6 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
mDisplayMagnificationPreferenceScreen);
updateFeatureSummary(Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED,
mDisplayInversionPreferenceScreen);
- updateFeatureSummary(Settings.Secure.ACCESSIBILITY_DISPLAY_CONTRAST_ENABLED,
- mDisplayContrastPreferenceScreen);
updateFeatureSummary(Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED,
mDisplayDaltonizerPreferenceScreen);
diff --git a/src/com/android/settings/accessibility/ListDialogPreference.java b/src/com/android/settings/accessibility/ListDialogPreference.java
index a252454..2140d91 100644
--- a/src/com/android/settings/accessibility/ListDialogPreference.java
+++ b/src/com/android/settings/accessibility/ListDialogPreference.java
@@ -82,6 +82,10 @@ public abstract class ListDialogPreference extends DialogPreference {
*/
public void setValues(int[] values) {
mEntryValues = values;
+
+ if (mValueSet && mValueIndex == AbsListView.INVALID_POSITION) {
+ mValueIndex = getIndexForValue(mValue);
+ }
}
/**
@@ -172,10 +176,12 @@ public abstract class ListDialogPreference extends DialogPreference {
*/
protected int getIndexForValue(int value) {
final int[] values = mEntryValues;
- final int count = values.length;
- for (int i = 0; i < count; i++) {
- if (values[i] == value) {
- return i;
+ if (values != null) {
+ final int count = values.length;
+ for (int i = 0; i < count; i++) {
+ if (values[i] == value) {
+ return i;
+ }
}
}
diff --git a/src/com/android/settings/accessibility/ToggleContrastPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleContrastPreferenceFragment.java
deleted file mode 100644
index d1e30f8..0000000
--- a/src/com/android/settings/accessibility/ToggleContrastPreferenceFragment.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (C) 2013 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.
- */
-
-package com.android.settings.accessibility;
-
-import android.os.Bundle;
-import android.preference.CheckBoxPreference;
-import android.preference.Preference;
-import android.preference.PreferenceScreen;
-import android.preference.SeekBarPreference;
-import android.provider.Settings;
-import android.view.View;
-import android.widget.CompoundButton;
-import android.widget.CompoundButton.OnCheckedChangeListener;
-
-import com.android.settings.R;
-import com.android.settings.accessibility.ToggleSwitch.OnBeforeCheckedChangeListener;
-
-public class ToggleContrastPreferenceFragment extends ToggleFeaturePreferenceFragment
- implements Preference.OnPreferenceChangeListener {
- private static final String ENABLED = Settings.Secure.ACCESSIBILITY_DISPLAY_CONTRAST_ENABLED;
- private static final String QUICK_SETTING_ENABLED =
- Settings.Secure.ACCESSIBILITY_DISPLAY_CONTRAST_QUICK_SETTING_ENABLED;
-
- private CheckBoxPreference mEnableQuickSetting;
- private SeekBarPreference mBrightness;
- private SeekBarPreference mContrast;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- addPreferencesFromResource(R.xml.accessibility_contrast_settings);
-
- mEnableQuickSetting = (CheckBoxPreference) findPreference("enable_quick_setting");
- mBrightness = (SeekBarPreference) findPreference("brightness");
- mBrightness.setMax(1000);
- mContrast = (SeekBarPreference) findPreference("contrast");
- mContrast.setMax(1000);
-
- initPreferences();
- }
-
- @Override
- protected void onPreferenceToggled(String preferenceKey, boolean enabled) {
- Settings.Secure.putInt(getContentResolver(), ENABLED, enabled ? 1 : 0);
- }
-
- @Override
- public boolean onPreferenceChange(Preference preference, Object newValue) {
- if (preference == mEnableQuickSetting) {
- Settings.Secure.putInt(
- getContentResolver(), QUICK_SETTING_ENABLED, ((Boolean) newValue) ? 1 : 0);
- } else if (preference == mBrightness) {
- final int progress = (Integer) newValue;
- final float value = progress / 1000f - 0.5f;
- Settings.Secure.putFloat(
- getContentResolver(), Settings.Secure.ACCESSIBILITY_DISPLAY_BRIGHTNESS, value);
- } else if (preference == mContrast) {
- final int progress = (Integer) newValue;
- final float value = progress / 1000f * 10f + 1f;
- Settings.Secure.putFloat(
- getContentResolver(), Settings.Secure.ACCESSIBILITY_DISPLAY_CONTRAST, value);
- }
-
- return true;
- }
-
- @Override
- public void onViewCreated(View view, Bundle savedInstanceState) {
- super.onViewCreated(view, savedInstanceState);
-
- setTitle(getString(R.string.accessibility_display_contrast_preference_title));
- }
-
- @Override
- protected void onInstallActionBarToggleSwitch() {
- super.onInstallActionBarToggleSwitch();
-
- mToggleSwitch.setCheckedInternal(
- Settings.Secure.getInt(getContentResolver(), ENABLED, 0) == 1);
- mToggleSwitch.setOnCheckedChangeListener(new OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton button, boolean checked) {
- onPreferenceToggled(mPreferenceKey, checked);
- }
- });
- }
-
- private void initPreferences() {
- mEnableQuickSetting.setChecked(
- Settings.Secure.getInt(getContentResolver(), QUICK_SETTING_ENABLED, 0) == 1);
- mEnableQuickSetting.setOnPreferenceChangeListener(this);
-
- final float brightness = Settings.Secure.getFloat(
- getContentResolver(), Settings.Secure.ACCESSIBILITY_DISPLAY_BRIGHTNESS, 0);
- final float contrast = Settings.Secure.getFloat(
- getContentResolver(), Settings.Secure.ACCESSIBILITY_DISPLAY_CONTRAST, 2);
-
- // Available brightness range is -0.5 to 0.5.
- mBrightness.setProgress((int) (1000 * (brightness + 0.5f)));
- mBrightness.setOnPreferenceChangeListener(this);
-
- // Available contrast range is 1 to 10.
- mContrast.setProgress((int) (1000 * (contrast - 1f) / 10f));
- mContrast.setOnPreferenceChangeListener(this);
- }
-}
diff --git a/src/com/android/settings/accessibility/ToggleInversionPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleInversionPreferenceFragment.java
index bfb2500..92a778e 100644
--- a/src/com/android/settings/accessibility/ToggleInversionPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleInversionPreferenceFragment.java
@@ -35,13 +35,10 @@ import com.android.settings.accessibility.ToggleSwitch.OnBeforeCheckedChangeList
public class ToggleInversionPreferenceFragment extends ToggleFeaturePreferenceFragment
implements Preference.OnPreferenceChangeListener {
private static final String ENABLED = Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED;
- private static final String TYPE = Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION;
private static final String QUICK_SETTING_ENABLED =
Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_QUICK_SETTING_ENABLED;
- private static final int DEFAULT_TYPE = AccessibilityManager.INVERSION_STANDARD;
private CheckBoxPreference mEnableQuickSetting;
- private ListPreference mType;
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -50,7 +47,6 @@ public class ToggleInversionPreferenceFragment extends ToggleFeaturePreferenceFr
addPreferencesFromResource(R.xml.accessibility_inversion_settings);
mEnableQuickSetting = (CheckBoxPreference) findPreference("enable_quick_setting");
- mType = (ListPreference) findPreference("type");
initPreferences();
}
@@ -65,8 +61,6 @@ public class ToggleInversionPreferenceFragment extends ToggleFeaturePreferenceFr
if (preference == mEnableQuickSetting) {
Settings.Secure.putInt(
getContentResolver(), QUICK_SETTING_ENABLED, ((Boolean) newValue) ? 1 : 0);
- } else if (preference == mType) {
- Settings.Secure.putInt(getContentResolver(), TYPE, Integer.parseInt((String) newValue));
}
return true;
@@ -97,9 +91,5 @@ public class ToggleInversionPreferenceFragment extends ToggleFeaturePreferenceFr
mEnableQuickSetting.setChecked(
Settings.Secure.getInt(getContentResolver(), QUICK_SETTING_ENABLED, 0) == 1);
mEnableQuickSetting.setOnPreferenceChangeListener(this);
-
- mType.setValue(
- Integer.toString(Settings.Secure.getInt(getContentResolver(), TYPE, DEFAULT_TYPE)));
- mType.setOnPreferenceChangeListener(this);
}
}
diff --git a/src/com/android/settings/dashboard/SearchResultsSummary.java b/src/com/android/settings/dashboard/SearchResultsSummary.java
index e8544ae..6a6431d 100644
--- a/src/com/android/settings/dashboard/SearchResultsSummary.java
+++ b/src/com/android/settings/dashboard/SearchResultsSummary.java
@@ -51,6 +51,8 @@ public class SearchResultsSummary extends Fragment {
private static final String EMPTY_QUERY = "";
private static char ELLIPSIS = '\u2026';
+ private static final String SAVE_KEY_SHOW_ONLY_RESULTS = ":settings:show_only_results";
+
private SearchView mSearchView;
private ListView mResultsListView;
@@ -66,6 +68,8 @@ public class SearchResultsSummary extends Fragment {
private String mQuery;
+ private boolean mShowOnlyResults;
+
/**
* A basic AsyncTask for updating the query results cursor
*/
@@ -110,6 +114,17 @@ public class SearchResultsSummary extends Fragment {
mResultsAdapter = new SearchResultsAdapter(getActivity());
mSuggestionsAdapter = new SuggestionsAdapter(getActivity());
+
+ if (savedInstanceState != null) {
+ mShowOnlyResults = savedInstanceState.getBoolean(SAVE_KEY_SHOW_ONLY_RESULTS);
+ }
+ }
+
+ @Override
+ public void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+
+ outState.putBoolean(SAVE_KEY_SHOW_ONLY_RESULTS, mShowOnlyResults);
}
@Override
@@ -197,6 +212,7 @@ public class SearchResultsSummary extends Fragment {
mQuery = cursor.getString(0);
mSearchView.setQuery(mQuery, false);
setSuggestionsVisibility(false);
+ mShowOnlyResults = true;
}
});
@@ -207,7 +223,9 @@ public class SearchResultsSummary extends Fragment {
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
- showSomeSuggestions();
+ if (!mShowOnlyResults) {
+ showSomeSuggestions();
+ }
}
public void setSearchView(SearchView searchView) {
@@ -232,13 +250,30 @@ public class SearchResultsSummary extends Fragment {
public boolean onQueryTextSubmit(String query) {
mQuery = getFilteredQueryString(query);
+ setSuggestionsVisibility(!mShowOnlyResults);
updateSearchResults();
return true;
}
public boolean onQueryTextChange(String query) {
- mQuery = getFilteredQueryString(query);
- updateSuggestions();
+ final String newQuery = getFilteredQueryString(query);
+
+ boolean isNewQuery;
+ if (!TextUtils.isEmpty(mQuery)) {
+ isNewQuery = !mQuery.equals(query);
+ } else {
+ isNewQuery = !TextUtils.isEmpty(query);
+ }
+
+ mQuery = newQuery;
+
+ if (isNewQuery) {
+ mShowOnlyResults = false;
+ }
+ if (!mShowOnlyResults) {
+ updateSuggestions();
+ }
+
updateSearchResults();
return true;
}
diff --git a/src/com/android/settings/notification/NotificationStation.java b/src/com/android/settings/notification/NotificationStation.java
index d8a3efb..69a7a89 100644
--- a/src/com/android/settings/notification/NotificationStation.java
+++ b/src/com/android/settings/notification/NotificationStation.java
@@ -36,6 +36,7 @@ import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.UserHandle;
import android.service.notification.INotificationListener;
+import android.service.notification.NotificationOrderUpdate;
import android.service.notification.StatusBarNotification;
import android.util.Log;
import android.view.LayoutInflater;
@@ -74,11 +75,12 @@ public class NotificationStation extends SettingsPreferenceFragment {
private INotificationListener.Stub mListener = new INotificationListener.Stub() {
@Override
- public void onListenerConnected(String[] notificationKeys) throws RemoteException {
+ public void onListenerConnected(NotificationOrderUpdate update) throws RemoteException {
// noop
}
@Override
- public void onNotificationPosted(StatusBarNotification notification) throws RemoteException {
+ public void onNotificationPosted(StatusBarNotification notification,
+ NotificationOrderUpdate update) throws RemoteException {
Log.v(TAG, "onNotificationPosted: " + notification);
final Handler h = getListView().getHandler();
h.removeCallbacks(mRefreshListRunnable);
@@ -86,11 +88,17 @@ public class NotificationStation extends SettingsPreferenceFragment {
}
@Override
- public void onNotificationRemoved(StatusBarNotification notification) throws RemoteException {
+ public void onNotificationRemoved(StatusBarNotification notification,
+ NotificationOrderUpdate update) throws RemoteException {
final Handler h = getListView().getHandler();
h.removeCallbacks(mRefreshListRunnable);
h.postDelayed(mRefreshListRunnable, 100);
}
+
+ @Override
+ public void onNotificationOrderUpdate(NotificationOrderUpdate update)
+ throws RemoteException {
+ }
};
private NotificationHistoryAdapter mAdapter;
diff --git a/src/com/android/settings/tts/TtsEngineSettingsFragment.java b/src/com/android/settings/tts/TtsEngineSettingsFragment.java
index ada6085..47493fb 100644
--- a/src/com/android/settings/tts/TtsEngineSettingsFragment.java
+++ b/src/com/android/settings/tts/TtsEngineSettingsFragment.java
@@ -52,6 +52,10 @@ public class TtsEngineSettingsFragment extends SettingsPreferenceFragment implem
private static final String KEY_ENGINE_SETTINGS = "tts_engine_settings";
private static final String KEY_INSTALL_DATA = "tts_install_data";
+ private static final String STATE_KEY_LOCALE_ENTRIES = "locale_entries";
+ private static final String STATE_KEY_LOCALE_ENTRY_VALUES= "locale_entry_values";
+ private static final String STATE_KEY_LOCALE_VALUE = "locale_value";
+
private static final int VOICE_DATA_INTEGRITY_CHECK = 1977;
private TtsEngines mEnginesHelper;
@@ -119,10 +123,26 @@ public class TtsEngineSettingsFragment extends SettingsPreferenceFragment implem
mEngineSettingsPreference.setEnabled(false);
}
mInstallVoicesPreference.setEnabled(false);
- mLocalePreference.setEnabled(false);
- mLocalePreference.setEntries(new CharSequence[0]);
- mLocalePreference.setEntryValues(new CharSequence[0]);
+ if (savedInstanceState == null) {
+ mLocalePreference.setEnabled(false);
+ mLocalePreference.setEntries(new CharSequence[0]);
+ mLocalePreference.setEntryValues(new CharSequence[0]);
+ } else {
+ // Repopulate mLocalePreference with saved state. Will be updated later with
+ // up-to-date values when checkTtsData() calls back with results.
+ final CharSequence[] entries =
+ savedInstanceState.getCharSequenceArray(STATE_KEY_LOCALE_ENTRIES);
+ final CharSequence[] entryValues =
+ savedInstanceState.getCharSequenceArray(STATE_KEY_LOCALE_ENTRY_VALUES);
+ final CharSequence value =
+ savedInstanceState.getCharSequence(STATE_KEY_LOCALE_VALUE);
+
+ mLocalePreference.setEntries(entries);
+ mLocalePreference.setEntryValues(entryValues);
+ mLocalePreference.setValue(value.toString());
+ mLocalePreference.setEnabled(entries.length > 0);
+ }
mVoiceDataDetails = getArguments().getParcelable(TtsEnginePreference.FRAGMENT_ARGS_VOICES);
@@ -143,6 +163,19 @@ public class TtsEngineSettingsFragment extends SettingsPreferenceFragment implem
super.onDestroy();
}
+ @Override
+ public void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+
+ // Save the mLocalePreference values, so we can repopulate it with entries.
+ outState.putCharSequenceArray(STATE_KEY_LOCALE_ENTRIES,
+ mLocalePreference.getEntries());
+ outState.putCharSequenceArray(STATE_KEY_LOCALE_ENTRY_VALUES,
+ mLocalePreference.getEntryValues());
+ outState.putCharSequence(STATE_KEY_LOCALE_VALUE,
+ mLocalePreference.getValue());
+ }
+
private final void checkTtsData() {
Intent intent = new Intent(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
intent.setPackage(getEngineName());
diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java
index b218bc7..a05aaa9 100644
--- a/src/com/android/settings/users/UserSettings.java
+++ b/src/com/android/settings/users/UserSettings.java
@@ -129,6 +129,7 @@ public class UserSettings extends RestrictedSettingsFragment
private boolean mAddingUser;
private boolean mProfileExists;
private boolean mEnabled = true;
+ private boolean mCanAddRestrictedProfile = true;
private final Object mUserLock = new Object();
private UserManager mUserManager;
@@ -183,15 +184,16 @@ public class UserSettings extends RestrictedSettingsFragment
mRemovingUserId = icicle.getInt(SAVE_REMOVING_USER);
}
}
-
- mUserManager = (UserManager) getActivity().getSystemService(Context.USER_SERVICE);
+ final Context context = getActivity();
+ mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
if (!mUserManager.supportsMultipleUsers() || Utils.isMonkeyRunning()) {
mEnabled = false;
return;
}
+
addPreferencesFromResource(R.xml.user_settings);
mUserListCategory = (PreferenceGroup) findPreference(KEY_USER_LIST);
- mMePreference = new UserPreference(getActivity(), null, UserHandle.myUserId(),
+ mMePreference = new UserPreference(context, null, UserHandle.myUserId(),
mUserManager.isLinkedUser() ? null : this, null);
mMePreference.setKey(KEY_USER_ME);
mMePreference.setOnPreferenceClickListener(this);
@@ -199,9 +201,16 @@ public class UserSettings extends RestrictedSettingsFragment
mMePreference.setSummary(R.string.user_owner);
}
mAddUser = findPreference(KEY_ADD_USER);
- mAddUser.setOnPreferenceClickListener(this);
if (!mIsOwner || UserManager.getMaxSupportedUsers() < 2) {
removePreference(KEY_ADD_USER);
+ } else {
+ mAddUser.setOnPreferenceClickListener(this);
+ DevicePolicyManager dpm = (DevicePolicyManager) context.getSystemService(
+ Context.DEVICE_POLICY_SERVICE);
+ if (dpm.getDeviceOwner() != null) {
+ mCanAddRestrictedProfile = false;
+ mAddUser.setTitle(R.string.user_add_user_menu);
+ }
}
loadProfile();
setHasOptionsMenu(true);
@@ -771,7 +780,13 @@ public class UserSettings extends RestrictedSettingsFragment
}
}
} else if (pref == mAddUser) {
- showDialog(DIALOG_CHOOSE_USER_TYPE);
+ // If we allow both types, show a picker, otherwise directly go to
+ // flow for full user.
+ if (mCanAddRestrictedProfile) {
+ showDialog(DIALOG_CHOOSE_USER_TYPE);
+ } else {
+ onAddUserClicked(USER_TYPE_USER);
+ }
}
return false;
}