summaryrefslogtreecommitdiffstats
path: root/services/core/java/com/android/server/wm/WindowManagerService.java
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'android-6.0.1_r22' of ↵Steve Kondik2016-03-111-28/+10
|\ | | | | | | | | | | | | | | https://android.googlesource.com/platform/frameworks/base into cm-13.0 Android 6.0.1 release 22 Change-Id: I0d31899b234156a91accb61e0a7fb3d8d16d5062
| * Initialize DisplayContent base info when object is constructedWale Ogunwale2015-11-121-16/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is possible for an external process (e.g. sys-ui) to call into WM to get the bounds of a stack in between the construction of the DisplayContent object and SystemServer telling WM that the display is ready. Incorrect bounds would be returned to the caller in this case since the baseDisplayWidth/Height is only set when the displayReady call is made. We now initialize the base display information when the DisplayContent object is created so any call to get the logical display rect of the display will always return the right bounds. This should be okay as the display manager is initialized way before window manager. Bug: 22961090 Change-Id: Iebd688ad8f4c08556846fcebb543e58bd2c01414
| * Consolidates config_windowOutsetBottom and circular_display_mask_offsetChing Tzung Lin2015-10-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Three phases involved: phase 1: change all code references to circurlar_display_mask_offset to config_windowOutsetBottom, and mark circular_display_mask_offset deprecated. phase 2: remove circular_display_mask_offset from device overlays phase 3: remove circular_display_mask_offset symbol and default setting. Bug:25220421 Change-Id: Ia3f77610dbbb964eb58c6b28f6206799d56c44c2
| * am 6be61a98: wm: call displayReady for all built in displays when system is ↵Vinu Deokaran2015-10-121-3/+6
| |\ | | | | | | | | | | | | | | | | | | ready. * commit '6be61a98fccbadfdcfcefe9aa51d90bfb6c13901': wm: call displayReady for all built in displays when system is ready.
| | * wm: call displayReady for all built in displays when system is ready.Vinu Deokaran2015-10-121-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When system has more than one built in display, displayReady needs to be called for all built in displays when window manager is ready. Otherwise, some system services, such as presentation, mediarouter, etc, won't work on these displays. Bug: 24103683 Change-Id: Ibf08074eff555c14a318236bd06e7b4855503140
| * | Merge "Allows starting window to be shown for swipe-dismiss windows." into ↵Gus Prevas2015-09-211-7/+2
| |\ \ | | | | | | | | | | | | cw-e-dev
| | * | Allows starting window to be shown for swipe-dismiss windows.Gus Prevas2015-09-181-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change removes the hack in WindowManagerService which prevented a starting window from being created for a window with the swipe-to-dismiss flag set. Per the comment in the file, a starting window is not created for translucent windows (which a swipe-to-dismiss window implicitly is) because the translucency of the window interacts poorly with the default entry transition; this does not apply to swipe-to-dismiss windows as they use a different entry transition. Removing this allows us to start the transition before the app has finished drawing its UI (showing the app's theme's default background drawable as suggested in https://spec.googleplex.com/quantum/patterns/launch-screens.html) which makes app launching on Wear much more responsive. Bug: 23066614 Change-Id: I99b85aeb9a9fcce277239b6f430691c3abf86177
| * | | Update circular mask after display is ready.Filip Gruszczynski2015-09-151-2/+3
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the situation where the circular mask is not applied because the configuration is not reporting round screen. Configuration is computed based on the display, so we can only depend on it having the correct information after the display became ready. Bug: 23689649 Bug: 23325855 Change-Id: I1e1fa307836f4053cfc4978da0239cb42c5af2c3
| * | am 991e4936: am cbacd4f0: Merge "Don\'t perform layout while adjusting ↵Filip Gruszczynski2015-09-011-6/+16
| |\ \ | | |/ | | | | | | | | | | | | | | | displays/stacks state." into mnc-dev * commit '991e493616a644b6bb7fdea9a99990520d77348a': Don't perform layout while adjusting displays/stacks state.
| * | am 414985c4: Remove window from mWaitingForDrawn when policy hiddenJorim Jaggi2015-08-241-2/+2
| |\ \ | | | | | | | | | | | | | | | | * commit '414985c422664c7f8d5dec5562b502907b965876': Remove window from mWaitingForDrawn when policy hidden
| * \ \ am ab45a217: Make wake-and-unlock fasterJorim Jaggi2015-08-221-1/+7
| |\ \ \ | | | | | | | | | | | | | | | | | | | | * commit 'ab45a217b0002dcf586d529ab8581cacbbfc37e9': Make wake-and-unlock faster
| * \ \ \ am 69a07d40: am 69ed3308: Merge "Allow system to disable lockscreen" into ↵Jason Monk2015-08-071-1/+6
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mnc-dev * commit '69a07d401a3d40de6d5f17eeaf642db12401fe2f': Allow system to disable lockscreen
| * \ \ \ \ am 6aa0843e: am fb68b0ad: Merge "Fix issue #21895842: Add is_assist_blocked ↵Dianne Hackborn2015-08-011-0/+13
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to assist.ViewNode.NodeProperties" into mnc-dev * commit '6aa0843ed95d3af828c8dc415053b91f3db25fac': Fix issue #21895842: Add is_assist_blocked to assist.ViewNode.NodeProperties
| * \ \ \ \ \ am 5091ca9c: am ac73f1ef: Partially fix that beginning of animation is skippedJorim Jaggi2015-07-241-45/+45
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '5091ca9c825c32336ce42d7b70eef323ddb9cb3c': Partially fix that beginning of animation is skipped
| * \ \ \ \ \ \ am 81696d13: am bde85f74: Merge "Fixed issue with background user window ↵Wale Ogunwale2015-07-201-4/+1
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | consuming touch events" into mnc-dev * commit '81696d13360a00dd3a450e7ff97329e8560c4684': Fixed issue with background user window consuming touch events
| * \ \ \ \ \ \ \ am 550f1d4e: Merge "Delete overscan setting by both unique id and name." ↵Filip Gruszczynski2015-07-161-1/+2
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into cw-d-mr1-dev * commit '550f1d4eb3c9b0131106490841a6a369df639133': Delete overscan setting by both unique id and name.
| | * | | | | | | | Delete overscan setting by both unique id and name.Filip Gruszczynski2015-07-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When overscan with only zeros is set, it removes an entry by display's unique identifier. It turns out in the past the readable name must have been used in the past and there is a lingering value in the xml file. This CL purges also the display name entry. Bug: 22357152 Change-Id: Ie2daf76677eb96df474acb546491194d0aaf8bc0
* | | | | | | | | | [WindowManagerService] fix starting window issueRonnie Leng2016-01-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Symptom: 1. Acitivity A and B belong to same task. 2. A is started and start B in its code 3. B is opened with blank screen If starting icon has been display, both startingWindow and startingView should not be null. Current logic only uses judgement on startWindow. In above case, it leads startingView set to null as A and B shares the same starting window due to same task. Then system will not get chance to remove startingView as it is null. It needs add judgement on startingView. Change-Id: I6cfa1a3ebce93ce435cc2d9ada239b1e808988de
* | | | | | | | | | Squashed commit for expanded desktopKyrylo Mikos2015-11-111-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bringup expanded desktop and implement per-user configuration. Change-Id: I90d834d788b3050a3f4c11dda9b6d1a7d79546cc Create configurable default expanded desktop style. Change-Id: I90c7f8544cda9b91fb9b700fcf146f4e58b15a26
* | | | | | | | | | WindowManager: Upper level changes to expose blur effectByunghun Jeon2015-11-091-2/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upper level changes to expose blur-behind and blur-mask effect Change-Id: I6d37b43888c8c5e028974bd714596d8178cb5114 WindowManager: Adding template for BlurLayer file Cyanogen changes: * Use config.xml instead of settings * Don't break stuff if not supported in SF * Incremental fade for insecure lockscreen * Disabled extra effects for now Change-Id: Icefe452f7a015656661e8543849c9b88889dbb40 SystemUI: hide blur when showing keyguard media It's still showing up behind eating up cycles Change-Id: I8b1a0f2cfafcc1dcf2a9a472fc15b987e4a3992b Signed-off-by: Roman Birg <roman@cyngn.com>
* | | | | | | | | | framework: fix screenshot and rotation animation for devices with abnormal ↵Tom Giordano2015-11-071-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | hw rotation Change-Id: I42694931cb1a754aa6c7652c0a96304ef1f88492
* | | | | | | | | | Assign more reasonable width and height of a window surfaceDohyun Lee2015-11-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the surface of a window is created during relayoutWindow, there is the case that the width and height of the surface are not given appropriately, e.g. the staring windows. In this case, the width and height are set to 1, which cause resizing the size of the surface during setSurfaceBoundariesLocked. Since setting the size of a surface is processed synchronously in the SurfaceFlinger, there is usually a few milliseconds delay (up to 1 vsync interval) when we launch an application. To remove such cases, this patch assign the width and height more reasonably like below: 1. If FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS is set then assign the size of the display we can use. (i.e. DisplayInfo.logical[Width|Height]) 2. Otherwise, assign the width and height of the portion of the display that is available to applications. (i.e. DisplayInfo.app[Width|Height]) Change-Id: Ie8265b9ff0fdb6ecc4577687935adf7cfb4439ad Signed-off-by: Dohyun Lee <dohyun.lee@lge.com>
* | | | | | | | | | force to remove window for BinderDied casekenzyun_chen2015-11-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Symptom: some Exiting window still exists for a long time Root Cause: unknown Solution: force to remove window for BinderDied case Change-Id: Ib2ecbcc7beb581a3ffe451a5b9d650389b43230d
* | | | | | | | | | Re-use orientation from windows if screen is freezing by appstiger_huang2015-11-071-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch prevents the app window being re-created repeatedly. With the original logic, if an app which is show-when-locked, which has a different orientation from the keyguard's, and which doesn't handle config changes, is launched when the screen is off, then it would be re-created repeatedly. The original logic prevents this issue when the display is frozen. However, if the screen is off, the display won't be frozen. So this change uses additional variables to detect if there are any apps re- creating their windows. Change-Id: I73d2e384c4ceeeb38d04d04f0665f83cc6fba7ae
* | | | | | | | | | Make accessing mInputMethodTarget thread-safetiger_huang2015-11-071-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the lock to prevent other threads clearing mInputMethodTarget while we are accessing members of mInputMethodTarget, or it will cause system server crash due to unexpected NullPointerException. Change-Id: Iec3bed916a019827364ddaf63a89270a4c407a47
* | | | | | | | | | Merge tag 'android-6.0.0_r26' into HEADRicardo Cerqueira2015-11-051-3/+9
|\ \ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Android 6.0.0 release 26 Conflicts: cmds/bootanimation/BootAnimation.cpp core/java/android/accounts/AccountManager.java core/java/android/app/AppOpsManager.java core/java/android/os/PowerManagerInternal.java core/java/android/os/storage/IMountService.java core/java/android/provider/Settings.java core/java/com/android/internal/widget/ILockSettings.aidl core/res/res/values-mcc204-mnc12/config.xml core/res/res/values-mcc219-mnc02/config.xml core/res/res/values-mcc730-mnc07/config.xml core/res/res/values/config.xml core/res/res/values/symbols.xml packages/SystemUI/res/values/config.xml packages/SystemUI/src/com/android/systemui/doze/DozeService.java packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java packages/SystemUI/src/com/android/systemui/statusbar/ExpandableOutlineView.java packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeScrimController.java packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java services/core/java/com/android/server/LocationManagerService.java services/core/java/com/android/server/am/ActivityManagerService.java services/core/java/com/android/server/pm/PackageManagerService.java services/core/java/com/android/server/power/PowerManagerService.java telecomm/java/android/telecom/Phone.java telephony/java/android/telephony/CarrierConfigManager.java telephony/java/android/telephony/RadioAccessFamily.java telephony/java/android/telephony/ServiceState.java telephony/java/android/telephony/SignalStrength.java telephony/java/android/telephony/TelephonyManager.java telephony/java/com/android/ims/ImsCallProfile.java telephony/java/com/android/ims/ImsReasonInfo.java telephony/java/com/android/ims/ImsSuppServiceNotification.aidl telephony/java/com/android/ims/ImsSuppServiceNotification.java telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl telephony/java/com/android/internal/telephony/RILConstants.java Change-Id: I99c6edb8e25a77145b5adef97d0d55bfbe676959
| * | | | | | | | | am cbacd4f0: Merge "Don\'t perform layout while adjusting displays/stacks ↵Filip Gruszczynski2015-09-011-6/+16
| |\ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | state." into mnc-dev * commit 'cbacd4f0cee10b63adf6e2d482e7b4f62c0104a0': Don't perform layout while adjusting displays/stacks state.
| | * | | | | | | | Don't perform layout while adjusting displays/stacks state.Filip Gruszczynski2015-08-311-6/+16
| | | |_|_|_|_|/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we detach the stack from the display we are in an inconsistent state. We need to finish that operation, before we start laying out things again. Otherwise we will encounter subtle bugs, where stack is partially closed, but still used during the layout. Display detachment was already doing the right thing and scheduling a layout after it finishes the display detach. However, removing the stack's windows was triggering immediate relayout and causing a crash. This CL also adds some missing synchronization around WindowManagerService.mStackIdToStack, which is in most cases protected by mWindowMap. Bug: 22191609 Bug: 23615329 Change-Id: I1e2fc42e1a5b673be808acdec473f85f138d7062
| * | | | | | | | Remove window from mWaitingForDrawn when policy hiddenJorim Jaggi2015-08-241-2/+2
| | |_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When doing a wake-and-unlock sequence and the app underneath hides the status bar, we are dismissing Keyguard, the app gets focus, the app hides the status bar BUT we haven't finished drawn yet, so we are waiting until the timeout because w.hasDrawnLw() always returns false. Remove window from pending list if it gets policy hidden. Bug: 23431343 Change-Id: I27e8c6d4efb435a4d3b632a4a37c0de5b021c2e7
| * | | | | | | Make wake-and-unlock fasterJorim Jaggi2015-08-211-1/+7
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Scrims: When dismissing Keyguard, don't wait until the next frame to start the animation. Saves 16ms - Scrims: Skip first frame, because it's completely black anyways. Saves 16ms. - Don't wait with navigation bar to show until the screen has turned on. Window manager is blocked on DisplayPowerController anyways, so the animation will exactly be started when the screen turns on. Fixes some jank as well. - Window manager: Don't wait for the window below Keyguard for draw completion until turning on screen. Saves a lot of time depending on how the app is behaving. Bug: 23401557 Change-Id: I9734f9a12143f0e3c0647e9aa066831a29a6de63
* | | | | | | unbreak density scalingRoman Birg2015-10-271-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Only apply density scaling to built in screens so we don't affect overlays. - Only apply density scaling for activities which fall under the 'default' compatibility bucket. Some apps may have different compatibility info setup (e.g. scaling) and we do not need to apply the user density to this activity. Change-Id: I0b4849141cf081694aae5668ae60764e70be7db1 Signed-off-by: Roman Birg <roman@cyngn.com> Density scaling: scale compatibility apps, wm command support Density scaling should work across all apps and different density configurations. It should also pass CTS. - force compatibility density if calculated compatibility density is different than what the user has requested - hook in "wm density" support, should behave the same as setting the density from Settings - clean up some logic Change-Id: I52c7c2ca200b78f9a5ee9170871ca62e1cab3bcb Signed-off-by: Roman Birg <roman@cyngn.com> Fix typo in density assignment. Change-Id: I35b3860a4991ebaee70c91f3878d63b8f28d7fce Density scaling: return device's default density When an application requests the Display's display metrics, always override the returned densityDpi to be the device's original density to ensure compatibility. Change-Id: I465d53bc189d4596aba0269f124ddc9d0d8097da Signed-off-by: Roman Birg <roman@cyngn.com> return default density only for primary display Change-Id: I70b35a7f4ba77d7c5744fdcb6c19ef78de3dcb15 Signed-off-by: Roman Birg <roman@cyngn.com> density: do not apply to virtual displays Check the incoming configuration density to ensure that it is the same as the device's default density before forcing preferred values. Only apply display metrics if the display is not a presentation. Ref: CYNGNOS-338 Change-Id: I437ac8cf45f1a6c568707e0733364b2495791d8a Signed-off-by: Roman Birg <roman@cyngn.com>
* | | | | | | Don't enable screen until keyguard is readyMartin Wallgren2015-10-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The home screen was shown before the keyguard was ready. Allowing the user to navigate home without unlocking the phone. WindowManagerService calls checkWaitingForWindowsLocked to determine when it is safe to enable the screen. But checkWaitingForWindowsLocked only check if the Keyguard is ready if there is a Window of type TYPE_STATUS_BAR. If there is no statusbar window, the WindowManagerService assumed that the keyguard was ready. This change will assume that the keyguard is NOT ready until there is a statusbar window and mPolicy.isKeyguardDrawnLw() return true. Downside to this patch is that it will not prevent home screen from being shown before keyguard if we have displayed any boot messages during boot. At the moment we only show boot messages during first boot and after upgrades. Change-Id: Ia3da149568f966c9d753f658d939946dfa2f3b46
* | | | | | | Themes: Port to CM13 [1/3]Andy Mast2015-10-261-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Themes: Aapt port Id: I106d447daf7935bada65e78911d8973ce0ca27ae Themes: Port our additions to idmap Id: I2e47cc23de4e7c0b884cccbd87c7d77079ac6824 Themes: remove legacy theme support from idmap Id: I17dfe35f9985d8cef790b26a8bcda738ea65917c Themes: Forward port changes to Installer.java Id: If64e856773e50f5ed74f2358e0c590abad724689 Themes: Add clean spec for aapt Id: I68f5f63f7e83b99230860dd2d8646e96da484b62 androidfw: Port CM overlay contributions Id: Id7b7f5f35011922c668fcea3a8aec5b42bd28653 androidfw: Port addOverlayPath and removeOverlayPath Id: I279db083af28fd8941f3227f2a7512ff094742c1 androidfw: Port addCommonOverlayPath Id: I12d2fe05a04f6a7e553c330505a475346374b507 androidfw: Port addIconPath Id: Ide3db28cde0c7f93edd9e7ad626ebace8d4105cc androidfw: Allow package ID to be overriden at runtime Id: Ieca3a0ae070a6c0ad0cf2b73b5944d83397d08b9 Aapt: Zip Parsing Test Cases w/ Refactoring Id: I28f9115700e186136432138d228111ebcfbd0480 Themes: Update tests for idmap Id: I3dae5bd376d122eab397863378599ae0ac7c6734 androidfw: Add test case for overriding package id Id: I2668c529e24a55cd6bc8437406fc284b853a75e7 androidfw: Add tests for bags The overlayOverridesStyleAttribute will currently fail since our changes to allow theming styles is not currently implemented. Id: Idfacc4382baf4152c839799a22b6cbe015ef2197 androidfw: Don't consider package ids 0x60 and 0x61 as dynamic Package IDs that are not 0x01 (system) or 0x7f (app) are treated as dynamic references. Overlays are assigned specific package ids that fall within the region of shared libraries. This patch treats them the same as system and app resource packages. Id: Ieecaa889bed50490796351302405a38f77c84f4e Theme Parsing & Info Id: I3583d7e8ca704402e3d8c6e1c7cea1645b91c06f Port ThemeUtils and its dependencies This is pretty much copy/paste from cm-11.0 Id: I406860a259136ccca107b981aca0369851df445e Themes: AndroidManifest and Intent port Id: Ib97e8539301d20d120fd8b49891fdaae8205fe42 ComposedIconInfo Port (w/ stubbed IconPackHelper) IconPackHelper is stubbed out so that PMService can reference it, we'll need to port the Resource stack before porting the implementation. Id: I59b680511de525e1d375a4f3be04347686b5e81b Port PackageManagerService and other dependencies Id: I11629d1e5eee21e01c060bc6c0393aae96034b69 Themes: Add in ThemeService See also: external/selinux. The policy must be added in order for the service to start without a security exception. Change-Id: Ic6f64796b264e430e9706a17a3fd2a35085fd1ca TODO: ThemeService / Keyguard interaction TODO: SystemServer - AppsLaunchFailure Add AppsLaunchFailure Id: I09a3826f89c62cb898866408e807f269616f48fc androidfw: Update bags tests The overlayOverridesStyleAttribute was updated such that it does not check the attribute of the theme before adding the overlay. The bag is cached on the first call and the next call, after the overlay is attached, returns that pre-computed bag so the test would always fail. We now simply check that the attribute matches the one in the overlay, and if so then the test passes. This patch also adds a new test to check that an overlay can reference and access resources that are unique to the overlay. Currently this test fails. Id: I3892df3f0d9443a73eaa11b3d5e97cfe86620a73 androidfw: Add test for referencing overlay styles as parents Id: I4fa3bd447c888e96176955924ebe7ee5c784ab55 androidfw: Allow referencing and retrieving overlay resources This patch allows a theme to reference it's own resources. Overlays get their own group which contains those resources that are not idmapped. Idmapped resources end up in the target's group. Id: Ibc119ddcdb35d44a8afec3c6152bcab2909cda18 androidfw: Fill in missing attributes from overlay style Id: I74051b379b73c728c6a2aa4bc62f3cd268a40b53 Protect windowNoTitle and windowActionBar attributes This patch creates a new method to define "protected" attributes. These are attributes like windowActionBar which should not be modified by a theme. Some apps (eg gmail) use the appcompat library which has its own Actionbar classes. When an app uses its own Actionbar it must not include the default actionbar which is achieved through the windowActionBar attribute. Some themes may try to change these attributes, which can will cause the app to crash. Id: Ie3bb7285eed09f3f13facf9d142ea9eb83796eec Themes: Use SYSTEM_DEFAULT in ThemeService Id: I52794dd98ca2f64aa50046ecdd7f79f27c21dd98 androidfw: Test missing parent attributes are merged in This test checks that an overlaid style contains any attributes that were in the original style but omitted in the overlaid style. Id: I6b496ef2eb0a7ef27b4fafdfda5bdf7ccffad989 androidfw: Add test case for protected attributes For this test to pass a protected attribute, such as windowNoTitle, must be equal to the original and not the value specified in the overlay. Id: Ic03f11214a1fc4139e3c48d7e72694a80f819023 Themes: Attach theme and icon resources from java Id: I9ffa0ce96a4af603b78b32d6b190f9698d3e4b4f Themes: Icons, icons, icons! Let there be icons. Legacy icons and composed icons are included in this patch. Id: I9fedafa270f1c4dc30c9c8ffd4cf619895e688e6 Themes: Retrieve explicitly themed context and resources Id: I4e41c251aee47361b183b60089bf5666540f653e Themes: Add themeChange config change to manifest Id: Ia84c0089a79637906e4f75fa38a56e8ff3b21a2b Themes: Register THEME_SERVICE in ContextImpl Id: I608a0b65c7e2ff0d69bae7bf343916f2b985f4a0 Themes: Remove legacy theme support Id: I25887843d31f705425aa40f9a23482fd2cafaef8 androidfw: correctly index paths in idmap Since we added the mtime values for the target and overlay, the indices are increased by two. Id: Ie0f5474d425945d58a12021cd2739240d2e98c0a androidfw: Fix opening assets from theme resources Id: Iedb51163a62b046cdf7fda1ad1b55cc1ee409047 Themes: Consider overlaid resource as "best fit" Id: Ife8342a49eb9502be52f085f88161b113332e9e6 Themes: Save and restore theme config Id: I3fcd445fb458aa6ed09397c05df6eb66d9be7235 Themes: Let ThemeService process additional themes Id: I45837f26948367d5cc6c520e8c53f9da60bd1fda AAPT: Don't applyVersionForCompatibility on android When compiling themes with aapt, we do not want aapt to call applyVersionForCompatibility as this causes the entries in the resource table to have an incorrect path. Id: Ie2c69533b3659c7b7458d6e4b7bdc84946d1be8e androidfw: Don't consider package id 0x5f as dynamic Package id 0x5f is reserved for common overlay resources and needs to be reserved so that it is not considered a dynamic. Id: Id27b8e0e2231ee8541365274d512e347afcfd05b AAPT: Include resources.arsc in apk Common resources needs the resources.arsc in the resources.apk so that it can be included when processing other overlays. Without it, common resources cannot be referenced. Id: I4aee29f660e4a0aa1909240dc0ca5680f0a2d135 Themes: Add keyguard wallpaper support to theme service Id: Ib8f8acd55ab4d2b6ef06ee0a630dc50c4f870beb Themes: Don't pre-process non .9.png images When creating a resources.apk we do not need to pre-process the normal .png images as those can be referenced directly from the theme's apk. Id: Iaf846a03ead9ecb1e68c040eac6e0ecbfc6e5875 Themes: Adjust offsets for idmap hashes Idmap now has a header so the indices to the hashes need to be incremented by one. Id: If1fb183cc116ef9e3ad6cb4e17b6e44763e9e72a Themes: Use single ThemeInfo instead of an array We only ever used the first index so there is no need to use an array of ThemeInfo(s) Id: I9e2af076bc17396a0c978be3c0d31c41277db3df New converter for Kitkat -> L fonts.xml L introduced a new fonts xml format. Its great, but our themes will keep using hte old format. This provides a converter and test cases. The parser was taken from the chooser and remains mostly unchanged with the exception of a getName() helper method. Id: Ia1d42c9e50eb7b52d2d98fe6dbeee530bef3adc2 Themes: Port theme bootanimation support to CM12 Id: Ie016884b0e3b77e08732308923ac44e0975e0116 Resources: Clear drawable cache Id: I04b5b78cce703194a2baeff9c51d2e4733b8ccc9 Font switching Id: Ia43060a7db624102cdcd9b0d9dc7148441401584 Zygote changes Id: Ie3681cf0d2b9929661cf1214e899cef9a5f37471 Recreate String Blocks Id: I4747ebd1a0908b76ae7214b0584948353d426fc5 add a getter for the x and y offsets of the wallpaper window Id: I35294bcac664e85cc5d344b50b5c4335a60d3f37 Themes: Don't spam logcat with CREATING STRING CACHE When processing resources with AAPT on the device, it spams the logcat with warning messages about CREATING STRING CACHE. Change ALOGW to ALOGV so it will only show when verbose logging is enabled. Id: I5b591c3336e176dd71cebe672d60721c29651b00 SystemUI: Audio Volume Panel Id: I78c471864af401b274597339b8451e65931fdb32 AmService uiContext port Id: Ida251d7f80797b0ec78b3d20cf60a795d6c4c1f0 Cleanly detach theme assets Types from an overlay are added to the target group's TypeList and need to be removed when the overlay assets are detached. Failing to remove these types results in resources not being retieved due to the erroneous types. Id: I4a9c624e30309e61fce905ced45c55acd3ac4845 Themes: GlobalAction Port Id: Ifd87e04f94a284e77f1c48bec9fd75d69c45c47e Themes: Do not store forward locked themes in ASEC containers If a theme is in a asec container and is applied, when the device is rebooted the device will get stuck in a nasty boot loop since the theme resources must be read and the asec container is not ready yet. Id: I1d93d8175d5c40b34c222974960c43352012a5ad Use systemui's applied theme for notifications. Notifications contain RemoteViews which are inflated using the application's context for which this notification belongs to. This can look out of place if SystemUI is using a different theme than the rest of the system. This patch will use SystemUIs theme when inflating the RemoteViews, giving us a more consistent look in the notification drawer. Id: I9514ce7fcc4858bad3d3c4190f55c1f5a1441d7c SysUI: Add theme support This ports over the changes needed to facilitate a theme change in SystemUI. Id: I673fb79db90994371a9c0627746a97414132f0ba Themes: Allow composing of VectorDrawable Base icons can be vector drawables. This patch allows them to be composed. Currently, VectorDrawables cannot have filters applied since they do not have a method to get the Paint object like BitmapDrawable and PaintDrawable. Id: I762c8e1f4d1c945b8ebc164bbd7944120324bd42 Themes: Add target api to ThemesContract This will allow the ThemesProvider to track the api a theme was built for. We may want to let the user know when a theme may not be designed for the version of CM installed on their device. Id: Idf0e6cef0ce9ac5e221ce5ff7e0b155ae0258d5f Access Themed ResTables from compiled theme apk [1/2] Before this patch the ResTable for a theme/app was created and accessed seperate from the compiled APK. Since the compiled APK has its own copy of the resources.arsc, we can just reuse the table in the APK instead. Id: I106a2434e74784bc04014831098f49fe128bc7e2 Themes: Port AppsLaunchFailureReceiver to CM12 Id: I5c3265e64aef1536ba5fceed0ec89082e786b686 Themes: Bump idmap hash version to 3 Due to changes in idmap, we need to force the recreation of resource cache when upgrading from CM11 to CM12. Id: I25c1e2c598bca889818e2d685651e3214c30ab3c Remove debug logs Id: Ia5cfa83ddf6da195e20526a94ba154864b8d0ecb Send target sdk version to aapt [1/2] If vector drawables are used in a theme we must have a minSdkVersion of 21 passed to aapt or else aapt will Segfault. Id: I687ee146f9f80543bbcdd06d93891cb3b23001c4 Add missing imports to ActivityThread Id: I09fe07807ed824ccb938e0e174b06653c613c403 Themes: Dynamically add/remove content from StatusBarWindow StatusBarWindowView has logic for resizing and fading content which doesn't always behave correctly if this view is not the root. Rather than create a container, this patch uses the existing StatusBarWindowView as the container and the inflated status bar is then added to this view. Id: Ia93d25a589419145f95d75b1b56eb3c2f300f935 Themes: don't use preloaded drawables when themed If we have themed assets we should try and load those rather than pulling from the preloaded drawables. This allows us to continue and preload drawables in ZygoteInit while maintaining the ability to theme those preloaded assets. Id: I68cfc099d328ece0791b6d0e5cf11d07097fd1fd CM11 -> CM12 Upgrade [1/3] - Introduce a new secure setting "THEME_PREV_BOOT_API_LEVEL". This field will always be set to the previous api level for themes. So if we upgrade from CM11 to CM12 this value will differ from the current API causing an upgrade to trigger - When moving from CM11 -> CM12, unapply incompatible overlays - Rename "holo" to "system" in secure settings themeConfig - Provide a testing downgrade script to put the secure settings db into a state similiar to CM11 (at least for themes) Id: I71be2c0ad83e60ffe8c574f913e5eaecb9700045 Themes: Add constant for system target API Id: I0a6caf65c9e8b0feeef1ae848ba4683235304e8c Change-Id: Ide6d4e1daf535a54efb1ec7cf39ef8b2fb8cf272
* | | | | | | frameworks: add keyguard wallpaper functionality to WallpaperManagerRoman Birg2015-10-261-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adapted for cm-12. Change-Id: I0eb1b5578b705c2ade4c0772fa86e09478b9f73e Signed-off-by: Roman Birg <roman@cyngn.com>
* | | | | | | frameworks/base: Don't report existing menu key if it was remapped.Kyrylo Mikos2015-10-211-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Iabad06cd42cebecdff6f0440899432513681b063
* | | | | | | Runtime toggle of navbarTimo Wendt2015-10-211-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the framework support for enabling the Navigation bar on devices with hardware keys. It is toggled from Settings, and depends on device-specific support for the KeyDisabler hardware control Change-Id: I88fecb2ca1e8613591c327a93f53909b00239cd8 wm: Nullify hardkey function assignments if enabling the navbar This caused erroneous (and sometimes duplicate) events being generated due to the regular key function assignments. The navbar does its own action management, so don't try to derive from the actions usually present in hard keys. Change-Id: I82866e24547f8145cac4f07820ae90aacce09281 Update DEV_FORCE_SHOW_NAVBAR constant. Change-Id: Ie5b4317162c514d22276956f81007e064a3d0f32 Settings: Move DEV_FORCE_SHOW_NAVBAR load to loadSecureSettings. Change-Id: I6ac53b8c9f7fce6f9ca6b4ad7bf31a1c1e896863
* | | | | | | wm: call displayReady for all built in displays when system is ready.Vinu Deokaran2015-10-061-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When system has more than one built in display, displayReady needs to be called for all built in displays when window manager is ready. Otherwise, some system services, such as presentation, mediarouter, etc, won't work on these displays. Change-Id: I9d384716ba3e06b053f4ac4cccb33d93ffedd9aa
* | | | | | | Don't perform layout while adjusting displays/stacks state.Filip Gruszczynski2015-09-021-6/+16
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we detach the stack from the display we are in an inconsistent state. We need to finish that operation, before we start laying out things again. Otherwise we will encounter subtle bugs, where stack is partially closed, but still used during the layout. Display detachment was already doing the right thing and scheduling a layout after it finishes the display detach. However, removing the stack's windows was triggering immediate relayout and causing a crash. This CL also adds some missing synchronization around WindowManagerService.mStackIdToStack, which is in most cases protected by mWindowMap. Bug: 22191609 Bug: 23615329 Change-Id: I1e2fc42e1a5b673be808acdec473f85f138d7062
* | | | | | Allow system to disable lockscreenJason Monk2015-08-071-1/+6
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even when there is a pin. Bug: 22920549 Change-Id: Ib84e1c3ac67be0318d4186c66ee582a49969e373
* | | | | Fix issue #21895842: Add is_assist_blocked to assist.ViewNode.NodePropertiesDianne Hackborn2015-07-311-0/+13
| |_|_|/ |/| | | | | | | | | | | Change-Id: I928882d42d0546cc6a12e803d96131beaba76d4e
* | | | Partially fix that beginning of animation is skippedJorim Jaggi2015-07-221-45/+45
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When waiting for all the windows that belong to an activity, we skipped the main window, in case it didn't had a surface yet. This was a problem because with SurfaceViews: They set it's visibility extremely early in the app visibility change cycle. Then, they don't block with the callback to SurfaceHolder.Callback2.surfaceRedrawNeeded, so window manager thinks it has drawn the first frame already. We don't even have a surface for the main window yet, but we start the app transition already because we think the only interesting window for this app token is the SurfaceView, which has supposedly already drawn. Bug: 22207948 Change-Id: I2ddb274000fa08866e193f4fd8db3788fc55e0f1
* | | Fixed issue with background user window consuming touch eventsWale Ogunwale2015-07-171-4/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When adding a window for a background user, it is possible for the window to consume touch events because it is in the COMMIT_DRAW_PENDING state. We allow the background user window to transition READY_TO_SHOW state, but hide the window. Change is based on https://android-review.googlesource.com/#/c/158772 and also reverts commits 6ee618509a392adb183c2e70390cd9e2031ff0d8 and 588932a53e63c0a7ee281dea22559c129b40eb99 Bug: 22531717 Bug: 22207948 Bug: 18510914 https://code.google.com/p/android-developer-preview/issues/detail?id=2667 Change-Id: I68d2e532c2b1def0d7b22c9b60e48110cf3cd686
* | Merge "Animate app exit for cases where the app is already hidden before ↵Wale Ogunwale2015-07-161-7/+11
|\ \ | | | | | | | | | transition" into mnc-dev
| * | Animate app exit for cases where the app is already hidden before transitionWale Ogunwale2015-07-161-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is possible for an app token to be marked as hidden and exiting because the previous activity destory is completed before we are good-to-go with app transition since we are still waiting for the opening app to be done drawing. In this case we don't apply the exiting animation since the token is not changing visibility state during the app transition (it is already hidden and we are telling it to hide...). We now allow the animation to load if the token is already hidden and marked as exiting. Bug: 22381703 Change-Id: I5c27b6c3c1f810f05b2d716122055c6f12d0a167
* | | Merge "Bug: 21589105 Rescoping SYSTEM_ALERT_WINDOW..." into mnc-devBilly Lau2015-07-161-3/+6
|\ \ \
| * | | Bug: 21589105 Rescoping SYSTEM_ALERT_WINDOW...Billy Lau2015-07-161-3/+6
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AppOpsManager: Changed the default mode for SYSTEM_ALERT_WINDOW to MODE_DEFAULT instead of MODE_ALLOWED. Otherwise, an app that did not declare for this permission will actually be allowed to perform OP_SYSTEM_ALERT_WINDOW, which is undesirable. This change also allows callers to make their own decision based on the current policy (M vs pre-M apps). policy/PhoneWindowManager: Added additional checks that will handle MODE_DEFAULT - this happens when an app is newly installed but not yet configured. wm/WindowManagerService: Enriched some checks to include the treatment of MODE_DEFAULT - this will allow pre-M apps uninterupted capability to draw on top of other apps. Change-Id: I8de77730e158c97587427820cfba721bd5607bea
* | | Improve tracking of screen on reasons.Dianne Hackborn2015-07-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - New screen on app op to record the last time each app has caused the screen to be turned on. - New battery stats event that tells us the reason the screen has been asked to turn on. - Propagate out power manager API to specify the reason a caller is asking to have the screen turned on. Note that currently the window flag to turn the screen on bypasses much of this because it is being handled in the window manager by just directly telling the power manager to turn the screen on. To make this better we need a new API where it can specify who it is calling the API for. Change-Id: I667e56cb1f80508d054da004db667efbcc22e971
* | | Fix premature clearing of clearable sysui flagsAdrian Roos2015-07-091-6/+8
|/ / | | | | | | | | | | | | | | | | Fixes a bug where all clearable flags would be cleared even if only a subset actually changes; new behavior is clearing only the flags that actually got cleared. Bug: 22331526 Change-Id: Icbb12121c977e48457692c054571521c6f6eb730
* | Merge "Cleaned-up logic for determining clip rect for transitions ↵Wale Ogunwale2015-07-071-23/+10
|\ \ | | | | | | | | | animations." into mnc-dev
| * | Cleaned-up logic for determining clip rect for transitions animations.Wale Ogunwale2015-07-071-23/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previous logic led to several edge cases which fixes sometimes broke other edge cases. New logic uses the clip rect provided by the transformation as-is and doesn't try to adjust it based on window flags. Correct clip rect is set in WindowManagerService#applyAnimationLock using the content insets before the animation is loaded. Bug: 21727851 Bug: 20652683 Bug: 19523205 Bug: 15046646 https://code.google.com/p/android/issues/detail?id=161362 Change-Id: I2d4ed6196edb8ee8c401fe9a242aec70d3494574