Release 1.77.1

This commit is contained in:
tom79 2019-03-24 19:49:17 +01:00
parent e4cdffa5d0
commit b97d52be41
5 changed files with 32 additions and 23 deletions

View File

@ -7,8 +7,8 @@ android {
applicationId "fr.gouv.etalab.mastodon"
minSdkVersion 16
targetSdkVersion 28
versionCode 248
versionName "1.77.0"
versionCode 249
versionName "1.77.1"
multiDexEnabled true
}
dexOptions {

View File

@ -3648,26 +3648,6 @@ public class API {
attachments.add(attachment);
}
}
if( resobj.has("poll") && !resobj.isNull("poll")){
Poll poll = new Poll();
poll.setId(resobj.getJSONObject("poll").getString("id"));
poll.setExpires_at(Helper.mstStringToDate(context, resobj.getJSONObject("poll").getString("expires_at")));
poll.setExpired(resobj.getJSONObject("poll").getBoolean("expired"));
poll.setMultiple(resobj.getJSONObject("poll").getBoolean("multiple"));
poll.setVotes_count(resobj.getJSONObject("poll").getInt("votes_count"));
poll.setVoted(resobj.getJSONObject("poll").getBoolean("voted"));
JSONArray options = resobj.getJSONObject("poll").getJSONArray("options");
List<PollOptions> pollOptions = new ArrayList<>();
for(int i = 0; i < options.length() ; i++){
JSONObject option = options.getJSONObject(i);
PollOptions pollOption = new PollOptions();
pollOption.setTitle(option.getString("title"));
pollOption.setVotes_count(option.getInt("votes_count"));
pollOptions.add(pollOption);
}
poll.setOptionsList(pollOptions);
status.setPoll(poll);
}
try {
status.setCard(parseCardResponse(resobj.getJSONObject("card")));
@ -3761,6 +3741,28 @@ public class API {
try{
status.setReblog(parseStatuses(context, resobj.getJSONObject("reblog")));
}catch (Exception ignored){}
if( resobj.has("poll") && !resobj.isNull("poll")){
Poll poll = new Poll();
poll.setId(resobj.getJSONObject("poll").getString("id"));
poll.setExpires_at(Helper.mstStringToDate(context, resobj.getJSONObject("poll").getString("expires_at")));
poll.setExpired(resobj.getJSONObject("poll").getBoolean("expired"));
poll.setMultiple(resobj.getJSONObject("poll").getBoolean("multiple"));
poll.setVotes_count(resobj.getJSONObject("poll").getInt("votes_count"));
poll.setVoted(resobj.getJSONObject("poll").getBoolean("voted"));
JSONArray options = resobj.getJSONObject("poll").getJSONArray("options");
List<PollOptions> pollOptions = new ArrayList<>();
for(int i = 0; i < options.length() ; i++){
JSONObject option = options.getJSONObject(i);
PollOptions pollOption = new PollOptions();
pollOption.setTitle(option.getString("title"));
pollOption.setVotes_count(option.getInt("votes_count"));
pollOptions.add(pollOption);
}
poll.setOptionsList(pollOptions);
status.setPoll(poll);
}
} catch (JSONException ignored) {} catch (ParseException e) {
e.printStackTrace();
}

View File

@ -485,7 +485,7 @@ public class NotificationsListAdapter extends RecyclerView.Adapter implements On
holder.status_show_more.setVisibility(View.GONE);
}else {
if (status.getReblog() == null) {
if (status.getMedia_attachments().size() < 1) {
if (status.getMedia_attachments() == null || status.getMedia_attachments().size() < 1) {
holder.status_document_container.setVisibility(View.GONE);
holder.status_show_more.setVisibility(View.GONE);
} else {

View File

@ -1515,6 +1515,8 @@ public class Helper {
public static SpannableString makeMentionsClick(final Context context, List<Mention> mentions){
String cw_mention = "";
if( mentions == null)
return new SpannableString(cw_mention);
for(Mention mention:mentions){
cw_mention = String.format("@%s %s",mention.getUsername(),cw_mention);
}

View File

@ -280,6 +280,11 @@
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<include
android:layout_width="match_parent"
android:layout_height="wrap_content"
layout="@layout/layout_poll" />
<LinearLayout
android:id="@+id/status_action_container"
android:visibility="gone"