Loading app/src/main/java/app/fedilab/android/activities/DirectoryActivity.java +1 −3 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ public class DirectoryActivity extends BaseBarActivity { private static boolean local = false; private static String order = "active"; private FragmentMastodonAccount fragmentMastodonAccount; @Override protected void onCreate(Bundle savedInstanceState) { Loading @@ -43,12 +42,11 @@ public class DirectoryActivity extends BaseBarActivity { if (getSupportActionBar() != null) { getSupportActionBar().setDisplayHomeAsUpEnabled(true); } fragmentMastodonAccount = new FragmentMastodonAccount(); Bundle bundle = new Bundle(); bundle.putBoolean(Helper.ARG_DIRECTORY_LOCAL, local); bundle.putString(Helper.ARG_DIRECTORY_ORDER, order); bundle.putSerializable(Helper.ARG_TIMELINE_TYPE, ACCOUNT_DIRECTORY); Helper.addFragment(getSupportFragmentManager(), R.id.nav_host_fragment_directory, fragmentMastodonAccount, bundle, null, null); Helper.addFragment(getSupportFragmentManager(), R.id.nav_host_fragment_directory, new FragmentMastodonAccount(), bundle, null, null); } @Override Loading app/src/main/java/app/fedilab/android/ui/drawer/StatusAdapter.java +64 −65 Original line number Diff line number Diff line Loading @@ -163,6 +163,8 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> public static final int STATUS_FILTERED = 3; public static final int STATUS_FILTERED_HIDE = 4; public static final int STATUS_PIXELFED = 5; private static float measuredWidth = -1; private static float measuredWidthArt = -1; private final List<Status> statusList; private final boolean minified; private final Timeline.TimeLineEnum timelineType; Loading @@ -171,10 +173,7 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> public FetchMoreCallBack fetchMoreCallBack; private Context context; private boolean visiblePixelfed; private RecyclerView mRecyclerView; private static float measuredWidth = -1; private static float measuredWidthArt = -1; public StatusAdapter(List<Status> statuses, Timeline.TimeLineEnum timelineType, boolean minified, boolean canBeFederated, boolean checkRemotely) { this.statusList = statuses; Loading Loading @@ -2246,53 +2245,6 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> } @NonNull @Override public List<Attachment> getPreloadItems(int position) { List<Attachment> attachments = new ArrayList<>(); if (position == 0 && statusList.size() > 0) { for (Status status : statusList.subList(0, 1)) { Status statusToDeal = status.reblog != null ? status.reblog : status; if (statusToDeal.media_attachments != null && statusToDeal.media_attachments.size() > 0) { attachments.addAll(statusToDeal.media_attachments); } } } else if (position > 0 && position < (statusList.size() - 1)) { for (Status status : statusList.subList(position - 1, position + 1)) { Status statusToDeal = status.reblog != null ? status.reblog : status; if (statusToDeal.media_attachments != null && statusToDeal.media_attachments.size() > 0) { attachments.addAll(statusToDeal.media_attachments); } } } else { for (Status status : statusList.subList(position, position)) { Status statusToDeal = status.reblog != null ? status.reblog : status; if (statusToDeal.media_attachments != null && statusToDeal.media_attachments.size() > 0) { attachments.addAll(statusToDeal.media_attachments); } } } return attachments; } @Nullable @Override public RequestBuilder<Drawable> getPreloadRequestBuilder(@NonNull Attachment attachment) { float focusX = 0.f; float focusY = 0.f; if (attachment.meta != null && attachment.meta.focus != null) { focusX = attachment.meta.focus.x; focusY = attachment.meta.focus.y; } int mediaH = 0; int mediaW = 0; if (attachment.meta != null && attachment.meta.small != null) { mediaH = attachment.meta.small.height; mediaW = attachment.meta.small.width; } return prepareRequestBuilder(context, attachment, mediaW, mediaH, focusX, focusY, attachment.sensitive, timelineType == Timeline.TimeLineEnum.ART).load(attachment); } /** * Send a broadcast to other open fragments that content a timeline * Loading @@ -2317,21 +2269,6 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> LocalBroadcastManager.getInstance(context).sendBroadcast(intentBC); } /* private static boolean mediaObfuscated(Status status) { //Media is not sensitive and doesn't have a spoiler text if (!status.isMediaObfuscated) { return false; } if (!status.sensitive && (status.spoiler_text == null || status.spoiler_text.trim().isEmpty())) { return false; } if (status.isMediaObfuscated && status.spoiler_text != null && !status.spoiler_text.trim().isEmpty()) { return true; } else { return status.sensitive; } }*/ public static void applyColor(Context context, StatusViewHolder holder) { SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(context); int currentNightMode = context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK; Loading Loading @@ -2418,6 +2355,68 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> } } @NonNull @Override public List<Attachment> getPreloadItems(int position) { List<Attachment> attachments = new ArrayList<>(); if (position == 0 && statusList.size() > 0) { for (Status status : statusList.subList(0, 1)) { Status statusToDeal = status.reblog != null ? status.reblog : status; if (statusToDeal.media_attachments != null && statusToDeal.media_attachments.size() > 0) { attachments.addAll(statusToDeal.media_attachments); } } } else if (position > 0 && position < (statusList.size() - 1)) { for (Status status : statusList.subList(position - 1, position + 1)) { Status statusToDeal = status.reblog != null ? status.reblog : status; if (statusToDeal.media_attachments != null && statusToDeal.media_attachments.size() > 0) { attachments.addAll(statusToDeal.media_attachments); } } } else { for (Status status : statusList.subList(position, position)) { Status statusToDeal = status.reblog != null ? status.reblog : status; if (statusToDeal.media_attachments != null && statusToDeal.media_attachments.size() > 0) { attachments.addAll(statusToDeal.media_attachments); } } } return attachments; } /* private static boolean mediaObfuscated(Status status) { //Media is not sensitive and doesn't have a spoiler text if (!status.isMediaObfuscated) { return false; } if (!status.sensitive && (status.spoiler_text == null || status.spoiler_text.trim().isEmpty())) { return false; } if (status.isMediaObfuscated && status.spoiler_text != null && !status.spoiler_text.trim().isEmpty()) { return true; } else { return status.sensitive; } }*/ @Nullable @Override public RequestBuilder<Drawable> getPreloadRequestBuilder(@NonNull Attachment attachment) { float focusX = 0.f; float focusY = 0.f; if (attachment.meta != null && attachment.meta.focus != null) { focusX = attachment.meta.focus.x; focusY = attachment.meta.focus.y; } int mediaH = 0; int mediaW = 0; if (attachment.meta != null && attachment.meta.small != null) { mediaH = attachment.meta.small.height; mediaW = attachment.meta.small.width; } return prepareRequestBuilder(context, attachment, mediaW, mediaH, focusX, focusY, attachment.sensitive, timelineType == Timeline.TimeLineEnum.ART).load(attachment); } @Override public void onAttachedToRecyclerView(RecyclerView recyclerView) { super.onAttachedToRecyclerView(recyclerView); Loading app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java +2 −2 Original line number Diff line number Diff line Loading @@ -76,6 +76,7 @@ import es.dmoral.toasty.Toasty; public class FragmentMastodonTimeline extends Fragment implements StatusAdapter.FetchMoreCallBack { private static final int PRELOAD_AHEAD_ITEMS = 10; public UpdateCounters update; private FragmentPaginationBinding binding; private TimelinesVM timelinesVM; Loading @@ -88,8 +89,6 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. private StatusAdapter statusAdapter; private Timeline.TimeLineEnum timelineType; private List<Status> timelineStatuses; private static final int PRELOAD_AHEAD_ITEMS = 10; private ViewPreloadSizeProvider<Attachment> preloadSizeProvider; //Handle actions that can be done in other fragments private final BroadcastReceiver receive_action = new BroadcastReceiver() { @Override Loading Loading @@ -179,6 +178,7 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. } } }; private ViewPreloadSizeProvider<Attachment> preloadSizeProvider; private boolean checkRemotely; private String accountIDInRemoteInstance; private boolean isViewInitialized; Loading Loading
app/src/main/java/app/fedilab/android/activities/DirectoryActivity.java +1 −3 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ public class DirectoryActivity extends BaseBarActivity { private static boolean local = false; private static String order = "active"; private FragmentMastodonAccount fragmentMastodonAccount; @Override protected void onCreate(Bundle savedInstanceState) { Loading @@ -43,12 +42,11 @@ public class DirectoryActivity extends BaseBarActivity { if (getSupportActionBar() != null) { getSupportActionBar().setDisplayHomeAsUpEnabled(true); } fragmentMastodonAccount = new FragmentMastodonAccount(); Bundle bundle = new Bundle(); bundle.putBoolean(Helper.ARG_DIRECTORY_LOCAL, local); bundle.putString(Helper.ARG_DIRECTORY_ORDER, order); bundle.putSerializable(Helper.ARG_TIMELINE_TYPE, ACCOUNT_DIRECTORY); Helper.addFragment(getSupportFragmentManager(), R.id.nav_host_fragment_directory, fragmentMastodonAccount, bundle, null, null); Helper.addFragment(getSupportFragmentManager(), R.id.nav_host_fragment_directory, new FragmentMastodonAccount(), bundle, null, null); } @Override Loading
app/src/main/java/app/fedilab/android/ui/drawer/StatusAdapter.java +64 −65 Original line number Diff line number Diff line Loading @@ -163,6 +163,8 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> public static final int STATUS_FILTERED = 3; public static final int STATUS_FILTERED_HIDE = 4; public static final int STATUS_PIXELFED = 5; private static float measuredWidth = -1; private static float measuredWidthArt = -1; private final List<Status> statusList; private final boolean minified; private final Timeline.TimeLineEnum timelineType; Loading @@ -171,10 +173,7 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> public FetchMoreCallBack fetchMoreCallBack; private Context context; private boolean visiblePixelfed; private RecyclerView mRecyclerView; private static float measuredWidth = -1; private static float measuredWidthArt = -1; public StatusAdapter(List<Status> statuses, Timeline.TimeLineEnum timelineType, boolean minified, boolean canBeFederated, boolean checkRemotely) { this.statusList = statuses; Loading Loading @@ -2246,53 +2245,6 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> } @NonNull @Override public List<Attachment> getPreloadItems(int position) { List<Attachment> attachments = new ArrayList<>(); if (position == 0 && statusList.size() > 0) { for (Status status : statusList.subList(0, 1)) { Status statusToDeal = status.reblog != null ? status.reblog : status; if (statusToDeal.media_attachments != null && statusToDeal.media_attachments.size() > 0) { attachments.addAll(statusToDeal.media_attachments); } } } else if (position > 0 && position < (statusList.size() - 1)) { for (Status status : statusList.subList(position - 1, position + 1)) { Status statusToDeal = status.reblog != null ? status.reblog : status; if (statusToDeal.media_attachments != null && statusToDeal.media_attachments.size() > 0) { attachments.addAll(statusToDeal.media_attachments); } } } else { for (Status status : statusList.subList(position, position)) { Status statusToDeal = status.reblog != null ? status.reblog : status; if (statusToDeal.media_attachments != null && statusToDeal.media_attachments.size() > 0) { attachments.addAll(statusToDeal.media_attachments); } } } return attachments; } @Nullable @Override public RequestBuilder<Drawable> getPreloadRequestBuilder(@NonNull Attachment attachment) { float focusX = 0.f; float focusY = 0.f; if (attachment.meta != null && attachment.meta.focus != null) { focusX = attachment.meta.focus.x; focusY = attachment.meta.focus.y; } int mediaH = 0; int mediaW = 0; if (attachment.meta != null && attachment.meta.small != null) { mediaH = attachment.meta.small.height; mediaW = attachment.meta.small.width; } return prepareRequestBuilder(context, attachment, mediaW, mediaH, focusX, focusY, attachment.sensitive, timelineType == Timeline.TimeLineEnum.ART).load(attachment); } /** * Send a broadcast to other open fragments that content a timeline * Loading @@ -2317,21 +2269,6 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> LocalBroadcastManager.getInstance(context).sendBroadcast(intentBC); } /* private static boolean mediaObfuscated(Status status) { //Media is not sensitive and doesn't have a spoiler text if (!status.isMediaObfuscated) { return false; } if (!status.sensitive && (status.spoiler_text == null || status.spoiler_text.trim().isEmpty())) { return false; } if (status.isMediaObfuscated && status.spoiler_text != null && !status.spoiler_text.trim().isEmpty()) { return true; } else { return status.sensitive; } }*/ public static void applyColor(Context context, StatusViewHolder holder) { SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(context); int currentNightMode = context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK; Loading Loading @@ -2418,6 +2355,68 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> } } @NonNull @Override public List<Attachment> getPreloadItems(int position) { List<Attachment> attachments = new ArrayList<>(); if (position == 0 && statusList.size() > 0) { for (Status status : statusList.subList(0, 1)) { Status statusToDeal = status.reblog != null ? status.reblog : status; if (statusToDeal.media_attachments != null && statusToDeal.media_attachments.size() > 0) { attachments.addAll(statusToDeal.media_attachments); } } } else if (position > 0 && position < (statusList.size() - 1)) { for (Status status : statusList.subList(position - 1, position + 1)) { Status statusToDeal = status.reblog != null ? status.reblog : status; if (statusToDeal.media_attachments != null && statusToDeal.media_attachments.size() > 0) { attachments.addAll(statusToDeal.media_attachments); } } } else { for (Status status : statusList.subList(position, position)) { Status statusToDeal = status.reblog != null ? status.reblog : status; if (statusToDeal.media_attachments != null && statusToDeal.media_attachments.size() > 0) { attachments.addAll(statusToDeal.media_attachments); } } } return attachments; } /* private static boolean mediaObfuscated(Status status) { //Media is not sensitive and doesn't have a spoiler text if (!status.isMediaObfuscated) { return false; } if (!status.sensitive && (status.spoiler_text == null || status.spoiler_text.trim().isEmpty())) { return false; } if (status.isMediaObfuscated && status.spoiler_text != null && !status.spoiler_text.trim().isEmpty()) { return true; } else { return status.sensitive; } }*/ @Nullable @Override public RequestBuilder<Drawable> getPreloadRequestBuilder(@NonNull Attachment attachment) { float focusX = 0.f; float focusY = 0.f; if (attachment.meta != null && attachment.meta.focus != null) { focusX = attachment.meta.focus.x; focusY = attachment.meta.focus.y; } int mediaH = 0; int mediaW = 0; if (attachment.meta != null && attachment.meta.small != null) { mediaH = attachment.meta.small.height; mediaW = attachment.meta.small.width; } return prepareRequestBuilder(context, attachment, mediaW, mediaH, focusX, focusY, attachment.sensitive, timelineType == Timeline.TimeLineEnum.ART).load(attachment); } @Override public void onAttachedToRecyclerView(RecyclerView recyclerView) { super.onAttachedToRecyclerView(recyclerView); Loading
app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java +2 −2 Original line number Diff line number Diff line Loading @@ -76,6 +76,7 @@ import es.dmoral.toasty.Toasty; public class FragmentMastodonTimeline extends Fragment implements StatusAdapter.FetchMoreCallBack { private static final int PRELOAD_AHEAD_ITEMS = 10; public UpdateCounters update; private FragmentPaginationBinding binding; private TimelinesVM timelinesVM; Loading @@ -88,8 +89,6 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. private StatusAdapter statusAdapter; private Timeline.TimeLineEnum timelineType; private List<Status> timelineStatuses; private static final int PRELOAD_AHEAD_ITEMS = 10; private ViewPreloadSizeProvider<Attachment> preloadSizeProvider; //Handle actions that can be done in other fragments private final BroadcastReceiver receive_action = new BroadcastReceiver() { @Override Loading Loading @@ -179,6 +178,7 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. } } }; private ViewPreloadSizeProvider<Attachment> preloadSizeProvider; private boolean checkRemotely; private String accountIDInRemoteInstance; private boolean isViewInitialized; Loading