diff --git a/app/src/leanback/AndroidManifest.xml b/app/src/leanback/AndroidManifest.xml
index d6053ab18..bc83fea36 100644
--- a/app/src/leanback/AndroidManifest.xml
+++ b/app/src/leanback/AndroidManifest.xml
@@ -16,6 +16,7 @@
+
@@ -111,6 +112,7 @@
start(activity, "push_agent", "file://" + path, name, true));
+ PermissionX.init(activity).permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE).request((allGranted, grantedList, deniedList) -> start(activity, "push_agent", "file://" + path, name));
}
public static void cast(Activity activity, History history) {
- start(activity, history.getSiteKey(), history.getVodId(), history.getVodName(), history.getVodPic(), null, true, true, false);
+ start(activity, history.getSiteKey(), history.getVodId(), history.getVodName(), history.getVodPic(), null, true, false);
}
public static void collect(Activity activity, String key, String id, String name, String pic) {
- start(activity, key, id, name, pic, null, false, false, true);
+ start(activity, key, id, name, pic, null, false, true);
}
public static void start(Activity activity, String url) {
- start(activity, url, true);
+ start(activity, "push_agent", url, url);
}
- public static void start(Activity activity, String url, boolean clear) {
- start(activity, "push_agent", url, url, clear);
- }
-
- public static void start(Activity activity, String id, String name, String pic) {
- start(activity, VodConfig.get().getHome().getKey(), id, name, pic);
+ public static void start(Activity activity, String key, String id, String name) {
+ start(activity, key, id, name, null);
}
public static void start(Activity activity, String key, String id, String name, String pic) {
- start(activity, key, id, name, pic, null, false);
+ start(activity, key, id, name, pic, null);
}
public static void start(Activity activity, String key, String id, String name, String pic, String mark) {
- start(activity, key, id, name, pic, mark, false);
- }
-
- public static void start(Activity activity, String key, String id, String name, boolean clear) {
- start(activity, key, id, name, null, null, clear, false, false);
+ start(activity, key, id, name, pic, mark, false, false);
}
- public static void start(Activity activity, String key, String id, String name, String pic, String mark, boolean clear) {
- start(activity, key, id, name, pic, mark, clear, false, false);
- }
-
- public static void start(Activity activity, String key, String id, String name, String pic, String mark, boolean clear, boolean cast, boolean collect) {
- Intent intent = new Intent(activity, VideoActivity.class);
- if (clear) intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
+ public static void start(Activity activity, String key, String id, String name, String pic, String mark, boolean cast, boolean collect) {
+ Intent intent = new Intent(activity, VideoActivity.class).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("collect", collect);
intent.putExtra("cast", cast);
intent.putExtra("mark", mark);
@@ -189,7 +176,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
intent.putExtra("pic", pic);
intent.putExtra("key", key);
intent.putExtra("id", id);
- activity.startActivityForResult(intent, 1000);
+ activity.startActivity(intent);
}
private boolean isCast() {
@@ -264,6 +251,16 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
return mBinding = ActivityVideoBinding.inflate(getLayoutInflater());
}
+ @Override
+ protected void onNewIntent(Intent intent) {
+ super.onNewIntent(intent);
+ String id = Objects.toString(intent.getStringExtra("id"), "");
+ if (TextUtils.isEmpty(id) || id.equals(getId())) return;
+ getIntent().putExtras(intent);
+ stopSearch();
+ checkId();
+ }
+
@Override
protected void initView() {
mFrameParams = mBinding.video.getLayoutParams();
@@ -1367,16 +1364,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
- if (resultCode != RESULT_OK) return;
- switch (requestCode) {
- case 1000:
- setResult(RESULT_OK);
- finish();
- break;
- case 1001:
- mPlayers.checkData(data);
- break;
- }
+ if (resultCode == RESULT_OK && requestCode == 1001) mPlayers.checkData(data);
}
@Override