Button bar insets were set before the inset callback. Add a call to
layout the button bar during the inset callback.
Bug: 134472146
Test: Steps from defect
Change-Id: I0246f06315cd05343002071dd6d217d41e0059ca
Also do a WTF when the same process registers 1000 observers with the
same observer instance.
Fix: 133388082
Test: manual test: Launch leaky app and make sure WTF is raised
Test: manual test: Open contacts app, close, and make sure the
"Total number of unique observers" goes back
Test: manual test: Open contacts app, kill it, and make sure the
"Total number of unique observers" goes back
Test: manual test: Open contacts app while contacts are syncing,
and make sure the activity refreshes itself.
Test: atest cts/tests/tests/content/src/android/content/cts/ContentResolverTest.java
Test: atest FrameworksCoreTests:BinderDeathDispatcherTest
Test: atest FrameworksServicesTests:com.android.server.content.ObserverNodeTest
Change-Id: Id738ca66023c029b92db3d108d99a9fc240fe77c
The mStartClockTime represents the time device is fully charged.
Currently mStartClockTime is set again whenever the device clock
changes. Since the device clock could change many times, we lost
original mStartClockTime value, unreasonable mStartClockTime values
for example 26 days could be returned (because the device clock changes)
when getStartClockTime() is called.
A better solution is to only set mStartClockTime when device is fully
charged, the value is persisted across device reboot. When getStartClockTime()
is called, we return adjusted value according to current time.
Change-Id: I49ded1519bc31daf1a51a572325cbbe67f1abd09
Fix: 132914064
Test: Manual test, checking Settings--Battery--Last full Charge
Support Accessibility education according to
1. Gesture Navigation is on or off
2. Screen reader feature (such as TalkBack) is enabled or not
Manual test screenshot: https://drive.google.com/open?id=1afTDRYPMcZphM5cL0krPDA_Vh9pRX-8x
Bug: 133811747
Test: Manual
Change-Id: I04ca36c9e88ff14e29103db41cfab2a9b53985d5
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
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
- When swiping up from an immersive sticky app, ensure that we don't
restore the hidden bar states while swiping up (only update afterwards)
Bug: 130020567
Test: atest CommandQueueTest
Test: Swipe up from an immersive app into launcher while the bars are
showing
Change-Id: I1c8fb3c0df5c1adc7c73079189f5b45e84d1ef45
We cache the AppTargets returned by APS, and just return them
when one is clicked. For share activities, that is handled in
AppPredictionServiceResolverComparator.
Bug:124404997
Test: manual test using patched AiAi apk cl/248961808
Test: atest frameworks/base/core/tests/coretests/src/com/android/internal/app
Change-Id: I7bb61b65bd361acdbfd16e1d9499f094b3ae39d8
Restricts Privacy Indicators behind the same flags as Permissions Hub.
When flag is set to false:
* PrivacyItemController is set to not listening (listens to changes in
flag)
* Location icon is reverted back to P behavior
* Location icon is shown in QS Header icons (listens to changes in
flags)
* No privacy chip shown.
We need to listen to changes because most of our views/controllers
persist forever.
Test: manual, change the flag and observe things appear/disappear
Fixes: 131826452
Fixes: 132644949
Change-Id: I329596760f3c06feb2161b077af008da782a50be
If application process handles motion events late, it requests to start
moving task after MotionEvent.ACTION_UP is already fired. In that case,
system will wait for event that is not comming and cannot end drag state.
It's expected that the system finishes moving task when system receives
ACTION_UP by transfering touch focus. In a problem case, ACTION_UP event
is already sent to the application process before transfering touch focus.
If application receives ACTION_UP event after requesting moving task,
notify the system of finishing previous request.
Test: Quickly try to resize freeform windowing app repeatedly.
Test: atest WmTests:TaskPositioningControllerTests
Bug: 129507487
Change-Id: Ifa457ddc55524cae6da455e770472781a7805282
(cherry picked from commit 9a1cd7b5063229da536a1281916ae15ec9246d1a)
The row containing 'Apps list' should not be enabled in the listview
in order to not appear clickable to TalkBack.
Bug: 132861329
Test: Manual
Change-Id: Ie7ba64f289def9839e013f05df3070d0e4a43a90
Support edge-to-edge sharesheet to align with support for new gesture
navigation. Use top inset to prevent sharesheet from scrolling
under. Use bottom inset to give the listview space for scrolling all
items into view.
Bug: 132114008
Test: Visual inspection
Change-Id: Ie96d19f187d32d477eaf0515463d1adf335f80ce
This patch fetches the USAP pool refill delay value from device_config
instead of hardcoding it.
Bug: 131362095
Test: Build and launch 10+ apps successfully
Change-Id: I244d83a38bde32620bd4bf50e9031c25c6267091
Merged-In: I244d83a38bde32620bd4bf50e9031c25c6267091
(cherry picked from commit 365e50bfa4)
This fields enable us to slice job metrics by bucket and gain insight
to the average time spent executing jobs in each bucket. The metrics
we'll write for this data will help to tune thresholds for throttling
background behavior in Q.
BUG: 132227621
Test: make statsd_testdrive && statsd_testdrive 8
Change-Id: I1af94dc4a8e51f9741f48c817d1d2f99f164858d
This patch adjusts the USAP pool refill mechanism so that it is less
disruptive to launching applications. Refill events are now delayed
by several (3) seconds if delaying wouldn't cause the pool to be below
the minimum population size.
This patch also adjusts the process priorities for the USAPs and other
processes spawned from the Zygote so that they behave better in the
context they are spawned in.
Bug: 131362095
Test: booted & launched apps & checked logs
Change-Id: If26d625c4b1e5e8eee54dcdacb32360b0d852829
Merged-In: If26d625c4b1e5e8eee54dcdacb32360b0d852829
(cherry picked from commit b32150024f)