From b09146fb5411d49164c3fced3dc50569ee67be53 Mon Sep 17 00:00:00 2001 From: tom79 Date: Sun, 15 Oct 2017 08:45:37 +0200 Subject: [PATCH 1/4] Prepares missing menu in show accounts --- .../main/res/layout/activity_show_account.xml | 19 +++++++++++++++---- app/src/main/res/menu/main_showaccount.xml | 8 ++++---- app/src/main/res/values-de/strings.xml | 1 + app/src/main/res/values-fr/strings.xml | 1 + app/src/main/res/values-pt/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 6 files changed, 23 insertions(+), 8 deletions(-) diff --git a/app/src/main/res/layout/activity_show_account.xml b/app/src/main/res/layout/activity_show_account.xml index 38b8ad494..f7fb51f01 100644 --- a/app/src/main/res/layout/activity_show_account.xml +++ b/app/src/main/res/layout/activity_show_account.xml @@ -55,7 +55,18 @@ android:layout_marginEnd="10dp" android:layout_width="40dp" android:layout_height="40dp" + android:layout_marginBottom="5dp" /> + + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index b0e124653..5fef7c9d2 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -426,4 +426,5 @@ Danke an: Erlauben Interaktionen zwischen den accounts? + Im Browser öffnen diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index d6c748493..c8dfa30bb 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -433,4 +433,5 @@ Le pouet a été épinglé ! Le pouet a été désépinglé ! Epinglés %d + Ouvrir dans le navigateur \ No newline at end of file diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index f825f0a68..13d059d4e 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -432,4 +432,5 @@ Agradecimentos a: + Open in browser diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1042c28fb..c59acdb76 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -66,6 +66,7 @@ Boosts Show boosts Show replies + Open in browser Home Local timeline From f868f2a425ae06034f2ea85631c94b61fce813d3 Mon Sep 17 00:00:00 2001 From: tom79 Date: Sun, 15 Oct 2017 09:22:56 +0200 Subject: [PATCH 2/4] Adds filter by long click on the tab --- .../activities/ShowAccountActivity.java | 222 +++++++++++++----- .../res/menu/option_filter_toots_account.xml | 18 ++ 2 files changed, 178 insertions(+), 62 deletions(-) create mode 100644 app/src/main/res/menu/option_filter_toots_account.xml 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 56f55fba8..0081a39e5 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 @@ -40,11 +40,15 @@ import android.support.v4.content.ContextCompat; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.PopupMenu; import android.text.SpannableString; import android.text.method.LinkMovementMethod; +import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageButton; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; @@ -119,6 +123,8 @@ public class ShowAccountActivity extends AppCompatActivity implements OnPostActi private String accountUrl; private int maxScrollSize; private boolean avatarShown = true; + private DisplayStatusFragment displayStatusFragment; + public enum action{ FOLLOW, UNFOLLOW, @@ -226,7 +232,6 @@ public class ShowAccountActivity extends AppCompatActivity implements OnPostActi Fragment fragment = (Fragment) mPager.getAdapter().instantiateItem(mPager, tab.getPosition()); switch (tab.getPosition()){ case 0: - DisplayStatusFragment displayStatusFragment = ((DisplayStatusFragment) fragment); if( displayStatusFragment != null ) displayStatusFragment.scrollToTop(); break; @@ -268,6 +273,67 @@ public class ShowAccountActivity extends AppCompatActivity implements OnPostActi startActivity(intent); } }); + + + + + + final ImageButton account_menu = (ImageButton) findViewById(R.id.account_menu); + account_menu.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + PopupMenu popup = new PopupMenu(ShowAccountActivity.this, account_menu); + popup.getMenuInflater() + .inflate(R.menu.main_showaccount, popup.getMenu()); + if( !Helper.canPin || !accountId.equals(userId)) { + popup.getMenu().findItem(R.id.action_show_pinned).setVisible(false); + } + popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { + public boolean onMenuItemClick(MenuItem item) { + switch (item.getItemId()) { + case R.id.action_show_pinned: + showPinned = !showPinned; + if( showPinned ) + item.setIcon(R.drawable.ic_clear_all); + else + item.setIcon(R.drawable.ic_action_pin); + 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( showMediaOnly ) + item.setIcon(R.drawable.ic_clear_all); + else + item.setIcon(R.drawable.ic_perm_media); + if( tabLayout.getTabAt(0) != null) + //noinspection ConstantConditions + tabLayout.getTabAt(0).select(); + mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager()); + mPager.setAdapter(mPagerAdapter); + return true; + case R.id.action_open_browser: + if( accountUrl != null) { + Intent intent = new Intent(getApplicationContext(), WebviewActivity.class); + Bundle b = new Bundle(); + if( !accountUrl.startsWith("http://") && ! accountUrl.startsWith("https://")) + accountUrl = "http://" + accountUrl; + b.putString("url", accountUrl); + intent.putExtras(b); + startActivity(intent); + } + return true; + default: + return true; + } + } + }); + popup.show(); + } + }); } @@ -284,67 +350,7 @@ public class ShowAccountActivity extends AppCompatActivity implements OnPostActi new RetrieveRelationshipAsyncTask(getApplicationContext(), accountId,ShowAccountActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } - @Override - public boolean onCreateOptionsMenu(Menu menu) { - // Inflate the menu; this adds items to the action bar if it is present. - getMenuInflater().inflate(R.menu.main_showaccount, menu); - //TODO: if one day pinned toots from another account can be displayed, we need to remove the condition !accountId.equals(userId) - if( !Helper.canPin || !accountId.equals(userId)) { - menu.findItem(R.id.action_show_pinned).setVisible(false); - } - return true; - } - @Override - public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - case android.R.id.home: - finish(); - return true; - case R.id.action_show_pinned: - showPinned = !showPinned; - if( showPinned ) - item.setIcon(R.drawable.ic_clear_all); - else - item.setIcon(R.drawable.ic_action_pin); - 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( showMediaOnly ) - item.setIcon(R.drawable.ic_clear_all); - else - item.setIcon(R.drawable.ic_perm_media); - if( tabLayout.getTabAt(0) != null) - //noinspection ConstantConditions - tabLayout.getTabAt(0).select(); - mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager()); - mPager.setAdapter(mPagerAdapter); - return true; - case R.id.action_open_browser: - if( accountUrl != null) { - Intent intent = new Intent(getApplicationContext(), WebviewActivity.class); - Bundle b = new Bundle(); - if( !accountUrl.startsWith("http://") && ! accountUrl.startsWith("https://")) - accountUrl = "http://" + accountUrl; - b.putString("url", accountUrl); - intent.putExtras(b); - startActivity(intent); - } - return true; - default: - return super.onOptionsItemSelected(item); - } - } - - @Override - public void onDestroy(){ - super.onDestroy(); - } @Override public void onRetrieveAccount(Account account, Error error) { @@ -488,9 +494,89 @@ public class ShowAccountActivity extends AppCompatActivity implements OnPostActi //noinspection ConstantConditions tabLayout.getTabAt(2).setText(getString(R.string.followers_cnt, account.getFollowers_count())); + //Allows to filter by long click + final LinearLayout tabStrip = (LinearLayout) tabLayout.getChildAt(0); + tabStrip.getChildAt(0).setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(View v) { + PopupMenu popup = new PopupMenu(ShowAccountActivity.this, tabStrip.getChildAt(0)); + popup.getMenuInflater() + .inflate(R.menu.option_filter_toots_account, popup.getMenu()); + Menu menu = popup.getMenu(); + + if( !Helper.canPin || !accountId.equals(userId)) { + popup.getMenu().findItem(R.id.action_show_pinned).setVisible(false); + } + final MenuItem itemShowPined = menu.findItem(R.id.action_show_pinned); + final MenuItem itemShowMedia = menu.findItem(R.id.action_show_media); + + itemShowMedia.setChecked(showMediaOnly); + itemShowPined.setChecked(showPinned); + popup.setOnDismissListener(new PopupMenu.OnDismissListener() { + @Override + public void onDismiss(PopupMenu menu) { + if( displayStatusFragment != null) + displayStatusFragment.refreshFilter(); + } + }); + popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { + public boolean onMenuItemClick(MenuItem item) { + item.setShowAsAction(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW); + item.setActionView(new View(getApplicationContext())); + item.setOnActionExpandListener(new MenuItem.OnActionExpandListener() { + @Override + public boolean onMenuItemActionExpand(MenuItem item) { + return false; + } + + @Override + public boolean onMenuItemActionCollapse(MenuItem item) { + return false; + } + }); + switch (item.getItemId()) { + case R.id.action_show_pinned: + showPinned = !showPinned; + if( showPinned ) + item.setIcon(R.drawable.ic_clear_all); + else + item.setIcon(R.drawable.ic_action_pin); + if( tabLayout.getTabAt(0) != null) + //noinspection ConstantConditions + tabLayout.getTabAt(0).select(); + PagerAdapter mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager()); + mPager.setAdapter(mPagerAdapter); + break; + case R.id.action_show_media: + showMediaOnly = !showMediaOnly; + if( showMediaOnly ) + item.setIcon(R.drawable.ic_clear_all); + else + item.setIcon(R.drawable.ic_perm_media); + if( tabLayout.getTabAt(0) != null) + //noinspection ConstantConditions + tabLayout.getTabAt(0).select(); + mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager()); + mPager.setAdapter(mPagerAdapter); + break; + } + itemShowMedia.setChecked(showMediaOnly); + itemShowPined.setChecked(showPinned); + return false; + } + }); + popup.show(); + return true; + } + }); + + } imageLoader.displayImage(account.getAvatar(), account_pp, options); + + + } } @@ -594,7 +680,7 @@ public class ShowAccountActivity extends AppCompatActivity implements OnPostActi Bundle bundle = new Bundle(); switch (position){ case 0: - DisplayStatusFragment displayStatusFragment = new DisplayStatusFragment(); + displayStatusFragment = new DisplayStatusFragment(); bundle.putSerializable("type", RetrieveFeedsAsyncTask.Type.USER); bundle.putString("targetedId", accountId); bundle.putBoolean("hideHeader",true); @@ -623,6 +709,18 @@ public class ShowAccountActivity extends AppCompatActivity implements OnPostActi return null; } + @Override + public Object instantiateItem(ViewGroup container, int position) { + Fragment createdFragment = (Fragment) super.instantiateItem(container, position); + // save the appropriate reference depending on position + switch (position) { + case 0: + displayStatusFragment = (DisplayStatusFragment) createdFragment; + break; + } + return createdFragment; + } + @Override public int getCount() { return NUM_PAGES; diff --git a/app/src/main/res/menu/option_filter_toots_account.xml b/app/src/main/res/menu/option_filter_toots_account.xml new file mode 100644 index 000000000..f67839b4c --- /dev/null +++ b/app/src/main/res/menu/option_filter_toots_account.xml @@ -0,0 +1,18 @@ + + + + + From c68b7cf1cb7aecedb4e9dc90e0e8435e27b9a17e Mon Sep 17 00:00:00 2001 From: tom79 Date: Sun, 15 Oct 2017 09:24:22 +0200 Subject: [PATCH 3/4] Applies changes to tabs --- .../layout-sw600dp/activity_show_account.xml | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/app/src/main/res/layout-sw600dp/activity_show_account.xml b/app/src/main/res/layout-sw600dp/activity_show_account.xml index baa568bc7..d570c56ef 100644 --- a/app/src/main/res/layout-sw600dp/activity_show_account.xml +++ b/app/src/main/res/layout-sw600dp/activity_show_account.xml @@ -56,7 +56,18 @@ android:layout_marginEnd="10dp" android:layout_width="40dp" android:layout_height="40dp" + android:layout_marginBottom="5dp" /> + Date: Sun, 15 Oct 2017 09:29:59 +0200 Subject: [PATCH 4/4] Changes police --- app/src/main/assets/fonts/DroidSans-Regular.ttf | Bin 0 -> 40664 bytes .../drawers/NotificationsListAdapter.java | 2 +- .../mastodon/drawers/StatusListAdapter.java | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100755 app/src/main/assets/fonts/DroidSans-Regular.ttf diff --git a/app/src/main/assets/fonts/DroidSans-Regular.ttf b/app/src/main/assets/fonts/DroidSans-Regular.ttf new file mode 100755 index 0000000000000000000000000000000000000000..d5009891834ff8c46eb14ec35eedc2a2e20dbc36 GIT binary patch literal 40664 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 literal 0 HcmV?d00001 diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/NotificationsListAdapter.java b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/NotificationsListAdapter.java index 4dffc681d..2536de502 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/NotificationsListAdapter.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/NotificationsListAdapter.java @@ -295,7 +295,7 @@ public class NotificationsListAdapter extends BaseAdapter implements OnPostActio SpannableString spannableString = Helper.clickableElements(context, content, status.getReblog() != null?status.getReblog().getMentions():status.getMentions(), true); - Typeface tf = Typeface.createFromAsset(context.getAssets(), "fonts/WorkSans-Regular.ttf"); + Typeface tf = Typeface.createFromAsset(context.getAssets(), "fonts/DroidSans-Regular.ttf"); holder.notification_status_content.setTypeface(tf); holder.notification_status_content.setText(spannableString, TextView.BufferType.SPANNABLE); holder.notification_status_content.setMovementMethod(null); diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java index d5542c97e..7985de54d 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java @@ -569,7 +569,7 @@ public class StatusListAdapter extends BaseAdapter implements OnPostActionInterf } } - Typeface tf = Typeface.createFromAsset(context.getAssets(), "fonts/WorkSans-Regular.ttf"); + Typeface tf = Typeface.createFromAsset(context.getAssets(), "fonts/DroidSans-Regular.ttf"); holder.status_content.setTypeface(tf); //Toot was translated and user asked to see it