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