Sometimes, makeSingleLayout() can be invoked before layout direction is resolved.
When not resolved, it indents in LTR layout although it should be RTL.
So, to guarantee the exact indenting, we should re-build the text layout
when the layout direction is changed.
Test: manual - Test BigTextStyle notifications with LargeIcon under RTL configurations.
Fixes: 31633875
Change-Id: Idc6c5d7d41632cb9e1b70d9c67c13852e3f25023
Fix a bug where ResolverComparator's results were not consistent for
targets that cross profile boundaries.
Bug: 31640894
Change-Id: Ic6bf9512d2c2eb6f8fb7851e18eb9a347db29755
Added a service that listens whether emergency affordances
are necessary.
If the they are needed, it adds an option to the
global actions dialog that directly launches the
emergency call and also adds a long-press listener
to the keyguard emergency button.
Test: adb shell settings put global force_emergency_affordance 1 && adb shell settings put global emergency_affordance_number 111112
Fixes: 30404490
Change-Id: Ib96a15da2ef4b568a8d77140ebca6aa6f20f5ddb
step1: PowerProfile.POWER_WIFI_ACTIVE represents energy consumption(mAh) per hour
devied by 3600, then WIFI_POWER ==> energy consumption(mAh) per second
step2: WIFI_BPS represents 1000000 bit per second
then (double)WIFI_BPS) / 8 ==> 1000000/8 Byte per second
step3: as upload and download, so divided by 2;
then (((double)WIFI_BPS) / 8 / 2048)) ==> 1000000/8/2048 KB per second
==> packet per second (where 1 packet = 2 KB)
so WIFI_POWER / (((double)WIFI_BPS) / 8 / 2048) represents mAh per Packet where 1 packet = 2 K.
when divided by (60*60) again , that make WifiPowerEstimator narrow 3600 times.
Change-Id: Ic055a5145b6dfb1129c8969826329a3024c9e2b6
Signed-off-by: yuanhuihui <yuanhuihui@xiaomi.com>
Sync adapters without an account access cannot run until the
user approves the account access (for the case the account
access is not allowed by other policy such as being singed
with the same cert as the authenticator). If the sync adapter
does not have permission to access the account we ask the
user to grant access and take a note. This CL adds backup
for the explicit user grants.
bug:31162498
Change-Id: I31e3f3d010475352c7c54255ac2d3a2fed4d0c72
There is no functional change. This is to support adding new types of zygotes
that all operate using the same protocol.
Bug: 21643067
(cherry picked from commit 94e824bc1b)
Merged-In: Ie673ee816cae34ac20ffb8c774ec3e6461c3fd0a
Change-Id: I104e6133a90dc93a9854836b5e92d3cd542163a3
This is a non-functional change that separates out functionality
that should be shared between the system zygote and the WebView
zygote from that which is system zygote specific.
* Move MethodAndArgsCaller to Zygote.
* Split out server socket functions into ZygoteServer.
* Add a new (stub, for now) WebViewZygoteInit class.
Bug: 22084679
Bug: 21643067
(cherry picked from commit ba816e0c9e)
Merged-In: I4c508a42af7ab7b53d10570ad53b846df7782cc4
Change-Id: I54f04c03443d10dabe6426697d1ff8a0cc66b985
As Error Prone states:
Suppressing "deprecated" is probably a typo for "deprecation"
Bug: 27723540
(cherry picked from commit a7f834f1ce)
Change-Id: I0c6a9fc0a160769955cccf97ec7decb1f2b9b8fb
Handler has no fewer than three ways by which a message might be
handled:
[1] the msg itself contains a callback (msg.callback.run())
[2] the Handler was instantiated with a Handler.Callback
(mCallback.handleMessage(msg))
[3] the Handler instance was a subclass and could have
overridden handleMessage()
Handler#dispatchMessage() tries to find the correct way to dispatch
a message, check the above in the above order.
Bug: 21859053
Change-Id: I284cf7ace93af167d95d13b297ec42d4bed15992
Attempt to reduce the chances of watchdog killing the system
server if process pss gathering takes too long during heavy load.
Bug: 30896716
Change-Id: I4ed1a15c0c512a8c82842cde74e733d99d887ee0