diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Device.java b/app/src/main/java/com/fongmi/android/tv/bean/Device.java index c60c6c347..96ffdee01 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Device.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Device.java @@ -100,16 +100,12 @@ public class Device { return getType() == 2; } - public boolean isCast() { - return getType() == 3; - } - public boolean isApp() { return isLeanback() || isMobile(); } public String getHost() { - return isDLNA() || isCast() ? getUuid() : Uri.parse(getIp()).getHost(); + return isDLNA() ? getUuid() : Uri.parse(getIp()).getHost(); } public Device save() { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b47158eb9..8f08988af 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -2,7 +2,7 @@ TV - 08955620 + EFAE7F9D Press back again to exit diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 081bb30c9..b03f253c5 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -30,14 +30,4 @@ true - - - - diff --git a/app/src/mobile/java/com/fongmi/android/tv/cast/CastDevice.java b/app/src/mobile/java/com/fongmi/android/tv/cast/CastDevice.java index 3545b25a1..a9825a2ec 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/cast/CastDevice.java +++ b/app/src/mobile/java/com/fongmi/android/tv/cast/CastDevice.java @@ -1,10 +1,5 @@ package com.fongmi.android.tv.cast; -import android.annotation.SuppressLint; - -import androidx.annotation.NonNull; -import androidx.mediarouter.media.MediaRouter; - import org.fourthline.cling.model.meta.Device; import java.util.ArrayList; @@ -13,7 +8,6 @@ import java.util.List; public class CastDevice { private final List> devices; - private final List routers; private static class Loader { static volatile CastDevice INSTANCE = new CastDevice(); @@ -25,7 +19,6 @@ public class CastDevice { public CastDevice() { this.devices = new ArrayList<>(); - this.routers = new ArrayList<>(); } public boolean isEmpty() { @@ -40,39 +33,16 @@ public class CastDevice { return device; } - private com.fongmi.android.tv.bean.Device create(MediaRouter.RouteInfo item) { - com.fongmi.android.tv.bean.Device device = new com.fongmi.android.tv.bean.Device(); - device.setName(item.getName()); - device.setUuid(item.getId()); - device.setType(3); - return device; - } - - public List getDLNA() { + public List getAll() { List items = new ArrayList<>(); for (Device item : devices) items.add(create(item)); return items; } - public List getCast() { - List items = new ArrayList<>(); - for (MediaRouter.RouteInfo item : routers) items.add(create(item)); - return items; - } - public List add(Device item) { devices.remove(item); devices.add(item); - return getDLNA(); - } - - @SuppressLint("RestrictedApi") - public List add(List items) { - ArrayList routes = new ArrayList<>(items); - onFilterRoutes(routes); - routers.clear(); - routers.addAll(routes); - return getCast(); + return getAll(); } public com.fongmi.android.tv.bean.Device remove(Device device) { @@ -80,22 +50,8 @@ public class CastDevice { return create(device); } - public Device findDLNA(com.fongmi.android.tv.bean.Device item) { + public Device find(com.fongmi.android.tv.bean.Device item) { for (Device device : devices) if (device.getIdentity().getUdn().getIdentifierString().equals(item.getUuid())) return device; return null; } - - public MediaRouter.RouteInfo findCast(com.fongmi.android.tv.bean.Device item) { - for (MediaRouter.RouteInfo device : routers) if (device.getId().equals(item.getUuid())) return device; - return null; - } - - private void onFilterRoutes(@NonNull List routes) { - for (int i = routes.size(); i-- > 0; ) if (!onFilterRoute(routes.get(i))) routes.remove(i); - } - - @SuppressLint("RestrictedApi") - private boolean onFilterRoute(@NonNull MediaRouter.RouteInfo route) { - return !route.isDefaultOrBluetooth() && route.isEnabled(); - } } diff --git a/app/src/mobile/java/com/fongmi/android/tv/cast/CastOptionsProvider.java b/app/src/mobile/java/com/fongmi/android/tv/cast/CastOptionsProvider.java index bda5960b9..85bca5560 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/cast/CastOptionsProvider.java +++ b/app/src/mobile/java/com/fongmi/android/tv/cast/CastOptionsProvider.java @@ -6,7 +6,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.fongmi.android.tv.R; -import com.fongmi.android.tv.ui.activity.DetailActivity; +import com.fongmi.android.tv.ui.activity.MainActivity; import com.google.android.gms.cast.LaunchOptions; import com.google.android.gms.cast.MediaMetadata; import com.google.android.gms.cast.framework.CastOptions; @@ -27,8 +27,8 @@ public class CastOptionsProvider implements OptionsProvider { @NonNull @Override public CastOptions getCastOptions(Context context) { - NotificationOptions notificationOptions = new NotificationOptions.Builder().setActions(Arrays.asList(MediaIntentReceiver.ACTION_SKIP_NEXT, MediaIntentReceiver.ACTION_TOGGLE_PLAYBACK, MediaIntentReceiver.ACTION_STOP_CASTING), new int[]{1, 2}).setTargetActivityClassName(DetailActivity.class.getName()).build(); - CastMediaOptions mediaOptions = new CastMediaOptions.Builder().setImagePicker(new ImagePickerImpl()).setNotificationOptions(notificationOptions).setExpandedControllerActivityClassName(DetailActivity.class.getName()).build(); + NotificationOptions notificationOptions = new NotificationOptions.Builder().setActions(Arrays.asList(MediaIntentReceiver.ACTION_SKIP_NEXT, MediaIntentReceiver.ACTION_TOGGLE_PLAYBACK, MediaIntentReceiver.ACTION_STOP_CASTING), new int[]{1, 2}).setTargetActivityClassName(MainActivity.class.getName()).build(); + CastMediaOptions mediaOptions = new CastMediaOptions.Builder().setImagePicker(new ImagePickerImpl()).setNotificationOptions(notificationOptions).setExpandedControllerActivityClassName(MainActivity.class.getName()).build(); LaunchOptions launchOptions = new LaunchOptions.Builder().setAndroidReceiverCompatible(true).build(); return new CastOptions.Builder().setLaunchOptions(launchOptions).setReceiverApplicationId(context.getString(R.string.app_id)).setCastMediaOptions(mediaOptions).build(); } @@ -42,21 +42,9 @@ public class CastOptionsProvider implements OptionsProvider { private static class ImagePickerImpl extends ImagePicker { @Override - public WebImage onPickImage(MediaMetadata mediaMetadata, ImageHints hints) { - int type = hints.getType(); - if ((mediaMetadata == null) || !mediaMetadata.hasImages()) { - return null; - } - List images = mediaMetadata.getImages(); - if (images.size() == 1) { - return images.get(0); - } else { - if (type == ImagePicker.IMAGE_TYPE_MEDIA_ROUTE_CONTROLLER_DIALOG_BACKGROUND) { - return images.get(0); - } else { - return images.get(1); - } - } + public WebImage onPickImage(MediaMetadata mediaMetadata, @NonNull ImageHints hints) { + if (mediaMetadata == null || !mediaMetadata.hasImages()) return null; + return mediaMetadata.getImages().get(0); } } } diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java index eb91125fd..e6528899b 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java @@ -67,7 +67,6 @@ import com.fongmi.android.tv.utils.Prefers; import com.fongmi.android.tv.utils.ResUtil; import com.fongmi.android.tv.utils.Traffic; import com.fongmi.android.tv.utils.Utils; -import com.google.android.gms.cast.framework.CastContext; import com.google.android.material.bottomsheet.BottomSheetDialogFragment; import com.permissionx.guolindev.PermissionX; @@ -95,7 +94,6 @@ public class DetailActivity extends BaseActivity implements Clock.Callback, Cust private ExecutorService mExecutor; private SiteViewModel mViewModel; private FlagAdapter mFlagAdapter; - private CastContext mCastContext; private List mDialogs; private PiPReceiver mReceiver; private History mHistory; diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/DeviceAdapter.java b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/DeviceAdapter.java index c70373fc8..a5e31e02f 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/DeviceAdapter.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/DeviceAdapter.java @@ -74,9 +74,7 @@ public class DeviceAdapter extends RecyclerView.Adapter + + @null @null @color/transparent - @style/ThemeOverlay.App.BottomSheetDialog + +