Merge "Dreams (now Screen Candy) development." into ics-mr1
This commit is contained in:
committed by
Android (Google) Code Review
commit
9b5d7a59f3
@@ -4020,21 +4020,26 @@ public final class Settings {
|
||||
"setup_prepaid_detection_redir_host";
|
||||
|
||||
/**
|
||||
* The user's preferred "dream" (interactive screensaver) component.
|
||||
*
|
||||
* This component will be launched by the PhoneWindowManager after the user's chosen idle
|
||||
* timeout (specified by {@link #DREAM_TIMEOUT}).
|
||||
* Whether the screensaver is enabled.
|
||||
* @hide
|
||||
*/
|
||||
public static final String DREAM_COMPONENT =
|
||||
"dream_component";
|
||||
public static final String SCREENSAVER_ENABLED = "screensaver_enabled";
|
||||
|
||||
/**
|
||||
* The delay before a "dream" is started (set to 0 to disable).
|
||||
* The user's chosen screensaver component.
|
||||
*
|
||||
* This component will be launched by the PhoneWindowManager after a timeout when not on
|
||||
* battery, or upon dock insertion (if SCREENSAVER_ACTIVATE_ON_DOCK is set to 1).
|
||||
* @hide
|
||||
*/
|
||||
public static final String DREAM_TIMEOUT =
|
||||
"dream_timeout";
|
||||
public static final String SCREENSAVER_COMPONENT = "screensaver_component";
|
||||
|
||||
/**
|
||||
* Whether the screensaver should be automatically launched when the device is inserted
|
||||
* into a (desk) dock.
|
||||
* @hide
|
||||
*/
|
||||
public static final String SCREENSAVER_ACTIVATE_ON_DOCK = "screensaver_activate_on_dock";
|
||||
|
||||
/** {@hide} */
|
||||
public static final String NETSTATS_ENABLED = "netstats_enabled";
|
||||
|
||||
@@ -24,7 +24,7 @@ public class DreamsDockLauncher extends Activity {
|
||||
private static void launchDream(Context context) {
|
||||
try {
|
||||
String component = Settings.Secure.getString(
|
||||
context.getContentResolver(), Settings.Secure.DREAM_COMPONENT);
|
||||
context.getContentResolver(), Settings.Secure.SCREENSAVER_COMPONENT);
|
||||
if (component == null) {
|
||||
component = context.getResources().getString(
|
||||
com.android.internal.R.string.config_defaultDreamComponent);
|
||||
@@ -52,6 +52,12 @@ public class DreamsDockLauncher extends Activity {
|
||||
public static class DockEventReceiver extends BroadcastReceiver {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
final boolean activateOnDock = 0 != Settings.Secure.getInt(
|
||||
context.getContentResolver(),
|
||||
Settings.Secure.SCREENSAVER_ACTIVATE_ON_DOCK, 1);
|
||||
|
||||
if (!activateOnDock) return;
|
||||
|
||||
if (Intent.ACTION_DOCK_EVENT.equals(intent.getAction())) {
|
||||
Bundle extras = intent.getExtras();
|
||||
int state = extras
|
||||
|
||||
@@ -400,7 +400,8 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
|
||||
// visual screen saver support
|
||||
int mScreenSaverTimeout = 0;
|
||||
boolean mScreenSaverEnabled = true;
|
||||
boolean mScreenSaverEnabledByUser = false;
|
||||
boolean mScreenSaverMayRun = true; // false if a wakelock is held
|
||||
boolean mPluggedIn;
|
||||
|
||||
// Behavior of ENDCALL Button. (See Settings.System.END_BUTTON_BEHAVIOR.)
|
||||
@@ -465,9 +466,11 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
Settings.Secure.DEFAULT_INPUT_METHOD), false, this);
|
||||
resolver.registerContentObserver(Settings.System.getUriFor(
|
||||
"fancy_rotation_anim"), false, this);
|
||||
resolver.registerContentObserver(Settings.Secure.getUriFor(
|
||||
Settings.Secure.SCREENSAVER_ENABLED), false, this);
|
||||
if (SEPARATE_TIMEOUT_FOR_SCREEN_SAVER) {
|
||||
resolver.registerContentObserver(Settings.Secure.getUriFor(
|
||||
Settings.Secure.DREAM_TIMEOUT), false, this);
|
||||
"screensaver_timeout"), false, this);
|
||||
} // otherwise SCREEN_OFF_TIMEOUT will do nicely
|
||||
updateSettings();
|
||||
}
|
||||
@@ -933,9 +936,12 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
updateRotation = true;
|
||||
}
|
||||
|
||||
mScreenSaverEnabledByUser = 0 != Settings.Secure.getInt(resolver,
|
||||
Settings.Secure.SCREENSAVER_ENABLED, 1);
|
||||
|
||||
if (SEPARATE_TIMEOUT_FOR_SCREEN_SAVER) {
|
||||
mScreenSaverTimeout = Settings.Secure.getInt(resolver,
|
||||
Settings.Secure.DREAM_TIMEOUT, 0);
|
||||
"screensaver_timeout", 0);
|
||||
} else {
|
||||
mScreenSaverTimeout = Settings.System.getInt(resolver,
|
||||
Settings.System.SCREEN_OFF_TIMEOUT, 0);
|
||||
@@ -3451,7 +3457,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
|
||||
Runnable mScreenSaverActivator = new Runnable() {
|
||||
public void run() {
|
||||
if (!(mScreenSaverEnabled && mScreenOnEarly)) {
|
||||
if (!(mScreenSaverMayRun && mScreenOnEarly)) {
|
||||
Log.w(TAG, "mScreenSaverActivator ran, but the screensaver should not be showing. Who's driving this thing?");
|
||||
return;
|
||||
}
|
||||
@@ -3464,7 +3470,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
|
||||
try {
|
||||
String component = Settings.Secure.getString(
|
||||
mContext.getContentResolver(), Settings.Secure.DREAM_COMPONENT);
|
||||
mContext.getContentResolver(), Settings.Secure.SCREENSAVER_COMPONENT);
|
||||
if (component == null) {
|
||||
component = mContext.getResources().getString(R.string.config_defaultDreamComponent);
|
||||
}
|
||||
@@ -3492,13 +3498,13 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
if (mScreenSaverActivator == null) return;
|
||||
|
||||
mHandler.removeCallbacks(mScreenSaverActivator);
|
||||
if (mScreenSaverEnabled && mScreenOnEarly && mScreenSaverTimeout > 0) {
|
||||
if (mScreenSaverEnabledByUser && mScreenSaverMayRun && mScreenOnEarly && mScreenSaverTimeout > 0) {
|
||||
if (localLOGV)
|
||||
Log.v(TAG, "scheduling screensaver for " + mScreenSaverTimeout + "ms from now");
|
||||
mHandler.postDelayed(mScreenSaverActivator, mScreenSaverTimeout);
|
||||
} else {
|
||||
if (localLOGV) {
|
||||
if (mScreenSaverTimeout == 0)
|
||||
if (!mScreenSaverEnabledByUser || mScreenSaverTimeout == 0)
|
||||
Log.v(TAG, "screen saver disabled by user");
|
||||
else if (!mScreenOnEarly)
|
||||
Log.v(TAG, "screen saver disabled while screen off");
|
||||
@@ -3714,7 +3720,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
// The window manager has just grabbed a wake lock. This is our cue to disable the screen
|
||||
// saver.
|
||||
synchronized (mLock) {
|
||||
mScreenSaverEnabled = false;
|
||||
mScreenSaverMayRun = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3728,7 +3734,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
synchronized (mLock) {
|
||||
// even if the keyguard is up, now that all the wakelocks have been released, we
|
||||
// should re-enable the screen saver
|
||||
mScreenSaverEnabled = true;
|
||||
mScreenSaverMayRun = true;
|
||||
updateScreenSaverTimeoutLocked();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user