Fixed account model, update video meta data
This commit is contained in:
parent
2dd409d68e
commit
4e95a44b77
@ -1,12 +1,10 @@
|
|||||||
package net.schueller.peertube.activity;
|
package net.schueller.peertube.activity;
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
|
||||||
import android.os.Environment;
|
import android.os.Environment;
|
||||||
import android.preference.PreferenceManager;
|
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
@ -36,6 +34,7 @@ import com.google.android.exoplayer2.util.Util;
|
|||||||
|
|
||||||
import net.schueller.peertube.R;
|
import net.schueller.peertube.R;
|
||||||
import net.schueller.peertube.helper.APIUrlHelper;
|
import net.schueller.peertube.helper.APIUrlHelper;
|
||||||
|
import net.schueller.peertube.helper.MetaDataHelper;
|
||||||
import net.schueller.peertube.model.Video;
|
import net.schueller.peertube.model.Video;
|
||||||
|
|
||||||
import net.schueller.peertube.network.GetVideoDataService;
|
import net.schueller.peertube.network.GetVideoDataService;
|
||||||
@ -50,7 +49,6 @@ public class TorrentVideoPlayActivity extends AppCompatActivity {
|
|||||||
private static final String TAG = "TorrentVideoPlayActivity";
|
private static final String TAG = "TorrentVideoPlayActivity";
|
||||||
|
|
||||||
private ProgressBar progressBar;
|
private ProgressBar progressBar;
|
||||||
private PlayerView videoView;
|
|
||||||
private SimpleExoPlayer player;
|
private SimpleExoPlayer player;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -66,7 +64,7 @@ public class TorrentVideoPlayActivity extends AppCompatActivity {
|
|||||||
progressBar = findViewById(R.id.progress);
|
progressBar = findViewById(R.id.progress);
|
||||||
progressBar.setMax(100);
|
progressBar.setMax(100);
|
||||||
|
|
||||||
videoView = findViewById(R.id.video_view);
|
PlayerView videoView = findViewById(R.id.video_view);
|
||||||
|
|
||||||
// 1. Create a default TrackSelector
|
// 1. Create a default TrackSelector
|
||||||
BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
|
BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
|
||||||
@ -142,6 +140,7 @@ public class TorrentVideoPlayActivity extends AppCompatActivity {
|
|||||||
|
|
||||||
TextView videoName = findViewById(R.id.name);
|
TextView videoName = findViewById(R.id.name);
|
||||||
TextView videoDescription = findViewById(R.id.description);
|
TextView videoDescription = findViewById(R.id.description);
|
||||||
|
TextView videoMeta = findViewById(R.id.videoMeta);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
streamUrl = response.body().getFiles().get(0).getTorrentUrl();
|
streamUrl = response.body().getFiles().get(0).getTorrentUrl();
|
||||||
@ -149,6 +148,14 @@ public class TorrentVideoPlayActivity extends AppCompatActivity {
|
|||||||
videoName.setText(response.body().getName());
|
videoName.setText(response.body().getName());
|
||||||
videoDescription.setText(response.body().getDescription());
|
videoDescription.setText(response.body().getDescription());
|
||||||
|
|
||||||
|
videoMeta.setText(
|
||||||
|
MetaDataHelper.getMetaString(
|
||||||
|
response.body().getCreatedAt(),
|
||||||
|
response.body().getViews(),
|
||||||
|
getBaseContext()
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
} catch (NullPointerException e) {
|
} catch (NullPointerException e) {
|
||||||
e.getStackTrace();
|
e.getStackTrace();
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,7 @@ import android.content.SharedPreferences;
|
|||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import android.support.v7.widget.RecyclerView;
|
import android.support.v7.widget.RecyclerView;
|
||||||
|
import android.text.format.DateUtils;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
@ -17,6 +18,7 @@ import com.squareup.picasso.Picasso;
|
|||||||
import net.schueller.peertube.R;
|
import net.schueller.peertube.R;
|
||||||
import net.schueller.peertube.activity.TorrentVideoPlayActivity;
|
import net.schueller.peertube.activity.TorrentVideoPlayActivity;
|
||||||
import net.schueller.peertube.helper.APIUrlHelper;
|
import net.schueller.peertube.helper.APIUrlHelper;
|
||||||
|
import net.schueller.peertube.helper.MetaDataHelper;
|
||||||
import net.schueller.peertube.model.Video;
|
import net.schueller.peertube.model.Video;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -55,15 +57,21 @@ public class VideoAdapter extends RecyclerView.Adapter<VideoAdapter.VideoViewHol
|
|||||||
|
|
||||||
holder.name.setText(videoList.get(position).getName());
|
holder.name.setText(videoList.get(position).getName());
|
||||||
|
|
||||||
// TODO: clean this up
|
|
||||||
// set age and view count
|
// set age and view count
|
||||||
holder.videoMeta.setText(videoList.get(position).getCreatedAt().toString().concat(" - ")
|
holder.videoMeta.setText(
|
||||||
.concat(videoList.get(position).getViews()+" Views"));
|
MetaDataHelper.getMetaString(videoList.get(position).getCreatedAt(),
|
||||||
|
videoList.get(position).getViews(),
|
||||||
|
context
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
// set owner
|
// set owner
|
||||||
holder.videoOwner.setText(videoList.get(position).getAccountName()
|
holder.videoOwner.setText(
|
||||||
.concat("@")
|
MetaDataHelper.getOwnerString(videoList.get(position).getAccountName(),
|
||||||
.concat(videoList.get(position).getServerHost()));
|
videoList.get(position).getServerHost(),
|
||||||
|
context
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
holder.mView.setOnClickListener(v -> {
|
holder.mView.setOnClickListener(v -> {
|
||||||
|
|
||||||
|
@ -0,0 +1,23 @@
|
|||||||
|
package net.schueller.peertube.helper;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.text.format.DateUtils;
|
||||||
|
import net.schueller.peertube.R;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
public class MetaDataHelper {
|
||||||
|
|
||||||
|
public static String getMetaString(Date getCreatedAt, Integer viewCount, Context context) {
|
||||||
|
return DateUtils.
|
||||||
|
getRelativeTimeSpanString(getCreatedAt.getTime()).toString() +
|
||||||
|
context.getResources().getString(R.string.meta_data_seperator) +
|
||||||
|
viewCount + context.getResources().getString(R.string.meta_data_views);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getOwnerString(String accountName, String serverHost, Context context) {
|
||||||
|
return accountName +
|
||||||
|
context.getResources().getString(R.string.meta_data_owner_seperator) +
|
||||||
|
serverHost;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -10,7 +10,7 @@ public class Account {
|
|||||||
private String host;
|
private String host;
|
||||||
private Integer followingCount;
|
private Integer followingCount;
|
||||||
private Integer followersCount;
|
private Integer followersCount;
|
||||||
private String avatar;
|
private Avatar avatar;
|
||||||
private Date createdAt;
|
private Date createdAt;
|
||||||
private Date updatedAt;
|
private Date updatedAt;
|
||||||
private String displayName;
|
private String displayName;
|
||||||
@ -72,11 +72,11 @@ public class Account {
|
|||||||
this.followersCount = followersCount;
|
this.followersCount = followersCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getAvatar() {
|
public Avatar getAvatar() {
|
||||||
return avatar;
|
return avatar;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAvatar(String avatar) {
|
public void setAvatar(Avatar avatar) {
|
||||||
this.avatar = avatar;
|
this.avatar = avatar;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
34
app/src/main/java/net/schueller/peertube/model/Avatar.java
Normal file
34
app/src/main/java/net/schueller/peertube/model/Avatar.java
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
package net.schueller.peertube.model;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
public class Avatar {
|
||||||
|
|
||||||
|
private String path;
|
||||||
|
private Date createdAt;
|
||||||
|
private Date updatedAt;
|
||||||
|
|
||||||
|
public String getPath() {
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPath(String path) {
|
||||||
|
this.path = path;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getCreatedAt() {
|
||||||
|
return createdAt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCreatedAt(Date createdAt) {
|
||||||
|
this.createdAt = createdAt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getUpdatedAt() {
|
||||||
|
return updatedAt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUpdatedAt(Date updatedAt) {
|
||||||
|
this.updatedAt = updatedAt;
|
||||||
|
}
|
||||||
|
}
|
@ -10,7 +10,7 @@ public class Channel {
|
|||||||
private String host;
|
private String host;
|
||||||
private Integer followingCount;
|
private Integer followingCount;
|
||||||
private Integer followersCount;
|
private Integer followersCount;
|
||||||
private String avatar;
|
private Avatar avatar;
|
||||||
private Date createdAt;
|
private Date createdAt;
|
||||||
private Date updatedAt;
|
private Date updatedAt;
|
||||||
private String displayName;
|
private String displayName;
|
||||||
@ -74,11 +74,11 @@ public class Channel {
|
|||||||
this.followersCount = followersCount;
|
this.followersCount = followersCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getAvatar() {
|
public Avatar getAvatar() {
|
||||||
return avatar;
|
return avatar;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAvatar(String avatar) {
|
public void setAvatar(Avatar avatar) {
|
||||||
this.avatar = avatar;
|
this.avatar = avatar;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,6 +50,12 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textAppearance="@style/Base.TextAppearance.AppCompat.Title" />
|
android:textAppearance="@style/Base.TextAppearance.AppCompat.Title" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/videoMeta"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textAppearance="@style/Base.TextAppearance.AppCompat.Caption" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/description"
|
android:id="@+id/description"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
@ -32,4 +32,10 @@
|
|||||||
<string name="pref_default_api_base_url" formatted="false">https://troll.tv</string>
|
<string name="pref_default_api_base_url" formatted="false">https://troll.tv</string>
|
||||||
<string name="pref_title_peertube_server">PeerTube Server</string>
|
<string name="pref_title_peertube_server">PeerTube Server</string>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Strings related to Video meta data -->
|
||||||
|
<string name="meta_data_seperator">\u0020-\u0020</string>
|
||||||
|
<string name="meta_data_views">\u0020Views</string>
|
||||||
|
<string name="meta_data_owner_seperator">\@</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
Loading…
Reference in New Issue
Block a user