Remove some features - 2

This commit is contained in:
stom79 2018-09-09 14:19:24 +02:00
parent 2b2402e5e1
commit ce8d14a941
10 changed files with 19 additions and 319 deletions

View File

@ -1,63 +0,0 @@
/* Copyright 2017 Thomas Schneider
*
* This file is a part of Mastalab
*
* This program is free software; you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation; either version 3 of the
* License, or (at your option) any later version.
*
* Mastalab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
* Public License for more details.
*
* You should have received a copy of the GNU General Public License along with Mastalab; if not,
* see <http://www.gnu.org/licenses>. */
package fr.gouv.etalab.mastodon.asynctasks;
import android.content.Context;
import android.os.AsyncTask;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.List;
import fr.gouv.etalab.mastodon.client.API;
import fr.gouv.etalab.mastodon.client.APIResponse;
import fr.gouv.etalab.mastodon.interfaces.OnRetrieveRepliesInterface;
/**
* Created by Thomas on 18/08/2017.
* Retrieves replies to a toot
*/
public class RetrieveRepliesAsyncTask extends AsyncTask<Void, Void, Void> {
private APIResponse apiResponse;
private OnRetrieveRepliesInterface listener;
private fr.gouv.etalab.mastodon.client.Entities.Status status;
private WeakReference<Context> contextReference;
public RetrieveRepliesAsyncTask(Context context, fr.gouv.etalab.mastodon.client.Entities.Status status, OnRetrieveRepliesInterface onRetrieveRepliesInterface){
this.contextReference = new WeakReference<>(context);
this.status = status;
this.listener = onRetrieveRepliesInterface;
}
@Override
protected Void doInBackground(Void... params) {
API api = new API(this.contextReference.get());
fr.gouv.etalab.mastodon.client.Entities.Context statusContext = api.getStatusContext((status.getReblog() != null) ? status.getReblog().getId() : status.getId());
status.setReplies(statusContext.getDescendants());
apiResponse = new APIResponse();
List<fr.gouv.etalab.mastodon.client.Entities.Status> statuses = new ArrayList<>();
statuses.add(status);
apiResponse.setStatuses(statuses);
return null;
}
@Override
protected void onPostExecute(Void result) {
listener.onRetrieveReplies(apiResponse);
}
}

View File

@ -94,7 +94,6 @@ public class Status implements Parcelable{
private boolean attachmentShown = false;
private boolean spoilerShown = false;
private ArrayList<Attachment> media_attachments;
private List<Status> replies;
private List<Mention> mentions;
private List<Emojis> emojis;
private List<Tag> tags;
@ -420,14 +419,6 @@ public class Status implements Parcelable{
this.contentTranslated = content_translated;
}
public List<Status> getReplies() {
return replies;
}
public void setReplies(List<Status> replies) {
this.replies = replies;
}
public boolean isNew() {
return isNew;
}

View File

@ -283,11 +283,8 @@ public class NotificationsListAdapter extends RecyclerView.Adapter implements On
holder.status_spoiler.setText(status.getContentSpanCW(), TextView.BufferType.SPANNABLE);
holder.status_spoiler.setMovementMethod(LinkMovementMethod.getInstance());
holder.notification_status_content.setMovementMethod(LinkMovementMethod.getInstance());
boolean displayBoost = sharedpreferences.getBoolean(Helper.SET_DISPLAY_BOOST_COUNT, true);
if( displayBoost) {
holder.status_favorite_count.setText(String.valueOf(status.getFavourites_count()));
holder.status_reblog_count.setText(String.valueOf(status.getReblogs_count()));
}
holder.status_favorite_count.setText(String.valueOf(status.getFavourites_count()));
holder.status_reblog_count.setText(String.valueOf(status.getReblogs_count()));
holder.status_date.setText(Helper.dateDiff(context, status.getCreated_at()));
Helper.absoluteDateTimeReveal(context, holder.status_date, status.getCreated_at());

View File

@ -58,7 +58,6 @@ import android.widget.FrameLayout;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.TimePicker;
@ -89,7 +88,6 @@ import fr.gouv.etalab.mastodon.activities.ShowConversationActivity;
import fr.gouv.etalab.mastodon.activities.TootActivity;
import fr.gouv.etalab.mastodon.asynctasks.PostActionAsyncTask;
import fr.gouv.etalab.mastodon.asynctasks.RetrieveFeedsAsyncTask;
import fr.gouv.etalab.mastodon.asynctasks.RetrieveRepliesAsyncTask;
import fr.gouv.etalab.mastodon.client.API;
import fr.gouv.etalab.mastodon.client.APIResponse;
import fr.gouv.etalab.mastodon.client.Entities.Account;
@ -283,9 +281,6 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
LinearLayout main_container;
TextView yandex_translate;
LinearLayout status_action_container;
LinearLayout status_replies;
LinearLayout status_replies_profile_pictures;
ProgressBar loader_replies;
Button fetch_more;
ImageView new_element;
LinearLayout status_spoiler_mention_container;
@ -305,7 +300,6 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
ViewHolder(View itemView) {
super(itemView);
loader_replies = itemView.findViewById(R.id.loader_replies);
fetch_more = itemView.findViewById(R.id.fetch_more);
status_document_container = itemView.findViewById(R.id.status_document_container);
status_horizontal_document_container = itemView.findViewById(R.id.status_horizontal_document_container);
@ -352,8 +346,6 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
status_spoiler = itemView.findViewById(R.id.status_spoiler);
status_spoiler_button = itemView.findViewById(R.id.status_spoiler_button);
yandex_translate = itemView.findViewById(R.id.yandex_translate);
status_replies = itemView.findViewById(R.id.status_replies);
status_replies_profile_pictures = itemView.findViewById(R.id.status_replies_profile_pictures);
new_element = itemView.findViewById(R.id.new_element);
status_action_container = itemView.findViewById(R.id.status_action_container);
status_spoiler_mention_container = itemView.findViewById(R.id.status_spoiler_mention_container);
@ -465,15 +457,6 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
final Status status = statuses.get(position);
final SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE);
//Retrieves replies
if( type == RetrieveFeedsAsyncTask.Type.HOME ) {
boolean showPreview = sharedpreferences.getBoolean(Helper.SET_PREVIEW_REPLIES, false);
//Retrieves attached replies to a toot
if (showPreview && status.getReplies_count() == -1) {
new RetrieveRepliesAsyncTask(context, status, StatusListAdapter.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
}
final String userId = sharedpreferences.getString(Helper.PREF_KEY_ID, null);
@ -488,59 +471,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
holder.status_reply.setText("");
//Display a preview for accounts that have replied *if enabled and only for home timeline*
if( type == RetrieveFeedsAsyncTask.Type.HOME ) {
boolean showPreview = sharedpreferences.getBoolean(Helper.SET_PREVIEW_REPLIES, false);
//All way to deal with replies count
if( showPreview && status.getReplies_count() == -1){
boolean showPreviewPP = sharedpreferences.getBoolean(Helper.SET_PREVIEW_REPLIES_PP, false);
if( status.getReplies() == null){
holder.loader_replies.setVisibility(View.VISIBLE);
}else if(status.getReplies().size() == 0){
holder.status_replies.setVisibility(View.GONE);
holder.loader_replies.setVisibility(View.GONE);
}else if(status.getReplies().size() > 0 ){
if(showPreviewPP) {
ArrayList<String> addedPictures = new ArrayList<>();
holder.status_replies_profile_pictures.removeAllViews();
int i = 0;
for (Status replies : status.getReplies()) {
if (i > 10)
break;
if (!addedPictures.contains(replies.getAccount().getAcct())) {
ImageView imageView = new ImageView(context);
imageView.setMaxHeight((int) Helper.convertDpToPixel(30, context));
imageView.setMaxWidth((int) Helper.convertDpToPixel(30, context));
LinearLayout.LayoutParams imParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
imParams.setMargins(10, 5, 10, 5);
imParams.height = (int) Helper.convertDpToPixel(30, context);
imParams.width = (int) Helper.convertDpToPixel(30, context);
holder.status_replies_profile_pictures.addView(imageView, imParams);
Helper.loadGiF(context, replies.getAccount().getAvatar(), imageView);
i++;
addedPictures.add(replies.getAccount().getAcct());
}
}
}
if( status.getReplies() != null && status.getReplies().size() > 0 )
holder.status_reply.setText(String.valueOf(status.getReplies().size()));
holder.status_replies.setVisibility(View.VISIBLE);
holder.loader_replies.setVisibility(View.GONE);
}
}else if(showPreview && status.getReplies_count() >= 0) {
if( status.getReplies_count() > 0 ) {
holder.status_reply.setText(String.valueOf(status.getReplies_count()));
holder.status_replies.setVisibility(View.VISIBLE);
}
boolean showPreviewPP = sharedpreferences.getBoolean(Helper.SET_PREVIEW_REPLIES_PP, false);
if (showPreviewPP && status.getReplies_count() > 0) {
new RetrieveRepliesAsyncTask(context, status, StatusListAdapter.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
status.setReblogs_count(-1);
}
}else{
holder.loader_replies.setVisibility(View.GONE);
holder.status_replies.setVisibility(View.GONE);
}
}
final SQLiteDatabase db = Sqlite.getInstance(context, Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
Status statusBookmarked = new StatusCacheDAO(context, db).getStatus(StatusCacheDAO.BOOKMARK_CACHE, status.getId());
if( statusBookmarked != null)
@ -776,8 +707,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
holder.status_mention_spoiler.setText(Helper.makeMentionsClick(context,status.getMentions()), TextView.BufferType.SPANNABLE);
holder.status_mention_spoiler.setMovementMethod(LinkMovementMethod.getInstance());
boolean displayBoost = sharedpreferences.getBoolean(Helper.SET_DISPLAY_BOOST_COUNT, true);
if( getItemViewType(position) != COMPACT_STATUS && displayBoost) {
if( getItemViewType(position) != COMPACT_STATUS ) {
if( status.getReblog() == null)
holder.status_favorite_count.setText(String.valueOf(status.getFavourites_count()));
else
@ -1023,12 +953,20 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
holder.status_favorite_count.setCompoundDrawables(imgFav, null, null, null);
holder.status_reblog_count.setCompoundDrawables(imgReblog, null, null, null);
if(getItemViewType(position) != FOCUSED_STATUS && isCompactMode && ((status.getReblog() == null && status.getReplies_count() > 0) || (status.getReblog() != null && status.getReblog().getReplies_count() > 0))){
if(isCompactMode && ((status.getReblog() == null && status.getReplies_count() > 1) || (status.getReblog() != null && status.getReblog().getReplies_count() > 1))){
Drawable img = context.getResources().getDrawable( R.drawable.ic_plus_one );
holder.status_reply.setCompoundDrawablesWithIntrinsicBounds( imgReply, null, img, null);
}else{
holder.status_reply.setCompoundDrawablesWithIntrinsicBounds( imgReply, null, null, null);
}
if( isCompactMode){
if( ((status.getReblog() == null && status.getReplies_count() == 1) || (status.getReblog() != null && status.getReblog().getReplies_count() == 1)))
holder.status_reply.setText(String.valueOf( status.getReblog() != null? status.getReblog().getReplies_count():status.getReblog().getReplies_count()));
}else {
if( status.getReplies_count() > 0 || (status.getReblog() != null && status.getReblog().getReplies_count() > 0 ) )
holder.status_reply.setText(String.valueOf( status.getReblog() != null? status.getReblog().getReplies_count():status.getReblog().getReplies_count()));
}
boolean isOwner = status.getAccount().getId().equals(userId);
// Pinning toots is only available on Mastodon 1._6_.0 instances.

View File

@ -130,43 +130,6 @@ public class SettingsFragment extends Fragment {
}
});
boolean preview_reply = sharedpreferences.getBoolean(Helper.SET_PREVIEW_REPLIES, false);
final CheckBox set_preview_reply = rootView.findViewById(R.id.set_preview_reply);
final LinearLayout set_preview_reply_pp_container = rootView.findViewById(R.id.set_preview_reply_pp_container);
final SwitchCompat set_preview_reply_pp = rootView.findViewById(R.id.set_preview_reply_pp);
set_preview_reply.setChecked(preview_reply);
set_preview_reply.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putBoolean(Helper.SET_PREVIEW_REPLIES, set_preview_reply.isChecked());
editor.apply();
if( !set_preview_reply.isChecked()){
set_preview_reply_pp_container.setVisibility(View.GONE);
}else{
set_preview_reply_pp_container.setVisibility(View.VISIBLE);
}
}
});
if( !preview_reply){
set_preview_reply_pp_container.setVisibility(View.GONE);
}else{
set_preview_reply_pp_container.setVisibility(View.VISIBLE);
}
boolean preview_reply_pp = sharedpreferences.getBoolean(Helper.SET_PREVIEW_REPLIES_PP, false);
set_preview_reply_pp.setChecked(preview_reply_pp);
set_preview_reply_pp.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putBoolean(Helper.SET_PREVIEW_REPLIES_PP, isChecked);
editor.apply();
}
});
boolean notif_validation = sharedpreferences.getBoolean(Helper.SET_NOTIF_VALIDATION, true);
final CheckBox set_share_validation = rootView.findViewById(R.id.set_share_validation);
set_share_validation.setChecked(notif_validation);
@ -325,20 +288,6 @@ public class SettingsFragment extends Fragment {
});
boolean displayBoost = sharedpreferences.getBoolean(Helper.SET_DISPLAY_BOOST_COUNT, true);
final CheckBox set_disable_counts = rootView.findViewById(R.id.set_disable_counts);
set_disable_counts.setChecked(displayBoost);
set_disable_counts.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putBoolean(Helper.SET_DISPLAY_BOOST_COUNT, set_disable_counts.isChecked());
editor.apply();
if( getActivity() != null)
getActivity().recreate();
}
});
boolean livenotif = sharedpreferences.getBoolean(Helper.SET_LIVE_NOTIFICATIONS, true);
final CheckBox set_live_notif = rootView.findViewById(R.id.set_live_notify);
set_live_notif.setChecked(livenotif);

View File

@ -242,8 +242,6 @@ public class Helper {
public static final String SET_MEDIA_URLS = "set_media_urls";
public static final String SET_TEXT_SIZE = "set_text_size";
public static final String SET_ICON_SIZE = "set_icon_size";
public static final String SET_PREVIEW_REPLIES = "set_preview_replies_";
public static final String SET_PREVIEW_REPLIES_PP = "set_preview_replies_pp";
public static final String SET_TRANSLATOR = "set_translator";
public static final String SET_LED_COLOUR = "set_led_colour";
public static final String SET_SHOW_BOOSTS = "set_show_boost";
@ -303,7 +301,6 @@ public class Helper {
public static final String SET_TOOT_VISIBILITY = "set_toot_visibility";
public static final String SET_DISPLAY_LOCAL = "set_display_local";
public static final String SET_DISPLAY_GLOBAL = "set_display_global";
public static final String SET_DISPLAY_BOOST_COUNT = "set_display_boost_count";
public static final String SET_AUTOMATICALLY_SPLIT_TOOTS = "set_automatically_split_toots";
public static final String SET_AUTOMATICALLY_SPLIT_TOOTS_SIZE = "set_automatically_split_toots_size";
//End points

View File

@ -60,35 +60,6 @@
android:layout_height="wrap_content" />
<CheckBox
android:id="@+id/set_preview_reply"
android:layout_width="wrap_content"
android:text="@string/set_preview_reply"
android:layout_height="wrap_content" />
<LinearLayout
android:id="@+id/set_preview_reply_pp_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:layout_marginStart="30dp"
android:orientation="horizontal">
<TextView
android:layout_gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/set_preview_reply_pp"/>
<android.support.v7.widget.SwitchCompat
android:id="@+id/set_preview_reply_pp"
android:layout_gravity="center_vertical"
android:gravity="center"
android:layout_marginStart="10dp"
android:layout_marginLeft="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
<CheckBox
android:id="@+id/set_display_local"
android:layout_width="wrap_content"
@ -124,13 +95,6 @@
android:layout_height="wrap_content" />
<!-- BOOST/FAVOURITE COUNT -->
<CheckBox
android:id="@+id/set_disable_counts"
android:layout_width="wrap_content"
android:text="@string/show_boost_count"
android:layout_height="wrap_content" />
<!-- EXPAND CW -->
<CheckBox
android:id="@+id/set_expand_cw"

View File

@ -557,28 +557,13 @@
android:layout_marginEnd="@dimen/activity_vertical_margin"
android:layout_marginRight="@dimen/activity_vertical_margin"
android:orientation="horizontal">
<LinearLayout
<TextView
android:drawablePadding="2dp"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:id="@+id/status_reply"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:drawablePadding="2dp"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:id="@+id/status_reply"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ProgressBar
android:id="@+id/loader_replies"
android:visibility="gone"
android:layout_gravity="center"
android:gravity="center"
android:layout_marginLeft="10dp"
android:layout_marginStart="10dp"
android:indeterminate="true"
android:layout_width="15dp"
android:layout_height="15dp" />
</LinearLayout>
android:layout_height="wrap_content" />
<TextView
android:layout_marginLeft="20dp"
@ -633,25 +618,6 @@
tools:ignore="ContentDescription" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:visibility="gone"
android:layout_marginBottom="5dp"
android:layout_marginStart="@dimen/activity_vertical_margin"
android:layout_marginLeft="@dimen/activity_vertical_margin"
android:layout_marginEnd="@dimen/activity_vertical_margin"
android:layout_marginRight="@dimen/activity_vertical_margin"
android:id="@+id/status_replies"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:baselineAligned="false">
<LinearLayout
android:orientation="horizontal"
android:id="@+id/status_replies_profile_pictures"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>
</LinearLayout>
<Button
android:id="@+id/fetch_more"
android:visibility="gone"

View File

@ -59,36 +59,6 @@
android:layout_height="wrap_content" />
<CheckBox
android:id="@+id/set_preview_reply"
android:layout_width="wrap_content"
android:text="@string/set_preview_reply"
android:layout_height="wrap_content" />
<LinearLayout
android:id="@+id/set_preview_reply_pp_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginStart="20dp"
android:orientation="horizontal">
<TextView
android:layout_gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/set_preview_reply_pp"/>
<android.support.v7.widget.SwitchCompat
android:id="@+id/set_preview_reply_pp"
android:layout_gravity="center_vertical"
android:gravity="center"
android:layout_marginStart="10dp"
android:layout_marginLeft="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
<CheckBox
android:id="@+id/set_display_local"
@ -124,13 +94,6 @@
android:layout_height="wrap_content" />
<!-- BOOST/FAVOURITE COUNT -->
<CheckBox
android:id="@+id/set_disable_counts"
android:layout_width="wrap_content"
android:text="@string/show_boost_count"
android:layout_height="wrap_content" />
<!-- EXPAND CW -->
<CheckBox
android:id="@+id/set_expand_cw"

View File

@ -323,8 +323,6 @@
<string name="set_lock_account">Lock account</string>
<string name="set_save_changes">Save changes</string>
<string name="set_header_picture_overlay">Choose a header picture</string>
<string name="set_preview_reply">Display the number of replies in home timeline</string>
<string name="set_preview_reply_pp">Display profile pictures?</string>
<string name="set_fit_preview">Fit preview images</string>
<string name="set_automatically_split_toot">Automatically split toots over 500 chars in replies</string>
<string name="note_no_space">You have reached the 160 characters allowed!</string>