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
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
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
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
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
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
* 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
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
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)
The InlineContentView uses the SurfacePackage instead of the SurfaceControl
for accessibility and UiAutomation supporting.
Bug: 149194105
Test: manual
Change-Id: Ib10f37a58dde7dc09d0ea16d1a121088dab4738e
* 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
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
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
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
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
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
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
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
Protobufs make it easy to confuse default and unset values.
Test: atest NotificationManagerServiceTest
Fixes: 149760215
Change-Id: Ia27f33cb8331960369f86e75ac3cfa148dad887a
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)
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
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