summaryrefslogtreecommitdiff
path: root/core/java/android/app/StatusBarManager.java
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'android-13.0.0_r35' of ↵George Zacharia2023-04-031-2/+23
|\ | | | | | | | | | | | | | | https://android.googlesource.com/platform/frameworks/base into t13.0 Android 13.0.0 release 35 Change-Id: I709958b2f015d1774b2ece25894467c3a279f93c
| * [Media TTT] Add @SystemApis for new states of receiver devicesMichael Mikhail2022-12-131-0/+16
| | | | | | | | | | | | | | | | | | Adds two new states that indicates if the transfer for receiver is succeeded or failed. (ag/16730985) is a good reference. Bug: 257301489 Test: atest MediaTttChipControllerReceiverTest Change-Id: Ifb1d04c445235fde432b7fd3495114e61c41fd74
| * Start a new keyguard session on device sleepBeverly2022-12-071-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One nuance of this is that a new keyguard session will start if the user is on the lock screen and then double presses the power button to launch camera due to the following sequence of events: [0ms] user is on the lock screen in KG session #1 [1ms] first power button press => device starts to go to sleep, so new keyguard session begins KG session #2 [2ms] second power button press => camera is launched, screen stays on instead of finishing going to sleep Test: enable SessionTracker logs, see start and end boundaries of Keyguard is update to include a new session when the device goes to sleep Test: atest SessionTrackerTest Bug: 242628816 Change-Id: I40bdf7f746b7086bc9683f816e00913cd0fd49bf
| * Add additional Camera Launch Source to StatusBarManager to not conflict with ↵Brad Hinegardner2022-11-151-0/+2
| | | | | | | | | | | | | | | | camera double tap gesture source Bug: 254333599 Test: New Unit test, verified manually via toggling flag and activating camera quick affordance Change-Id: I3390a5baabc20a194198b8b81481aee9debde8ba
* | SystemUI: handle camera launch gesture from keyhandlerRoman Birg2022-09-121-0/+2
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Author: Roman Birg <roman@cyngn.com> Date: Thu Feb 4 16:28:00 2016 -0800 framework: move device key handler logic, fix gesture camera launch In order to make device camera gestures behave the same way as launching the camera by double tapping the power button, route DeviceKeyHandler logic through the GestureLauncherService. A callback is used in order to avoid publishing the GestureLauncherService into the System service registry, because the KeyHandler code cannot directly access services local to the system process. OPO-427 Change-Id: I2a8860b278f65ccf31bfee151513d8a23ab746c5 Author: Roman Birg <roman@cyngn.com> Date: Sat Feb 13 09:08:21 2016 -0800 KeyHandler: don't break old interfaces Causing bootloops on devices, don't break old interfaces in the framework. OPO-427 Change-Id: I49473b057bc4ed4710e9092c76e41c6a8134d2de Author: Roman Birg <roman@cyngn.com> Date: Tue Feb 16 17:22:01 2016 -0800 SystemUI: handle camera launch gesture from keyhadler Includes partial reverts: Revert "KeyHandler: don't break old interfaces" This reverts commit 31ecbdc5fcc1263e9028107858565d951798fd93. Revert "framework: move device key handler logic, fix gesture camera launch" This reverts commit db1b4e6e4880be1828342be9bc468d36565a2ef0. Ref: OPO-427 Change-Id: Ic15543a8f63ad4521ab0ab536d00224b0bd70f8c Author: Michael Bestas <mikeioannina@cyanogenmod.org> Date: Sat Feb 20 00:56:47 2016 +0200 SystemUI: Don't vibrate on touchscreen camera gesture * This is usually handled in device-specific keyhandler, where vibration is optional and has the same duration in all gestures Change-Id: I879671c9d6f785137d63b8b70de35f5d5020748d Change-Id: Iba9211b7d342f618c4082c34d11663d89861607a (cherry picked from commit b48ec290d5c734950b2ccfd56247fac72ea76331) * @jhonboy121: adapt to 12L Change-Id: Ief8be8b943006cefebe07fde5bf7e527e00e23d5 Change-Id: I9ce2147ece5d328d2c29b6516e6ba6e8755fe156
* Revert^2 "Use compat framework to gate session actions"Beth Thibodeau2022-03-161-0/+40
| | | | | | | | | | | | | | This adds ag/17208491 (check compat change with UserHandle) to the original change da972b8c711698476b82665703bec53dce19d3cd Bug: 220034304 Test: manual Test: make tradefed-all javac-check -j64 RUN_ERROR_PRONE=true Test: atest PlatformScenarioTests:android.platform.test.scenario.sysui.media.QSMediaPlayerContent Change-Id: Ibaec0c9a0443fd3b0f2c5fae7c74b2110371b425
* Revert "Use compat framework to gate session actions"Miguel Aranda2022-03-161-39/+0
| | | | | | | | | | | | | | Revert "Update media flag descriptions" Revert submission 17161599-b220034304-media-compat Reason for revert: This seems to cause the break in b/224895002 BUG: 224895002 Reverted Changes: Ifeecb4e13:Update media flag descriptions Ie032fe9ec:Use compat framework to gate session actions Change-Id: I8b309a69282f41b4a45bd82bd3dcc9f85751da7e
* Use compat framework to gate session actionsBeth Thibodeau2022-03-141-0/+39
| | | | | | | | | | | | | | | Adds CompatChange to check if an app posting media controls targets T, and if so, that app's controls will use PlaybackState actions. Otherwise, the notification actions will be used. The MEDIA_SESSION_ACTIONS flag is set to false by default, and can be used to override this and use session actions for all apps. Fixes: 220034304 Test: atest com.android.systemui.media Test: manual - verify in developer settings, override behavior works Change-Id: Ie032fe9ec8ce7d46b1f9dc8f590ed6fbfa7ee9aa
* CompatChange to use hidden API in TileServiceFabian Kozynski2022-03-101-0/+18
| | | | | | | | | | | | | | | This adds a new hidden API in StatusBarManager for active TileService#requestListeningState. That way, we can verify that the calling package is the same as the one belonging to the tile. This is enforced using CompatChange for apps that target T+. Test: atest StatusBarManagerServiceTest Test: atest TileServicesTest Test: atest CtsSystemUiHostTestCases Test: sample app targetting T Fixes: 172251878 Change-Id: Ic9b8aca55dcfc2b32b018a5308f19e49a933c4c9
* Refactor force visible nav bar into new secure setting.Pat Manning2022-02-241-1/+1
| | | | | | | | Decouples force visible from kids mode setting. Bug: 217668440 Test: manual Change-Id: I363a2507cd1b073f44ed91e96b1dce7b3cd347c4
* Removing 'override' from nav bar mode APIs.Pat Manning2022-02-231-21/+19
| | | | | | Bug: 217668440 Test: StatusBarManagerTest.java, StatusBarManagerServiceTest.java Change-Id: I1c5fa5f5d564a78e3abaf1457a105d5e8c6402b9
* Merge "[Nearby Media Devices] Add a SystemApi to get information about ↵Caitlin Cassidy2022-02-141-0/+122
|\ | | | | | | nearby media devices from external clients."
| * [Nearby Media Devices] Add a SystemApi to get information about nearbyCaitlin Cassidy2022-02-111-0/+122
| | | | | | | | | | | | | | | | | | media devices from external clients. Bug: 216313420 Test: CTS included in same topic Test: atest NearbyMediaDevicesManagerTest Change-Id: Ic5f26d3048a3475dbd232c913bb00bee46339b0a
* | Merge "Revert "Revert "Change invalid input exception to ↵Pat Manning2022-02-111-1/+1
|\ \ | |/ |/| | | IllegalArgumentException."""
| * Revert "Revert "Change invalid input exception to IllegalArgumentException.""Pat Manning2022-02-111-1/+1
| | | | | | | | | | | | | | | | This reverts commit d119788b19d9ac398cba16e03bf443e1d4afe80a. Reason for revert: Fixing CTS test and resubmitting Change-Id: I66c9e78a9801deee41088a8c842604a213b4f8bd
* | Merge "Revert "Change invalid input exception to IllegalArgumentException.""Kun Niu2022-02-111-1/+1
|\|
| * Revert "Change invalid input exception to IllegalArgumentException."Kun Niu2022-02-101-1/+1
| | | | | | | | | | | | | | | | This reverts commit b03e3579809185cbbdb051960e5fdad499ef3f5a. Reason for revert: breaking master cf_x86_64_phone-userdebug build Change-Id: Id4b017b95783daaa7f399271f8dfb748f14cbb42
* | Merge "[Media TTT] Add app icon and name to the receiver SystemApi."Caitlin Cassidy2022-02-101-2/+6
|\ \
| * | [Media TTT] Add app icon and name to the receiver SystemApi.Caitlin Cassidy2022-02-091-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We typically get the app icon and name using `context.packageManager.getApplicationIcon(mediaRoute2Info.packageName)`. However, this may not work on the receiver device if the receiver doesn't have the app installed. The API will allow the caller to provide the app icon and name directly so that we can ensure the chip on the receiver device is displaying the necessary app information. Bug: 216318437 Bug: 217418566 Test: atest MediaTttChipControllerReceiverTest Test: CTS tests updated in different CL in same topic Change-Id: Ib5150355a08ae389b218500b235b4bd9c686f919
* | | Merge "Change invalid input exception to IllegalArgumentException."Pat Manning2022-02-101-1/+1
|\ \ \ | |/ / |/| / | |/
| * Change invalid input exception to IllegalArgumentException.Pat Manning2022-02-091-1/+1
| | | | | | | | | | | | Test: manual Bug: 203749295 Change-Id: I826769d02aa76ab5f0bb9889052ca2ca59d73219
* | Have both NAVIGATION_HINT_IME{,_SWITCHER}_SHOWNYohei Yukawa2022-02-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a mechanical renaming CL with no behavior change. Somehow NAVIGATION_HINT_IME_SHOWN was set when the IME switcher needs to be shown, not when the IME is shown. This CL aims to avoid future confusions by also introducing NAVIGATION_HINT_IME_SWITCHER_SHOWN then setting NAVIGATION_HINT_IME_SHOWN when the IME is actually shown. This CL also updates NavigationBarTest to verify those flags. Bug: 192412909 Bug: 217755059 Test: atest SystemUITests:NavigationBarTest Change-Id: I8bdd58d040689953072c7f384ece2bca677265e1
* | [Media TTT] Add @SystemApis for all the media transfer callbacks.Caitlin Cassidy2022-02-021-0/+263
|/ | | | | | | | | | This migrates the media transfer from just a service to a full-fledged @SystemApi. Some of the testing infrastructure has not yet been migrated to keep this CL slightly smaller. Bug: 216318437 Test: systemui media.taptotransfer tests *still need to be updated* Change-Id: Idf1f72de1343020668e158d74051c1dfb970cfcd
* Add interface for services to share SessionIdsBeverly2022-01-251-0/+29
| | | | | | | | | | | | | | - adds ability to start/end sessions via StatusBarService's SessionMonitor - adds ability to register/unregister for session listeners via StatusBarService's SessionMonitor - adds logic for SystemUI to start/end Keyguard and BiometricPrompt sessions in SessionTracker Test: atest AuthControllerTest SessionTrackerTest Bug: 213483562 Change-Id: I50ea003baae4fb89e311fa442fd52397e03e514c
* Create API to set taskbar to kids mode.Pat Manning2022-01-051-0/+73
| | | | | | | | | - Disables recents in taskbar. - Changes back and home icons and centers them in the taskbar. Test: manual Bug: 203749295 Change-Id: I9aa2a213728549509da4cf7f50abceb690ba31cf
* Enables the rotation suggestion button during setup wizardChristian Göllner2021-12-131-4/+21
| | | | | | | Fixes: 204945507 Bug: 204945507 Test: StatusBarManagerTest in a separate CL + Manually Change-Id: If73caa69b8f923b01e60472a33ba034c2f682075
* Auto-deny requests after some user denialsFabian Kozynski2021-12-071-0/+3
| | | | | | | | | | | | | | | | | | After the user denies the request to add a tile (a particular ComponentName) a certain number of times, auto deny further requests for that user,component pair. Cancelling the dialog (by going back/click outside) don't count against. This information is reset when the package is uninstalled or data is cleared for the package. In the future, this information will be persisted across restarts. Fixes: 208671346 Test: manual Test: atest com.android.server.statusbar Change-Id: I1828d1d3e462fc9b4af94c4350df895994d02b6c
* Restrict packages to a single concurrent requestFabian Kozynski2021-10-141-0/+15
| | | | | | | | | | | A package cannot request more than one tile to be added at a given time. They must wait until the user has responded to their last request (or let some time pass). Test: CTS test Bug: 197534249 Change-Id: I7aabd522a600b026bfe0bff59391a4f78f90e78e
* Add extra security checks for TileService APIFabian Kozynski2021-10-051-3/+11
| | | | | | | | | | | | When requesting a tile to be added, the TileService should be exported. Also, the requesting application should be in the foreground, so the user cannot get unexpected requests. Test: CTS tests Test: manual Fixes: 199770909 Change-Id: I2e131bf2fd3de91767e7604768bc0141ef3cd427
* Make API one-wayFabian Kozynski2021-10-051-33/+30
| | | | | | | | | Convert the return values to values that will be returned through the callback. Separate the ranges by SUCCESS of the request or ERROR. Test: CTS tests Fixes: 199829900 Change-Id: If32083e52ed87a79953c952bbaadd8d977e0226c
* Merge "[Disable Flags] Move disable flag logging to a helper class and use ↵Caitlin Cassidy2021-09-141-1/+2
|\ | | | | | | | | | | | | | | it for StatusBar." into sc-v2-dev am: 3eac9fde24 am: eb38acaa10 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15686518 Change-Id: I98aa129a032bd3efc61d8fb3e6646a2fb725ba6f
| * [Disable Flags] Move disable flag logging to a helper classCaitlin Cassidy2021-09-091-1/+2
| | | | | | | | | | | | | | | | | | | | and use it for StatusBar. Future CLs will utilize the logging methods in other classes. Test: atest (+new tests) and manual Bug: 197851207 Change-Id: I7936d4a42c7d361d6ccfc6ee2b1f9a7ae74f96c3
* | Add API for requesting add TileServiceFabian Kozynski2021-09-011-0/+155
|/ | | | | | | | | | | | | | This CL adds the API to StatusBarManager, as well as the constants. It also wires things into SystemUI so the API actually works as intended. TODO: * Rate limit requests (b/197534249) Fixes: 197207978 Test: manual using test app Test: atest SystemUITests Change-Id: I2a9d18535fde1d77e9d6792bd45002ce04b49dab
* Require proper permission for togglePanel()/handleSystemKey()Bernardo Rufino2021-07-071-0/+36
| | | | | | | | | | | | | | | | | | | | | In S, we're preventing apps from closing notification shade unless they fall into certain exemptions. The methods togglePanel() and handleSystemKey() weren't properly protected, so fixing that. These methods were @hide, only available in the AIDL and their only usages were inside the system Introducing @TestApis to be able to verify this in CTS. Bug: 192946152 Test: atest -d CtsAppTestCases:android.app.cts.StatusBarManagerTest Test: atest -d CtsLegacyNotification30TestCases:android.app.notification.legacy30.cts.StatusBarManagerApi30Test Test: 1. adb shell input keyevent KEYCODE_SYSTEM_NAVIGATION_DOWN 2. Verify status bar expands 3. adb shell input keyevent KEYCODE_SYSTEM_NAVIGATION_UP 4. Verify status bar collapses Change-Id: I925e3570c8d275a1159e4b6912e4628c9528cb61
* [Ongoing Call Chip] Don't show the chip on lockscreen.Caitlin Cassidy2021-04-221-2/+6
| | | | | | | | | | | | | | | Also moves the #initNotificationIconArea call to be within CollapsedStatusBarFragment, rather than requiring StatusBar to call it. This makes our unit tests better because now we don't need to call it manually. Also fix a bug in #onDozingChanged that was passing disabled1 in for disabled2. Test: atest and manual Bug: 183229367 Fixes: 185897059 Change-Id: I0a65f9e90e66680f0b602b89f89ec0a4900e9df8
* Remove collapsePanels() publicAlternativesBernardo Rufino2021-03-161-2/+4
| | | | | | | | | | | | | | | | | | | Back when we added Intent.ACSD to publicAlternatives of collapsePanels() in ag/13035420, we didn't have the complete picture of which use-cases the Intent.ACSD would remain valid for and I thought there might still be 3p valid use-cases. Turns out cinek@ was right in that CL. After finished implementation, there are not 3p valid use-cases for Intent.ACSD anymore - this is explained in detail in ag/13331897 but TL;DR; for security reasons we're deprecating the intent and in S the platform will automatically be responsible for collapsing the shade where applicable. So, the result is that there are no public alternatives to collapsePanels() anymore and this is on purpose since having this capability lead to abuse. Test: Builds Bug: 159105552 Change-Id: I5ead6f83d19b00a27498a0ef42b6957667964644
* NAS Feedback API ChangeChloris Kuo2021-02-171-0/+18
| | | | | | | | | | Add onNotificationFeedbackReceived API and Notification#hasImage Test: CtsLegacyNotification29TestCases Test: atest com.android.systemui.statusbar.notification Test: atest AssistantFeedbackControllerTest Bug: 177032312 Change-Id: I5e95e7794290ba40c1a1ac0b77d8eb09572f4a01
* Add NAS#onNotificationClicked API and TestAPI for cts testChloris Kuo2021-01-191-0/+23
| | | | | | | Bug: 177032312 Test: atest NotificationListenerServiceTest Test: atest NotificationManagerServiceTest Change-Id: Ia11693c39c184a3c26c099acbc5dc6a3d5e8acd2
* Require signature|privileged STATUS_BAR for collapsePanels()Bernardo Rufino2020-11-121-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | For apps targeting S+. This API was being exploited by malware to prevent the user from accessing critical notifications (go/collapse-status-bar, b/137274359). This API was hidden and never intended to be used by 3p apps, so putting it behind proper permission after targetSdk S. Since it's @UnsupportedAppUsage trying to steer apps to the Intent.ACTION_CLOSE_SYSTEM_DIALOGS (Intent.ACSD), which produces the same effect and has been part of the API surface (as opposed to this one). However, to fix the vulnerability (b/137274359) that intent will be subjected to further restrictions based on privilege (who) and circumstance (what), for more details see go/close-system-dialogs. To lock down the abuse vector, similar restrictions to the ones applied to Intent.ACSD will be applied to collapsePanels() NOT gated on targetSdk, but these will be in future CLs. Test: CTS coming Bug: 173031413 Bug: 159105552 Bug: 137274359 Change-Id: I05f05ff6a2052820a132c2284101480448d18b77
* Add maxTargetSdk restriction to unused APIs.Mathew Inwood2020-10-291-5/+6
| | | | | | | | | | | | | | | | | | | These are APIs that have @UnsupportedAppUsage but for which we don't have any evidence of them currently being used, so should be safe to remove from the unsupported list. This is a resubmit of ag/12929664 with some APIs excluded that caused test failures; see bugs 171886397, 171888296, 171864568. APIs excluded: Landroid/bluetooth/le/ScanRecord;->parseFromBytes([B)Landroid/bluetooth/le/ScanRecord; Landroid/os/Process;->myPpid()I Landroid/os/SharedMemory;->getFd()I Landroid/hardware/input/InputManager;->INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH:I Bug: 170729553 Test: Treehugger Change-Id: I8285daa8530260251ecad6f3f38f98e263629ca7
* Revert "Add maxTargetSdk restriction to unused APIs."Hongwei Wang2020-10-281-6/+5
| | | | | | | | | This reverts commit 72f07d6a8a32db4a0dedd7682a0b3385be2b9cd6. Reason for revert: Droidcop-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?testMethod=testAppZygotePreload&testClass=android.app.cts.ServiceTest&atpConfigName=suite%2Ftest-mapping-presubmit-retry_cloud-tf&testModule=CtsAppTestCases&fkbb=6936597&lkbb=6936969&lkgb=6936551&testResults=true&branch=git_master&target=cf_x86_phone-userdebug>, bug b/171886397 Bug: 171886397 Change-Id: Ibe0f0430a3451477c1ee8ef56a596e91ea1e7672
* Add maxTargetSdk restriction to unused APIs.Mathew Inwood2020-10-271-5/+6
| | | | | | | | | | These are APIs that have @UnsupportedAppUsage but for which we don't have any evidence of them currently being used, so should be safe to remove from the unsupported list. Bug: 170729553 Test: Treehugger Change-Id: I4c8fd0006f950de9955242e93968fb0996ceb372
* Remove @TestApi from @SystemApi symbolsAnton Hansson2020-10-201-9/+0
| | | | | | | | | | | | | I ran these commands: cd frameworks/base grep -rl '@TestApi' --include '*.java' | xargs perl -i -p0e \ 's/\@SystemApi[\s\n]+(\@\w+[\s\n]+)?\@TestApi/\@SystemApi\1/gs' grep -rl '@TestApi' --include '*.java' | xargs perl -i -p0e \ 's/\@TestApi[\s\n]+(\@\w+[\s\n]+)?\@SystemApi/\1\@SystemApi/gs' Bug: 171179806 Test: m checkapi Change-Id: I772790b783b0a8730b8bf680c9e569a886b8d789
* Rename StatusBarManager#setDisabledForSimNetworkLockHall Liu2020-09-221-1/+1
| | | | | | | | Rename method to setExpansionDisabledForSimNetworkLock Fix: 169152870 Test: atest StatusBarManagerTest Change-Id: I7a555e6c501a0a5e98127a49bfbfe2c742806160
* Expose StatusBarManager#setDisabledForSimNetworkLockHall Liu2020-09-151-0/+1
| | | | | | | | | Expose method for use by Telephony when it moves over to a mainline module. Fixes: 168647030 Test: atest android.app.cts.StatusBarManagerTest Change-Id: I88807ff0e46acce67f683b71ea8621719e6fe6ac
* Hide setDisabledForSimNetworkLockHall Liu2020-03-121-1/+0
| | | | | | | | | Hide StatusBarManager#setDisabledForSimNetworkLock since it isn't necessary for mainline this cycle. Revisit in S if necessary. Fixes: 151184693 Test: compile Change-Id: Ieb24ebe02433b41699b3ca633e9a1db49711f816
* Merge "Adding additional listeners (onNotificationVisibilityChanged, ↵TreeHugger Robot2020-01-101-0/+2
|\ | | | | | | onPanelHidden, onPanelRevealed) to NotificationAssistantService."
| * Adding additional listeners (onNotificationVisibilityChanged,Alex Mang2020-01-071-0/+2
| | | | | | | | | | | | | | | | onPanelHidden, onPanelRevealed) to NotificationAssistantService. Bug: 147149509 Test: atest NotificationManagerServiceTest#testOnPanelRevealedAndHidden,testStats_updatedOnVisibilityChanged Change-Id: If17070677d01b00d7c3cdda9a0e9d3e8f47f9062
* | Merge "Add setDisabledForSimNetworkLock to StatusBarManager" am: f428f58080 ↵Automerger Merge Worker2020-01-081-0/+29
|\ \ | |/ |/| | | | | | | am: 33d3e85975 am: e219088375 Change-Id: Ie4ede0037ee0c209e31c572c805948a17a83a6e4
| * Add setDisabledForSimNetworkLock to StatusBarManagerHall Liu2020-01-061-0/+29
| | | | | | | | | | | | | | | | | | | | Add a new @SystemApi disable utility method to allow telephony's mainline module to disable the status bar when the device is SIM-locked Bug: 146834818 Bug: 138956541 Test: atest StatusBarManagerTest Change-Id: Id3757fc560c5b70bed553f19b050524a024b4c78