pull/171/head
FongMi 2 years ago
parent fe0985c264
commit 88b4a5244c
  1. 5
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  2. 4
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  3. 11
      app/src/main/AndroidManifest.xml
  4. 21
      app/src/main/java/com/fongmi/android/tv/utils/Util.java
  5. 16
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  6. 15
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java

@ -62,6 +62,7 @@ import com.fongmi.android.tv.utils.ImgUtil;
import com.fongmi.android.tv.utils.Notify;
import com.fongmi.android.tv.utils.ResUtil;
import com.fongmi.android.tv.utils.Traffic;
import com.fongmi.android.tv.utils.Util;
import com.github.catvod.net.OkHttp;
import org.greenrobot.eventbus.Subscribe;
@ -345,8 +346,10 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
private boolean onChoose() {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("headers", mPlayers.getHeaderArray());
intent.putExtra("title", mBinding.widget.name.getText());
intent.setDataAndType(Uri.parse(mPlayers.getUrl()), "video/*");
startActivity(Intent.createChooser(intent, null));
startActivity(Util.getChooser(intent));
return true;
}

@ -81,6 +81,7 @@ import com.fongmi.android.tv.utils.Notify;
import com.fongmi.android.tv.utils.ResUtil;
import com.fongmi.android.tv.utils.Sniffer;
import com.fongmi.android.tv.utils.Traffic;
import com.fongmi.android.tv.utils.Util;
import com.github.bassaer.library.MDColor;
import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Trans;
@ -859,12 +860,13 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
private boolean onChoose() {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("return_result", true);
intent.putExtra("headers", mPlayers.getHeaderArray());
intent.putExtra("position", (int) mPlayers.getPosition());
intent.putExtra("title", mBinding.widget.title.getText());
intent.setDataAndType(Uri.parse(mPlayers.getUrl()), "video/*");
startActivityForResult(Intent.createChooser(intent, null), 1001);
startActivityForResult(Util.getChooser(intent), 1001);
return true;
}

@ -11,6 +11,17 @@
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<queries>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:mimeType="video/*" />
</intent>
<intent>
<action android:name="android.intent.action.SEND" />
<data android:mimeType="text/plain" />
</intent>
</queries>
<application
android:name=".App"
android:appCategory="video"

@ -2,9 +2,13 @@ package com.fongmi.android.tv.utils;
import android.app.Activity;
import android.content.ClipboardManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ResolveInfo;
import android.os.Build;
import android.os.IBinder;
import android.os.Parcelable;
import android.provider.Settings;
import android.view.View;
import android.view.Window;
@ -15,7 +19,9 @@ import com.fongmi.android.tv.App;
import com.github.catvod.Init;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Formatter;
import java.util.List;
public class Util {
@ -101,4 +107,19 @@ public class Util {
return "";
}
}
public static Intent getChooser(Intent intent) {
List<ComponentName> components = new ArrayList<>();
for (ResolveInfo resolveInfo : App.get().getPackageManager().queryIntentActivities(intent, 0)) {
String pkgName = resolveInfo.activityInfo.packageName;
if (pkgName.equals(App.get().getPackageName())) {
components.add(new ComponentName(pkgName, resolveInfo.activityInfo.name));
}
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
return Intent.createChooser(intent, null).putExtra(Intent.EXTRA_EXCLUDE_COMPONENTS, components.toArray(new Parcelable[]{}));
} else {
return Intent.createChooser(intent, null);
}
}
}

@ -15,7 +15,6 @@ import android.view.View;
import androidx.annotation.Dimension;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.app.ShareCompat;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import androidx.media3.common.C;
@ -295,18 +294,23 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
}
private void onShare() {
ShareCompat.IntentBuilder builder = new ShareCompat.IntentBuilder(this).setType("text/plain").setText(mPlayers.getUrl());
builder.getIntent().putExtra("title", mBinding.control.title.getText());
builder.getIntent().putExtra("name", mBinding.control.title.getText());
builder.startChooser();
Intent intent = new Intent(Intent.ACTION_SEND);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, mPlayers.getUrl());
intent.putExtra("name", mBinding.control.title.getText());
intent.putExtra("title", mBinding.control.title.getText());
startActivity(Util.getChooser(intent));
setRedirect(true);
}
private boolean onChoose() {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("headers", mPlayers.getHeaderArray());
intent.putExtra("title", mBinding.control.title.getText());
intent.setDataAndType(Uri.parse(mPlayers.getUrl()), "video/*");
startActivity(Intent.createChooser(intent, null));
startActivity(Util.getChooser(intent));
setRedirect(true);
return true;
}

@ -26,7 +26,6 @@ import android.widget.TextView;
import androidx.annotation.Dimension;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.app.ShareCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.lifecycle.Observer;
@ -715,21 +714,25 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
}
private void onShare() {
ShareCompat.IntentBuilder builder = new ShareCompat.IntentBuilder(this).setType("text/plain").setText(mPlayers.getUrl());
builder.getIntent().putExtra("title", mBinding.control.title.getText());
builder.getIntent().putExtra("name", mBinding.control.title.getText());
builder.startChooser();
Intent intent = new Intent(Intent.ACTION_SEND);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, mPlayers.getUrl());
intent.putExtra("name", mBinding.control.title.getText());
intent.putExtra("title", mBinding.control.title.getText());
startActivity(Util.getChooser(intent));
setRedirect(true);
}
private boolean onChoose() {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("return_result", true);
intent.putExtra("headers", mPlayers.getHeaderArray());
intent.putExtra("position", (int) mPlayers.getPosition());
intent.putExtra("title", mBinding.control.title.getText());
intent.setDataAndType(Uri.parse(mPlayers.getUrl()), "video/*");
startActivityForResult(Intent.createChooser(intent, null), 1001);
startActivityForResult(Util.getChooser(intent), 1001);
setRedirect(true);
return true;
}

Loading…
Cancel
Save