1
0
mirror of https://framagit.org/tom79/fedilab-tube synced 2025-02-17 12:30:49 +01:00

Fix duration

This commit is contained in:
Thomas 2020-06-27 12:06:31 +02:00
parent 3ed94c4e7f
commit b0d34f0e31
3 changed files with 87 additions and 79 deletions

View File

@ -1,3 +1,4 @@
package app.fedilab.fedilabtube; package app.fedilab.fedilabtube;
@ -61,6 +62,7 @@ import java.util.Objects;
import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.HttpsURLConnection;
import app.fedilab.fedilabtube.asynctasks.ManagePlaylistsAsyncTask; import app.fedilab.fedilabtube.asynctasks.ManagePlaylistsAsyncTask;
import app.fedilab.fedilabtube.asynctasks.PostActionAsyncTask; import app.fedilab.fedilabtube.asynctasks.PostActionAsyncTask;
import app.fedilab.fedilabtube.asynctasks.RetrievePeertubeSingleAsyncTask; import app.fedilab.fedilabtube.asynctasks.RetrievePeertubeSingleAsyncTask;
@ -160,6 +162,7 @@ public class PeertubeActivity extends AppCompatActivity implements OnRetrievePee
peertube_bookmark.setVisibility(View.GONE); peertube_bookmark.setVisibility(View.GONE);
SQLiteDatabase db = Sqlite.getInstance(getApplicationContext(), Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open(); SQLiteDatabase db = Sqlite.getInstance(getApplicationContext(), Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
String userId = sharedpreferences.getString(Helper.PREF_KEY_ID, null); String userId = sharedpreferences.getString(Helper.PREF_KEY_ID, null);
instance = sharedpreferences.getString(Helper.PREF_INSTANCE, Helper.getLiveInstance(PeertubeActivity.this)); instance = sharedpreferences.getString(Helper.PREF_INSTANCE, Helper.getLiveInstance(PeertubeActivity.this));
@ -175,6 +178,8 @@ public class PeertubeActivity extends AppCompatActivity implements OnRetrievePee
getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true);
mode = sharedpreferences.getInt(Helper.SET_VIDEO_MODE, Helper.VIDEO_MODE_DIRECT); mode = sharedpreferences.getInt(Helper.SET_VIDEO_MODE, Helper.VIDEO_MODE_DIRECT);
if (mode != Helper.VIDEO_MODE_WEBVIEW && mode != Helper.VIDEO_MODE_DIRECT) if (mode != Helper.VIDEO_MODE_WEBVIEW && mode != Helper.VIDEO_MODE_DIRECT)
mode = Helper.VIDEO_MODE_DIRECT; mode = Helper.VIDEO_MODE_DIRECT;
@ -310,12 +315,14 @@ public class PeertubeActivity extends AppCompatActivity implements OnRetrievePee
} }
peertube = apiResponse.getPeertubes().get(0); peertube = apiResponse.getPeertubes().get(0);
//TODO: currently streaming service gives the wrong values for duration
peertube.setStreamService(false);
new ManagePlaylistsAsyncTask(PeertubeActivity.this, GET_PLAYLIST_FOR_VIDEO, null, peertube.getId(), null, PeertubeActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); new ManagePlaylistsAsyncTask(PeertubeActivity.this, GET_PLAYLIST_FOR_VIDEO, null, peertube.getId(), null, PeertubeActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
peertube_playlist.setOnClickListener(v -> { peertube_playlist.setOnClickListener(v -> {
if (isLoggedIn(PeertubeActivity.this)) { if( isLoggedIn(PeertubeActivity.this) ) {
if (playlists != null && peertube.getId() != null) { if (playlists != null && peertube.getId() != null) {
PopupMenu popup = new PopupMenu(PeertubeActivity.this, peertube_playlist); PopupMenu popup = new PopupMenu(PeertubeActivity.this, peertube_playlist);
@ -359,25 +366,25 @@ public class PeertubeActivity extends AppCompatActivity implements OnRetrievePee
popup.show(); popup.show();
} }
} }
} else { }else {
Toasty.error(PeertubeActivity.this, getString(R.string.not_logged_in), Toast.LENGTH_SHORT).show(); Toasty.error(PeertubeActivity.this, getString(R.string.not_logged_in), Toast.LENGTH_SHORT).show();
} }
}); });
add_comment_read.setOnClickListener(v -> { add_comment_read.setOnClickListener(v -> {
if (isLoggedIn(PeertubeActivity.this)) { if( isLoggedIn(PeertubeActivity.this) ) {
add_comment_read.setVisibility(View.GONE); add_comment_read.setVisibility(View.GONE);
add_comment_write.setVisibility(View.VISIBLE); add_comment_write.setVisibility(View.VISIBLE);
send.setVisibility(View.VISIBLE); send.setVisibility(View.VISIBLE);
add_comment_write.requestFocus(); add_comment_write.requestFocus();
add_comment_write.setSelection(add_comment_write.getText().length()); add_comment_write.setSelection(add_comment_write.getText().length());
} else { }else {
Toasty.error(PeertubeActivity.this, getString(R.string.not_logged_in), Toast.LENGTH_SHORT).show(); Toasty.error(PeertubeActivity.this, getString(R.string.not_logged_in), Toast.LENGTH_SHORT).show();
} }
}); });
send.setOnClickListener(v -> { send.setOnClickListener(v -> {
if (isLoggedIn(PeertubeActivity.this)) { if( isLoggedIn(PeertubeActivity.this) ) {
String comment = add_comment_write.getText().toString(); String comment = add_comment_write.getText().toString();
if (comment.trim().length() > 0) { if (comment.trim().length() > 0) {
new PostActionAsyncTask(PeertubeActivity.this, PeertubeAPI.StatusAction.PEERTUBECOMMENT, peertube.getId(), null, comment, PeertubeActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); new PostActionAsyncTask(PeertubeActivity.this, PeertubeAPI.StatusAction.PEERTUBECOMMENT, peertube.getId(), null, comment, PeertubeActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
@ -387,7 +394,7 @@ public class PeertubeActivity extends AppCompatActivity implements OnRetrievePee
send.setVisibility(View.GONE); send.setVisibility(View.GONE);
add_comment_read.requestFocus(); add_comment_read.requestFocus();
} }
} else { }else {
Toasty.error(PeertubeActivity.this, getString(R.string.not_logged_in), Toast.LENGTH_SHORT).show(); Toasty.error(PeertubeActivity.this, getString(R.string.not_logged_in), Toast.LENGTH_SHORT).show();
} }
}); });
@ -464,22 +471,22 @@ public class PeertubeActivity extends AppCompatActivity implements OnRetrievePee
initResolution(); initResolution();
peertube_like_count.setOnClickListener(v -> { peertube_like_count.setOnClickListener(v -> {
if (isLoggedIn(PeertubeActivity.this)) { if( isLoggedIn(PeertubeActivity.this) ) {
String newState = peertube.getMyRating().equals("like") ? "none" : "like"; String newState = peertube.getMyRating().equals("like") ? "none" : "like";
new PostActionAsyncTask(PeertubeActivity.this, PeertubeAPI.StatusAction.RATEVIDEO, peertube.getId(), null, newState, PeertubeActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); new PostActionAsyncTask(PeertubeActivity.this, PeertubeAPI.StatusAction.RATEVIDEO, peertube.getId(), null, newState, PeertubeActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
peertube.setMyRating(newState); peertube.setMyRating(newState);
changeColor(); changeColor();
} else { }else {
Toasty.error(PeertubeActivity.this, getString(R.string.not_logged_in), Toast.LENGTH_SHORT).show(); Toasty.error(PeertubeActivity.this, getString(R.string.not_logged_in), Toast.LENGTH_SHORT).show();
} }
}); });
peertube_dislike_count.setOnClickListener(v -> { peertube_dislike_count.setOnClickListener(v -> {
if (isLoggedIn(PeertubeActivity.this)) { if( isLoggedIn(PeertubeActivity.this) ) {
String newState = peertube.getMyRating().equals("dislike") ? "none" : "dislike"; String newState = peertube.getMyRating().equals("dislike") ? "none" : "dislike";
new PostActionAsyncTask(PeertubeActivity.this, PeertubeAPI.StatusAction.RATEVIDEO, peertube.getId(), null, newState, PeertubeActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); new PostActionAsyncTask(PeertubeActivity.this, PeertubeAPI.StatusAction.RATEVIDEO, peertube.getId(), null, newState, PeertubeActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
peertube.setMyRating(newState); peertube.setMyRating(newState);
changeColor(); changeColor();
} else { }else {
Toasty.error(PeertubeActivity.this, getString(R.string.not_logged_in), Toast.LENGTH_SHORT).show(); Toasty.error(PeertubeActivity.this, getString(R.string.not_logged_in), Toast.LENGTH_SHORT).show();
} }
}); });

View File

@ -165,7 +165,7 @@ public class Peertube {
resolution = this.getResolution().get(0); resolution = this.getResolution().get(0);
if (resolution == null) if (resolution == null)
return null; return null;
if (streamService) { if (streamService ) {
return "https://" + this.host + "/static/streaming-playlists/hls/" + getUuid() + "/" + getUuid() + "-" + resolution + "-fragmented.mp4"; return "https://" + this.host + "/static/streaming-playlists/hls/" + getUuid() + "/" + getUuid() + "-" + resolution + "-fragmented.mp4";
} else { } else {
return "https://" + this.host + "/static/webseed/" + getUuid() + "-" + resolution + ".mp4"; return "https://" + this.host + "/static/webseed/" + getUuid() + "-" + resolution + ".mp4";

View File

@ -75,7 +75,8 @@
android:paddingLeft="4dp" android:paddingLeft="4dp"
android:paddingRight="4dp" android:paddingRight="4dp"
android:textColor="#FFBEBEBE" android:textColor="#FFBEBEBE"
android:textSize="12sp" /> android:textSize="14sp"
android:textStyle="bold"/>
<TextView <TextView
android:id="@id/exo_position" android:id="@id/exo_position"
@ -85,8 +86,8 @@
android:paddingLeft="4dp" android:paddingLeft="4dp"
android:paddingRight="4dp" android:paddingRight="4dp"
android:textColor="#FFBEBEBE" android:textColor="#FFBEBEBE"
android:textSize="14sp" android:textSize="12sp"
android:textStyle="bold" /> />
<com.google.android.exoplayer2.ui.DefaultTimeBar <com.google.android.exoplayer2.ui.DefaultTimeBar
android:id="@id/exo_progress" android:id="@id/exo_progress"
@ -102,8 +103,8 @@
android:paddingLeft="4dp" android:paddingLeft="4dp"
android:paddingRight="4dp" android:paddingRight="4dp"
android:textColor="#FFBEBEBE" android:textColor="#FFBEBEBE"
android:textSize="14sp" android:textSize="12sp"
android:textStyle="bold" /> />
<FrameLayout <FrameLayout
android:id="@+id/exo_fullscreen_button" android:id="@+id/exo_fullscreen_button"