When using multi-mode and holding the phone in portrait, android will
report it's orientation as LANDSCAPE. Take multi-window mode into
account when determining fixed widths as well as number of items per
row.
Bug: 132828939
Test: Use multi-window mode
Change-Id: I97b722ea58c9f79aea2a3ab594c3ad7d78f8607c
Previously when batterystats history buffer exceeds MAX_HISTORY_BUFFER
size, we create a new history file which is empty until batterystats
history buffer is written to the file. But the buffer is written to the
file every 30 minutes by default. When the file is empty, if the
system server process crashed or abrupt powered off, the file will remain
empty.
During the device bootup, batterystats reads history buffer from
the empty file and failed. The important mHistoryBaseTime variable is zero,
which causes all timestamps in subsequent history events are wrong, this
causes volta go/powerbug displays wrong, also Battery Usage in Settings
are wrong.
The fix is to not create new empty history file on disk until we actually
write history buffer to the file.
This problem can be manually reproduced by creating new empty file under
battery-history directory, then power off the device by long press power
button.
Bug: 133525277
Test: frameworks/base/core/tests/coretests/src/com/android/internal/os/BatteryStatsHistoryTest.java
Change-Id: I0c22881df6897e8832b472cc5e82fbf2727eb252
When IME window switches from current display to another display and back quickly,
system will re-bind InputMethodService to re-attach window token for each moving,
the IME service lifecycle will be onBind -> onUnBind -> onDestroy -> onBind.
Ideally, system will deliver window token when onServiceConnected and system should
only receive one onServiceConnected when the last service bound.
But due to user switch display very quick, before unbind service callbacked from client,
the next bind service request comes, caused the connection exists in system side and
client will then callback 2 onServiceConnected to system.
Since CL [1] introduced InputMethodPrivilegedOperationsRegistry to deal with token
registraction singleton-ness, the exception will be thrown for above case due to
the duplicate window token passed to client.
Add InputMethodPrivilegedOperationsRegistry#isRegistered to check if the token
already registered, if so, skip this duplicate initialization request.
[1]: I4a61470f06ffac5f7a512536f8431489db0108f4
Fix: 133624278
Test: manual as below steps:
1) Settings > Developer options, enable "Simulated display" & "force desktop mode"
2) Reboot device.
3) Launch app from simulated display.
4) Launch app from primary display (i.e. contacts), focus EditText to show IME.
5) Tapping primary & simulated display repeatly & quickly.
6) See if any exception log from IME application. (i.e. Gboard)
Change-Id: Ie6bfbae735724fe744590e715124d2737d2b665d
Improves behavior modes to use more reliable callback mechanisms. Added
phenotype flag hooks for control of behavior and behavior parameters.
Added more robust null guarding.
Test: Tested locally
BUG:132983599
Change-Id: I42039152836071941d6b4f1cafb3670c62a65824
* changes:
Add one more test for VPN usage stats.
Addressing comments for http://ag/7700679.
NetworkStatsService: Fix getDetailedUidStats to take VPNs into account.
Take all VPN underlying networks into account when migrating traffic for VPN uid.
Turns out there's a secondary layout used by resolver which does not
contain R.id.empty. Check for null.
Bug: 133707284
Test: Open PDF file through resolver
Change-Id: I311f1c1d2fa6edcebc81d9056755884b1585a7cb
Continue to hide the direct share area for low ram devices. Make sure
the A-Z list loads properly.
Bug: 132342311
Test: Use low ram device
Change-Id: I66b58af3994e034e4d870286ef62ba4a9289e083
VPN uid.
(cherry picked from commit 95aa6d446f)
Bug: 113122541
Bug: 120145746
Test: atest FrameworksNetTests
Test: Manually verified on device that stats from VPN UID are moved
appropriately based on its declared underlying network set.
Test: vogar --mode app_process --benchmark NetworkStatsBenchmark.java
Change-Id: I7f368c5970b2dcb969fe0daf5ef44edb1f51d09d
To prevent main thread from being blocked and potential ANRs, load
images on AsyncTasks. If no images are successfully loaded within a
timeout period, hide the content preview area. Optimize scrolling by
reusing the views in their entirety and not reloading images. Also
allow for more time for direct share loading
Bug: 132698784
Test: Manual
Change-Id: Ia73e9b6912bf36a1c6c9660423d6f0602e832187
This reverts commit 0779af6259.
Reason for revert: Breaks cts SignedConfigHostTest
Note: This CL effectively reverts commit:
54b8d7ea4d
"Make the USAP Pool refill delay configurable."
As that builds on top of the original CL being reverted. Only the
ZygoteServer portion of that change is reverted.
Test: atest SignedConfigHostTest
(on an acloud instance)
Bug: 132794985
Merged-In: I1327a22d103452bed46d191ec2bafb72a5e095ca
Change-Id: I1327a22d103452bed46d191ec2bafb72a5e095ca
When the button bar renders multiple times, as is the case when using
the back button from Settings, the bottom padding keeps getting
increased to make the list creep upwards. Set the padding to a fixed
number rather than keep adding to it.
Bug: 132114008
Test: Manual
Change-Id: Iab07fdbf7eb3373f354bb3825a3bd18df141f608
This reverts commit 0779af6259.
Reason for revert: Breaks cts SignedConfigHostTest
Note: This CL effectively reverts commit:
54b8d7ea4d
"Make the USAP Pool refill delay configurable."
As that builds on top of the original CL being reverted. Only the
ZygoteServer portion of that change is reverted.
Test: atest SignedConfigHostTest
(on an acloud instance)
Bug: 132794985
Merged-In: I1327a22d103452bed46d191ec2bafb72a5e095ca
Change-Id: I1327a22d103452bed46d191ec2bafb72a5e095ca
This avoids loading constructors with reflection for well-known View classes.
An average of 1300 app startups with and without this change shows the special
casing improves app startup time by about 2.5ms.
The classes listed here are taken from examining several app traces as well as
the similar list in AppCompatViewInflater.
Bug: 131421854
Change-Id: I676a50eec50b86fa0b385add4bc092a657d8e8bb