diff --git a/app/src/main/java/app/fedilab/android/activities/ReorderTimelinesActivity.java b/app/src/main/java/app/fedilab/android/activities/ReorderTimelinesActivity.java index faac09a01..674b8aba3 100644 --- a/app/src/main/java/app/fedilab/android/activities/ReorderTimelinesActivity.java +++ b/app/src/main/java/app/fedilab/android/activities/ReorderTimelinesActivity.java @@ -176,7 +176,7 @@ public class ReorderTimelinesActivity extends BaseActivity implements OnStartDra @Override public void onResponse(@NonNull Call call, @NonNull final Response response) { - if (!response.isSuccessful()) { + if (response.isSuccessful()) { runOnUiThread(() -> { dialog.dismiss(); RemoteInstance.InstanceType instanceType = null; diff --git a/app/src/main/java/app/fedilab/android/helper/Helper.java b/app/src/main/java/app/fedilab/android/helper/Helper.java index 9cff1e145..c7a9c3487 100644 --- a/app/src/main/java/app/fedilab/android/helper/Helper.java +++ b/app/src/main/java/app/fedilab/android/helper/Helper.java @@ -51,7 +51,6 @@ import android.provider.MediaStore; import android.provider.OpenableColumns; import android.text.TextUtils; import android.util.DisplayMetrics; -import android.util.Log; import android.util.TypedValue; import android.view.LayoutInflater; import android.view.Menu; @@ -177,6 +176,7 @@ public class Helper { public static final String ARG_TYPE_OF_INFO = "ARG_TYPE_OF_INFO"; public static final String ARG_TOKEN = "ARG_TOKEN"; public static final String ARG_INSTANCE = "ARG_INSTANCE"; + public static final String ARG_REMOTE_INSTANCE = "ARG_REMOTE_INSTANCE"; public static final String ARG_STATUS_ID = "ARG_STATUS_ID"; public static final String ARG_WORK_ID = "ARG_WORK_ID"; public static final String ARG_LIST_ID = "ARG_LIST_ID"; @@ -1189,14 +1189,9 @@ public class Helper { attachment.size = Helper.getRealSizeFromUri(context, uri); ContentResolver cR = context.getApplicationContext().getContentResolver(); attachment.mimeType = cR.getType(uri); - Log.v(Helper.TAG, "uri: " + uri); - Log.v(Helper.TAG, "attachment.mimeType: " + attachment.mimeType); MimeTypeMap mime = MimeTypeMap.getSingleton(); String extension = mime.getExtensionFromMimeType(cR.getType(uri)); - - Log.v(Helper.TAG, "mime: " + attachment.mimeType); - Log.v(Helper.TAG, "extension: " + attachment.mimeType); if (uri.toString().endsWith("fedilab_recorded_audio.wav")) { extension = "wav"; attachment.mimeType = "audio/x-wav"; diff --git a/app/src/main/java/app/fedilab/android/helper/PinnedTimelineHelper.java b/app/src/main/java/app/fedilab/android/helper/PinnedTimelineHelper.java index 7a9f9fb82..35be2f1ce 100644 --- a/app/src/main/java/app/fedilab/android/helper/PinnedTimelineHelper.java +++ b/app/src/main/java/app/fedilab/android/helper/PinnedTimelineHelper.java @@ -305,7 +305,7 @@ public class PinnedTimelineHelper { Bundle bundle = new Bundle(); bundle.putString("tag", tagTimeline.name); bundle.putInt("timelineId", tagTimeline.id); - bundle.putSerializable("type", Timeline.TimeLineEnum.TAG); + bundle.putSerializable(Helper.ARG_TIMELINE_TYPE, Timeline.TimeLineEnum.TAG); if (mediaOnly[0]) bundle.putString("instanceType", "ART"); else @@ -529,10 +529,10 @@ public class PinnedTimelineHelper { } fragTransaction.detach(fragmentMastodonTimeline); Bundle bundle = new Bundle(); - bundle.putString("remote_instance", remoteInstance.host != null ? remoteInstance.host : ""); + bundle.putString(Helper.ARG_REMOTE_INSTANCE, remoteInstance.host != null ? remoteInstance.host : ""); bundle.putString("instanceType", remoteInstance.type.getValue()); bundle.putString("timelineId", remoteInstance.id); - bundle.putSerializable("type", Timeline.TimeLineEnum.REMOTE); + bundle.putSerializable(Helper.ARG_TIMELINE_TYPE, Timeline.TimeLineEnum.REMOTE); fragmentMastodonTimeline.setArguments(bundle); fragTransaction.attach(fragmentMastodonTimeline); fragTransaction.commit(); @@ -569,11 +569,11 @@ public class PinnedTimelineHelper { currentFilter[0] = remoteInstance.filteredWith; fragTransaction.detach(fragmentMastodonTimeline); Bundle bundle = new Bundle(); - bundle.putString("remote_instance", remoteInstance.host != null ? remoteInstance.host : ""); + bundle.putString(Helper.ARG_REMOTE_INSTANCE, remoteInstance.host != null ? remoteInstance.host : ""); bundle.putString("instanceType", remoteInstance.type.getValue()); bundle.putString("timelineId", remoteInstance.id); bundle.putString("currentfilter", remoteInstance.filteredWith); - bundle.putSerializable("type", Timeline.TimeLineEnum.REMOTE); + bundle.putSerializable(Helper.ARG_TIMELINE_TYPE, Timeline.TimeLineEnum.REMOTE); fragmentMastodonTimeline.setArguments(bundle); fragTransaction.attach(fragmentMastodonTimeline); fragTransaction.commit(); @@ -621,7 +621,7 @@ public class PinnedTimelineHelper { } popup.getMenu().clear(); popup.getMenu().close(); - instanceClick(context, pinned, view, offSetPosition); + instanceClick(context, pinned, view, position); }); AlertDialog alertDialog = dialogBuilder.create(); alertDialog.show(); @@ -638,13 +638,13 @@ public class PinnedTimelineHelper { return; fragTransaction.detach(fragmentMastodonTimeline); Bundle bundle = new Bundle(); - bundle.putString("remote_instance", remoteInstance.host != null ? remoteInstance.host : ""); + bundle.putString(Helper.ARG_REMOTE_INSTANCE, remoteInstance.host != null ? remoteInstance.host : ""); bundle.putString("instanceType", remoteInstance.type.getValue()); bundle.putString("timelineId", remoteInstance.id); if (currentFilter[0] != null) { bundle.putString("currentfilter", remoteInstance.filteredWith); } - bundle.putSerializable("type", Timeline.TimeLineEnum.REMOTE); + bundle.putSerializable(Helper.ARG_TIMELINE_TYPE, Timeline.TimeLineEnum.REMOTE); fragmentMastodonTimeline.setArguments(bundle); fragTransaction.attach(fragmentMastodonTimeline); fragTransaction.commit(); diff --git a/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java b/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java index 1ed2e949e..3fc8eeea9 100644 --- a/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java +++ b/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java @@ -71,7 +71,7 @@ public class FragmentMastodonTimeline extends Fragment { private LinearLayoutManager mLayoutManager; private Account accountTimeline; private boolean exclude_replies, exclude_reblogs, show_pinned, media_only, minified; - private String viewModelKey; + private String viewModelKey, remoteInstance; public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -83,6 +83,7 @@ public class FragmentMastodonTimeline extends Fragment { list_id = getArguments().getString(Helper.ARG_LIST_ID, null); search = getArguments().getString(Helper.ARG_SEARCH_KEYWORD, null); searchCache = getArguments().getString(Helper.ARG_SEARCH_KEYWORD_CACHE, null); + remoteInstance = getArguments().getString(Helper.ARG_REMOTE_INSTANCE, null); tagTimeline = (TagTimeline) getArguments().getSerializable(Helper.ARG_TAG_TIMELINE); accountTimeline = (Account) getArguments().getSerializable(Helper.ARG_ACCOUNT); exclude_replies = !getArguments().getBoolean(Helper.ARG_SHOW_REPLIES, true); @@ -93,7 +94,6 @@ public class FragmentMastodonTimeline extends Fragment { minified = getArguments().getBoolean(Helper.ARG_MINIFIED, false); statusReport = (Status) getArguments().getSerializable(Helper.ARG_STATUS_REPORT); } - binding = FragmentPaginationBinding.inflate(inflater, container, false); return binding.getRoot(); } @@ -337,6 +337,17 @@ public class FragmentMastodonTimeline extends Fragment { timelinesVM.getPublic(BaseMainActivity.currentToken, BaseMainActivity.currentInstance, false, true, false, null, null, min_id, MastodonHelper.statusesPerCall(requireActivity())) .observe(getViewLifecycleOwner(), statusesBottom -> dealWithPagination(statusesBottom, DIRECTION.TOP)); } + } else if (timelineType == Timeline.TimeLineEnum.REMOTE) { //REMOTE TIMELINE + if (direction == null) { + timelinesVM.getPublic(null, remoteInstance, false, true, false, null, null, null, MastodonHelper.statusesPerCall(requireActivity())) + .observe(getViewLifecycleOwner(), this::initializeStatusesCommonView); + } else if (direction == DIRECTION.BOTTOM) { + timelinesVM.getPublic(null, remoteInstance, false, true, false, max_id, null, null, MastodonHelper.statusesPerCall(requireActivity())) + .observe(getViewLifecycleOwner(), statusesBottom -> dealWithPagination(statusesBottom, DIRECTION.BOTTOM)); + } else if (direction == DIRECTION.TOP) { + timelinesVM.getPublic(null, remoteInstance, false, true, false, null, null, min_id, MastodonHelper.statusesPerCall(requireActivity())) + .observe(getViewLifecycleOwner(), statusesBottom -> dealWithPagination(statusesBottom, DIRECTION.TOP)); + } } else if (timelineType == Timeline.TimeLineEnum.LIST) { //LIST TIMELINE if (direction == null) { timelinesVM.getList(BaseMainActivity.currentInstance, BaseMainActivity.currentToken, list_id, null, null, null, MastodonHelper.statusesPerCall(requireActivity())) diff --git a/app/src/main/java/app/fedilab/android/ui/pageadapter/FedilabPageAdapter.java b/app/src/main/java/app/fedilab/android/ui/pageadapter/FedilabPageAdapter.java index 4622c8066..af5e49d47 100644 --- a/app/src/main/java/app/fedilab/android/ui/pageadapter/FedilabPageAdapter.java +++ b/app/src/main/java/app/fedilab/android/ui/pageadapter/FedilabPageAdapter.java @@ -88,9 +88,9 @@ public class FedilabPageAdapter extends FragmentStatePagerAdapter { String tag = pinnedTimeline.tagTimeline.name.replaceAll("#", ""); bundle.putString(Helper.ARG_SEARCH_KEYWORD, tag); } else if (pinnedTimeline.type == Timeline.TimeLineEnum.REMOTE) { - + String instance = pinnedTimeline.remoteInstance.host; + bundle.putString(Helper.ARG_REMOTE_INSTANCE, instance); } - } bundle.putString(Helper.ARG_VIEW_MODEL_KEY, "FEDILAB_" + position); fragment.setArguments(bundle);