Commit Graph

13166 Commits

Author SHA1 Message Date
TreeHugger Robot
88a6bcaec8 Merge "Only add vertical resolver_list padding if showing tabs." into rvc-dev 2020-03-05 17:36:08 +00:00
arangelov
2a4d0b1925 Only add vertical resolver_list padding if showing tabs.
Otherwise we show an unnecessary extra padding in single-user mode.

Test: manual
Fixes: 150780076
Change-Id: Ibf5997fd9a13335dc0d7765a68375541235e9570
2020-03-05 15:40:46 +00:00
PETER LIANG
9eefc0aca4 Merge "Update the edit shortcut menu (1/n)." into rvc-dev 2020-03-05 12:30:42 +00:00
Peter_Liang
dfe6f92343 Update the edit shortcut menu (1/n).
1. Add the dialog title
2. Change font family and size for label
3. Move functions into the corresponding files

Bug: 148825350
Test: manual test
Change-Id: Id8858122714cc0b063a7562c5a99218efb1766f7
2020-03-05 12:19:12 +00:00
Lee Chou
6f0c1bc10e Merge "Revert "Revert "Remove exception from OverlayConfig zygote method""" into rvc-dev 2020-03-05 10:35:05 +00:00
Lee Chou
15db04ec6c Revert "Revert "Remove exception from OverlayConfig zygote method""
This reverts commit 920105c38b.

Reason for revert: The real reason for the robolectric freeze has been found

Bug: 150011638#comment55
Bug: 150763929
Change-Id: Ib59acf362e87fa907902e19bac6e3b16cafa77d4
2020-03-05 09:42:49 +00:00
Antoan Angelov
9c3ed4de9f Merge "Fix sharesheet height expansion." into rvc-dev 2020-03-04 13:49:47 +00:00
Yogisha Dixit
1399825fe7 Merge "Store ambient display suppression state in memory." into rvc-dev 2020-03-04 12:56:20 +00:00
Antoan Angelov
f6b536594b Merge "Show a spinner when waiting for the work profile to turn on." into rvc-dev 2020-03-03 21:34:02 +00:00
Feng Cao
c9611acb62 Merge "Notify autofill with the IME start/finish input view events" into rvc-dev 2020-03-03 18:36:11 +00:00
arangelov
2dd9f7b64d Show a spinner when waiting for the work profile to turn on.
This covers the usecase when we show the share sheet or
intent resolver on a device with a work profile, and
the work profile is turned off. In that case, when
sharing from the personal profile, we show an empty
state screen with the option to turn on the work profile.
When we tap that button, we now show a spinner, as there
is a delay until the profile is actually enabled.

Fixes: 149821684
Test: manual

Change-Id: Id90b21a61b10ecce8172bddc42fdeec5fb61c5fe
2020-03-03 18:29:33 +00:00
Winson Chiu
f5f588e032 Merge changes I815bb92e,I1777f84c into rvc-dev
* changes:
  Adjust AndroidPackage String interning
  Add package parsing v1 vs v2 benchmark
2020-03-03 18:06:37 +00:00
arangelov
c4dbdbd2e6 Fix sharesheet height expansion.
This CL does the following things:
- Add an isIntentResolver check for cases when we want
logic to only apply to ResolverActivity, but not
ChooserActivity.
- Gracefully handle the sticky content preview loading.
Preload it if it will ever be shown, in order to avoid
sudden changes in the share sheet height.
- Don't recalculate the share sheet height when changing
tabs.
- Recalculate the share sheet height if the number
of recycler view children has changed in the cases
when we last calculated it when it wasn't populated yet

Test: manual
Bug: 149817068
Bug: 148156663
Bug: 149823253
Bug: 149732754

Change-Id: If74fc36bd3b8bfa5aa1d91c042fa99e4d19899c9
2020-03-03 17:37:50 +00:00
Jorim Jaggi
57157ac5d8 Fix WindowInsetsController lifecycle
Provide a recording insets controller before the window gets
created, and replay the commands once a view gets attached. This
allows the client to use the controller in Activity.onCreate.

Test: WindowInsetsControllerTests
Bug: 118118435
Change-Id: I1a825ecc4367c02b27f2d08cd5442325315d4f89
2020-03-03 15:12:15 +01:00
Lee Chou
920105c38b Revert "Remove exception from OverlayConfig zygote method"
Commit ag/9740370 caused problem with robotests b/149806146
The fix ag/10373855 froze targets like run_host_tests
This revert will unfreeze run_host_tests but robotests will break

Bug: 150011638
Test: m RunSettingsRoboTests0
Change-Id: Ibe954e9d0dc1542477ba7156da5799479631cfb0
2020-03-03 17:11:49 +08:00
Feng Cao
7c85eb79a7 Notify autofill with the IME start/finish input view events
* autofill will cache the inline suggestions response until it receives
  a start input view event from IME
* the data flow from IMS point of view is:
  IMS#startViews and IMS#doStartInput (before calling onStartInputView)
  ->
  [async] InlineSuggestionsRequestCallback#onInputMethodStartInputView()
  --- process boundary ---
  ->
  IMMS.InlineSuggestionsRequestCallbackDecorator
     #onInputMethodStartInputView()
  ->
  InlineSuggestionSession.InlineSuggestionsRequestCallbackImpl
     #onInputMethodStartInputView()
* similar data flow for  IMS#finishViews()
* this CL should not block IME's UI thread because it's only issuing a
  new async IPC from IMS start/finish input view call that's running on
  the UI thread.
* there should not be performance impact on IMEs if autofill inline
  integration is not active

Test: manual verification, atest EditorInfoTest
Test: atest android.autofillservice.cts.inline, with two failing cases:
 InlineAugmentedLoginActivityTest#testAugmentedAutoFill_twoDatasetThenFilledSecond
 and InlineAugmentedLoginActivityTest#testAugmentedAutoFill_oneDatasetThenFilled
 due to the test itself being broken, I'll fix the test in a separate patch
Bug: 149522488
Bug: 149442582
Change-Id: I2faa3577b9f95a122f26a6d7fa7822a769a51e34
2020-03-02 21:18:16 -08:00
TreeHugger Robot
78160dc4c0 Merge "Uses SurfacePackage instead of SurfaceControl on inline suggestion" into rvc-dev 2020-03-03 02:56:24 +00:00
TreeHugger Robot
214663924c Merge "Allow mutable overlays to be enabled by default" into rvc-dev 2020-03-03 01:51:23 +00:00
Ryan Mitchell
8c4aab3af6 Allow mutable overlays to be enabled by default
When an overlay is not specified as immutable through OverlayConfig,
enabling the overlay using the OverlayConfig `enable` attribute makes
the overlay enabled by default.

When an overlay is scanned by the OverlayManagerService for the first
time, the default-enabled state will be applied to the overlay. If the
configured default-enabled state changes in a subsequent boot, the
default-enabled state will not be applied to the overlay.

This means OTAs cannot change a mutable overlay from default-enabled
to default-disabled (or vice-versa) and except the configured enabled
state to take effect.

When the device is factory reset, then the configured enabled state
will be applied. If a package is removed from the device in one OTA
and added back to the device in a future OTA, the configured enabled
state will be applied. If an overlay changes its target package or
target overlayable, then the configured enabled state will be applied.
If an immutable overlay becomes mutable, then the configured enabled
state will be applied.

Bug: 149499802
Test: atest OverlayManagerServiceImplRebootTests
Change-Id: I24f86591ac811ef2b836da36ef5574a82628b151
2020-03-02 23:46:07 +00:00
TreeHugger Robot
f5324f74f5 Merge "Revert "Notification statsd logs: Notification panel."" into rvc-dev 2020-03-02 19:39:25 +00:00
TreeHugger Robot
48eec146dc Merge "Fix intent resolver height calculation" into rvc-dev 2020-03-02 19:06:26 +00:00
Yogisha Dixit
65f26b780c Store ambient display suppression state in memory.
We were previously using a secure setting, which means that the
suppression state would be persisted across reboots.

Test: atest SystemUITests, atest FrameworksServicesTests:PowerManagerServiceTest
Change-Id: I3016bdabc67c15b8759a78ce92f4d9262b1380a3
Bug: 147587449
(cherry picked from commit 05f9538c2e)
2020-03-02 14:21:05 +00:00
Will Brockman
3cc20a4ed8 Revert "Notification statsd logs: Notification panel."
This reverts commit 626f043a30.

Reason for revert: Frequent sysui crashes - https://buganizer.corp.google.com/issues/150566246

Bug: 150566246
Bug: 146488473
Change-Id: I124127553d8b69201d990c12da1e49218292b5ff
2020-03-02 14:17:45 +00:00
TYM Tsai
b1f42dd78a Uses SurfacePackage instead of SurfaceControl on inline suggestion
The InlineContentView uses the SurfacePackage instead of the SurfaceControl
for accessibility and UiAutomation supporting.

Bug: 149194105
Test: manual
Change-Id: Ib10f37a58dde7dc09d0ea16d1a121088dab4738e
2020-03-02 20:51:46 +08:00
SongFerngWang
53515a0ea6 CellularBatteryStats: Address API council feedback
Bug: 144925883
Test: Build pass, device boots up
atest TelephonyMetricsTest

Change-Id: Iac5904a3397a42aa5f015cb53bb63318f5c377a4
Merged-In: Iac5904a3397a42aa5f015cb53bb63318f5c377a4
(cherry picked from commit 84dc30fede)
2020-03-02 05:15:08 +00:00
Will Brockman
9eda5f5e32 Merge "Notification statsd logs: Notification panel." into rvc-dev 2020-03-01 17:51:04 +00:00
TreeHugger Robot
0fe12dad61 Merge "Several improvements and bug fixes to the inline autofill flow" into rvc-dev 2020-02-29 01:35:19 +00:00
Feng Cao
ec496000ec Several improvements and bug fixes to the inline autofill flow
* Pipe the augmented autofill's inline actions through to the
  InlineSuggestionsResponse
* Do not send the inline action if the number of inline suggestions is
  zero
* Refactor autofill inline suggstion session so that all the calls to
  the IME has happens within the class
* Send an empty response to IME to hide the inline suggestion UI  when
  view exits and the previous response wasn't empty

Test: manual verification, atest InlineLoginActivityTest
Bug: 149522488
Bug: 150312201

Change-Id: I7a0dbf44e9fad6e7da857448c0f2b186e1681d17
2020-02-28 17:25:30 -08:00
arangelov
3d57e8a8ce Fix intent resolver height calculation
This CL makes the following changes:
- We update ResolverViewPager to wrap around
the tallest of its children. We can do that now
thanks to recent changes that load the inactive
tab.
- Place empty state screens at the top of the
tab content and update padding and text sizes
- Use layout_alwaysShow=true instead of trying
to calculate the proper height for the different
layout cases (with/without tabs, with/without
default app layout).

Test: manual
Bug: 149823158
Bug: 149822719
Bug: 149823253
Bug: 149817311
Bug: 148156663
Bug: 149824092
Change-Id: I81f9e8600e59b74c64584723054d309becf34f12
2020-02-28 16:40:06 +00:00
Will Brockman
626f043a30 Notification statsd logs: Notification panel.
Experimenting with moving this logging to the SysUI side to be able to
log the complete panel, including any lifetime-extended items.

Test: atest NotificiationLoggerTest SystemUITests
Test: statsd_testdrive 245
Test: adb shell cmd stats print-logs && adb logcat -s statsd:I | grep ' (245)'

Bug: 146488473
Change-Id: I0a1a1ddd8838c002807e7137477175f0acceba98
2020-02-28 09:56:42 -05:00
Adrian Roos
ee540c3245 Merge "PhoneWindow: Fix potential memory leak" into rvc-dev 2020-02-28 13:58:48 +00:00
Keun young Park
ebac6a0d9b Zygote: migrate zygote start time metrics to StatsLog
- Also log second zygote start time as well.

Bug: 132691841
Test: check statsd dump
Change-Id: If749707dc5bcfefaeac1a476add076d2925af46d
2020-02-27 18:55:54 +00:00
Nicholas Ambur
626b24958f Merge "remove client token passing active VI service" into rvc-dev 2020-02-27 18:01:24 +00:00
Sudheer Shanka
442399b1c1 Merge "Include pending media as well when deleting mediastore entries." into rvc-dev 2020-02-27 17:49:53 +00:00
Adrian Roos
cd9cf09965 PhoneWindow: Fix potential memory leak
Fixes an issue where PhoneWindow and thus Activity can be leaked through AttachInfo through
the OnContentApplyWindowInsetsListener.

Fixes: 148799801
Test: make droid; atest WindowTest
Change-Id: I1de5518c84fd7e6d1aa1542a9252b1c600f5712d
2020-02-27 17:01:09 +00:00
Taran Singh
73b1d16d28 Merge "Pipe windowToken for hideSoftInput" into rvc-dev 2020-02-27 07:14:04 +00:00
Tarandeep Singh
4fe5b654a1 Pipe windowToken for hideSoftInput
Pipe the windowToken of the window requesting hideSoftInput just like we
did it for showSoftInput [1].
This calls hideInsets on the correct display when control target is
different from IME target e.g. ActivityView.
Also hideInsets should be called on InsetsControlTarget instead which was
originally attempted in [2]

[1]: Ia49e23dd077d264a58d28a7b8acffde54b7db187
[2]: I7133e151a1037c42b275b97857936437a7a6725f

Bug: 149870112
Bug: 133381284
Test: Manually using steps mentioned in bug.

Change-Id: Ia596a392eb73ae46debd097151c8c9a7edd59833
2020-02-27 04:13:25 +00:00
TreeHugger Robot
13ecf63ba4 Merge "Add API constraints to ScheduledJobStateChanged atom" into rvc-dev 2020-02-27 02:57:01 +00:00
Jeffrey Huang
cb50e94e7a Merge "Move libstatssocket to shared." into rvc-dev 2020-02-27 01:00:01 +00:00
Taran Singh
05b07c2657 Merge "Remove IME surface when hidden" into rvc-dev 2020-02-27 00:53:09 +00:00
Jeffrey Huang
21f7e6a3f6 Move libstatssocket to shared.
This fixes the boot loop when zygote tries
to log to statsd during boot time.

Linking libstatssocket statically from two different places
causes translation errors resulting in multiple instances of the
same struct being created. This meant that the struct is no longer
shared across the same process for opening/closing of the socket.

Bug: 149889582
Test: Phone boots
Change-Id: Ibfa25c0fe7874ba08157a5ec43601c5cf8305723
2020-02-26 11:51:26 -08:00
Tarandeep Singh
94c9a8328e Remove IME surface when hidden
When IME is no longer shown, notify IMS to hide the window surface.
This reclaims the memory allocated to IME window surface.

Fix: 150163310
Test: atest CtsInputMethodTests
      Manually:
      1. Open any app that has editor  and run
         adb shell  dumpsys SurfaceFlinger | grep Total
      2. Note down total memory
      3. Tap on editor and IME shows. Note down memory
         using command in #1. It should go up by ~27MB
      4. Hide IME and note down memory again.
         It should revert to original value in #1.

Change-Id: I6c2a13dd40b22d3fd62b4763ba369992e5ff1138
2020-02-26 18:58:33 +00:00
Winson
dec01d6130 Adjust AndroidPackage String interning
For the initial pass, everything was interned to take a
conservative approach.

But the time needed to intern every string has caused a significant
fixed cost every time the package is read from cache at boot.

This manually checks each string and removes interning from those
that are generally unique or don't have a significant benefit to
being interned.

Bug: 135203078
Bug: 141922546

Test: atest AndroidPackageParsingEquivalenceTest
Test: atest ScanTests
Test: atest PackageParserTest
Test: manual verify with PackageParsingPerfTest; see bug

Change-Id: I815bb92ec29d2ca38e8614d44937bc738599be55
2020-02-25 14:10:25 -08:00
Will Brockman
4f0f9d2d85 Start InstanceIDs at 1.
Protobufs make it easy to confuse default and unset values.

Test: atest NotificationManagerServiceTest
Fixes: 149760215
Change-Id: Ia27f33cb8331960369f86e75ac3cfa148dad887a
2020-02-25 18:57:32 +00:00
TreeHugger Robot
20ea7f5258 Merge "Introduce SoftInputShowHideHistory" into rvc-dev 2020-02-25 05:35:25 +00:00
Nicholas Ambur
1ec50c8f2f remove client token passing active VI service
Previous implementation relied on client to pass a token which the
service used to verify if it was the active service. This is seen to be
a security concern as there is no way to verify how the client obtained
the token. Instead, a check is done to confirm the caller's UID matches
the UID of the active service.

In the case of voice model enrollment, KeyphraseEnrollmentInfo class is
leveraged. A client is allowed to enroll if it is the active voice
interaction service or if it is a voice model enrollment application
bundled with the system image.

All previous manifest permision checks still apply.

Bug: 148159858
Test: gts-tradefed run gts-dev -m GtsAssistIntentTestCases -t \
com.google.android.assist.gts.KeyphraseModelManagerTest \
\#testShouldEnrollOnlyWhenActiveService

Merged-In: Ie2c4653d365770a9123a22bc69822518b4ccc568
Change-Id: Ie2c4653d365770a9123a22bc69822518b4ccc568
(cherry picked from commit c6f4118f9e)
2020-02-25 01:20:05 +00:00
Suprabh Shukla
1b5778d119 Add API constraints to ScheduledJobStateChanged atom
This helps us know if jobs with a particular constraint are being
starved or otherwise dysfunctional due to a bug.

Test: make statsd_testdrive &&
./out/host/linux-x86/bin/statsd_testdrive 8

Sample output:
    atom {
      scheduled_job_state_changed {
        attribution_node {
          uid: 10224
          tag: ""
        }
        job_name: "android.jobscheduler.cts.jobtestapp/.TestJobService"
        state: SCHEDULED
        stop_reason: STOP_REASON_CANCELLED
        standby_bucket: RESTRICTED
        job_id: 691
        has_charging_constraint: true
        has_battery_not_low_constraint: true
        has_storage_not_low_constraint: false
        has_timing_delay_constraint: false
        has_deadline_constraint: true
        has_idle_constraint: true
        has_connectivity_constraint: true
        has_content_trigger_constraint: false
      }

Bug: 138239687
Change-Id: I175e5a0f5cc2cb3be447ccb58142006946092e75
2020-02-24 19:09:46 +00:00
Dieter Hsu
0dbbb422e2 Retry TTS speaking for a11y shortcut warning dialog
TTS engine might fetch data over the network or prepare data when
binding tts service at first time after boot that may take a few
seconds. Because the dialog is shown only once and on-demand for
enableing accessibility shortcut, it's unable to speak successfully
unless others have bound tts ahead of time.

Bug: 139887992
Test: 1. adb shell settings delete secure accessibility_shortcut_dialog_shown
      2. manual reboot, long press both vol keys and tts speaks
Test: Add 2nd user and long press both vol keys and tts speaks
Test: atest AccessibilityShortcutControllerTest

Change-Id: I6290f0a64d1a51aa46f13e7d88a15a096ddb0fdc
Merged-In: I6290f0a64d1a51aa46f13e7d88a15a096ddb0fdc
2020-02-24 08:14:12 +00:00
lumark
d85e158db8 Introduce SoftInputShowHideHistory
Add SoftInputShowHideHistory class to monitor showSoftInput / hideSoftInput
histories, each entry data contains:
  - ClientState: IME focused client process pid / uid who
  shows / hides soft input
  - Current focused window
  - Target display ID
  - Reason: describes why show / hide input
  - Request show or hide input
  - Timestamp

Bug: 141738570
Test: manual by calling "adb shell dumpsys input_method"
Change-Id: I21ad1708d68eae59dcd3d414248193fb130dadc2
Merged-In: 10ecd64cdd
(cherry picked from commit 10ecd64cdd)
2020-02-24 07:55:29 +00:00
Sudheer Shanka
7d28b5bf81 Include pending media as well when deleting mediastore entries.
Bug: 146914674
Bug: 140565622
Bug: 137381621
Test: manual
Change-Id: I903a13deb467b45839a7d03b60754c8fc464456c
2020-02-24 05:50:33 +00:00