From 1d9e27b4b4e72fbfc34e3d7f0a083ecbd051f06d Mon Sep 17 00:00:00 2001 From: stom79 Date: Wed, 5 Sep 2018 17:08:57 +0200 Subject: [PATCH] Improve media activity --- .../activities/ShowAccountActivity.java | 31 +++++++------------ .../mastodon/activities/TootActivity.java | 7 +++-- .../fr/gouv/etalab/mastodon/client/API.java | 4 +++ app/src/main/res/layout/tablayout_toots.xml | 1 - app/src/main/res/menu/main_showaccount.xml | 11 ++----- app/src/main/res/values/strings.xml | 1 + 6 files changed, 24 insertions(+), 31 deletions(-) diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowAccountActivity.java b/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowAccountActivity.java index 518558b4d..4c47dab82 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowAccountActivity.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowAccountActivity.java @@ -308,9 +308,7 @@ public class ShowAccountActivity extends BaseActivity implements OnPostActionInt final PopupMenu popup = new PopupMenu(ShowAccountActivity.this, account_menu); popup.getMenuInflater() .inflate(R.menu.main_showaccount, popup.getMenu()); - if( !Helper.canPin ) { - popup.getMenu().findItem(R.id.action_show_pinned).setVisible(false); - } + final String[] stringArrayConf; final boolean isOwner = account.getId().equals(userId); String[] splitAcct = account.getAcct().split("@"); @@ -324,6 +322,7 @@ public class ShowAccountActivity extends BaseActivity implements OnPostActionInt popup.getMenu().findItem(R.id.action_follow_instance).setVisible(false); popup.getMenu().findItem(R.id.action_hide_boost).setVisible(false); popup.getMenu().findItem(R.id.action_endorse).setVisible(false); + popup.getMenu().findItem(R.id.action_direct_message).setVisible(false); stringArrayConf = getResources().getStringArray(R.array.more_action_owner_confirm); }else { popup.getMenu().findItem(R.id.action_block).setVisible(true); @@ -412,21 +411,13 @@ public class ShowAccountActivity extends BaseActivity implements OnPostActionInt new PostActionAsyncTask(getApplicationContext(), API.StatusAction.SHOW_BOOST, account.getId(), ShowAccountActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } return true; - case R.id.action_show_pinned: - showPinned = !showPinned; - if( tabLayout.getTabAt(0) != null) - //noinspection ConstantConditions - tabLayout.getTabAt(0).select(); - PagerAdapter mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager()); - mPager.setAdapter(mPagerAdapter); - return true; - case R.id.action_show_media: - showMediaOnly = !showMediaOnly; - if( tabLayout.getTabAt(0) != null) - //noinspection ConstantConditions - tabLayout.getTabAt(0).select(); - mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager()); - mPager.setAdapter(mPagerAdapter); + case R.id.action_direct_message: + Intent intent = new Intent(getApplicationContext(), TootActivity.class); + Bundle b = new Bundle(); + b.putString("mentionAccount", account.getAcct()); + b.putString("visibility", "direct"); + intent.putExtras(b); + startActivity(intent); return true; case R.id.action_open_browser: if( accountUrl != null) { @@ -436,8 +427,8 @@ public class ShowAccountActivity extends BaseActivity implements OnPostActionInt } return true; case R.id.action_mention: - Intent intent = new Intent(getApplicationContext(), TootActivity.class); - Bundle b = new Bundle(); + intent = new Intent(getApplicationContext(), TootActivity.class); + b = new Bundle(); b.putString("mentionAccount", account.getAcct()); intent.putExtras(b); startActivity(intent); diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/activities/TootActivity.java b/app/src/main/java/fr/gouv/etalab/mastodon/activities/TootActivity.java index 9b6e55761..33470b445 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/activities/TootActivity.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/activities/TootActivity.java @@ -295,6 +295,7 @@ public class TootActivity extends BaseActivity implements OnRetrieveSearcAccount mentionAccount = b.getString("mentionAccount", null); idRedirect = b.getString("idRedirect", null); removed = b.getBoolean("removed"); + visibility = b.getString("visibility", null); restoredScheduled = b.getBoolean("restoredScheduled", false); // ACTION_SEND route if (b.getInt("uriNumberMast", 0) == 1) { @@ -428,8 +429,10 @@ public class TootActivity extends BaseActivity implements OnRetrieveSearcAccount if( tootReply == null) { - String defaultVisibility = account.isLocked()?"private":"public"; - visibility = sharedpreferences.getString(Helper.SET_TOOT_VISIBILITY + "@" + account.getAcct() + "@" + account.getInstance(), defaultVisibility); + if( visibility == null) { + String defaultVisibility = account.isLocked() ? "private" : "public"; + visibility = sharedpreferences.getString(Helper.SET_TOOT_VISIBILITY + "@" + account.getAcct() + "@" + account.getInstance(), defaultVisibility); + } switch (visibility) { case "public": toot_visibility.setImageResource(R.drawable.ic_public_toot); diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/client/API.java b/app/src/main/java/fr/gouv/etalab/mastodon/client/API.java index a71a1c3da..81fde8d34 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/client/API.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/client/API.java @@ -985,9 +985,13 @@ public class API { action = String.format("/accounts/%s/unpin", targetedId); break; case SHOW_BOOST: + params = new HashMap<>(); + params.put("reblogs","true"); action = String.format("/accounts/%s/follow", targetedId); break; case HIDE_BOOST: + params = new HashMap<>(); + params.put("reblogs","false"); action = String.format("/accounts/%s/follow", targetedId); break; case UNSTATUS: diff --git a/app/src/main/res/layout/tablayout_toots.xml b/app/src/main/res/layout/tablayout_toots.xml index 87cad91b2..f17a7be43 100644 --- a/app/src/main/res/layout/tablayout_toots.xml +++ b/app/src/main/res/layout/tablayout_toots.xml @@ -32,6 +32,5 @@ android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="match_parent" - android:layout_marginBottom="70dp" /> \ No newline at end of file diff --git a/app/src/main/res/menu/main_showaccount.xml b/app/src/main/res/menu/main_showaccount.xml index 42b92f173..73701b4e1 100644 --- a/app/src/main/res/menu/main_showaccount.xml +++ b/app/src/main/res/menu/main_showaccount.xml @@ -2,20 +2,15 @@ - The account is no longer featured on profile Boosts are now shown! Boosts are now hidden! + Direct message