Loading core/java/com/android/internal/app/MediaRouteDialogPresenter.java +4 −8 Original line number Diff line number Diff line Loading @@ -86,7 +86,10 @@ public abstract class MediaRouteDialogPresenter { public static Dialog createDialog(Context context, int routeTypes, View.OnClickListener extendedSettingsClickListener, int theme, boolean showProgressBarWhenEmpty) { if (shouldShowChooserDialog(context, routeTypes)) { final MediaRouter router = context.getSystemService(MediaRouter.class); MediaRouter.RouteInfo route = router.getSelectedRoute(); if (route.isDefault() || !route.matchesTypes(routeTypes)) { final MediaRouteChooserDialog d = new MediaRouteChooserDialog(context, theme, showProgressBarWhenEmpty); d.setRouteTypes(routeTypes); Loading @@ -96,11 +99,4 @@ public abstract class MediaRouteDialogPresenter { return new MediaRouteControllerDialog(context, theme); } } /** Whether we should show the chooser dialog or the controller dialog.. */ public static boolean shouldShowChooserDialog(Context context, int routeTypes) { final MediaRouter router = context.getSystemService(MediaRouter.class); MediaRouter.RouteInfo route = router.getSelectedRoute(); return route.isDefault() || !route.matchesTypes(routeTypes); } } packages/SystemUI/src/com/android/systemui/qs/panels/ui/compose/TileDetails.kt +1 −1 Original line number Diff line number Diff line Loading @@ -133,7 +133,7 @@ private fun MapTileDetailsContent(tileDetailsViewModel: TileDetailsViewModel) { is BluetoothDetailsViewModel -> BluetoothDetailsContent(tileDetailsViewModel.detailsContentViewModel) is ModesDetailsViewModel -> ModesDetailsContent(tileDetailsViewModel) is CastDetailsViewModel -> CastDetailsContent(tileDetailsViewModel) is CastDetailsViewModel -> CastDetailsContent() } } Loading packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java +1 −2 Original line number Diff line number Diff line Loading @@ -192,8 +192,7 @@ public class CastTile extends QSTileImpl<BooleanState> { @Override public boolean getDetailsViewModel(Consumer<TileDetailsViewModel> callback) { CastDetailsViewModel viewModel = mCastDetailsViewModelFactory .create(mShadeDialogContextInteractor.getContext(), ROUTE_TYPE_REMOTE_DISPLAY); CastDetailsViewModel viewModel = mCastDetailsViewModelFactory.create(); handleClick(() -> { if (!mKeyguard.isShowing()) { callback.accept(viewModel); Loading packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/CastDetailsContent.kt +3 −19 Original line number Diff line number Diff line Loading @@ -20,34 +20,18 @@ import android.view.LayoutInflater import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.viewinterop.AndroidView import com.android.internal.R import com.android.internal.app.MediaRouteControllerContentManager @Composable fun CastDetailsContent(castDetailsViewModel: CastDetailsViewModel) { if (castDetailsViewModel.shouldShowChooserDialog()) { // TODO(b/378514236): Show the chooser UI here. return } val contentManager: MediaRouteControllerContentManager = remember { castDetailsViewModel.createControllerContentManager() } fun CastDetailsContent() { // TODO(b/378514236): Finish implementing this function. AndroidView( modifier = Modifier.fillMaxWidth().fillMaxHeight(), factory = { context -> // Inflate with the existing dialog xml layout val view = LayoutInflater.from(context).inflate(R.layout.media_route_controller_dialog, null) contentManager.bindViews(view) contentManager.onAttachedToWindow() view }, onRelease = { contentManager.onDetachedFromWindow() }, ) } packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/CastDetailsViewModel.kt +3 −31 Original line number Diff line number Diff line Loading @@ -16,37 +16,21 @@ package com.android.systemui.qs.tiles.dialog import android.content.Context import android.content.Intent import android.graphics.drawable.Drawable import android.provider.Settings import com.android.internal.app.MediaRouteControllerContentManager import com.android.internal.app.MediaRouteDialogPresenter import com.android.systemui.plugins.qs.TileDetailsViewModel import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject /** The view model used for the screen record details view in the Quick Settings */ class CastDetailsViewModel @AssistedInject constructor( private val qsTileIntentUserActionHandler: QSTileIntentUserInputHandler, @Assisted private val context: Context, @Assisted private val routeTypes: Int, ) : MediaRouteControllerContentManager.Delegate, TileDetailsViewModel { constructor(private val qsTileIntentUserActionHandler: QSTileIntentUserInputHandler) : TileDetailsViewModel { @AssistedFactory fun interface Factory { fun create(context: Context, routeTypes: Int): CastDetailsViewModel } fun shouldShowChooserDialog(): Boolean { return MediaRouteDialogPresenter.shouldShowChooserDialog(context, routeTypes) } fun createControllerContentManager(): MediaRouteControllerContentManager { return MediaRouteControllerContentManager(context, this) fun create(): CastDetailsViewModel } override fun clickOnSettingsButton() { Loading @@ -63,16 +47,4 @@ constructor( // TODO(b/388321032): Replace this string with a string in a translatable xml file, override val subTitle: String get() = "Searching for devices..." override fun setMediaRouteDeviceTitle(title: CharSequence?) { // TODO(b/378514236): Finish implementing this function. } override fun setMediaRouteDeviceIcon(icon: Drawable?) { // TODO(b/378514236): Finish implementing this function. } override fun dismissView() { // TODO(b/378514236): Finish implementing this function. } } Loading
core/java/com/android/internal/app/MediaRouteDialogPresenter.java +4 −8 Original line number Diff line number Diff line Loading @@ -86,7 +86,10 @@ public abstract class MediaRouteDialogPresenter { public static Dialog createDialog(Context context, int routeTypes, View.OnClickListener extendedSettingsClickListener, int theme, boolean showProgressBarWhenEmpty) { if (shouldShowChooserDialog(context, routeTypes)) { final MediaRouter router = context.getSystemService(MediaRouter.class); MediaRouter.RouteInfo route = router.getSelectedRoute(); if (route.isDefault() || !route.matchesTypes(routeTypes)) { final MediaRouteChooserDialog d = new MediaRouteChooserDialog(context, theme, showProgressBarWhenEmpty); d.setRouteTypes(routeTypes); Loading @@ -96,11 +99,4 @@ public abstract class MediaRouteDialogPresenter { return new MediaRouteControllerDialog(context, theme); } } /** Whether we should show the chooser dialog or the controller dialog.. */ public static boolean shouldShowChooserDialog(Context context, int routeTypes) { final MediaRouter router = context.getSystemService(MediaRouter.class); MediaRouter.RouteInfo route = router.getSelectedRoute(); return route.isDefault() || !route.matchesTypes(routeTypes); } }
packages/SystemUI/src/com/android/systemui/qs/panels/ui/compose/TileDetails.kt +1 −1 Original line number Diff line number Diff line Loading @@ -133,7 +133,7 @@ private fun MapTileDetailsContent(tileDetailsViewModel: TileDetailsViewModel) { is BluetoothDetailsViewModel -> BluetoothDetailsContent(tileDetailsViewModel.detailsContentViewModel) is ModesDetailsViewModel -> ModesDetailsContent(tileDetailsViewModel) is CastDetailsViewModel -> CastDetailsContent(tileDetailsViewModel) is CastDetailsViewModel -> CastDetailsContent() } } Loading
packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java +1 −2 Original line number Diff line number Diff line Loading @@ -192,8 +192,7 @@ public class CastTile extends QSTileImpl<BooleanState> { @Override public boolean getDetailsViewModel(Consumer<TileDetailsViewModel> callback) { CastDetailsViewModel viewModel = mCastDetailsViewModelFactory .create(mShadeDialogContextInteractor.getContext(), ROUTE_TYPE_REMOTE_DISPLAY); CastDetailsViewModel viewModel = mCastDetailsViewModelFactory.create(); handleClick(() -> { if (!mKeyguard.isShowing()) { callback.accept(viewModel); Loading
packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/CastDetailsContent.kt +3 −19 Original line number Diff line number Diff line Loading @@ -20,34 +20,18 @@ import android.view.LayoutInflater import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.viewinterop.AndroidView import com.android.internal.R import com.android.internal.app.MediaRouteControllerContentManager @Composable fun CastDetailsContent(castDetailsViewModel: CastDetailsViewModel) { if (castDetailsViewModel.shouldShowChooserDialog()) { // TODO(b/378514236): Show the chooser UI here. return } val contentManager: MediaRouteControllerContentManager = remember { castDetailsViewModel.createControllerContentManager() } fun CastDetailsContent() { // TODO(b/378514236): Finish implementing this function. AndroidView( modifier = Modifier.fillMaxWidth().fillMaxHeight(), factory = { context -> // Inflate with the existing dialog xml layout val view = LayoutInflater.from(context).inflate(R.layout.media_route_controller_dialog, null) contentManager.bindViews(view) contentManager.onAttachedToWindow() view }, onRelease = { contentManager.onDetachedFromWindow() }, ) }
packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/CastDetailsViewModel.kt +3 −31 Original line number Diff line number Diff line Loading @@ -16,37 +16,21 @@ package com.android.systemui.qs.tiles.dialog import android.content.Context import android.content.Intent import android.graphics.drawable.Drawable import android.provider.Settings import com.android.internal.app.MediaRouteControllerContentManager import com.android.internal.app.MediaRouteDialogPresenter import com.android.systemui.plugins.qs.TileDetailsViewModel import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject /** The view model used for the screen record details view in the Quick Settings */ class CastDetailsViewModel @AssistedInject constructor( private val qsTileIntentUserActionHandler: QSTileIntentUserInputHandler, @Assisted private val context: Context, @Assisted private val routeTypes: Int, ) : MediaRouteControllerContentManager.Delegate, TileDetailsViewModel { constructor(private val qsTileIntentUserActionHandler: QSTileIntentUserInputHandler) : TileDetailsViewModel { @AssistedFactory fun interface Factory { fun create(context: Context, routeTypes: Int): CastDetailsViewModel } fun shouldShowChooserDialog(): Boolean { return MediaRouteDialogPresenter.shouldShowChooserDialog(context, routeTypes) } fun createControllerContentManager(): MediaRouteControllerContentManager { return MediaRouteControllerContentManager(context, this) fun create(): CastDetailsViewModel } override fun clickOnSettingsButton() { Loading @@ -63,16 +47,4 @@ constructor( // TODO(b/388321032): Replace this string with a string in a translatable xml file, override val subTitle: String get() = "Searching for devices..." override fun setMediaRouteDeviceTitle(title: CharSequence?) { // TODO(b/378514236): Finish implementing this function. } override fun setMediaRouteDeviceIcon(icon: Drawable?) { // TODO(b/378514236): Finish implementing this function. } override fun dismissView() { // TODO(b/378514236): Finish implementing this function. } }