diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java index aa6c2cd77..0e5616e2a 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java @@ -706,6 +706,7 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr private void navigateToUnsentPosts() { Bundle args=new Bundle(); args.putString("account", accountID); + args.putBoolean("hide_fab", true); InputMethodManager imm=getActivity().getSystemService(InputMethodManager.class); imm.hideSoftInputFromWindow(draftsBtn.getWindowToken(), 0); if (hasDraft()) { diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeTimelineFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeTimelineFragment.java index c659bc3ff..3f9634fe2 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeTimelineFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeTimelineFragment.java @@ -105,7 +105,7 @@ public class HomeTimelineFragment extends StatusListFragment{ super.onViewCreated(view, savedInstanceState); fab=view.findViewById(R.id.fab); fab.setOnClickListener(this::onFabClick); - fab.setOnLongClickListener(v->UiUtils.pickAccountForCompose(getActivity(), accountID, null)); + fab.setOnLongClickListener(v->UiUtils.pickAccountForCompose(getActivity(), accountID)); updateToolbarLogo(); list.addOnScrollListener(new RecyclerView.OnScrollListener(){ diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/ListTimelineFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/ListTimelineFragment.java index 9c88366ed..0c1c4a0cc 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/ListTimelineFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/ListTimelineFragment.java @@ -1,7 +1,6 @@ package org.joinmastodon.android.fragments; import android.app.Activity; -import android.media.MediaRouter; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; @@ -70,7 +69,7 @@ public class ListTimelineFragment extends StatusListFragment { super.onViewCreated(view, savedInstanceState); fab=view.findViewById(R.id.fab); fab.setOnClickListener(this::onFabClick); - fab.setOnLongClickListener(v -> UiUtils.pickAccountForCompose(getActivity(), accountID, null)); + fab.setOnLongClickListener(v -> UiUtils.pickAccountForCompose(getActivity(), accountID)); } private void onFabClick(View v){ diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/ScheduledStatusListFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/ScheduledStatusListFragment.java index fffb2caba..35525a406 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/ScheduledStatusListFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/ScheduledStatusListFragment.java @@ -9,13 +9,10 @@ import com.squareup.otto.Subscribe; import org.joinmastodon.android.E; import org.joinmastodon.android.R; -import org.joinmastodon.android.api.requests.statuses.GetBookmarkedStatuses; +import org.joinmastodon.android.api.requests.statuses.CreateStatus; import org.joinmastodon.android.api.requests.statuses.GetScheduledStatuses; -import org.joinmastodon.android.api.session.AccountSessionManager; import org.joinmastodon.android.events.ScheduledStatusCreatedEvent; import org.joinmastodon.android.events.ScheduledStatusDeletedEvent; -import org.joinmastodon.android.events.StatusCreatedEvent; -import org.joinmastodon.android.events.StatusDeletedEvent; import org.joinmastodon.android.model.HeaderPaginationList; import org.joinmastodon.android.model.ScheduledStatus; import org.joinmastodon.android.model.Status; @@ -31,8 +28,13 @@ import me.grishka.appkit.api.SimpleCallback; public class ScheduledStatusListFragment extends BaseStatusListFragment { private String nextMaxID; + private ImageButton fab; private static final int SCHEDULED_STATUS_LIST_OPENED = 161; + public ScheduledStatusListFragment() { + setListLayoutId(R.layout.recycler_fragment_with_fab); + } + @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); @@ -53,6 +55,18 @@ public class ScheduledStatusListFragment extends BaseStatusListFragment Nav.go(getActivity(), ComposeFragment.class, args)); + fab.setOnLongClickListener(v -> UiUtils.pickAccountForCompose(getActivity(), accountID, args)); + if (getArguments().getBoolean("hide_fab", false)) fab.setVisibility(View.GONE); + } + @Override protected List buildDisplayItems(ScheduledStatus s) { return StatusDisplayItem.buildItems(this, s.toStatus(), accountID, s, knownAccounts, false, false, null); diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/utils/UiUtils.java b/mastodon/src/main/java/org/joinmastodon/android/ui/utils/UiUtils.java index 4b46a9fa5..f4782d94e 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/utils/UiUtils.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/utils/UiUtils.java @@ -988,11 +988,19 @@ public class UiUtils{ } public static boolean pickAccountForCompose(Activity activity, String accountID, String prefilledText){ + Bundle args = new Bundle(); + if (prefilledText != null) args.putString("prefilledText", prefilledText); + return pickAccountForCompose(activity, accountID, args); + } + + public static boolean pickAccountForCompose(Activity activity, String accountID){ + return pickAccountForCompose(activity, accountID, (String) null); + } + + public static boolean pickAccountForCompose(Activity activity, String accountID, Bundle args){ if (AccountSessionManager.getInstance().getLoggedInAccounts().size() > 1) { UiUtils.pickAccount(activity, accountID, 0, 0, session -> { - Bundle args=new Bundle(); args.putString("account", session.getID()); - if (prefilledText != null) args.putString("prefilledText", prefilledText); Nav.go(activity, ComposeFragment.class, args); }, null); return true;