Allow apps to specify whether to show full screen or within detail
panels. Default camers and thermostats to use the panel by default
when the following flag is enabled.
Enable by:
adb shell settings put secure systemui.controls_use_panel 1
Change offset from the top in Px:
adb shell settings put secure systemui.controls_panel_top_offset XXX
Bug: 152528130
Test: manual, use camera, thermostat devices
Change-Id: Ia1b12afcf4de2a0bcf7957e6425b282b1e220f46
If wallpaper is visible and its target window has fixed rotation
transform, wallpaper token will be associated to share the same
transform. So if the target window cancels the transform, the
associated window, i.e. wallpaper should also be restored to the
original configuration.
Fixes: 153420536
Fixes: 153201558
Test: atest WindowTokenTests#testClearFixedRotationTransform
Change-Id: I75fe8bfadf3b681f2dc33df9c6599a9bbc5769ea
- Don't mark notification guts as clickable. Originally they were marked
as clickable so that the guts wouldn't send touches to trigger the
ExpandableNotificationRow's click, NotificationClicker. This caused
talkback to speak "Double-tap to activate" when announcing the
NotificationGuts even though double-tapping would do nothing.
- Instead, added logic in NotificationClicker to ignore clicks that
occur when the guts are exposed.
Test: manual
Fixes: 140398522
Change-Id: I806051ffd43ed27c38e804fdc43e2c2d3522566c
scanPackages was called whenever it receives a broadcast,
which could be duplicated.
This CL adds a boolean variable (mScanPackagesScheduled) not
to scan packages if it is scheduled.
Bug: 153527463
Test: cts test, atest mediarouertest and check
MediaRouteProvider#onBind, #onUnbind are called
when a new provider is installed.
Confirm # of calls is reduced (3 -> 1).
Change-Id: Iaa423b7d1b2b2a97aebed0001b4077bdf95b1d54
1. Data usage should be displayed for different subscription.
2. Data usage could support displaying information for disabled SIM
Bug: 151751844
Test: manual
Change-Id: Ie79e9968989c40c9be00dd3004a6a5a2eb2fa029
It seems that there are several applications that call
InputMethodManager#windowDismissed(IBinder), which was recently
removed [1], then crash due to unhandled NoSuchMethodException
exception.
The most probable hypothesis that explains why these apps ended up
calling this method via reflection is trying to address object leaks
from InputMethodManager, which we have received reports then fixed all
the known issues [2][3][4][5][6]. There are several Internet articles
that claim calling InputMethodManager#windowDismissed(IBinder) can
*fix* such object leaks, which is in fact no longer necessary in
recent versions of Android. However, it seems that some of such apps
didn't gracefully take care of cases where IMM#windowDismissed()
doesn't exist then ended up crashing due to unhandled
NoSuchMethodException.
Note also that AndroidX Activity (androidx.activity.ComponentActivity)
already implements a similar workaround [7] hence app developers no
longer need to work around by themselves.
Anyways, in order to avoid unnecessary crashes from apps that call
IMM#windowDismissed() via reflection, this CL re-introduce it as an
empty method. As their goal is supposed to be clearing internal
fields within InputMethodManager to avoid object leaks, an empty
method is believed to be sufficient.
[1]: Ib455704fe1e9d243f93190a84f230210dbceac2a
970d9d2e0c979cf9a0ff0a79ef49044ed1363d4f
[2]: Iad09cf5dbb7f6f156fd39ed243431432e00f8945
4478de3c02c1fb2f4f888e696ee1b13721e936d9
[3]: Iaf3fe2c065b5bf91e49a729ba46262114bb6da88
b13f015ab519b3e553c03eba971ada89b472fbbc
[4]: I219394178e4172bc47864297f1418e677dba25e5
5f05965f546fa42750f1a8314f8a2da01fd6bfb4
[5]: Id6afc8fc64512225578c62557b96c7dc2e969adf
0f3a99d837048ae82855c2306cd454426393c19f
[6]: I8fabb30f14bcb2cd7019e29b6642b4562d49d248
dff365ef4dc61239fac70953b631e92972a9f41f
[7]: I615e92f0c64b6d668b31f2c83527b7409a7bef6f
b1bf8502e0574a4bfcf450235595372b7cb3778a
Fix: 152261618
Test: manually verified with apps in question
Change-Id: I599896a96267fc60a738eac31be02b770e10dff3
Bug: 153596226
Test: Device boots up and connects to wifi networks.
Test: Manual inspection of classes included in framework-wifi &
service-wifi using dexdump
Change-Id: Ic31cdae62761110eeb4834a588b36328de19adb8
Add logic for dexopt-ing system server dex files. The files
are managed by the DexManager and need special dexopt
arguments.
As such, they have a dedicated dexopt path, that can be
initiated from DexManager. (The arguments are what we currently
use in ZygoteInit#performSystemServerDexOpt)
Test: adb shell cmd package dexopt android
presubmits
Bug: 148774920
Change-Id: If0c0457f8045e8f475815136fb5ae2f340eb6661
when a app call setMode to set mode to non MODE_NORMAL modes many times with different audio managers in the same process, in this case the "pid" parameters are the same and the "cb" parameters are not the same, then the parameter "cb" registered and the "mCb" in hdlr are not the same, then NoSuchElementException will happen, and when the app was cleared in recent tasks the audio mode will not be reseted to MODE_NORMAL by expected flow.
Bug: 153649105
Test: AudioManagerTest#testAccessMode, CallDetailsTest#testSetVoipAudioMode
Test: manual cell and voip call
Signed-off-by: wumin3 <wumin3@xiaomi.com>
Change-Id: Ifb8c66372a8e994edcea628cad7dc2a7ee4763a6
Merged-In: Ifb8c66372a8e994edcea628cad7dc2a7ee4763a6