Merge "Bring back Android Dreams." into ics-mr1

This commit is contained in:
Daniel Sandler
2011-11-03 03:56:49 -07:00
committed by Android (Google) Code Review

View File

@@ -389,8 +389,8 @@ public class PhoneWindowManager implements WindowManagerPolicy {
boolean mLockScreenTimerActive;
// visual screen saver support
int mScreenSaverTimeout;
boolean mScreenSaverEnabled = false;
int mScreenSaverTimeout = 0;
boolean mScreenSaverEnabled = true;
// Behavior of ENDCALL Button. (See Settings.System.END_BUTTON_BEHAVIOR.)
int mEndcallBehavior;
@@ -454,7 +454,7 @@ 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.System.getUriFor(
resolver.registerContentObserver(Settings.Secure.getUriFor(
Settings.Secure.DREAM_TIMEOUT), false, this);
updateSettings();
}
@@ -909,9 +909,8 @@ public class PhoneWindowManager implements WindowManagerPolicy {
updateRotation = true;
}
mScreenSaverTimeout = Settings.System.getInt(resolver,
mScreenSaverTimeout = Settings.Secure.getInt(resolver,
Settings.Secure.DREAM_TIMEOUT, 0);
mScreenSaverEnabled = true;
updateScreenSaverTimeoutLocked();
}
if (updateRotation) {
@@ -3417,70 +3416,59 @@ public class PhoneWindowManager implements WindowManagerPolicy {
}
}
// Turn this off for now, screen savers not currently enabled.
if (false) {
synchronized (mLock) {
updateScreenSaverTimeoutLocked();
}
synchronized (mLock) {
// Only posts messages; holds no additional locks.
updateScreenSaverTimeoutLocked();
}
}
Runnable mScreenSaverActivator = null;
/*new Runnable() {
Runnable mScreenSaverActivator = new Runnable() {
public void run() {
synchronized (this) {
if (!(mScreenSaverEnabled && mScreenOn)) {
Log.w(TAG, "mScreenSaverActivator ran, but the screensaver should not be showing. Who's driving this thing?");
return;
}
if (!(mScreenSaverEnabled && mScreenOnEarly)) {
Log.w(TAG, "mScreenSaverActivator ran, but the screensaver should not be showing. Who's driving this thing?");
return;
}
if (localLOGV) Log.v(TAG, "mScreenSaverActivator entering dreamland");
try {
String component = Settings.System.getString(
mContext.getContentResolver(), Settings.Secure.DREAM_COMPONENT);
if (component != null) {
ComponentName cn = ComponentName.unflattenFromString(component);
Intent intent = new Intent(Intent.ACTION_MAIN)
.setComponent(cn)
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
| Intent.FLAG_ACTIVITY_NO_USER_ACTION
| Intent.FLAG_ACTIVITY_SINGLE_TOP);
mContext.startActivity(intent);
} else {
Log.e(TAG, "Couldn't start screen saver: none selected");
}
} catch (android.content.ActivityNotFoundException exc) {
// no screensaver? give up
Log.e(TAG, "Couldn't start screen saver: none installed");
if (localLOGV) Log.v(TAG, "mScreenSaverActivator entering dreamland");
try {
String component = Settings.Secure.getString(
mContext.getContentResolver(), Settings.Secure.DREAM_COMPONENT);
if (component != null) {
ComponentName cn = ComponentName.unflattenFromString(component);
Intent intent = new Intent(Intent.ACTION_MAIN)
.setComponent(cn)
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
| Intent.FLAG_ACTIVITY_NO_USER_ACTION
);
mContext.startActivity(intent);
} else {
Log.e(TAG, "Couldn't start screen saver: none selected");
}
} catch (android.content.ActivityNotFoundException exc) {
// no screensaver? give up
Log.e(TAG, "Couldn't start screen saver: none installed");
}
}
};
*/
// Must call while holding mLock
private void updateScreenSaverTimeoutLocked() {
if (mScreenSaverActivator == null) return;
// GAH... acquiring a lock within a lock? Please let's fix this.
// (Also note this is called from userActivity, with the power manager
// lock held. Not good.)
synchronized (mScreenSaverActivator) {
mHandler.removeCallbacks(mScreenSaverActivator);
if (mScreenSaverEnabled && 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)
Log.v(TAG, "screen saver disabled by user");
else if (!mScreenOnEarly)
Log.v(TAG, "screen saver disabled while screen off");
else
Log.v(TAG, "screen saver disabled by wakelock");
}
mHandler.removeCallbacks(mScreenSaverActivator);
if (mScreenSaverEnabled && 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)
Log.v(TAG, "screen saver disabled by user");
else if (!mScreenOnEarly)
Log.v(TAG, "screen saver disabled while screen off");
else
Log.v(TAG, "screen saver disabled by wakelock");
}
}
}