Fix file bug

pull/211/head
FongMi 2 years ago
parent 3136883f56
commit 402a53033c
  1. 3
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  2. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  3. 5
      app/src/main/java/com/fongmi/android/tv/player/Players.java
  4. 6
      app/src/main/java/com/fongmi/android/tv/utils/FileUtil.java
  5. 1
      app/src/main/res/xml/file_paths.xml
  6. 3
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  7. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java

@ -4,7 +4,6 @@ import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.support.v4.media.MediaMetadataCompat;
import android.view.KeyEvent;
import android.view.View;
@ -379,7 +378,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
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/*");
intent.setDataAndType(mPlayers.getUri(), "video/*");
startActivity(Util.getChooser(intent));
return true;
}

@ -880,7 +880,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
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/*");
intent.setDataAndType(mPlayers.getUri(), "video/*");
startActivityForResult(Util.getChooser(intent), 1001);
return true;
}

@ -32,6 +32,7 @@ import com.fongmi.android.tv.event.ErrorEvent;
import com.fongmi.android.tv.event.PlayerEvent;
import com.fongmi.android.tv.impl.ParseCallback;
import com.fongmi.android.tv.impl.SessionCallback;
import com.fongmi.android.tv.utils.FileUtil;
import com.fongmi.android.tv.utils.Notify;
import com.fongmi.android.tv.utils.ResUtil;
import com.fongmi.android.tv.utils.UrlUtil;
@ -171,6 +172,10 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, Analytic
return url;
}
public Uri getUri() {
return getUrl().startsWith("file://") || getUrl().startsWith("/") ? FileUtil.getShareUri(getUrl()) : Uri.parse(getUrl());
}
public void clean() {
this.headers = null;
this.url = null;

@ -60,7 +60,11 @@ public class FileUtil {
});
}
private static Uri getShareUri(File file) {
public static Uri getShareUri(String path) {
return getShareUri(new File(path.replace("file://", "")));
}
public static Uri getShareUri(File file) {
return Build.VERSION.SDK_INT < Build.VERSION_CODES.N ? Uri.fromFile(file) : FileProvider.getUriForFile(App.get(), App.get().getPackageName() + ".provider", file);
}

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<paths>
<root-path name="root" path="." />
<cache-path name="cache_files" path="." />
<external-path name="external_files" path="." />
</paths>

@ -6,7 +6,6 @@ import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.media.MediaMetadataCompat;
@ -436,7 +435,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
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/*");
intent.setDataAndType(mPlayers.getUri(), "video/*");
startActivity(Util.getChooser(intent));
setRedirect(true);
return true;

@ -891,7 +891,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
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/*");
intent.setDataAndType(mPlayers.getUri(), "video/*");
startActivityForResult(Util.getChooser(intent), 1001);
setRedirect(true);
return true;

Loading…
Cancel
Save