-Add "Stop" to stop remote media session
-Refine UI layout
1. Adjust size of head icon and apply defined dimen value
2. Move list padding inside the list to prevent truncating the list
3. Remove group-related view(I will add it in recycle view when the group feature is ready.)
-Add MediaOutputDialogTest
-Rename PAIR_NEW to CUSTOMIZED_ITEM_PAIR_NEW
-Integrate more UI view in setTwoLineLayout()
Bug: 155822415
Test: atest MediaOutputAdapterTest MediaOutputBaseDialogTest MediaOutputControllerTest MediaOutputDialogTest
Merged-In: Ie6a917c56a0ef97f772a8f43742afd2ee61e407f
Change-Id: Ie6a917c56a0ef97f772a8f43742afd2ee61e407f
-Provide supported features of the route
Bug: 155822415
Test: build pass
Merged-In: Id3a95f608018ecfae30dc0df9217548f90953403
Change-Id: Id3a95f608018ecfae30dc0df9217548f90953403
-Add MediaOutputBaseDialog to provide common method for different media operations UI
-Add MediaOutputDialog for showing Bluetooth device
-Add resources for background image, style and layout
-Add MediaOutputBaseDialogTest for unit test
Bug: 155822415
Test: atest MediaOutputBaseDialogTest
Merged-In: I3086a4049f240870ca1ad870946d6848e500b561
Change-Id: I3086a4049f240870ca1ad870946d6848e500b561
-Access LocalMediaManger to display avilable output devices information
-Access LocalMediaManger to do media operation, such as volume adjustment,
switching output device, grouping
-Access MediaController to show media content information
-Add MediaOutputControllerTest for unit test
Bug: 155822415
Test: atest MediaOutputControllerTest
Merged-In: I9eb6e3b0a6e584637aecb4132dbc2b138c6d1530
Change-Id: I9eb6e3b0a6e584637aecb4132dbc2b138c6d1530
-Build device item layout by different cases
-Provide UI component for different operations
-Add MediaOutputBaseAdapter for common method
-Add MediaOutputAdapterTest for unit test
Bug: 155822415
Test: atest MediaOutputAdapterTest
Merged-In: Ida509ed401320b3665d7a5f29f4df5db096ff29c
Change-Id: Ida509ed401320b3665d7a5f29f4df5db096ff29c
* changes:
Allow DeviceConfig to change display settings for high zone
Set fixed fps when ambient or display brightness is high
Add FakeSettingsProviderRule class
This fixes stats bar blinking when switching from an app that hides
status bar to another that shows status bar. It is caused by the
TopFullscreenOpaqueWindow in DisplayPolicy will be updated according
to visibility. There may be an intermediate state that the insets
control target is still the previous window, then the transient
showing bar will be hidden a while.
It is tempting to make canAffectSystemUiFlags accept the activity
with mVisibleRequested=true so TopFullscreenOpaqueWindow can be
updated earlier. But that will break status bar hiding animation
when switching from an app that shows the bar to another that hides
the bar.
Also fix:
- The original insets source is modified when getting insets state
for client because the default "new InsetsState" will reuse the
given insets sources.
- Redundant invocation of updateBarControlTarget when calling
abortTransient from updateBarControlTarget.
Fixes: 168023253
Bug: 160458371
Test: InsetsPolicyTest#testControlsForDispatch_topAppHidesStatusBar
Change-Id: I60f29dba81b0273a189ddd0a48a2e84155177f5b
Merged-In: I60f29dba81b0273a189ddd0a48a2e84155177f5b
Otherwise the client app may not perform insets animation because
of a stale state that is no different from the previous one.
Bug: 170416293
Bug: 160458371
Test: DisplayContentTests#testApplyTopFixedRotationTransform
Change-Id: I6f89ba08d4996da0cf30fb18bab331678dc74622
Merged-In: I6f89ba08d4996da0cf30fb18bab331678dc74622
Force the display to stay at fixed fps when ambient and
display brightness are high.
Bug: 166581675
Test: atest DisplayModeDirectorTest
Test: no fps transition in the blocking zone
Change-Id: Idf0dfe0b9ef907a4158f36f6dfda19286206fb3f
Merged-In: Idf0dfe0b9ef907a4158f36f6dfda19286206fb3f
This could be lost after a reboot, due to the following sequence of
events:
1) App targets SDK 29 and has LEGACY_STORAGE
2) App updates to a version with targetSdk30 and preserveLegacyExternalStorage
3) App maintains LEGACY_STORAGE, because we currently have it and preserve
was requested
4) We reboot
5) When evaluating the READ_EXTERNAL_STORAGE permission, we check
whether we should grant the LEGACY_STORAGE extra app-op by calling
mayAllowExtraAppOp(); this call returns false, because there's a
check whether the app *currently* has LEGACY_STORAGE, which isn't true.
6) We then check whether we should deny LEGACY_STORAGE if it was
previously granted; this returns true, because it was implemented as the
inverse of 5)
7) LEGACY_STORAGE is denied
Fix this by more explicitly coding what allows us to get the appop, and
how it can be removed once we already have it.
Bug: 169943139
Test: atest RestrictedStoragePermissionTest
Test: atest PreserveLegacyStorageHostTest
Change-Id: Ic24372348118ad9ed818a28f377e0decc78b9ecc
Merged-In: Ic24372348118ad9ed818a28f377e0decc78b9ecc
(cherry picked from commit c57e3455ff)
Some apps like Netflix crashed while handleWindowFocusChanged but mView
somehow has became null.
It's fair to check null for mView.findFocus() since other places
in ViewRootImpl that calling this method also add null check.
Fix: 153862451
Test: atest CtsInputMethodTestCases
Change-Id: I86bd5f3193deabe28bb425a8564017f7b32b90f3
(cherry picked from commit bdaa14bf18)
The flag is now enabled only when MediaProvider version is
high enough to have the changes that handle it.
Bug: 115619667
Test: atest UriGrantsManagerServiceTest
Change-Id: I9582bb86ecf150a2f99a911226a40bb3e1273d4d
Otherwise the visibility of transient state doesn't take effect if
there is a fixed rotation insets state. Then the client side may not
aware visibility change to update alpha of insets leash.
Bug: 160458371
Test: atest DisplayPolicyLayoutTests#testFixedRotationInsetsSourceFrame
InsetsStateControllerTest#testTransientVisibilityOfFixedRotationState
Change-Id: Icecb25f64e983b163f169c191a9f0b15ac1b3086
Merged-In: Icecb25f64e983b163f169c191a9f0b15ac1b3086