mirror of
https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy.git
synced 2025-01-11 18:57:11 +01:00
Load HLS video instead of Dash video to support older Android versions. Fixed app crashes on opening video or images on older Android versions.
This commit is contained in:
parent
f4515514c1
commit
354a215209
@ -429,7 +429,7 @@ class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVie
|
|||||||
Intent intent = new Intent(mActivity, ViewVideoActivity.class);
|
Intent intent = new Intent(mActivity, ViewVideoActivity.class);
|
||||||
intent.setData(gifVideoUri);
|
intent.setData(gifVideoUri);
|
||||||
intent.putExtra(ViewVideoActivity.TITLE_KEY, mPost.getTitle());
|
intent.putExtra(ViewVideoActivity.TITLE_KEY, mPost.getTitle());
|
||||||
intent.putExtra(ViewVideoActivity.IS_DASH_VIDEO_KEY, mPost.isDashVideo());
|
intent.putExtra(ViewVideoActivity.IS_HLS_VIDEO_KEY, mPost.isHLSVideo());
|
||||||
intent.putExtra(ViewVideoActivity.IS_DOWNLOADABLE_KEY, mPost.isDownloadableGifOrVideo());
|
intent.putExtra(ViewVideoActivity.IS_DOWNLOADABLE_KEY, mPost.isDownloadableGifOrVideo());
|
||||||
if(mPost.isDownloadableGifOrVideo()) {
|
if(mPost.isDownloadableGifOrVideo()) {
|
||||||
intent.putExtra(ViewVideoActivity.DOWNLOAD_URL_KEY, mPost.getGifOrVideoDownloadUrl());
|
intent.putExtra(ViewVideoActivity.DOWNLOAD_URL_KEY, mPost.getGifOrVideoDownloadUrl());
|
||||||
@ -447,7 +447,7 @@ class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVie
|
|||||||
Intent intent = new Intent(mActivity, ViewVideoActivity.class);
|
Intent intent = new Intent(mActivity, ViewVideoActivity.class);
|
||||||
intent.setData(videoUri);
|
intent.setData(videoUri);
|
||||||
intent.putExtra(ViewVideoActivity.TITLE_KEY, mPost.getTitle());
|
intent.putExtra(ViewVideoActivity.TITLE_KEY, mPost.getTitle());
|
||||||
intent.putExtra(ViewVideoActivity.IS_DASH_VIDEO_KEY, mPost.isDashVideo());
|
intent.putExtra(ViewVideoActivity.IS_HLS_VIDEO_KEY, mPost.isHLSVideo());
|
||||||
intent.putExtra(ViewVideoActivity.IS_DOWNLOADABLE_KEY, mPost.isDownloadableGifOrVideo());
|
intent.putExtra(ViewVideoActivity.IS_DOWNLOADABLE_KEY, mPost.isDownloadableGifOrVideo());
|
||||||
if(mPost.isDownloadableGifOrVideo()) {
|
if(mPost.isDownloadableGifOrVideo()) {
|
||||||
intent.putExtra(ViewVideoActivity.DOWNLOAD_URL_KEY, mPost.getGifOrVideoDownloadUrl());
|
intent.putExtra(ViewVideoActivity.DOWNLOAD_URL_KEY, mPost.getGifOrVideoDownloadUrl());
|
||||||
|
@ -34,7 +34,7 @@ public class JSONUtils {
|
|||||||
static final String URL_KEY = "url";
|
static final String URL_KEY = "url";
|
||||||
static final String MEDIA_KEY = "media";
|
static final String MEDIA_KEY = "media";
|
||||||
static final String REDDIT_VIDEO_KEY = "reddit_video";
|
static final String REDDIT_VIDEO_KEY = "reddit_video";
|
||||||
static final String DASH_URL_KEY = "dash_url";
|
static final String HLS_URL_KEY = "hls_url";
|
||||||
static final String IS_VIDEO_KEY = "is_video";
|
static final String IS_VIDEO_KEY = "is_video";
|
||||||
static final String CROSSPOST_PARENT_LIST = "crosspost_parent_list";
|
static final String CROSSPOST_PARENT_LIST = "crosspost_parent_list";
|
||||||
static final String REDDIT_VIDEO_PREVIEW_KEY = "reddit_video_preview";
|
static final String REDDIT_VIDEO_PREVIEW_KEY = "reddit_video_preview";
|
||||||
|
@ -262,7 +262,7 @@ class ParsePost {
|
|||||||
//Video post
|
//Video post
|
||||||
JSONObject redditVideoObject = data.getJSONObject(JSONUtils.MEDIA_KEY).getJSONObject(JSONUtils.REDDIT_VIDEO_KEY);
|
JSONObject redditVideoObject = data.getJSONObject(JSONUtils.MEDIA_KEY).getJSONObject(JSONUtils.REDDIT_VIDEO_KEY);
|
||||||
int postType = Post.VIDEO_TYPE;
|
int postType = Post.VIDEO_TYPE;
|
||||||
String videoUrl = Html.fromHtml(redditVideoObject.getString(JSONUtils.DASH_URL_KEY)).toString();
|
String videoUrl = Html.fromHtml(redditVideoObject.getString(JSONUtils.HLS_URL_KEY)).toString();
|
||||||
|
|
||||||
post = new Post(id, fullName, subredditName, subredditNamePrefixed, author, formattedPostTime,
|
post = new Post(id, fullName, subredditName, subredditNamePrefixed, author, formattedPostTime,
|
||||||
title, previewUrl, permalink, score, postType, voteType, gilded, flair, hidden,
|
title, previewUrl, permalink, score, postType, voteType, gilded, flair, hidden,
|
||||||
@ -290,10 +290,10 @@ class ParsePost {
|
|||||||
post.setDownloadableGifOrVideo(true);
|
post.setDownloadableGifOrVideo(true);
|
||||||
post.setGifOrVideoDownloadUrl(gifDownloadUrl);
|
post.setGifOrVideoDownloadUrl(gifDownloadUrl);
|
||||||
} else if(data.getJSONObject(JSONUtils.PREVIEW_KEY).has(JSONUtils.REDDIT_VIDEO_PREVIEW_KEY)) {
|
} else if(data.getJSONObject(JSONUtils.PREVIEW_KEY).has(JSONUtils.REDDIT_VIDEO_PREVIEW_KEY)) {
|
||||||
//Gif video post (Dash)
|
//Gif video post (HLS)
|
||||||
int postType = Post.GIF_VIDEO_TYPE;
|
int postType = Post.GIF_VIDEO_TYPE;
|
||||||
String videoUrl = Html.fromHtml(data.getJSONObject(JSONUtils.PREVIEW_KEY)
|
String videoUrl = Html.fromHtml(data.getJSONObject(JSONUtils.PREVIEW_KEY)
|
||||||
.getJSONObject(JSONUtils.REDDIT_VIDEO_PREVIEW_KEY).getString(JSONUtils.DASH_URL_KEY)).toString();
|
.getJSONObject(JSONUtils.REDDIT_VIDEO_PREVIEW_KEY).getString(JSONUtils.HLS_URL_KEY)).toString();
|
||||||
|
|
||||||
post = new Post(id, fullName, subredditName, subredditNamePrefixed, author,
|
post = new Post(id, fullName, subredditName, subredditNamePrefixed, author,
|
||||||
formattedPostTime, title, previewUrl, permalink, score, postType, voteType,
|
formattedPostTime, title, previewUrl, permalink, score, postType, voteType,
|
||||||
|
@ -47,7 +47,7 @@ class Post implements Parcelable {
|
|||||||
private boolean locked;
|
private boolean locked;
|
||||||
private boolean saved;
|
private boolean saved;
|
||||||
private boolean isCrosspost;
|
private boolean isCrosspost;
|
||||||
private boolean isDashVideo;
|
private boolean isHLSVideo;
|
||||||
private boolean isDownloadableGifOrVideo;
|
private boolean isDownloadableGifOrVideo;
|
||||||
private String crosspostParentId;
|
private String crosspostParentId;
|
||||||
|
|
||||||
@ -55,7 +55,7 @@ class Post implements Parcelable {
|
|||||||
String postTime, String title, String previewUrl, String permalink, int score, int postType,
|
String postTime, String title, String previewUrl, String permalink, int score, int postType,
|
||||||
int voteType, int gilded, String flair, boolean hidden, boolean spoiler, boolean nsfw,
|
int voteType, int gilded, String flair, boolean hidden, boolean spoiler, boolean nsfw,
|
||||||
boolean stickied, boolean archived, boolean locked, boolean saved, boolean isCrosspost,
|
boolean stickied, boolean archived, boolean locked, boolean saved, boolean isCrosspost,
|
||||||
boolean isDashVideo) {
|
boolean isHLSVideo) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.fullName = fullName;
|
this.fullName = fullName;
|
||||||
this.subredditName = subredditName;
|
this.subredditName = subredditName;
|
||||||
@ -79,7 +79,7 @@ class Post implements Parcelable {
|
|||||||
this.locked = locked;
|
this.locked = locked;
|
||||||
this.saved = saved;
|
this.saved = saved;
|
||||||
this.isCrosspost = isCrosspost;
|
this.isCrosspost = isCrosspost;
|
||||||
this.isDashVideo = isDashVideo;
|
this.isHLSVideo = isHLSVideo;
|
||||||
}
|
}
|
||||||
|
|
||||||
Post(String id, String fullName, String subredditName, String subredditNamePrefixed, String author,
|
Post(String id, String fullName, String subredditName, String subredditNamePrefixed, String author,
|
||||||
@ -172,7 +172,7 @@ class Post implements Parcelable {
|
|||||||
locked = in.readByte() != 0;
|
locked = in.readByte() != 0;
|
||||||
saved = in.readByte() != 0;
|
saved = in.readByte() != 0;
|
||||||
isCrosspost = in.readByte() != 0;
|
isCrosspost = in.readByte() != 0;
|
||||||
isDashVideo = in.readByte() != 0;
|
isHLSVideo = in.readByte() != 0;
|
||||||
isDownloadableGifOrVideo = in.readByte() != 0;
|
isDownloadableGifOrVideo = in.readByte() != 0;
|
||||||
crosspostParentId = in.readString();
|
crosspostParentId = in.readString();
|
||||||
}
|
}
|
||||||
@ -354,8 +354,8 @@ class Post implements Parcelable {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean isDashVideo() {
|
boolean isHLSVideo() {
|
||||||
return isDashVideo;
|
return isHLSVideo;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setDownloadableGifOrVideo(boolean isDownloadableGifOrVideo) {
|
void setDownloadableGifOrVideo(boolean isDownloadableGifOrVideo) {
|
||||||
@ -431,7 +431,7 @@ class Post implements Parcelable {
|
|||||||
parcel.writeByte((byte) (locked ? 1 : 0));
|
parcel.writeByte((byte) (locked ? 1 : 0));
|
||||||
parcel.writeByte((byte) (saved ? 1 : 0));
|
parcel.writeByte((byte) (saved ? 1 : 0));
|
||||||
parcel.writeByte((byte) (isCrosspost ? 1 : 0));
|
parcel.writeByte((byte) (isCrosspost ? 1 : 0));
|
||||||
parcel.writeByte((byte) (isDashVideo ? 1 : 0));
|
parcel.writeByte((byte) (isHLSVideo ? 1 : 0));
|
||||||
parcel.writeByte((byte) (isDownloadableGifOrVideo ? 1 : 0));
|
parcel.writeByte((byte) (isDownloadableGifOrVideo ? 1 : 0));
|
||||||
parcel.writeString(crosspostParentId);
|
parcel.writeString(crosspostParentId);
|
||||||
}
|
}
|
||||||
|
@ -419,7 +419,7 @@ class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView.ViewHo
|
|||||||
Intent intent = new Intent(mContext, ViewVideoActivity.class);
|
Intent intent = new Intent(mContext, ViewVideoActivity.class);
|
||||||
intent.setData(gifVideoUri);
|
intent.setData(gifVideoUri);
|
||||||
intent.putExtra(ViewVideoActivity.TITLE_KEY, title);
|
intent.putExtra(ViewVideoActivity.TITLE_KEY, title);
|
||||||
intent.putExtra(ViewVideoActivity.IS_DASH_VIDEO_KEY, post.isDashVideo());
|
intent.putExtra(ViewVideoActivity.IS_HLS_VIDEO_KEY, post.isHLSVideo());
|
||||||
intent.putExtra(ViewVideoActivity.IS_DOWNLOADABLE_KEY, post.isDownloadableGifOrVideo());
|
intent.putExtra(ViewVideoActivity.IS_DOWNLOADABLE_KEY, post.isDownloadableGifOrVideo());
|
||||||
if(post.isDownloadableGifOrVideo()) {
|
if(post.isDownloadableGifOrVideo()) {
|
||||||
intent.putExtra(ViewVideoActivity.DOWNLOAD_URL_KEY, post.getGifOrVideoDownloadUrl());
|
intent.putExtra(ViewVideoActivity.DOWNLOAD_URL_KEY, post.getGifOrVideoDownloadUrl());
|
||||||
@ -437,7 +437,7 @@ class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView.ViewHo
|
|||||||
Intent intent = new Intent(mContext, ViewVideoActivity.class);
|
Intent intent = new Intent(mContext, ViewVideoActivity.class);
|
||||||
intent.setData(videoUri);
|
intent.setData(videoUri);
|
||||||
intent.putExtra(ViewVideoActivity.TITLE_KEY, title);
|
intent.putExtra(ViewVideoActivity.TITLE_KEY, title);
|
||||||
intent.putExtra(ViewVideoActivity.IS_DASH_VIDEO_KEY, post.isDashVideo());
|
intent.putExtra(ViewVideoActivity.IS_HLS_VIDEO_KEY, post.isHLSVideo());
|
||||||
intent.putExtra(ViewVideoActivity.IS_DOWNLOADABLE_KEY, post.isDownloadableGifOrVideo());
|
intent.putExtra(ViewVideoActivity.IS_DOWNLOADABLE_KEY, post.isDownloadableGifOrVideo());
|
||||||
if(post.isDownloadableGifOrVideo()) {
|
if(post.isDownloadableGifOrVideo()) {
|
||||||
intent.putExtra(ViewVideoActivity.DOWNLOAD_URL_KEY, post.getGifOrVideoDownloadUrl());
|
intent.putExtra(ViewVideoActivity.DOWNLOAD_URL_KEY, post.getGifOrVideoDownloadUrl());
|
||||||
|
@ -95,7 +95,7 @@ public class ViewImageActivity extends AppCompatActivity {
|
|||||||
ActionBar actionBar = getSupportActionBar();
|
ActionBar actionBar = getSupportActionBar();
|
||||||
Drawable upArrow = getResources().getDrawable(R.drawable.ic_arrow_back_white_24dp);
|
Drawable upArrow = getResources().getDrawable(R.drawable.ic_arrow_back_white_24dp);
|
||||||
actionBar.setHomeAsUpIndicator(upArrow);
|
actionBar.setHomeAsUpIndicator(upArrow);
|
||||||
actionBar.setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.transparentActionBarColor)));
|
actionBar.setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.transparentActionBarAndExoPlayerControllerColor)));
|
||||||
setTitle("");
|
setTitle("");
|
||||||
|
|
||||||
Intent intent = getIntent();
|
Intent intent = getIntent();
|
||||||
@ -113,7 +113,7 @@ public class ViewImageActivity extends AppCompatActivity {
|
|||||||
float pxHeight = getResources().getDisplayMetrics().heightPixels;
|
float pxHeight = getResources().getDisplayMetrics().heightPixels;
|
||||||
|
|
||||||
int activityColorFrom = getResources().getColor(android.R.color.black);
|
int activityColorFrom = getResources().getColor(android.R.color.black);
|
||||||
int actionBarColorFrom = getResources().getColor(R.color.transparentActionBarColor);
|
int actionBarColorFrom = getResources().getColor(R.color.transparentActionBarAndExoPlayerControllerColor);
|
||||||
int actionBarElementColorFrom = getResources().getColor(android.R.color.white);
|
int actionBarElementColorFrom = getResources().getColor(android.R.color.white);
|
||||||
int colorTo = getResources().getColor(android.R.color.transparent);
|
int colorTo = getResources().getColor(android.R.color.transparent);
|
||||||
|
|
||||||
|
@ -39,8 +39,8 @@ import com.google.android.exoplayer2.Player;
|
|||||||
import com.google.android.exoplayer2.SimpleExoPlayer;
|
import com.google.android.exoplayer2.SimpleExoPlayer;
|
||||||
import com.google.android.exoplayer2.source.ExtractorMediaSource;
|
import com.google.android.exoplayer2.source.ExtractorMediaSource;
|
||||||
import com.google.android.exoplayer2.source.dash.DashChunkSource;
|
import com.google.android.exoplayer2.source.dash.DashChunkSource;
|
||||||
import com.google.android.exoplayer2.source.dash.DashMediaSource;
|
|
||||||
import com.google.android.exoplayer2.source.dash.DefaultDashChunkSource;
|
import com.google.android.exoplayer2.source.dash.DefaultDashChunkSource;
|
||||||
|
import com.google.android.exoplayer2.source.hls.HlsMediaSource;
|
||||||
import com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection;
|
import com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection;
|
||||||
import com.google.android.exoplayer2.trackselection.DefaultTrackSelector;
|
import com.google.android.exoplayer2.trackselection.DefaultTrackSelector;
|
||||||
import com.google.android.exoplayer2.trackselection.TrackSelection;
|
import com.google.android.exoplayer2.trackselection.TrackSelection;
|
||||||
@ -59,7 +59,7 @@ public class ViewVideoActivity extends AppCompatActivity {
|
|||||||
private static final int PERMISSION_REQUEST_WRITE_EXTERNAL_STORAGE = 0;
|
private static final int PERMISSION_REQUEST_WRITE_EXTERNAL_STORAGE = 0;
|
||||||
|
|
||||||
static final String TITLE_KEY = "TK";
|
static final String TITLE_KEY = "TK";
|
||||||
static final String IS_DASH_VIDEO_KEY = "IDVK";
|
static final String IS_HLS_VIDEO_KEY = "IHVK";
|
||||||
static final String IS_DOWNLOADABLE_KEY = "IDK";
|
static final String IS_DOWNLOADABLE_KEY = "IDK";
|
||||||
static final String DOWNLOAD_URL_KEY = "DUK";
|
static final String DOWNLOAD_URL_KEY = "DUK";
|
||||||
static final String SUBREDDIT_KEY = "SK";
|
static final String SUBREDDIT_KEY = "SK";
|
||||||
@ -76,7 +76,7 @@ public class ViewVideoActivity extends AppCompatActivity {
|
|||||||
|
|
||||||
private String mGifOrVideoFileName;
|
private String mGifOrVideoFileName;
|
||||||
private String mDownloadUrl;
|
private String mDownloadUrl;
|
||||||
private boolean mIsDashVideo;
|
private boolean mIsHLSVideo;
|
||||||
private boolean wasPlaying;
|
private boolean wasPlaying;
|
||||||
private boolean isDownloading = false;
|
private boolean isDownloading = false;
|
||||||
private float totalLengthY = 0.0f;
|
private float totalLengthY = 0.0f;
|
||||||
@ -92,10 +92,9 @@ public class ViewVideoActivity extends AppCompatActivity {
|
|||||||
ActionBar actionBar = getSupportActionBar();
|
ActionBar actionBar = getSupportActionBar();
|
||||||
Drawable upArrow = getResources().getDrawable(R.drawable.ic_arrow_back_white_24dp);
|
Drawable upArrow = getResources().getDrawable(R.drawable.ic_arrow_back_white_24dp);
|
||||||
actionBar.setHomeAsUpIndicator(upArrow);
|
actionBar.setHomeAsUpIndicator(upArrow);
|
||||||
actionBar.setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.transparentActionBarColor)));
|
actionBar.setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.transparentActionBarAndExoPlayerControllerColor)));
|
||||||
setTitle("");
|
setTitle("");
|
||||||
|
|
||||||
|
|
||||||
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT || getResources().getBoolean(R.bool.isTablet)) {
|
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT || getResources().getBoolean(R.bool.isTablet)) {
|
||||||
//Set player controller bottom margin in order to display it above the navbar
|
//Set player controller bottom margin in order to display it above the navbar
|
||||||
int resourceId = getResources().getIdentifier("navigation_bar_height", "dimen", "android");
|
int resourceId = getResources().getIdentifier("navigation_bar_height", "dimen", "android");
|
||||||
@ -112,7 +111,7 @@ public class ViewVideoActivity extends AppCompatActivity {
|
|||||||
|
|
||||||
Intent intent = getIntent();
|
Intent intent = getIntent();
|
||||||
mVideoUri = intent.getData();
|
mVideoUri = intent.getData();
|
||||||
mIsDashVideo = intent.getExtras().getBoolean(IS_DASH_VIDEO_KEY);
|
mIsHLSVideo = intent.getExtras().getBoolean(IS_HLS_VIDEO_KEY);
|
||||||
|
|
||||||
if(intent.getExtras().getBoolean(IS_DOWNLOADABLE_KEY)) {
|
if(intent.getExtras().getBoolean(IS_DOWNLOADABLE_KEY)) {
|
||||||
mGifOrVideoFileName = intent.getExtras().getString(SUBREDDIT_KEY).substring(2)
|
mGifOrVideoFileName = intent.getExtras().getString(SUBREDDIT_KEY).substring(2)
|
||||||
@ -123,7 +122,7 @@ public class ViewVideoActivity extends AppCompatActivity {
|
|||||||
final float pxHeight = getResources().getDisplayMetrics().heightPixels;
|
final float pxHeight = getResources().getDisplayMetrics().heightPixels;
|
||||||
|
|
||||||
int activityColorFrom = getResources().getColor(android.R.color.black);
|
int activityColorFrom = getResources().getColor(android.R.color.black);
|
||||||
int actionBarColorFrom = getResources().getColor(R.color.transparentActionBarColor);
|
int actionBarColorFrom = getResources().getColor(R.color.transparentActionBarAndExoPlayerControllerColor);
|
||||||
int actionBarElementColorFrom = getResources().getColor(android.R.color.white);
|
int actionBarElementColorFrom = getResources().getColor(android.R.color.white);
|
||||||
int colorTo = getResources().getColor(android.R.color.transparent);
|
int colorTo = getResources().getColor(android.R.color.transparent);
|
||||||
|
|
||||||
@ -286,7 +285,7 @@ public class ViewVideoActivity extends AppCompatActivity {
|
|||||||
});
|
});
|
||||||
|
|
||||||
DefaultBandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
|
DefaultBandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
|
||||||
TrackSelection.Factory videoTrackSelectionFactory = new AdaptiveTrackSelection.Factory(bandwidthMeter);
|
TrackSelection.Factory videoTrackSelectionFactory = new AdaptiveTrackSelection.Factory();
|
||||||
TrackSelector trackSelector = new DefaultTrackSelector(videoTrackSelectionFactory);
|
TrackSelector trackSelector = new DefaultTrackSelector(videoTrackSelectionFactory);
|
||||||
player = ExoPlayerFactory.newSimpleInstance(this, trackSelector);
|
player = ExoPlayerFactory.newSimpleInstance(this, trackSelector);
|
||||||
videoPlayerView.setPlayer(player);
|
videoPlayerView.setPlayer(player);
|
||||||
@ -295,9 +294,9 @@ public class ViewVideoActivity extends AppCompatActivity {
|
|||||||
Util.getUserAgent(this, "Infinity"), bandwidthMeter);
|
Util.getUserAgent(this, "Infinity"), bandwidthMeter);
|
||||||
|
|
||||||
// Prepare the player with the source.
|
// Prepare the player with the source.
|
||||||
if(mIsDashVideo) {
|
if(mIsHLSVideo) {
|
||||||
DashChunkSource.Factory dashChunkSourceFactory = new DefaultDashChunkSource.Factory(dataSourceFactory);
|
DashChunkSource.Factory dashChunkSourceFactory = new DefaultDashChunkSource.Factory(dataSourceFactory);
|
||||||
player.prepare(new DashMediaSource(mVideoUri, dataSourceFactory, dashChunkSourceFactory, null, null));
|
player.prepare(new HlsMediaSource.Factory(dataSourceFactory).createMediaSource(mVideoUri));
|
||||||
} else {
|
} else {
|
||||||
player.prepare(new ExtractorMediaSource.Factory(dataSourceFactory).createMediaSource(mVideoUri));
|
player.prepare(new ExtractorMediaSource.Factory(dataSourceFactory).createMediaSource(mVideoUri));
|
||||||
}
|
}
|
||||||
@ -308,7 +307,7 @@ public class ViewVideoActivity extends AppCompatActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCreateOptionsMenu(Menu menu) {
|
public boolean onCreateOptionsMenu(Menu menu) {
|
||||||
if(!mIsDashVideo) {
|
if(!mIsHLSVideo) {
|
||||||
getMenuInflater().inflate(R.menu.view_video, menu);
|
getMenuInflater().inflate(R.menu.view_video, menu);
|
||||||
mMenu = menu;
|
mMenu = menu;
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
android:paddingStart="16dp"
|
android:paddingStart="16dp"
|
||||||
android:paddingEnd="16dp"
|
android:paddingEnd="16dp"
|
||||||
android:paddingBottom="16dp"
|
android:paddingBottom="16dp"
|
||||||
android:background="@color/transparentActionBarColor"
|
android:background="@color/transparentActionBarAndExoPlayerControllerColor"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<color name="downvoted">#E91E63</color>
|
<color name="downvoted">#E91E63</color>
|
||||||
|
|
||||||
<color name="transparentActionBarColor">#88000000</color>
|
<color name="transparentActionBarAndExoPlayerControllerColor">#88000000</color>
|
||||||
|
|
||||||
<color name="gold">#FFC107</color>
|
<color name="gold">#FFC107</color>
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<color name="colorPrimaryDark">#0D47A1</color>
|
<color name="colorPrimaryDark">#0D47A1</color>
|
||||||
<color name="colorAccent">#FF4081</color>
|
<color name="colorAccent">#FF4081</color>
|
||||||
|
|
||||||
<color name="transparentActionBarColor">#88000000</color>
|
<color name="transparentActionBarAndExoPlayerControllerColor">#88000000</color>
|
||||||
|
|
||||||
<color name="gold">#FFC107</color>
|
<color name="gold">#FFC107</color>
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="AppTheme.ActionBar.Transparent" parent="AppTheme">
|
<style name="AppTheme.ActionBar.Transparent" parent="AppTheme">
|
||||||
<item name="colorPrimary">@color/transparentActionBarColor</item>
|
<item name="android:windowBackground">@android:color/black</item>
|
||||||
<item name="android:windowTranslucentStatus">true</item>
|
<item name="android:windowTranslucentStatus">true</item>
|
||||||
<item name="android:windowTranslucentNavigation">true</item>
|
<item name="android:windowTranslucentNavigation">true</item>
|
||||||
</style>
|
</style>
|
||||||
@ -37,13 +37,6 @@
|
|||||||
|
|
||||||
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.DayNight" />
|
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.DayNight" />
|
||||||
|
|
||||||
<style name="Theme.AppCompat.Transparent" parent="AppTheme.ActionBar.Transparent">
|
|
||||||
<item name="android:windowNoTitle">true</item>
|
|
||||||
<item name="android:windowBackground">@android:color/transparent</item>
|
|
||||||
<item name="android:colorBackgroundCacheHint">@null</item>
|
|
||||||
<item name="android:windowIsTranslucent">true</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="CustomTabLayout" parent="Widget.Design.TabLayout">
|
<style name="CustomTabLayout" parent="Widget.Design.TabLayout">
|
||||||
<item name="tabIndicatorColor">@android:color/white</item>
|
<item name="tabIndicatorColor">@android:color/white</item>
|
||||||
<item name="tabIndicatorHeight">3dp</item>
|
<item name="tabIndicatorHeight">3dp</item>
|
||||||
|
Loading…
Reference in New Issue
Block a user