A new function is created to notify the service of inheritance
information of the widget provider.
Test: N/A
Bug: 221890505
Change-Id: I5f43f8d6ecd66b54869bef58898b1d3809b43d9e
(cherry picked from commit 0b51675e56)
Merged-In: I5f43f8d6ecd66b54869bef58898b1d3809b43d9e
DisplayResolveInfo#getDisplayLabel() internally loads the display label
if it is missing and a ResolveInfoPresentationGetter is set for the
instance.
Current view binding logic unconditionally calls getDisplayLabel method
which could trigger label resolution on the main thread and a
consequently scheduled label loading asynchronous task a no-op.
Test: manual functionality testing
Test: introduce artificial into LoadLabelTask, observe labels lading
asynchronously and does not reload when scrolling through a long list
of options.
Test: atest FrameworksCoreTests:ResolverActivityTest
Bug: 245934835
Change-Id: I392d6c8424617820bde58887d92ae99bc39c5b7b
Currently, when the widget host stops listening to the widget updates,
the callback will be set to null and the updates to the widget will be
stashed on the service side. Additionally, the visibility of the widget
will be changed. For an upcoming change to the launcher side, a function
that only changes the visibility should be added.
Test: N/A
Bug: 235358918
Change-Id: I9a0f244ca76b378d9c337e0a364bca5955f5ae96
Needs to be called by doing `adb shell dumpsys statusbar --proto`
because using `dumpsys activity service` adds text to the dump.
Will also be dumped as part of the BR
Test: atest SystemUITests
Test: Used in CTS
Test: manual dump and BR
Fixes 237786667
Change-Id: I74abf65a76c059ea9bb5a14728192b6b683b7fc7
To update locale, it doesn't need a full configuration because
system only applied the diff of config from non-undefined fields.
IActivityManager#getConfiguration actually gets the configuration
according to the pid, which is process configuration. And process
configuration can be overridden by the activity running in its
process. So the returned value shouldn't be used to update the
system persistent configuration.
Therefore it is enough to use a new Configuration instance with
setting the necessary fields. This is also more efficient that
saves a binder call to system.
Bug: 253386061
Test: atest LocaleManagerTests
Change-Id: Icdce437fcf1a3bef0562cfc4dd5ad3ba52ea08ef
This adds Jank instrumentation every time recent tasks are scrolled.
Bug: 231130484
Bug: 228969045
Test: recorded prefetto trace while scrolling
Change-Id: I48201e73d7025ec2ff38c7f9158eec27ed9cbafa
- Seperate System language and app language logic to different
controller
- Fixing system langauge only show in suggested langage and not show in
all languages.
Bug: 228596568
Test: set system/app languages
Change-Id: I3b7ab0a78a77a71794dfd4a59c807637fb7b912d
Merged-In: I3b7ab0a78a77a71794dfd4a59c807637fb7b912d
Frequent mobile radio power state changes results in frequent
ModemActivityInfo queries. To limit the unnecessary churn, a Modem
update due to mobile radio power state change will only occur some
amount of time after the previous update. Modem updates due to other
signals (plug/unplug events, battery percent change, etc) will be
unaffected.
Fixes: 239715259
Test: atest BatteryStatsNoteTest
Merged-In: Ie0af28dbc2ad4836ef6437c0656dc20eec2285ea
Change-Id: Ib3ee18113ac381b8912bb58974b5d41ceefb7131
This allows core libraries (such as predictive back progress animation)
to use spring animation.
Files in androidx/dynamicanimation/animation that are not copied over:
FlingAnimation.java - Unused atm
AnimationHandler.java - Replaced with the framework AnimationHandler
FloatPropertyCompat.java - Replaced with FloatProperty
FrameCallbackScheduler.java - Unused in framework AnimationHandler
Test: m -j
Bug: 238475284
Change-Id: Ifdf847da0aa2a6cf57e18f9ac7c91bb0fe3b12c2
This change implements PersistentServiceConnection and
ObservableServiceConnection helper classes in framework for better
handling of crashes.
Fixes: 247103878
Test: manually by crashing systemui using adb while dreaming and
verifying that the overlay is visible
Test: atest com.android.internal.util.PersistentServiceConnectionTest
Test: atest com.android.internal.util.ObservableServiceConnectionTest
Change-Id: Ib9a7e8675e408c1724567335a3c186fe5c9f5f59
Merged-In: Ib9a7e8675e408c1724567335a3c186fe5c9f5f59
Move direct-share icons loading off the main thread in the same way
we're loding A-Z icons.
Test: Manual testing with rotatin and screen locking, artificially
delaying image loading, debug logging for potential event loops.
Test: atest ChooserListAdapterTest
Fix: 215699869
Change-Id: I97e3383a74bb4ef795099fe55cae9fc5aed2b790
Change-Id: I3b110447d4cf2ab94e663c2684cd2cce4968d4ca
This reverts commit 140516bf65.
Reason for revert: Bug where users cannot use biometrics to re-auth after trustagent timeout.
Bug: 251078638
Change-Id: I6254196327e09381eaa047e6444034ada6030113
This removes a race condition where ContentObserver is initialized
while mHandler is null which causes the ContentObserver#onChange() callback to run on a different thread and can cause an NPE.
Bug: 246843362
Test: manual
Test: atest BrightnessSynchronizerTest
Change-Id: Ib8e192c3961390ece721fa473d5c09323c30bafe
Complete the change in ag/19657256 to also apply in SelectableTargetInfo.
That would ensure that in all cases of cross-profile targets the URIs
are fixed to include the user-id prefix.
Bug:244876518
Bug:242605257
Test: manually share image from work Photos app to personal WhatsApp's
frequent contact target.
Change-Id: Ib41c8a3c46afcc2d62a4c1a924212bcd98bcfbe4
The current implementation triggers icon loading each time a view gets
bound and, as binding happens multiple times, icon and label loadings
are unnecessarily duplicated. In addition, as a loading task never gets
canceled, there’re cases (like in the associated ticket) when a view
gets rapidly bound to multiple positions and all the icon loadings
eventually catches up updating it, ending up in icons rapidly changing
on the screen for the view.
This change addresses this by simplifying the icon loading/binding
logic: a view is always bound to the current data and the task is only
updates the data with the missing piece of info once (and applied for
both icons and label loading tasks).
There is one extra change in ResolverActivity due to LoadIconTask
interface change and cancellation logic for the tasks.
Fix: 245934835
Test: Manual tests on a list which does not fit into the screen.
Test: Manual tests with arficial delays added into the tasks.
Test: atest FrameworksCoreTests:ResolverActivityTest
Test: atest FrameworksCoreTests:ChooserActivityTest
Change-Id: I76fe5663523232a74d4f505c535cd6dbcf7f8759
Adds a new ResolverDrawerLayout XML property, ignoreOffsetTopLimit, that
takes a direct child view’s id. The specified view will serve as a top
limit for all child views below it with layout_ignoreOffset attribute
set to true i.e. they will be pushed down by the view when the drawer
is moving.
Fix: 240481385
Test: atest FrameworksCoreTests:ResolverActivityTest
Test: atest FrameworksCoreTests:ChooserActivityTest
Test: Manual testing with some injected code that simulates various
conditions:
* various property values or property absence
* simultaneous layout and drawer moving
* one-time layout while an "ignoreOffset" view has been moved out of
place with a consequent release.
Change-Id: Ib9aa4f11d35c2dede06b0913091e7b146438e57e
Already fixed in master via https://android-review.googlesource.com/c/platform/frameworks/base/+/2049443
This is that change, but in QPR.
Test: Share multiple images from photos, verify that edit button doesn't
appear.
Bug: 247638926
Merged-In: Id6ce93efacd54a86d870595ae32b4e6efcec0c04
Change-Id: I51b7d332b6b7e59ee559716022d795bb8de4a71c
Log the UI latency with UIActionLatencyReported atom. We plan to
calulate the latency from when the SoundTrigger HAL emits an event to
when the VoiceInteraction system UI view is shown.
Test: device_config put latency_tracker enabled true; verify traces
and latency is logged in WW.
Bug: 247879896
Change-Id: I3edb91691e81f8f23660c0823a6388338fe926ad
Adds a recycler view that can show list of thumbnails
and app icons that could be loaded asynchronously.
It is hidden under a flag, so it won't be visible
on normal builds.
Current limitations which will be fixed in
the follow up CLs:
* It doesn't load real data
* Task thumbnail sizes are hardcoded and
not cropped correctly
* No actions on thumbnail click
Screenshot demo: https://screenshot.googleplex.com/68vhXBNefCKHR2G.png
Test: atest com.android.systemui.mediaprojection.appselector.MediaProjectionAppSelectorControllerTest
Bug: 240924921
Change-Id: Ia3c685050656659ea9a79ffc90a91465c114e259
If a subsequent screenshot is taken after we bind to the screenshot
service, but before we get the onServiceConnected callback, we
leak the connection to the service, preventing it from ever getting
shut down. Fix this by unbinding the old connection before connecting
with the new one.
Bug: 242862442
Fix: 242862442
Test: forced DisplayPolicy to take two consecutive screenshots
Change-Id: Iffb62170266a2c1bb332bfb416f0f5e19c5236fb