After moving application info and dismiss actions into custom actions
this will remove the talkback options by removing their labels.
Test: listened to options with talkback
Fixes: 29360763
Change-Id: Ia2cc788b22d1fcede58cb43cdbfe23c055604105
The getService() and registerAsService() methods of interface objects
now have default parameters of "default" for the service name. HALs
will not have to use any service name unless they want to register
more than one service.
Test: builds
Bug: 33844934
Change-Id: Id22d27d7e401de426b1a236067c1b4c7f6c99a3e
mDevicePolicyManager field can be null if getDevicePolicyManager()
is never called. A previous refactor removed an apparent unused call
to getDevicePolicyManager(), leading to NPE when mDevicePolicyManager
is accessed. We should always use getDevicePolicyManager() to access
DevicePolicyManager instance.
Test: manual
Bug: 34612758
Change-Id: Ic964b4ee4e3c56301295b8f0629bd005c732c5c4
This is a preparation CL for Bug 32343335.
This CL basically addresses the concern raised in a previous CL [1]
that added several synchnonized blocks in the constructor of
InputMethodManagerService (IMMS).
After hours of code reading and investigation, it is concluded to be
safe IMMS to behave as if there was no IME available until
SystemService.PHASE_ACTIVITY_MANAGER_READY phase. This allows IMMS to
register callbacks not in the constructor but in the later phase to
addresses the concern that object references to IMMS could be leaked
into different threads before IMMS object is properly constructed.
As far as performance is concerned, basically the amount of tasks
to be done in the main thread remains same, or could be reduced a bit
if some unnecessary callback events were skipped. To confirm this, we
can check the total number of the following performance metrics.
- StartInputMethodManagerLifecycle
- StartActivityManagerReadyPhase
[1]: I9d4d3d7232c984432185c10c13fb726a6158cac8
8f202f82fd86a3b40bc5e7d62779eddff21096b1
Bug: 32343335
Test: Manual: pre-installed IME on Direct-Boot disabled device
Test: Manual: pre-installed IME on Direct-Boot enabled device
Test: Manual: user-installed IME on Direct-Boot enabled device
Test: Manual: user-installed IME on Direct-Boot disabled device
Test: Manual: user switching scenario on Direct-Boot enabled device
Test: Manual: user switching scenario on Direct-Boot disabled device
Test: Manual: device unlocking scenario on Direct-Boot enabled device
Change-Id: I5b37c450db4b25b3e635b6d634293a34eec8b9d4
Bug: 33460152
Test: ViewShowHidePerfTests
Switches non-drawing @FastNative methods to @CriticalNative, except
where out arguments prevent it.
Performance in ViewShowHidePerfTests not significantly impacted.
Change-Id: I3edc963accb4f87f73d175c7b2534868602a7db3
The old package manager implementation was guarding for
shared libs to not match any package name but due to a
bug this was not enfroced and as a result we have apps
where the package and lib match, e.g. GCore. The new
static shared lib support properly enforced the rule
breaking apps. So, this CL relexes the constraint.
Test: CTS test in the topic passes
bug:34598313
Change-Id: I15d22fd1c3a44a27c4b9b8379de3992ae553dd05
No longer need to look up the application info, target SDK is
explicitly passed in to the check. For the external method, we
change this to just checked to see if background is completely
disabled, which doesn't need a target SDK check (and is the only
thing any of the current clients care about).
Now allow SystemUI to put targets of notification pending intents
on the temporary whitelist when they fire, so developers can avoid
dealing with background restrictions in this case (if the user
interacts with their notification, they will temporarily be
considered in the foreground).
Remove any thoughts of enforing restrictions on registerReceiver(),
so we don't need to deal with target SDK versions there (which can't
be done all that efficiently).
Also bring back the old "allow starts coming from foreground apps"
only for the MODE_IGNORE app op, since it should provide some
better compatibility.
Test: ran them.
Change-Id: Id4ea7f992d12ce4bd8e54f1dbaeb4a460a3dee59
Adds a regression test for NPEs around executeRunnableDismissingKeyguard when
a null runnable is passed.
The bug was fixed in I89477a8a0067e285e5d0122e918fac45274c57ad.
Fixes: 33489225
Test: runtest systemui
Change-Id: Ia8981bc4c2a1a0f6d8c48e6d66e2af801d6cddac
Use a new system for constructing fragments so they can be swapped
out in place maintaining state. This will allow easier integration
with plugin lifecycle as parents who have child plugin fragments
can depend on the class existing and won't have to listen to
the lifecycle.
Test: runtest systemui
Change-Id: I517f4ce3d114abd49b1b5baca388d19e929b8f90
Fixes isDeviceSecure and isDeviceLocked APIs to use
the user id of the app that executes the code rather
than that of any incoming binder call.
Change-Id: Ib7772b60c35a3ebf96830f9b013c539021e1f063
Fixes: 34592592
Test: manual
Induce a normal VM crash via adb, because it's quite different from the
effects of 'am kill'.
Test: induced crashes via adb shell using both pid & pkg
Change-Id: I79654afa7c4a70364cfd7d3af3e80a7b0e59b882