TaskEmbedder is a new building block for task embedding which
will be used by SystemUI to perform more complex operations
than what can be acheived using ActivityView today.
For task embedding use cases, integrating TaskEmbedder directly
with a SurfaceView (or other surface) will allow:
- management of multiple tasks within a single parent surface
- access to the surfacecontrol of each task for manipulation/animation
- (SurfaceView) configure whether zOrder above or below.
See: go/av-refactor
Change-Id: Ia813c52bc2da3a776e727b5bbd2b03b8ff09f302
"Fully drawn" should stand for an usable state of the application.
If its window hasn't drawn, the early reported time may not close
to the real use case.
This change ensures that "Fully drawn" is at least >= "Displayed".
Bug: 131713448
Test: atest ActivityMetricsLaunchObserverTests#testOnReportFullyDrawn
Test: Launch an application (e.g. Settings) that invokes
Activity#reportFullyDrawn in an early stage. The printed
duration of "Displayed" and "Fully drawn" should show
the same time.
Change-Id: Id37425436dc564fc657f0777db8e0f056bbb748d
Enables multiple links for URLSpan on description TextViews. Also fixes
issue about cannot restore the save UI while back from the activity which
URLSpan launched.
Bug: 133515042
Test: manual
Test: atest CtsAutoFillServiceTestCases
Change-Id: I8a97c2eaccdde78622b5b5432c9b00ce19d871df
WorkLockActivity is launched as a task overlay activity. If it needs to
launch an activity on top of it, the activity should also be a task
overlay.
Bug: 142853039
Test: Follow the issue description
Test: atest WmTests:ActivityOptionsTest
Change-Id: If4cdc892f608df5337223f70333538e33ff593ca
The cancel listeners are created per PendingIntent instance and were
spamming the callback list stored inside PendingIntentRecord. In cases
where there is even a single live PendingIntent backed by this
PendingIntentRecord, all PendingIntent instances backed by this
PendingIntentRecord for which a callback was ever registered will leak.
Test: atest FrameworksMockingServicesTests:\
com.android.server.am.PendingIntentControllerTest
atest FrameworksMockingServicesTests:\
com.android.server.AlarmManagerServiceTest
Bug: 143091024
Change-Id: I65df12da0c437064e6e3719911926738c677c4eb
today telephonyRegistry lives in system process
this is intended to persists all telephony listeners when
phone process crash. Telephony today notify system server by
using AIDL APIs directly. Instead, we are exposing a proper API
surface: telephonyRegistryManager where only phone app and
carrier privileged apps are allowed to use APIs in
TelephonyRegistryManger to notify telephony related status update.
Bug: 140908357
Test: Build & Manaul
Change-Id: I1b750751148925b4a7bd94553318907654012fc1
(cherry picked from commit 288b71c8c1)
Merged-in: I1b750751148925b4a7bd94553318907654012fc1
* The tinting logic isn't good for developers, this change removes that
logic and respsects whatever icon they provide, HOWEVER, if it is not
adaptive it gets put on an adapative shape, consistent with launcher
* Updates the dot colour to be based on colour sample from the app icon
bitmap rather than the notification colour, consistent with launcher
* Updates Notification documentation to reflect changes
Test: manual with Bubbles test app (options for all the icon types)
Bug: 138943209
Change-Id: I8abfcef9ac1dcdd9f74643e84ef40a97385b744b
Add new attribute capability to ProcessRecord, it represents what this
process is allowed to do. Capability is a separate dimension for
process state (ProcState).
In OomAdjuster.java, capabilities can be passed from client to service.
Add PROCESS_CAPABILITY_FOREGROUND_LOCATION to represent the capability
that can access location while-in-use.
For permission such as foreground location access, AppOpsService
checks for FOREGROUND_LOCATION capability, also checks if the process
is in one of the foreground process states, if both conditions meet,
the locaton operation is allowed.
Remove PROCESS_STATE_FOREGROUND_SERVICE_LOCATION.
Bug: 136274596
Test: atest CtsAppTestCases:ActivityManagerProcessStateTest
atest CtsAppTestCases:ActivityManagerApi29Test
atest frameworks/base/services/tests/mockingservicestests/src/com/android/server/appop/AppOpsServiceTest.java
Change-Id: Ie1c8e670fb0789208b753eb49b7e2fce6a2f211f
The system shouldn't be granting read URI permissions as itself. This
means that heap dumps aren't successfully shared. Moving the heap dump
sharing mechanism to SHELL, which already has the permission to dump
heaps so that dumps can be shared properly.
The Shell changes are submitted separately.
Bug: 126885951
Bug: 135150619
Test: collect a heap dump and confirm it's successfully shared with an app
Test: do manual test on a secondary user & confirm it's not available to
other user
Change-Id: I6d2230bb2d9ca42a105b3fedee9d075de35e3dd3
This adds a "IWindowContainer" interface which is an opaque
handle to a window-container in WM. It has very minimal
functionality and is intended to be used mostly as an
identifier.
Along with this handle, there is a WindowContainerTransaction
which can collect a set of container + configuration changess
and apply them all together. This will be used for remote
rotation control and other batched operations in the future.
Bug: 124011688
Test: Added some wm/core tests.
Change-Id: I691e7c11cd8c30f1a24fd64c6018a18933047847
Wifi/telephony mainline modules uses IBatteryStats which is an AIDL &
hence cannot be made a @SystemApi. Create a new manager class to wrap
around this AIDL to expose @System Api.
Bug: 138806762
Test: Device boots up & connects to wifi networks.
Change-Id: Ib8816c3df17ccc562b9664e7bea1ef01ab61f697
Before we just cast Object[] to String[]. This crashes. Now we are
casting the individual objects->strings.
Test: Parceled LongSparseArray
Change-Id: I24883a1dad49c0682977da1aea2370eddb001173
UsageStatsManagerInternal is also no longer an API surface for
registration of app idle state change listeners. AppStandbyInternal has
become a proper LocalService and interested clients can just use that
directly.
Bug: 140833849
Test: boot & run normally
Test: verify system package backup
Change-Id: Ie63f438f129cd8f41169778a3045d131ca7322fb
This change creates a constant in ContentSuggestionsManager, which will
be used to pass a hardware bitmap to ContentSuggestionsService.
In the presence of this key in the request extras, we skip taking a
snapshot in ContentSuggestionsPerUserService.
Bitmap is extracted from reading this value from extras in
ContentSuggestionsService.
Test: Manually tested this code in the debugger to verify that snapshot
is not taken when constant is provided in extras.
Change-Id: I4a464d5188bd3eac9afb4ac223611dccab01510f