客制需求里面有個(gè)需求要求定制一個(gè)系統(tǒng)休眠功能(休眠一定時(shí)長后自動(dòng)關(guān)機(jī)),并且可以設(shè)置時(shí)間;
Index: packages/apps/Settings/src/com/android/settings/DisplaySettings.java
===================================================================
--- packages/apps/Settings/src/com/android/settings/DisplaySettings.java (revision 10444)
+++ packages/apps/Settings/src/com/android/settings/DisplaySettings.java (revision 10478)
@@ -31,6 +31,7 @@
import com.android.settings.display.TapToWakePreferenceController;
import com.android.settings.display.ThemePreferenceController;
import com.android.settings.display.TimeoutPreferenceController;
+import com.android.settings.display.SleepTimeoutPreferenceController;
import com.android.settings.display.VrDisplayPreferenceController;
import com.android.settings.display.AwColorTemperaturePreferenceController;
import com.android.settings.display.AwEnhanceModePreferenceController;
@@ -49,6 +50,7 @@
? ? private static final String TAG = "DisplaySettings";
? ? private static final String KEY_SCREEN_TIMEOUT = "screen_timeout";
+? ? private static final String KEY_SHUTDOWN_TIMEOUT = "shutdown_timeout";
? ? @Override
? ? public int getMetricsCategory() {
@@ -90,6 +92,7 @@
? ? ? ? controllers.add(new ScreenSaverPreferenceController(context));
? ? ? ? controllers.add(new TapToWakePreferenceController(context));
? ? ? ? controllers.add(new TimeoutPreferenceController(context, KEY_SCREEN_TIMEOUT));
+? ? ? ? controllers.add(new SleepTimeoutPreferenceController(context, KEY_SHUTDOWN_TIMEOUT));
? ? ? ? controllers.add(new VrDisplayPreferenceController(context));
? ? ? ? controllers.add(new ShowOperatorNamePreferenceController(context));
? ? ? ? controllers.add(new ThemePreferenceController(context));
Index: packages/apps/Settings/src/com/android/settings/display/SleepTimeoutPreferenceController.java
===================================================================
--- packages/apps/Settings/src/com/android/settings/display/SleepTimeoutPreferenceController.java (nonexistent)
+++ packages/apps/Settings/src/com/android/settings/display/SleepTimeoutPreferenceController.java (revision 10478)
@@ -0,0 +1,132 @@
+/*
+ * Copyright (C) 2016 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.display;
+
+import static android.provider.Settings.System.SHUTDOWN_TIMEOUT;
+
+import android.app.admin.DevicePolicyManager;
+import android.content.Context;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.provider.Settings;
+import android.util.Log;
+
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+import com.android.settingslib.RestrictedLockUtilsInternal;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+public class SleepTimeoutPreferenceController extends AbstractPreferenceController implements
+? ? ? ? PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
+
+? ? private static final String TAG = "SleepTimeoutPref";
+
+? ? /** If there is no setting in the provider, use this. */
+? ? public static final int FALLBACK_SCREEN_TIMEOUT_VALUE = 3600000;
+
+? ? private final String mScreenTimeoutKey;
+
+? ? public SleepTimeoutPreferenceController(Context context, String key) {
+? ? ? ? super(context);
+? ? ? ? mScreenTimeoutKey = key;
+? ? }
+
+? ? @Override
+? ? public boolean isAvailable() {
+? ? ? ? return true;
+? ? }
+
+? ? @Override
+? ? public String getPreferenceKey() {
+? ? ? ? return mScreenTimeoutKey;
+? ? }
+
+? ? @Override
+? ? public void updateState(Preference preference) {
+? ? ? ? final TimeoutListPreference timeoutListPreference = (TimeoutListPreference) preference;
+? ? ? ? final long currentTimeout = Settings.System.getLong(mContext.getContentResolver(),
+? ? ? ? ? ? ? ? SHUTDOWN_TIMEOUT, FALLBACK_SCREEN_TIMEOUT_VALUE);
+? ? ? ? Log.e(TAG, "updateState currentTimeout="+currentTimeout);
+? ? ? ? timeoutListPreference.setValue(String.valueOf(currentTimeout));
+? ? ? ? final DevicePolicyManager dpm =
+? ? ? ? ? ? ? ? (DevicePolicyManager) mContext.getSystemService(Context.DEVICE_POLICY_SERVICE);
+? ? ? ? if (dpm != null) {
+? ? ? ? ? ? final RestrictedLockUtils.EnforcedAdmin admin =
+? ? ? ? ? ? ? ? ? ? RestrictedLockUtilsInternal.checkIfMaximumTimeToLockIsSet(mContext);
+? ? ? ? ? ? final long maxTimeout =
+? ? ? ? ? ? ? ? ? ? dpm.getMaximumTimeToLock(null /* admin */, UserHandle.myUserId());
+? ? ? ? ? ? timeoutListPreference.removeUnusableTimeouts(maxTimeout, admin);
+? ? ? ? }
+? ? ? ? updateTimeoutPreferenceDescription(timeoutListPreference,
+? ? ? ? ? ? ? ? Long.parseLong(timeoutListPreference.getValue()));
+
+? ? ? ? final EnforcedAdmin admin = RestrictedLockUtilsInternal.checkIfRestrictionEnforced(
+? ? ? ? ? ? ? ? mContext, UserManager.DISALLOW_CONFIG_SCREEN_TIMEOUT,
+? ? ? ? ? ? ? ? UserHandle.myUserId());
+? ? ? ? if (admin != null) {
+? ? ? ? ? ? timeoutListPreference.removeUnusableTimeouts(0/* disable all*/, admin);
+? ? ? ? }
+? ? }
+
+? ? @Override
+? ? public boolean onPreferenceChange(Preference preference, Object newValue) {
+? ? ? ? try {
+? ? ? ? ? ? int value = Integer.parseInt((String) newValue);
+ Log.e(TAG, "onPreferenceChange currentTimeout="+value);
+? ? ? ? ? ? Settings.System.putInt(mContext.getContentResolver(), SHUTDOWN_TIMEOUT, value);
+? ? ? ? ? ? updateTimeoutPreferenceDescription((TimeoutListPreference) preference, value);
+? ? ? ? } catch (NumberFormatException e) {
+? ? ? ? ? ? Log.e(TAG, "could not persist screen timeout setting", e);
+? ? ? ? }
+? ? ? ? return true;
+? ? }
+
+? ? public static CharSequence getTimeoutDescription(
+? ? ? ? ? ? long currentTimeout, CharSequence[] entries, CharSequence[] values) {
+? ? ? ? if (currentTimeout < 0 || entries == null || values == null
+? ? ? ? ? ? ? ? || values.length != entries.length) {
+? ? ? ? ? ? return null;
+? ? ? ? }
+
+? ? ? ? for (int i = 0; i < values.length; i++) {
+? ? ? ? ? ? long timeout = Long.parseLong(values[i].toString());
+? ? ? ? ? ? if (currentTimeout == timeout) {
+? ? ? ? ? ? ? ? return entries[i];
+? ? ? ? ? ? }
+? ? ? ? }
+? ? ? ? return null;
+? ? }
+
+? ? private void updateTimeoutPreferenceDescription(TimeoutListPreference preference,
+? ? ? ? ? ? long currentTimeout) {
+? ? ? ? final CharSequence[] entries = preference.getEntries();
+? ? ? ? final CharSequence[] values = preference.getEntryValues();
+? ? ? ? final String summary;
+? ? ? ? if (preference.isDisabledByAdmin()) {
+? ? ? ? ? ? summary = mContext.getString(com.android.settings.R.string.disabled_by_policy_title);
+? ? ? ? } else {
+? ? ? ? ? ? final CharSequence timeoutDescription = getTimeoutDescription(
+? ? ? ? ? ? ? ? ? ? currentTimeout, entries, values);
+? ? ? ? ? ? summary = timeoutDescription == null
+? ? ? ? ? ? ? ? ? ? ? ""
+? ? ? ? ? ? ? ? ? ? : mContext.getString(R.string.screen_timeout_summary, timeoutDescription);
+? ? ? ? }
+? ? ? ? preference.setSummary(summary);
+? ? }
+
+}
Property changes on: packages/apps/Settings/src/com/android/settings/display/SleepTimeoutPreferenceController.java
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: packages/apps/Settings/res/values/strings.xml
===================================================================
--- packages/apps/Settings/res/values/strings.xml (revision 10444)
+++ packages/apps/Settings/res/values/strings.xml (revision 10478)
@@ -2879,6 +2879,9 @@
? ? <!-- Sound & display settings screen, setting option name to change screen timeout -->
? ? <string name="screen_timeout">Screen timeout</string>
+
+? ? <!-- Sound & display settings screen, setting option name to change Sleep timeout -->
+? ? <string name="shutdown_timeout">Shutdown timeout</string>
? ? <!-- Sound & display settings screen, setting option name to change screen timeout [CHAR LIMIT=30] -->
? ? <string name="screen_timeout_title">Screen turns off</string>
? ? <!-- Sound & display settings screen, setting option summary to change screen timeout -->
@@ -7663,7 +7666,7 @@
? ? <!-- List of synonyms for the display timeout (how long until the screen turns off) setting, used to match in settings search [CHAR LIMIT=NONE] -->
? ? <string name="keywords_screen_timeout">screen, lock time, timeout, lockscreen</string>
-
+ <string name="keywords_shutdown_timeout">shutdown_timeout</string>
? ? <!-- List of synonyms for Storage settings (everything related to storage on the device), used to match in settings search [CHAR LIMIT=NONE] -->
? ? <string name="keywords_storage_settings">memory, cache, data, delete, clear, free, space</string>
Index: packages/apps/Settings/res/values/arrays.xml
===================================================================
--- packages/apps/Settings/res/values/arrays.xml (revision 10444)
+++ packages/apps/Settings/res/values/arrays.xml (revision 10478)
@@ -49,6 +49,8 @@
? ? ? ? <item>10 minutes</item>
? ? ? ? <item>30 minutes</item>
? ? </string-array>
+
+
? ? <!-- Do not translate. -->
? ? <string-array name="screen_timeout_values" translatable="false">
@@ -67,6 +69,30 @@
? ? ? ? <!-- Do not translate. -->
? ? ? ? <item>1800000</item>
? ? </string-array>
+
+ <string-array name="sleep_timeout_entries">
+? ? ? ? <item>15 minutes</item>
+? ? ? ? <item>30 minutes</item>
+? ? ? ? <item>45 minutes</item>
+? ? ? ? <item>60 minutes</item>
+? ? ? ? <item>120 minutes</item>
+? ? ? ? <item>180 minutes</item>
+? ? </string-array>
+
+ <string-array name="sleep_timeout_values" translatable="false">
+? ? ? ? <!-- Do not translate. -->
+? ? ? ? <item>900000</item>
+? ? ? ? <!-- Do not translate. -->
+? ? ? ? <item>1800000</item>
+? ? ? ? <!-- Do not translate. -->
+? ? ? ? <item>2700000</item>
+? ? ? ? <!-- Do not translate. -->
+? ? ? ? <item>3600000</item>
+? ? ? ? <!-- Do not translate. -->
+? ? ? ? <item>7200000</item>
+? ? ? ? <!-- Do not translate. -->
+? ? ? ? <item>10800000</item>
+? ? </string-array>
? ? <!-- Display settings.? The delay in inactivity before the dream is shown. These are shown in a list dialog. -->
? ? <string-array name="dream_timeout_entries">
Index: packages/apps/Settings/res/xml/display_settings.xml
===================================================================
--- packages/apps/Settings/res/xml/display_settings.xml (revision 10444)
+++ packages/apps/Settings/res/xml/display_settings.xml (revision 10478)
@@ -70,6 +70,14 @@
? ? ? ? android:entries="@array/screen_timeout_entries"
? ? ? ? android:entryValues="@array/screen_timeout_values"
? ? ? ? settings:keywords="@string/keywords_screen_timeout" />
+
+ <com.android.settings.display.TimeoutListPreference
+? ? ? ? android:key="shutdown_timeout"
+? ? ? ? android:title="@string/shutdown_timeout"
+? ? ? ? android:summary="@string/summary_placeholder"
+? ? ? ? android:entries="@array/sleep_timeout_entries"
+? ? ? ? android:entryValues="@array/sleep_timeout_values"
+? ? ? ? settings:keywords="@string/keywords_shutdown_timeout" />
? ? <Preference
? ? ? ? android:key="adaptive_sleep_entry"
&soc {
Index: frameworks/base/api/current.txt
===================================================================
--- frameworks/base/api/current.txt (revision 10444)
+++ frameworks/base/api/current.txt (revision 10478)
@@ -40816,6 +40816,7 @@
? ? field public static final String SHOW_GTALK_SERVICE_STATUS = "SHOW_GTALK_SERVICE_STATUS";
? ? field @Deprecated public static final String SHOW_PROCESSES = "show_processes";
? ? field @Deprecated public static final String SHOW_WEB_SUGGESTIONS = "show_web_suggestions";
+? ? field public static final String SHUTDOWN_TIMEOUT = "shutdown_timeout";
? ? field public static final String SOUND_EFFECTS_ENABLED = "sound_effects_enabled";
? ? field @Deprecated public static final String STAY_ON_WHILE_PLUGGED_IN = "stay_on_while_plugged_in";
? ? field public static final String TEXT_AUTO_CAPS = "auto_caps";
Index: frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java
===================================================================
--- frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java (revision 10444)
+++ frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java (revision 10478)
@@ -117,7 +117,12 @@
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
+import android.app.AlarmManager;
+import android.app.PendingIntent;
+import android.os.Build;
+import android.text.TextUtils;
+
/**
? * The power manager service is responsible for coordinating power management
? * functions on the device.
@@ -126,7 +131,7 @@
? ? ? ? implements Watchdog.Monitor {
? ? private static final String TAG = "PowerManagerService";
-? ? private static final boolean DEBUG = false;
+? ? private static final boolean DEBUG = true;
? ? private static final boolean DEBUG_SPEW = DEBUG && true;
? ? // Message: Sent when a user activity timeout occurs to update the power state.
@@ -1172,6 +1177,11 @@
? ? ? ? filter = new IntentFilter();
? ? ? ? filter.addAction(Intent.ACTION_DOCK_EVENT);
? ? ? ? mContext.registerReceiver(new DockReceiver(), filter, null, mHandler);
+
+? ? ? ? //by jcZeng start
+? ? ? ? mAlarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
+? ? ? ? mAlarmHandler = new Handler();
+? ? ? ? //end
? ? }
? ? @VisibleForTesting
@@ -2009,6 +2019,16 @@
? ? ? ? ? ? ? ? ? ? ? ? + ", mBatteryLevel=" + mBatteryLevel);
? ? ? ? ? ? }
+
+? ? ? ? ? ? //by jcZeng start
+? ? ? ? ? ? //cancel shutdown alarm when is plugged
+? ? ? ? ? ? if (mIsPowered) {
+? ? ? ? ? ? ? ? Slog.d(TAG,"jcZeng cancelShutdownTimerAlarm when plug");
+? ? ? ? ? ? ? ? mHandler.removeMessages(MSG_START_SHUTDOWN_ALARM);
+? ? ? ? ? ? ? ? cancelShutdownTimerAlarm();
+? ? ? ? ? ? }
+? ? ? ? ? ? //end
+
? ? ? ? ? ? if (wasPowered != mIsPowered || oldPlugType != mPlugType) {
? ? ? ? ? ? ? ? mDirty |= DIRTY_IS_POWERED;
@@ -2885,6 +2905,14 @@
? ? ? ? ? ? ? ? ? ? mRequestWaitForNegativeProximity);
? ? ? ? ? ? mRequestWaitForNegativeProximity = false;
+
+? ? ? ? ? ? //by jcZeng start? ?
+? ? ? ? ? ? if (getWakefulnessLocked() == 0 && mWakeLockSummary == 0) {
+? ? ? ? ? ? ? ? Slog.d(TAG,"jcZeng startShutdownAlarmWhenSleep when mWakefulness == 0 && mWakeLockSummary == 0");
+? ? ? ? ? ? ? ? sendShutdownDelayMessage();
+? ? ? ? ? ? }
+? ? ? ? ? ? //end
+
? ? ? ? ? ? if (DEBUG_SPEW) {
? ? ? ? ? ? ? ? Slog.d(TAG, "updateDisplayPowerStateLocked: mDisplayReady=" + mDisplayReady
? ? ? ? ? ? ? ? ? ? ? ? + ", policy=" + mDisplayPowerRequest.policy
@@ -3074,6 +3102,8 @@
? ? ? ? }
? ? ? ? if (needDisplaySuspendBlocker && !mHoldingDisplaySuspendBlocker) {
? ? ? ? ? ? mDisplaySuspendBlocker.acquire();
+? ? ? ? ? ? Slog.d(TAG,"jczeng needDisplaySuspendBlocker"+needDisplaySuspendBlocker);
+? ? ? ? ? ? cancelShutdownTimerAlarm();
? ? ? ? ? ? mHoldingDisplaySuspendBlocker = true;
? ? ? ? }
@@ -3105,11 +3135,70 @@
? ? ? ? // Enable auto-suspend if needed.
? ? ? ? if (autoSuspend && mDecoupleHalAutoSuspendModeFromDisplayConfig) {
+? ? ? ? ? ? Slog.d(TAG,"jczeng setHalAutoSuspendModeLocked");
? ? ? ? ? ? setHalAutoSuspendModeLocked(true);
? ? ? ? }
? ? }
+? ? //by jczeng start
+? ? //The shutdown Alarm Timer
+
+? ? private AlarmManager mAlarmManager;
+
+? ? private boolean mIsStartAlarm;
+
+? ? private Handler mAlarmHandler;
+
+? ? public void startShutdownAlarmWhenSleep(){
+? ? ? ? if (mIsStartAlarm || mAlarmManager == null)return;
+? ? ? ? Slog.d(TAG,"jcZeng startShutdownAlarmWhenSleep? ");
+? ? ? ? long TIME = 1 * 60 * 60 * 1000;
+? ? ? ? //long TIME = 10 * 60 * 1000;
+ long shutdownTimeOut = 0;
+ try {
+? ? ? ? ? ? shutdownTimeOut=Settings.System.getLong(mContext.getContentResolver(),Settings.System.SHUTDOWN_TIMEOUT,TIME);
+? ? ? ? } catch (Exception e) {
+? ? ? ? ? ? e.printStackTrace();
+? ? ? ? }
+? ? ? ? Slog.d(TAG,"jcZeng startShutdownAlarmWhenSleep shutdownTimeOut="+shutdownTimeOut);
+? ? ? ? // long time = 3 * 60 * 1000;
+? ? ? ? mAlarmManager.set(AlarmManager.RTC_WAKEUP,
+? ? ? ? ? ? ? ? System.currentTimeMillis() + shutdownTimeOut, null,mListener,mAlarmHandler);
+? ? ? ? mIsStartAlarm = true;
+? ? }
+
+? ? // Message: send start shutdown when sleep
+? ? private static final int MSG_START_SHUTDOWN_ALARM = 6;
+
+? ? public void sendShutdownDelayMessage(){
+? ? ? ? Message msg = mHandler.obtainMessage(MSG_START_SHUTDOWN_ALARM);
+? ? ? ? msg.setAsynchronous(true);
+? ? ? ? mHandler.sendMessageDelayed(msg, 3000);
+? ? }
+
? ? /**
+? ? * cancel shutdown Alarm
+? ? */
+? ? public void cancelShutdownTimerAlarm(){
+? ? ? ? if (mAlarmManager == null || !mIsStartAlarm)return;
+? ? ? ? Thread th=Thread.currentThread();
+? ? ? ? Slog.d(TAG,"jcZeng cancelShutdownTimerAlarm Tread name:"+th.getName());
+? ? ? ? mAlarmManager.cancel(mListener);
+? ? ? ? mIsStartAlarm = false;
+? ? }
+
+
+? ? private AlarmManager.OnAlarmListener mListener =? new AlarmManager.OnAlarmListener() {
+? ? ? ? @Override
+? ? ? ? public void onAlarm() {
+? ? ? ? ? ? Slog.d(TAG,"jczeng onAlarm callback shutdown");
+? ? ? ? ? ? mBinderService.wakeUp(SystemClock.uptimeMillis(), PowerManager.WAKE_REASON_UNKNOWN, "wakeUp", mContext.getOpPackageName());
+? ? ? ? ? ? mBinderService.shutdown(false,"",false);
+? ? ? ? }
+? ? };
+? ? //end
+
+? ? /**
? ? ? * Return true if we must keep a suspend blocker active on behalf of the display.
? ? ? * We do so if the screen is on or is in transition between states.
? ? ? */
@@ -4448,6 +4537,10 @@
? ? ? ? ? ? ? ? case MSG_ATTENTIVE_TIMEOUT:
? ? ? ? ? ? ? ? ? ? handleAttentiveTimeout();
? ? ? ? ? ? ? ? ? ? break;
+? ? ? ? ? ? ? ? case MSG_START_SHUTDOWN_ALARM:
+? ? ? ? ? ? ? ? ? ? Slog.d(TAG,"jcZeng MSG_START_SHUTDOWN_ALARM");
+? ? ? ? ? ? ? ? ? ? startShutdownAlarmWhenSleep();
+? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? ? ? return true;
Index: frameworks/base/core/java/android/provider/Settings.java
===================================================================
--- frameworks/base/core/java/android/provider/Settings.java (revision 10444)
+++ frameworks/base/core/java/android/provider/Settings.java (revision 10478)
@@ -3099,6 +3099,8 @@
? ? ? ? ? ? // At one time in System, then Global, but now back in Secure
? ? ? ? ? ? MOVED_TO_SECURE.add(Secure.INSTALL_NON_MARKET_APPS);
+ //addd? SHUTDOWN_TIMEOUT
+? ? ? ? ? ? //MOVED_TO_SECURE.add(SHUTDOWN_TIMEOUT);
? ? ? ? }
? ? ? ? @UnsupportedAppUsage
@@ -3983,6 +3985,10 @@
? ? ? ? ? * The screen backlight brightness between 0 and 255.
? ? ? ? ? */
? ? ? ? public static final String SCREEN_BRIGHTNESS = "screen_brightness";
+ /**
+ * add shutdown_timeout
+ */
+ public static final String SHUTDOWN_TIMEOUT = "shutdown_timeout";
? ? ? ? /**
? ? ? ? ? * The screen backlight brightness between 0 and 255.
@@ -4825,10 +4831,13 @@
? ? ? ? ? ? PUBLIC_SETTINGS.add(DIM_SCREEN);
? ? ? ? ? ? PUBLIC_SETTINGS.add(SCREEN_OFF_TIMEOUT);
? ? ? ? ? ? PUBLIC_SETTINGS.add(SCREEN_BRIGHTNESS);
+ //add SHUTDOWN_TIMEOUT
+? ? ? ? ? ? PUBLIC_SETTINGS.add(SHUTDOWN_TIMEOUT);
? ? ? ? ? ? PUBLIC_SETTINGS.add(SCREEN_BRIGHTNESS_FLOAT);
? ? ? ? ? ? PUBLIC_SETTINGS.add(SCREEN_BRIGHTNESS_FOR_VR);
? ? ? ? ? ? PUBLIC_SETTINGS.add(SCREEN_BRIGHTNESS_FOR_VR_FLOAT);
? ? ? ? ? ? PUBLIC_SETTINGS.add(SCREEN_BRIGHTNESS_MODE);
+
? ? ? ? ? ? PUBLIC_SETTINGS.add(MODE_RINGER_STREAMS_AFFECTED);
? ? ? ? ? ? PUBLIC_SETTINGS.add(MUTE_STREAMS_AFFECTED);
? ? ? ? ? ? PUBLIC_SETTINGS.add(VIBRATE_ON);
Index: frameworks/base/non-updatable-api/current.txt
===================================================================
--- frameworks/base/non-updatable-api/current.txt (revision 10444)
+++ frameworks/base/non-updatable-api/current.txt (revision 10478)
@@ -38984,6 +38984,7 @@
? ? field public static final String SHOW_GTALK_SERVICE_STATUS = "SHOW_GTALK_SERVICE_STATUS";
? ? field @Deprecated public static final String SHOW_PROCESSES = "show_processes";
? ? field @Deprecated public static final String SHOW_WEB_SUGGESTIONS = "show_web_suggestions";
+? ? field public static final String SHUTDOWN_TIMEOUT = "shutdown_timeout";
? ? field public static final String SOUND_EFFECTS_ENABLED = "sound_effects_enabled";
? ? field @Deprecated public static final String STAY_ON_WHILE_PLUGGED_IN = "stay_on_while_plugged_in";
? ? field public static final String TEXT_AUTO_CAPS = "auto_caps";
1G_DDR_FOR_EEA_GMS := false