Commit Graph

11370 Commits

Author SHA1 Message Date
Benedict Wong
ac06c1022d Revert "Take all VPN underlying networks into account when migrating traffic for"
This reverts commit 917327b193.

Reason for revert: This change has been implicated in 4-way deadlocks as seen in b/134244752.

Bug: 134244752
Change-Id: Ibdaad3a4cbf0d8ef1ed53cfab1e454b9b878bae9
2019-06-07 09:18:01 +00:00
TreeHugger Robot
1f66726d08 Merge "Decouple Game Driver from preloading graphics driver" into qt-dev 2019-06-06 22:54:21 +00:00
TreeHugger Robot
4335d958e4 Merge "Improves the REMINDER_EXP mode for Assist Handle behavior" into qt-dev 2019-06-06 21:50:28 +00:00
Govinda Wasserman
48cdd68afe Improves the REMINDER_EXP mode for Assist Handle behavior
- User learning state is reset when leaving REMINDER_EXP behavior.
- Default parameters updated for easier testing and better experience
- Show and go only performed once per day when gesture has been learned
- Slightly delay handle showing when entering an apps with a longer
  delay when switching between apps rapidly.
- Adds state dump to improve debugability.
- Adds ability to suppress handle showing in specific states using
  flags.

Test: atest AssistHandleBehaviorControllerTest
Test: Tested locally
BUG:132983599
Change-Id: I7829ad55d7667f5db3633e702add709968dcd0a9
2019-06-06 16:24:35 -04:00
TreeHugger Robot
730b22c229 Merge "GestureNav: Fix broken split screen navbar" into qt-dev 2019-06-06 16:09:25 +00:00
Yiwei Zhang
6100c70d58 Decouple Game Driver from preloading graphics driver
Previously, when the Game Driver package name is set, graphics driver preloading
is automatically disabled. Now we'd like to decouple the relation here. So Game
Driver could still work no matter graphics driver is preloaded in Zygote or not.

Bug: 134526352
Test: build, flash and boot.
Change-Id: Id720cc11e3365423dd9b984b7d30a2dbeecb6116
2019-06-05 15:56:10 -07:00
Makoto Onuki
a478c5f9aa Merge "Avoid creating multiple death recipients for same observer" into qt-dev 2019-06-05 15:54:05 +00:00
Matt Pietal
78fdbd492f Sharesheet - Adjust button bar insets
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
2019-06-05 07:09:17 -04:00
Makoto Onuki
ad1291e749 Avoid creating multiple death recipients for same observer
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
2019-06-04 17:06:39 -07:00
Hui Yu
28d28a4ee5 Merge "Only set mStartClockTime when device is fully charged." into qt-dev 2019-06-04 21:59:52 +00:00
Kevin Yao
327751f18f Merge "User education support on disambiguation dialog" into qt-dev 2019-06-04 01:29:21 +00:00
Hui Yu
5104da00aa Only set mStartClockTime when device is fully charged.
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
2019-06-03 14:18:32 -07:00
Kevin Yao
9176f033d9 User education support on disambiguation dialog
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
2019-06-03 13:59:38 +00:00
Adrian Roos
faba406212 GestureNav: Fix broken split screen navbar
With gesture navigation, it no longer makes sense to force the navigation bar
to black in split screen, instead we can show the respective navbar backgrounds of
the applications.

Fixes: 130913061
Test: enable gesture navigation, enter splitscreen, observe that navigation bar backgrounds are properly drawn, also verify the same if IME is open.
Change-Id: If1464dd9cf0c5499c7c33caab06eb430fb59cb30
2019-06-03 14:46:51 +02:00
Matt Pietal
3e4b56f76c Sharesheet - Fix layouts for multi-window mode
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
2019-06-03 07:08:22 -04:00
TreeHugger Robot
04c3eeeaa0 Merge "Do not create EMPTY batterystats history file." into qt-dev 2019-06-01 02:30:20 +00:00
Hui Yu
e40781ee84 Do not create EMPTY batterystats history file.
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
2019-05-31 23:48:47 +00:00
Fabian Kozynski
9a560e068d DO NOT MERGE Remove Privacy Indicators
Bug: 133257910
Test: build and check that behavior is as P
Change-Id: I24bfc3806e2d12f6a1cc968d6979107e7002a3c4
2019-05-31 20:43:21 +00:00
TreeHugger Robot
9bb2607703 Merge "Skip IME initialization when received the token that already registered" into qt-dev 2019-05-30 17:33:17 +00:00
lumark
e0af39403e Skip IME initialization when received the token that already registered
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
2019-05-30 12:27:17 +08:00
Govinda Wasserman
1f606b099e Adds learned state to the Reminder Experience for Assistant Handles
Also sets the Reminder Experience as the default behavior.

Test: Tested locally
BUG:132983599
Change-Id: I27b063ca142fbde99b0bd1f6d107f45d6070869a
2019-05-29 23:06:02 -04:00
TreeHugger Robot
f8e7608263 Merge "Update assist handle behavior control" into qt-dev 2019-05-29 20:34:48 +00:00
Govinda Wasserman
2c1134052e Update assist handle behavior control
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
2019-05-29 14:41:23 -04:00
Mehdi Alizadeh
8a09c7c0ae Merge "Filter disabled/suspended direct share targets in sharesheet" into qt-dev 2019-05-29 18:06:57 +00:00
TreeHugger Robot
b5fbf20a55 Merge "Sharesheet - Fix NPE on default app launch" into qt-dev 2019-05-29 16:53:48 +00:00
Varun Anand
b33d2ca2e3 Merge changes from topic "vpn_data_accounting" into qt-dev
* 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.
2019-05-29 16:34:14 +00:00
Matt Pietal
32922ca4db Sharesheet - Fix NPE on default app launch
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
2019-05-29 07:39:21 -04:00
Matt Pietal
030bd8471f Sharesheet - Add additional checks for low ram devices
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
2019-05-29 07:17:39 -04:00
Varun Anand
917327b193 Take all VPN underlying networks into account when migrating traffic for
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
2019-05-29 18:15:17 +09:00
Matt Pietal
a11f79120b Merge "Sharesheet - Load images off main thread" into qt-dev 2019-05-28 19:28:41 +00:00
Matt Pietal
e7cacab797 Sharesheet - Load images off main thread
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
2019-05-28 12:54:25 -04:00
TreeHugger Robot
ea73bddd5b Merge "Resolver - Fix bottom spacing issue with edge-to-edge" into qt-dev 2019-05-28 12:29:28 +00:00
Mehdi Alizadeh
3e3216f111 Filter disabled/suspended direct share targets in sharesheet
Bug: 123961239
Test: Manual test by suspending test app using Digital Wellbeing
Change-Id: Id26465c484a708714ba955a1657fb1c3be402734
2019-05-27 17:56:51 -07:00
TreeHugger Robot
b7bf4fa27a Merge "Revert "Adjusts the USAP pool refill mechanism."" into qt-dev 2019-05-27 01:18:42 +00:00
TreeHugger Robot
35d6deced8 Merge "Add null check for component name when fetching uid" into qt-dev 2019-05-25 00:05:07 +00:00
Winson Chung
0edcacb14c Add null check for component name when fetching uid
Bug: 133442663
Test: Bug is not reproducible, but this is just adding a null check
Change-Id: Iaf4231b4b3b1e6e35ab7e7f7cac86a192ad7cd9b
2019-05-24 13:48:55 -07:00
Matt Pietal
33b0ac12fe Resolver - Fix bottom spacing issue with edge-to-edge
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
2019-05-24 13:47:18 -04:00
Mathew Inwood
3e68de1b19 Revert "Adjusts the USAP pool refill mechanism."
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
2019-05-24 14:59:29 +01:00
TreeHugger Robot
31b6820f42 Merge "Sharesheet - Edge to edge support" into qt-dev 2019-05-22 14:32:16 +00:00
TreeHugger Robot
02db431c8c Merge "Sharesheet - a11y fix for az label" into qt-dev 2019-05-22 13:55:55 +00:00
George Hodulik
bbea5ad712 Merge "Send shortcutinfo to APS for direct shares." into qt-dev 2019-05-21 17:49:30 +00:00
Winson Chung
e6db9b86d9 Merge "Notify SysUI of the recents animation so it can disable autohide" into qt-dev 2019-05-21 17:24:05 +00:00
Winson Chung
67e4936db3 Notify SysUI of the recents animation so it can disable autohide
- 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
2019-05-21 05:36:42 +00:00
George Hodulik
aa5238c9f5 Send shortcutinfo to APS for direct shares.
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
2019-05-20 17:03:56 -07:00
TreeHugger Robot
cb349b6b6d Merge "Use new non-deprecated constructor for AppTarget.Builder" into qt-dev 2019-05-20 20:58:28 +00:00
Ben Murdoch
ffc816283e Merge "Add Standby Bucket and job duration to ScheduledJobStateChanged atom." into qt-dev 2019-05-20 08:18:34 +00:00
TreeHugger Robot
050d6df74c Merge "[wm]: Fixed TaskPositioner leak" into qt-dev 2019-05-19 23:12:25 +00:00
TreeHugger Robot
9faaa2733a Merge "Add DeviceConfig flags to Privacy Indicators" into qt-dev 2019-05-18 06:14:40 +00:00
Fabian Kozynski
16b26998ac Add DeviceConfig flags to Privacy Indicators
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
2019-05-17 12:19:05 -04:00
Adrian Roos
c3f7756a5b DecorView: Adjust light scrim
Fixes: 132939499
Test: Verify edge-to-edge-ified share sheet has an appropriate scrim
Change-Id: Ic0274ba2f9f3c36ec436fe5dab172efd13158e16
2019-05-17 11:17:08 +02:00