diff options
author | Jeff Brown <jeffbrown@google.com> | 2012-06-25 15:28:46 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-06-25 15:28:46 -0700 |
commit | 0086ec0d3009bc8c80e1330cd73ba534aa45f489 (patch) | |
tree | 81c9c2ce9c099f990348b8f929ebca06dd8431b7 /services | |
parent | db65cc520ebb3f9cfafa4a9d5be9f07621814213 (diff) | |
parent | d48cf0c0ce5f9458802d2be8671c85fa027a74a0 (diff) | |
download | frameworks_base-0086ec0d3009bc8c80e1330cd73ba534aa45f489.zip frameworks_base-0086ec0d3009bc8c80e1330cd73ba534aa45f489.tar.gz frameworks_base-0086ec0d3009bc8c80e1330cd73ba534aa45f489.tar.bz2 |
am d48cf0c0: Merge "Don\'t wait until boot timeout if there is no wallpaper." into jb-dev
* commit 'd48cf0c0ce5f9458802d2be8671c85fa027a74a0':
Don't wait until boot timeout if there is no wallpaper.
Diffstat (limited to 'services')
-rw-r--r-- | services/java/com/android/server/SystemServer.java | 2 | ||||
-rwxr-xr-x | services/java/com/android/server/wm/WindowManagerService.java | 25 |
2 files changed, 19 insertions, 8 deletions
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index 7e733c6..f300d74 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -229,7 +229,7 @@ class ServerThread extends Thread { Slog.i(TAG, "Window Manager"); wm = WindowManagerService.main(context, power, factoryTest != SystemServer.FACTORY_TEST_LOW_LEVEL, - !firstBoot); + !firstBoot, onlyCore); ServiceManager.addService(Context.WINDOW_SERVICE, wm); inputManager = wm.getInputManagerService(); ServiceManager.addService(Context.INPUT_SERVICE, inputManager); diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java index f84451e..6906ed9 100755 --- a/services/java/com/android/server/wm/WindowManagerService.java +++ b/services/java/com/android/server/wm/WindowManagerService.java @@ -758,9 +758,15 @@ public class WindowManagerService extends IWindowManager.Stub // The desired scaling factor for compatible apps. float mCompatibleScreenScale; + // If true, only the core apps and services are being launched because the device + // is in a special boot mode, such as being encrypted or waiting for a decryption password. + // For example, when this flag is true, there will be no wallpaper service. + final boolean mOnlyCore; + public static WindowManagerService main(Context context, - PowerManagerService pm, boolean haveInputMethods, boolean allowBootMsgs) { - WMThread thr = new WMThread(context, pm, haveInputMethods, allowBootMsgs); + PowerManagerService pm, boolean haveInputMethods, boolean allowBootMsgs, + boolean onlyCore) { + WMThread thr = new WMThread(context, pm, haveInputMethods, allowBootMsgs, onlyCore); thr.start(); synchronized (thr) { @@ -781,21 +787,23 @@ public class WindowManagerService extends IWindowManager.Stub private final PowerManagerService mPM; private final boolean mHaveInputMethods; private final boolean mAllowBootMessages; + private final boolean mOnlyCore; public WMThread(Context context, PowerManagerService pm, - boolean haveInputMethods, boolean allowBootMsgs) { + boolean haveInputMethods, boolean allowBootMsgs, boolean onlyCore) { super("WindowManager"); mContext = context; mPM = pm; mHaveInputMethods = haveInputMethods; mAllowBootMessages = allowBootMsgs; + mOnlyCore = onlyCore; } @Override public void run() { Looper.prepare(); WindowManagerService s = new WindowManagerService(mContext, mPM, - mHaveInputMethods, mAllowBootMessages); + mHaveInputMethods, mAllowBootMessages, mOnlyCore); android.os.Process.setThreadPriority( android.os.Process.THREAD_PRIORITY_DISPLAY); android.os.Process.setCanSelfBackground(false); @@ -858,10 +866,11 @@ public class WindowManagerService extends IWindowManager.Stub } private WindowManagerService(Context context, PowerManagerService pm, - boolean haveInputMethods, boolean showBootMsgs) { + boolean haveInputMethods, boolean showBootMsgs, boolean onlyCore) { mContext = context; mHaveInputMethods = haveInputMethods; mAllowBootMessages = showBootMsgs; + mOnlyCore = onlyCore; mLimitedAlphaCompositing = context.getResources().getBoolean( com.android.internal.R.bool.config_sf_limitedAlpha); mHeadless = "1".equals(SystemProperties.get(SYSTEM_HEADLESS, "0")); @@ -5191,7 +5200,8 @@ public class WindowManagerService extends IWindowManager.Stub Slog.i(TAG, "performEnableScreen: mDisplayEnabled=" + mDisplayEnabled + " mForceDisplayEnabled=" + mForceDisplayEnabled + " mShowingBootMessages=" + mShowingBootMessages - + " mSystemBooted=" + mSystemBooted, here); + + " mSystemBooted=" + mSystemBooted + + " mOnlyCore=" + mOnlyCore, here); } if (mDisplayEnabled) { return; @@ -5209,7 +5219,8 @@ public class WindowManagerService extends IWindowManager.Stub // wallpaper, don't bother waiting for it boolean haveWallpaper = false; boolean wallpaperEnabled = mContext.getResources().getBoolean( - com.android.internal.R.bool.config_enableWallpaperService); + com.android.internal.R.bool.config_enableWallpaperService) + && !mOnlyCore; boolean haveKeyguard = true; final int N = mWindows.size(); for (int i=0; i<N; i++) { |