summaryrefslogtreecommitdiff
path: root/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'android-13.0.0_r76' of ↵Julian Veit2023-09-261-0/+1
|\ | | | | | | | | | | | | | | https://android.googlesource.com/platform/frameworks/base into HEAD Android 13.0.0 release 76 Change-Id: Id0fa6f618d383eecee8fd2d96761f1be82bb3b99
| * [DO NOT MERGE] Update quickshare intent rather than recreatingMiranda Kephart2023-09-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, we extract the quickshare intent and re-wrap it as a new PendingIntent once we get the screenshot URI. This is insecure as it leads to executing the original with SysUI's permissions, which the app may not have. This change switches to using Intent.fillin to add the URI, keeping the original PendingIntent and original permission set. Bug: 278720336 Fix: 278720336 Test: manual (to test successful quickshare), atest SaveImageInBackgroundTaskTest (to verify original pending intent unchanged) (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:589ce3909c6e9e30f073df86e7de4503854a032a) Merged-In: Icad3d5f939fcfb894e2038948954bc2735dbe326 Change-Id: Icad3d5f939fcfb894e2038948954bc2735dbe326
* | Merge tag 'android-13.0.0_r52' of ↵George Zacharia2023-08-021-51/+248
|\| | | | | | | | | | | | | https://android.googlesource.com/platform/frameworks/base into t13.0 Android 13.0.0 Release 52 (TQ3A.230605.012) Change-Id: Ic80f318636f1f70bbd009504352ddde511d0dead
| * Remove redundant setContentView to fix screenshot focusMiranda Kephart2023-03-281-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is essentially the same fix as ag/20620698; it got partially reverted (unintentionally) as part of a later refactor, probably due to version shear. The result is that the second call to setContentView resets the screenshot focus that was just requested, causing us to no longer receive back key events. This change removes the redundant call to setContentView (which should only be called once, in reloadAssets during the constructor) so that the ScreenshotView retains focus correctly. Bug: 271497893 Fix: 271497893 Test: manual (by swiping back during a screenshot and verifying that the screenshot UI is dismissed) Change-Id: I9ed908e84b8f69e48c900de90d378c4fda0ff7f9
| * Set mScreenBitmap before saveScreenshotAndToastMiranda Kephart2023-03-061-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently we don't set mScreenBitmap until after the fork to just show a toast if user setup is incomplete. This causes us to attempt to save a null bitmap. This change moves the line earlier so that we successfully save the screenshot (and show a toast) before user setup is complete. Bug: 271217041 Fix: 271217041 Test: manual (on phone flashed to master) Change-Id: I5f2312acc318d385420532476b5964e344c4b68e
| * Split SCREENSHOT_METADATA into two different flags.Matt Casey2023-02-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The screenshot metadata work consisted of two things: 1. Flag-guarded refactors to support metadata handling. 2. The actual fetching and sending of the metadata URL itself. The second part we've chosen to leave in teamfood for an extended time, but some other features were expecting to launch along with the flag-guarded refactor, so we need to flag and launch that separately. No behavior change in this CL, just splitting one teamfood flag into two teamfood flags. Bug: 268484562 Bug: 268484915 Test: atest TakeScreenshotServiceTest Change-Id: I4654b86206f77a589c1f95565ddb0622c0ce5849
| * Structure for screenshot detection notification.Matt Casey2023-01-301-14/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The notification itself won't be hooked up until android U. - The message container now has two (View.GONE) children, one for work profile first run, the other for screenshot detection. - All interactions with this space go through MessageContainerController. - Populating the message space has two phases: figuring out which messages want to be shown, then showing no more than one. These are implemented as separate methods on each of ScreenshotDetectionController and WorkProfileMessageController. MessageContainerController no longer knows the details of these views. - ScreenshotDetectionController doesn't do the actual detection yet, but the UI bits have been manually tested. - Moved the MessageContainerController.onScreenshotTaken calls to right after the entrance animation completes in ScreenshotController. Flags: Added a new SCREENSHOT_DETECTION flag. The detection and relevant display code are protected by this. All other changes to the message space are protected by the work profile flag. Test: atest com.android.systemui.screenshot Bug: 265937777 Change-Id: Id1e51ffcb322839badf4f1d81a5aafceb0b67a06
| * Entrance and exit animations for work profile first run.Matt Casey2023-01-271-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Slide up from the bottom, fade in. Animation happens after the screenshot entrance animation (same time the view appeared before). This isn't meant to be a final animation, just to put something in so it's not so jarring. Includes some changes in preparation for the message area being able to support multiple types of content: 1. Moved all interactions with the view to MessageContainerController, which will be able to handle different types of content. This isn't entirely generic as it does contain the view code for the work profile first run. 2. Moved work profile first run view code to its own XML to let different content swap in more easily. The animations themselves are only called by flag-protected code, but a couple of aspects are not fully flag-protected: 1. The message container view is now INVISIBLE instead of GONE, and is shifted down (y-axis) to be outside of the containing ConstraintLayout. 2. The message container is attached to a Guideline which starts off at the bottom of the screen. The actions container sits atop that guideline. No user-visible change, just expressed with a slightly different structure. 3. Slight increase in the bottom margin of the actions container and the message container, as it was being clipped by the navbar. Test: Visual inspection of the flow Bug: 254245929 Change-Id: Ie1b97f841bb28de52a8a9ea9ac5ed48c3f694abc
| * [DO NOT MERGE] Add centralized DisplayTracker for SystemUIAlex Stetson2023-01-261-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | In multi-user multi-display systems where there could be multiple SystemUI instances running, the concept of what displays are relevant for a particular SystemUI may change. By adding a DisplayTracker class to abstract away display retrieval and callbacks, these instances can return the information that is most accurate for them. Bug: 256236871 Test: atest SystemUITests Change-Id: I51c1a380a344fb45d5e0de2c5c6ba5610733a3a2
| * Fetch context URL from the top-most app, send with share if available.Matt Casey2023-01-241-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add contextUrl to ScreenshotData. - Fork AssistContentRequester from launcher, adapt slightly for sysui dagger. - Request the assist content (async) if the task ID is available. - Set the URL as EXTRA_TEXT if available. Don't set the subject in the share if we have EXTRA_TEXT, as they seem to conflict with each other in some apps. - Slight refactor in ActionIntentCreator to make the various ways to create share intents clearer. Flag: All code changes (beyond variable existence) are protected by the SCREENSHOT_METADATA flag, currently disabled. The work profile screenshots flag is also required for this to work properly (in teamfood). Bug: 242791070 Test: atest com.android.systemui.screenshot Test: Verify that context URL from chrome passes all the way through when sharing with Gmail. Merged-In: I39c3503147631f4ef79088f23c201bbad7405d16 Change-Id: I39c3503147631f4ef79088f23c201bbad7405d16
| * Migrate to ScreenshotData objectMatt Casey2023-01-201-29/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of passing around a handful of objects, use a single object to represent the accumulated state in the processing pipeline. This is to facilitate the passing of screenshot metadata (in a later CL). Flag: All behavior changes are protected by SCREENSHOT_METADATA flag, several methods in the acquisition pipeline have been forked to use the new data structure. Bug: 265075469 Test: atest RequestProcessorTest Test: atest TakeScreenshotServiceTest Test: atest ScreenshotDataTest Change-Id: I65b996215a7c0cc2040390cca5876c22cb216b22
| * Merge "Make ScreenshotRequest handle hardware bitmap conversion" into tm-qpr-devMiranda Kephart2023-01-191-2/+3
| |\
| | * Make ScreenshotRequest handle hardware bitmap conversionMiranda Kephart2023-01-181-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, ScreenshotHelper provides utility functions to convert between a hardware bitmap and a parcelable form for sending between processes, but the originating code must handle the conversion itself. This change moves the conversion so that it occurs seamlessly inside of the ScreenshotRequest class, and refactors the inputs to ScreenshotHelper slightly so that the ScreenshotRequest data class is what gets passed in. Bug: 264457397 Test: atest Merged-In: I1041bbcfdc5f5ece6e98bd0844017d4f3dc4e9f3 Change-Id: I1041bbcfdc5f5ece6e98bd0844017d4f3dc4e9f3
| * | Merge "Fix screenshot back key recognition" into tm-qpr-devMiranda Kephart2023-01-181-4/+6
| |\ \
| | * | Fix screenshot back key recognitionMiranda Kephart2023-01-111-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were only requesting focus once, on screenshot view inflation, and the focus got reset when window.setContentView was called, causing us to no longer receive key events. This change moves the setContentView call to only happen once, and requests focus explicitly for each screenshot. Test: manual -- took two screenshots in succession and verified that back gesture worked to dismiss screenshot Bug: 259490332 Fix: 259490332 Change-Id: Ia0dd38b32f7986088b87f3838bcb05dbbb02238d
| * | | Merge "Fix screenshot work profile badge padding" into tm-qpr-devMiranda Kephart2023-01-111-2/+2
| |\ \ \ | | |_|/ | |/| |
| | * | Fix screenshot work profile badge paddingMiranda Kephart2023-01-091-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 254245929 Fix: 254245929 Test: manual (visual change) Change-Id: Ic068500d2819134423c7c82f5f4cb7c2908a2894
| * | | Merge "Work profile first run updates" into tm-qpr-devMatt Casey2023-01-091-9/+9
| |\ \ \ | | |/ / | |/| |
| | * | Work profile first run updatesMatt Casey2022-12-291-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Show until the user dismisses it. - Fetch the app icon based upon config ComponentName. - Fetch the app name based upon config. - Extract relevant logic to WorkProfileMessageController - Some no-op cleanups in SaveIMageInBackgroundTask to prevent sysui studio from complaining. Flag: The calls into the new message controller are protected by SCREENSHOT_WORK_PROFILE_POLICY (in teamfood). Bug: 254245929 Test: atest WorkProfileMessageControllerTest Test: Manually testing dismissal and UI. Change-Id: I943303992fdc2caeba76a06f88c1b91419d02be8
* | | | fixup! SystemUI: screenshot: open long screenshot activity for partial ↵Michael Bestas2023-04-161-32/+7
| | | | | | | | | | | | | | | | | | | | | | | | screenshots Change-Id: I718cb0d8516d72d55fd439b132c27e6edc81158c
* | | | Merge tag 'android-13.0.0_r35' of ↵George Zacharia2023-04-031-73/+162
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://android.googlesource.com/platform/frameworks/base into t13.0 Android 13.0.0 release 35 Change-Id: I709958b2f015d1774b2ece25894467c3a279f93c
| * | | Switch to "quiet" screenshot success when window destroyedMiranda Kephart2022-12-121-0/+4
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, if the screenshot UI is dismissed before the screenshot finishes saving, we'll get a spurious "SCREENSHOT_INTERACTION_TIMEOUT" log. This is because the screenshot saving triggers "showUiOnActionsReady", which updates the UI and resets the timeout. Updating the UI is a no-op in this situation since the window/view are no longer attached, but the timeout is reset, causing a timeout log six seconds later. It doesn't make any sense to try to show UI after dismissal, so we should just do the same thing we do for the "old" screenshot during successive screenshots and save silently. Bug: 262242456 Fix: 262242456 Test: make statsd_testdrive && $ANDROID_HOST_OUT/bin/statsd_testdrive 90 Change-Id: I0de70d839502c7799da8a8b31e69cfbca0955bd4
| * | Merge "Announce saving screenshot to work profile" into tm-qpr-devMiranda Kephart2022-11-301-2/+9
| |\ \
| | * | Announce saving screenshot to work profileMiranda Kephart2022-11-181-2/+9
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | Guarded by the SCREENSHOT_WORK_PROFILE_POLICY flag. Bug: 258706100 Fix: 258706100 Test: manual (using talkback) Change-Id: I70af7253d8bb951cf64da3d024dd2a038db4ce99
| * | Merge "Migrate ScreenshotController to Predictive Back" into tm-qpr-devRahul Banerjee2022-11-291-1/+34
| |\ \
| | * | Migrate ScreenshotController to Predictive BackRahul Banerjee2022-11-281-1/+34
| | |/ | | | | | | | | | | | | | | | Bug: 258493176 Test: Tested manually, as discussed with gwasserman@, it is not feasible to write a test for this right now. Change-Id: I30e5a587ae8121dbbfc61e15f6b904e67ee52a91
| * | Merge "Log ScreenshotEvent.SCREENSHOT_SAVED_TO_WORK_PROFILE" into tm-qpr-devMatt Casey2022-11-291-7/+7
| |\ \
| | * | Log ScreenshotEvent.SCREENSHOT_SAVED_TO_WORK_PROFILEMatt Casey2022-11-231-7/+7
| | |/ | | | | | | | | | | | | | | | | | | | | | Log after it's saved to a managed user. Bug: 258490918 Test: Build, validate log Change-Id: Ia1370c7a01153af6b99759ed95ddab7d2042b142
| * | Merge "Close system dialogs before launching LongScreenshotsActivity" into ↵Matt Casey2022-11-231-2/+6
| |\ \ | | |/ | |/| | | | tm-qpr-dev
| | * Close system dialogs before launching LongScreenshotsActivityMatt Casey2022-10-271-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | In rare cases they may be blocking the shared element transition. Bug: 241048682 Test: Manual reproduction of bug (long screenshot of quick actions edit screen) Change-Id: I069c8fb55a17ac456c7ced795ab4a23856eb9cda
| * | Merge "Fix long screenshots actions for work profile." into tm-qpr-devMatt Casey2022-11-111-10/+13
| |\ \
| | * | Fix long screenshots actions for work profile.Matt Casey2022-11-071-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the ActionIntentExecutor for edit/share there as well. Logic changes are flagged (everything outside of that is just parameter passing). Shared element transition from work profile long screenshots -> markup wasn't working, so I've omitted it for now. Bug: 231957192 Test: Manual testing with and without the flag, work and personal profile long screenshots. Change-Id: I6d035bfd1838900f8004dbb5bc8f9ae5411e960d
| * | | Adds a notification to work profile screenshotsGovinda Wasserman2022-11-031-3/+16
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Test: Setup a work profile Test: Take a screenshot of a standard app Test: Observe normal screenshot flow Test: Take a screenshot of a work profile app Test: Observe that a notification appears below the screenshot BUG: 254245929 Change-Id: Ib48861fbe8bf28d7a1cfbb9ce1b60e2af1c3018e
| * | Only honor passed-in userid value if work profile flag enabledMatt Casey2022-10-281-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously work profile screenshots from overview would get saved to work profile even if the feature wasn't enabled (downstream code assumed that the userId would only be wp if the feature was enabled). This CL removes that assumption, only saving to a different profile if the flag is enabled. Bug: 255971910 Test: Work and personal profile screenshots from overview and key chord with the flags enabled and disabled. Test: atest TakeScreenshotServiceTest Test: atest ImageExporterTest Change-Id: If4164373e28b920ef4bea16902ba3455f09b6893
| * | Add profile badges to screenshot UIMiranda Kephart2022-10-241-1/+7
| |/ | | | | | | | | | | | | | | | | | | Flag: SCREENSHOT_WORK_PROFILE_POLICY Bug: 254245249 Test: visual change only; badge appears when screenshot is taken on a work profile app with the SCREENSHOT_WORK_PROFILE_POLICY flag on Change-Id: I37f89d3dc78f7937a6725d3a8fd2fdc579ec6cbd
| * Merge "Fix share/edit actions for work profile." into tm-qpr-devMatt Casey2022-10-171-3/+7
| |\
| | * Fix share/edit actions for work profile.Matt Casey2022-10-141-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to be able to proxy the permissions to read/write the screenshot when editing/sharing, the intents must be launched from a service running *as* the work profile user (if the screenshot is work profile). That is done with ScreenshotProxyService. In order to untangle action execution to accomodate this, I created ActionIntentExecutor, which does the following: 1. Dismisses the keyguard 2. Launches the intent (either directly if it's the main user, or delegating to the cross profile service if it's not) 3. Override some transition logic for shared element. This flow is used whenever the work profile flag is set (it works for either profile, but is required for work profile). Once we switch to this model, we can drop a lot of the SaveImageInBackgroundTask action code, drop ActionProxyReceiver entirely, etc. Extracted intent creation to its own class so it could be tested. All behavior changes covered by currently-off flags. Known issues: 1. This doesn't fix smart actions 2. If you do an action on the lock screen, the bouncer doesn't come up in the new implementation. I verified that the same call is being made and it's even getting to the bouncer's show() call but haven't figured out what's wrong here yet. Bug: 231957192 Test: manual sharing and editing screenshtos of wp and non-wp apps. Change-Id: Id2b423c22d209fc73f796ed6ba6e3d153e0f638e
| * | Merge "Fix screenshot swipe dismiss logs" into tm-qpr-devMiranda Kephart2022-10-141-15/+9
| |\ \ | | |/ | |/|
| | * Fix screenshot swipe dismiss logsMiranda Kephart2022-10-121-15/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we log a "swipe dismiss" event whenever we animate to the side, even if it wasn't caused by a swipe -- e.g. if the UI times out, we log both a "timeout" and a "swipe dismiss" event. This change fixes the logging logic so that we only log swipe dismiss if it was caused by a swipe/fling, as well as adding a couple of missing dismissal logs in edge cases. Bug: 252823661 Test: atest DraggableConstraintLayoutTest Change-Id: I437de637e606f4d2fe806ca6dd6a397b4ca372c6
| * | Merge "Remove partial screenshot code" into tm-qpr-devMiranda Kephart2022-10-111-18/+0
| |\ \
| | * | Remove partial screenshot codeMiranda Kephart2022-09-271-18/+0
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's broken currently, is extremely difficult to access, and will need to be heavily rewritten/refactored anyway if we decide to bring it back. Fix: 249325548 Test: adb shell input keycombination -t 300 META_LEFT CTRL_LEFT SHIFT_LEFT S (now takes a regular screenshot) Change-Id: I2cde564f6369b88bd4c6b20a9eecf8172fae7e7a
| * / Work profile screenshots: save to ownerMark Renouf2022-10-041-15/+38
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a work profile screenshot is taken, propagate the owner UserHandle through to the Image export step. This change will write the image to the correct user profile and generate a URI with the userId embedded within using the form: content://10@media/external/images/media/000001.png Since URIs are user-specific, but not unique among users the userId prefix will carry this information through to downstream consumers. The ID can easily be retrieved from the URI using: int userId = ContentProvider.getUserIdFromUri(uri) If there is no userId within the URI, the return value will be the same as Process.myUserHandle(), the user of the current process. Because of this, an explicit UserHandle may not be needed if this information is conveyed entirely within the URI (it is included in this CL as-is). All behavior changes arising from these changes are currently gated on the SysUi flags: SCREENSHOT_REQUEST_PROCESSOR SCREENSHOT_WORK_PROFILE_POLICY This change does not include support for long screenshots nor fixes for screenshot actions (share, edit, etc). Bug: 159422805 Test: atest ImageExporterTest Change-Id: I641544f6a1b4685c743e7983d0af156e32796f56
* | Screenshot: Unregister task listener on destroyOnlyTomInSecond2022-12-161-0/+1
| | | | | | | | | | | | This prevents submitting tasks after the threadloop has been shutdown. Change-Id: Id899ddc9476d045c78c4e85bfac7e7a9b29cee6d
* | Merge tag 'android-13.0.0_r16' into t13.0George Zacharia2022-12-151-43/+30
|\| | | | | | | | | | | | | | | | | | | | | Android 13.0.0 Release 16 (TQ1A.221205.011) Also included the following reverts: 1. Revert "fw/b: Import Wi-Fi standard icon [1/2]" 2. Revert "Add preference for toggling the wallpaper zooming animation" Co-authored-by: Semavi Ulusoy <doc.divxm@gmail.com> Change-Id: I9a6b51e452c28d10411712c59778bb54da5783e9
| * Always reset screenshot preview to alpha=1Miranda Kephart2022-09-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's possible for the screenshot process to not get shut down as soon as the UI disappears. If this occurs after a shared transition (which sets the preview to alpha=0 to hide it as part of the transition), the preview gets stuck at alpha=0 and isn't visible. Always resetting the screenshot view and setting alpha=1 guarantees that regardless of the state of the screenshot process, we always start from a clean slate. Bug: 242862442 Test: forced the screenshot process to stay up by never running the finish callback in ScreenshotHelper, verified that we get the invisible-preview behavior and that it's fixed with this change Change-Id: I9b795928cba93f8cef19244105db2c7f31c0973b
| * Extracts image acquisition to a separate classMark Renouf2022-08-021-31/+5
| | | | | | | | | | | | | | | | | | | | | | This is moved to a separate class for to avoid code duplication and improve testability by providing the ability to unit test in isolation from SurfaceFlinger and without an active physical display. Bug: 231957192 Test: atest ImageCaptureImplTest Change-Id: Ie8d9dc1a2325856c09ab023099488f799d065a19
| * Catch failure to set screenshot soundMiranda Kephart2022-07-251-8/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some cases, MediaPlayer.create fails and propagates up an IllegalStateException, which causes the screenshot process to crash. Catch this error (and just don't play the screenshot sound if it fails to load). Bug: 239236526 Fix: 239236526 Test: forced the setDataSource to throw an IOException (which is silently swallowed by MediaPlayer; see bug; and then thrown as an IllegalStateException since the data source was never actually set) Change-Id: I7ae6ae4cc69b8e3eccfbb7df7558787e50db755f
| * Remove #createScreenshotNotificationSmartActionsProvider from SystemUIFactoryDave Mankoff2022-07-121-2/+8
| | | | | | | | | | | | | | Bug: 235624311 Test: atest SystemUITests Change-Id: I78ef7481ac3be5929c1c2716576c3920ac659d92 Merged-In: I78ef7481ac3be5929c1c2716576c3920ac659d92
| * Pass keyguard occluded status in onAnimationCancelled.Issei Suzuki2022-06-251-1/+1
| | | | | | | | | | | | | | Test: No visible changes yet. Pass existing tests. Bug: 235463625 Change-Id: Iabee71bc76e19f20702f8a2739f565aa915f9b52 Merged-In: Iabee71bc76e19f20702f8a2739f565aa915f9b52
* | SystemUI: Allow disabling screenshot shutter sound [1/2]Adithya R2022-11-021-0/+6
| | | | | | | | | | | | ** AICP edits: add settings backup validators Change-Id: If653666f4bf6ab6600943c0b27d6dc4dab6461ca