StatusBarWindowView is the root of the StatusBar window
and handles all key events at dispatchKeyEvent
All keys dispatched to the StatusBar window flow through
StatusBarWindowView#dispatchKeyEvent. A BACK key event
is forwarded to StatusBar.onBackPressed()
If StatusBar#canPanelBeCollapsed() is false, the action is
passed to BubbleController which forwards to the expanded
bubble by calling to ActivityView#performBackPress().
Bug: 123631742
Test: manual, go/bubbles-app
Change-Id: I0ccafc02f876c973ebc267055162621109b2dcc0
In this configuration the tests will only be triggered by changes
to services/devicepolicy/** and core/java/android/app/admin/**, so
we won't be able to catch breakages coming from the rest of the tree
with a single CL precision. But let's see which parts are causing
the most breakages and add them later.
Bug: 124653467
Test: atest --test-mapping core/java/android/app/admin:postsubmit
Test: atest --test-mapping services/devicepolicy:postsubmit
Change-Id: I58f87fff4b5b5e3e4fb8a333dd6ac4dd4100b587
InputForwarder was used by ActivityView. InputForwarder is not used by
anyone now.
Bug: 120675821
Test: Manual test with ActivityViewTest
Test: atest CtsActivityManagerDeviceTestCases:ActivityViewTest
Change-Id: I6bd2338c921e6dfb1dfe357decb878d558df8bfd
AMS.broadcastIntentLocked() and make permission checks on them
Due to cleared identity at calling sites, we were using wrong
identity to carry out permission checks for BroadcastOptions.
Test: manual (log uids/pids with logcat, and see they're correct)
Bug: 124539196
Change-Id: Ieabb14220cadd25f4ed5fbc3b0ac028fc53d47de
In permission checker we used to check the permission for the passed in
uid but the opp-op for the Binder.getCallingUid. In the case the calling
identity was cleared, PermissionChecker ended up checking the app-op of the
current process (often the system server).
Now we check the uid for both the permission and the app-op.
Test: Called PermissionChecker.checkPermission with the calling indentity
cleared.
Fixes: 124116218
Change-Id: Ic0b766f6c75bba1b9dae3e91c6adce85a76ae68f
bug: 124526105
Test: After switching to a secondary user: cts-tradefed run cts-dev -m CtsAppTestCases -t android.app.cts.ActivityKeyboardShortcutsTest#testRequestShowKeyboardShortcuts
Change-Id: I033a3bd0f6df7ca939b3aa7c081a6dbf45f1d63f
It is possible for an activity's task root to be reported as null to
UsageStats during a destry. Use past known data to populate the fields.
Change-Id: Id20c809580e854ca9075444957bd10a338087e3d
Fixes: 123404490
Test: atest cts/tests/tests/app.usage/src/android/app/usage/cts/UsageStatsTest.java#testSuddenDestroy
For methods Service.startForeground(int, Notification, int).
Also add IntDef annotation on return value of
ServiceInfo.getForegroundServiceType().
Change-Id: I3f0df5ff44dfb1b0cf2150d6e40d39ac0cd2b2b5
Fix: 124331268
Test: NA.
Adds an isAttachedToWindow() check to updateLocation() and
cleanTapExcludeRegion() which both require a reference to a Window.
Bug: 112574121
Change-Id: I71f184d74eb88d79effaeb3340ce5362155ed0fb
NetworkStack is only used in services.net or clients of services.net. It
cannot stay in framework.jar because it needs to depend on AIDL
interfaces, which would conflict with app implementations if they were
in framework.jar.
(cherry-pick of aosp/905233 with trivial conflicts in SystemServer.java)
Test: atest FrameworksNetTests NetworkStackTests
Bug: 124033493
Change-Id: I501b125a388c1100c2182bde4670944c2f0d7a02
- Use the overlay directories specified in the ApplicationInfo retrieved
from PackageManager. The resources directories cached in LoadedApk in
ActvityThread may contain stale values for remote applications.
- Clear StatusBarNotification#mContext when overlays change to ensure
that the Resources for remote Contexts are not stale. These Contexts
will be recreated in the subsequent AsyncInflationTask.
Bug: 120987987
Test: mp core sysuig; change theme using theme picker
Change-Id: I100d164facdd4208610ee6409dd3868d6f304712
The DISABLE_* flags fall into two namespaces, helpfully named DISABLE_*
and DISABLE2_*. Seeing as that's kind of domain specific and not clear
enough, this change adds StatusBarManager#DisableInfo as a way to
describe which components an app has requested to be disabled.
It could also be used to remove the need for diasble() and disable2() in
the future.
Test: atest GtsStatusBarHostTestCases
Bug: 123430822
Change-Id: Iecd5119e01fbabf113b5cfbe8f02f8f0d990e9fb
If included in framework.jar, the interfaces conflict with any app that
needs to depend on them, including the NetworkStack.
(cherry-pick of aosp/903220 with trivial conflict in Android.bp)
Bug: 124033493
Test: atest FrameworksNetTests NetworkStackTests
Change-Id: I0ecae20d514bf888f3a80331f19369ceb1c52aa3
When ANGLE is enabled for an app, show a dialog box to the user to
indicate that ANGLE is in use. This is useful because there are
not (or at least shouldn't be) any visual indication that a different
OpenGL driver is in use.
Bug: 120489005
Test: atest CtsAngleIntegrationHostTestCases
Test: Load an app with ANGLE enabled and verify dialog box is shown.
Test: Load an app without ANGLE and verify dialog box is not shown.
Change-Id: I5e87ec96582d43666cfcca2266b46ce98b859a32
Bug: 123702996
Test: Manual test. After moving libicuuc.so into the apex path,
call System.loadLibrary("icuuc") in test app
Test: CtsJniTestCases pass after moving libicuuc into apex and applied
CTS patch here. http://r.android.com/898053
Change-Id: Ic9049c1595b4ea029ec65649c3f3283672744569
When user touch home key and moved activity to pinned stack, Nexus
launcher also calls setShelfHeight to adjust pinned bounds, and then the
PinnedStackController sends the animation bounds to system ui to update
it to current bounds.
However, if system ui receives this bounds before system server process
configuration changes(such as rotation), the bounds sent to system ui will
become obsolete. Then system ui will call
ActivityTaskManager#resizeStack to overwrite the correct bounds with
the obsolete one.
In this case, what system ui want to do is adjust the PIP position with
an offset, so sending an offset is sufficient instead of sending a new
bounds to system server.
Fix: 122058651
Test: Manual test the pinned stack can be adjust with show/hide IME and shelf.
Test: atest ActivityManagerPinnedStackTests ActivityManagerAppConfigurationTests
Change-Id: I5e9271812c00b8e1d45af7a774b99b780102ad23
Creates a hidden api to register puller callbacks for vendor atoms.
Test: manual local test
Test: statsd unit tests
Bug: 119898637
Change-Id: Id28817b8fc718e128adc4e1c6b2e997db84517f9
To support Android Auto, make UiModeManager.setNightMode transient when the device is in car mode. The manager will update the current visible night mode, but will not persist the setting. When exiting car mode, night mode is restored from the previous persisted setting.
If the user explicitly toggles night mode from settings, it will flip the visible mode and persisted setting, ignoring the transient behavior. This is handled in ag/6191550.
Bug: 117346726
Test: manual test app
Test: atest UiModeManagerTest CTS test in ag/6190842
Change-Id: I795f9b64a4d00bd3ecf47787e11aeb9331a64643
Clarify the errorMessage Javadoc and rename InstallUpdateCallback.
Bug: 123697817
Test: Not applicable
Change-Id: I257b6353310e56bf1877a6f97bf1977ef5962af9