Merge change Ib1fb3fcf into eclair

* changes:
  Keep screen bright until boot completed.
This commit is contained in:
Android (Google) Code Review
2009-11-16 03:21:12 -08:00

View File

@@ -154,6 +154,7 @@ class PowerManagerService extends IPowerManager.Stub
private final int MY_UID; private final int MY_UID;
private boolean mDoneBooting = false; private boolean mDoneBooting = false;
private boolean mBootCompleted = false;
private int mStayOnConditions = 0; private int mStayOnConditions = 0;
private int[] mBroadcastQueue = new int[] { -1, -1, -1 }; private int[] mBroadcastQueue = new int[] { -1, -1, -1 };
private int[] mBroadcastWhy = new int[3]; private int[] mBroadcastWhy = new int[3];
@@ -351,6 +352,13 @@ class PowerManagerService extends IPowerManager.Stub
} }
} }
private final class BootCompletedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
bootCompleted();
}
}
/** /**
* Set the setting that determines whether the device stays on when plugged in. * Set the setting that determines whether the device stays on when plugged in.
* The argument is a bit string, with each bit specifying a power source that, * The argument is a bit string, with each bit specifying a power source that,
@@ -498,6 +506,9 @@ class PowerManagerService extends IPowerManager.Stub
IntentFilter filter = new IntentFilter(); IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_BATTERY_CHANGED); filter.addAction(Intent.ACTION_BATTERY_CHANGED);
mContext.registerReceiver(new BatteryReceiver(), filter); mContext.registerReceiver(new BatteryReceiver(), filter);
filter = new IntentFilter();
filter.addAction(Intent.ACTION_BOOT_COMPLETED);
mContext.registerReceiver(new BootCompletedReceiver(), filter);
// Listen for Gservices changes // Listen for Gservices changes
IntentFilter gservicesChangedFilter = IntentFilter gservicesChangedFilter =
@@ -970,7 +981,7 @@ class PowerManagerService extends IPowerManager.Stub
private void setTimeoutLocked(long now, int nextState) private void setTimeoutLocked(long now, int nextState)
{ {
if (mDoneBooting) { if (mBootCompleted) {
mHandler.removeCallbacks(mTimeoutTask); mHandler.removeCallbacks(mTimeoutTask);
mTimeoutTask.nextState = nextState; mTimeoutTask.nextState = nextState;
long when = now; long when = now;
@@ -1385,7 +1396,7 @@ class PowerManagerService extends IPowerManager.Stub
return; return;
} }
if (!mDoneBooting && !mUseSoftwareAutoBrightness) { if (!mBootCompleted && !mUseSoftwareAutoBrightness) {
newState |= ALL_BRIGHT; newState |= ALL_BRIGHT;
} }
@@ -2343,6 +2354,13 @@ class PowerManagerService extends IPowerManager.Stub
} finally { } finally {
Binder.restoreCallingIdentity(identity); Binder.restoreCallingIdentity(identity);
} }
}
}
void bootCompleted() {
Log.d(TAG, "bootCompleted");
synchronized (mLocks) {
mBootCompleted = true;
userActivity(SystemClock.uptimeMillis(), false, BUTTON_EVENT, true); userActivity(SystemClock.uptimeMillis(), false, BUTTON_EVENT, true);
updateWakeLockLocked(); updateWakeLockLocked();
mLocks.notifyAll(); mLocks.notifyAll();