This commit is contained in:
stom79 2019-01-13 11:51:17 +01:00
parent 3331abec8e
commit a6df7a89a0
3 changed files with 34 additions and 28 deletions

View File

@ -54,6 +54,7 @@ public class Peertube {
private String myRating = "none";
private boolean isUpdate = false; // I allow to set it to true when dealing with API updates
private String headerType = null;//For overview timeline
private String headerTypeValue = null;//For overview timeline
private JSONObject cache;
public Peertube() {
@ -330,4 +331,12 @@ public class Peertube {
public void setHeaderType(String headerType) {
this.headerType = headerType;
}
public String getHeaderTypeValue() {
return headerTypeValue;
}
public void setHeaderTypeValue(String headerTypeValue) {
this.headerTypeValue = headerTypeValue;
}
}

View File

@ -745,42 +745,50 @@ public class PeertubeAPI {
List<Peertube> peertubes1 = parsePeertube(values);
if( peertubes1 != null && peertubes1.size() > 0) {
peertubes1.get(0).setHeaderType("categories");
peertubes1.get(0).setHeaderTypeValue(videoA.getJSONObject(0).getJSONObject("category").getString("label"));
peertubes.addAll(peertubes1);
}
values = videoA.getJSONObject(1).getJSONArray("videos");
List<Peertube> peertubes2 = parsePeertube(values);
if( peertubes2 != null && peertubes2.size() > 0) {
peertubes2.get(0).setHeaderType("categories");
peertubes2.get(0).setHeaderTypeValue(videoA.getJSONObject(1).getJSONObject("category").getString("label"));
peertubes.addAll(peertubes2);
}
videoA = new JSONObject(response).getJSONArray("tags");
values = videoA.getJSONObject(0).getJSONArray("videos");
List<Peertube> peertubes5 = parsePeertube(values);
if( peertubes5 != null && peertubes5.size() > 0) {
peertubes5.get(0).setHeaderType("tag");
peertubes5.get(0).setHeaderTypeValue(videoA.getJSONObject(0).getString("tag"));
peertubes.addAll(peertubes5);
}
values = videoA.getJSONObject(1).getJSONArray("videos");
List<Peertube> peertubes6 = parsePeertube(values);
if( peertubes6 != null && peertubes6.size() > 0) {
peertubes6.get(0).setHeaderType("tag");
peertubes6.get(0).setHeaderTypeValue(videoA.getJSONObject(1).getString("tag"));
peertubes.addAll(peertubes6);
}
videoA = new JSONObject(response).getJSONArray("channels");
values = videoA.getJSONObject(0).getJSONArray("videos");
List<Peertube> peertubes3 = parsePeertube(values);
if( peertubes3 != null && peertubes3.size() > 0) {
peertubes3.get(0).setHeaderType("channels");
peertubes3.get(0).setHeaderTypeValue(videoA.getJSONObject(0).getJSONObject("channel").getString("displayName"));
peertubes.addAll(peertubes3);
}
values = videoA.getJSONObject(1).getJSONArray("videos");
List<Peertube> peertubes4 = parsePeertube(values);
if( peertubes4 != null && peertubes4.size() > 0) {
peertubes4.get(0).setHeaderType("channels");
peertubes4.get(0).setHeaderTypeValue(videoA.getJSONObject(1).getJSONObject("channel").getString("displayName"));
peertubes.addAll(peertubes4);
}
videoA = new JSONObject(response).getJSONArray("tags");
values = videoA.getJSONObject(0).getJSONArray("videos");
List<Peertube> peertubes5 = parsePeertube(values);
if( peertubes5 != null && peertubes5.size() > 0) {
peertubes5.get(0).setHeaderType(videoA.getJSONObject(0).getString("tag"));
peertubes.addAll(peertubes5);
}
values = videoA.getJSONObject(1).getJSONArray("videos");
List<Peertube> peertubes6 = parsePeertube(values);
if( peertubes6 != null && peertubes6.size() > 0) {
peertubes6.get(0).setHeaderType(videoA.getJSONObject(1).getString("tag"));
peertubes.addAll(peertubes6);
}
}
} catch (HttpsConnection.HttpsConnectionException e) {

View File

@ -31,7 +31,6 @@ import android.widget.TextView;
import com.bumptech.glide.Glide;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@ -122,24 +121,14 @@ public class PeertubeAdapter extends RecyclerView.Adapter implements OnListActio
Helper.loadGiF(context, account.getAvatar(), holder.peertube_profile);
if( peertube.getHeaderType() != null ) {
if( peertube.getHeaderType() != null && peertube.getHeaderTypeValue() != null) {
String type = peertube.getHeaderType();
switch (type){
case "categories":
Map.Entry<Integer,String> categoryM = peertube.getCategory().entrySet().iterator().next();
String categoryMValue = categoryM.getValue();
holder.header_title.setText(categoryMValue);
break;
case "channels":
String sentence;
if( peertube.getChannel().getUsername().split("-").length < 4)
sentence = peertube.getChannel().getUsername();
else
sentence = context.getString(R.string.default_channel_of, peertube.getAccount().getUsername());
holder.header_title.setText(sentence);
case "tags":
holder.header_title.setText(String.format("#%s", peertube.getHeaderType()));
break;
default:
holder.header_title.setText(String.format("#%s", peertube.getHeaderType()));
holder.header_title.setText(peertube.getHeaderTypeValue());
break;
}
holder.header_title.setVisibility(View.VISIBLE);