diff --git a/app/build.gradle b/app/build.gradle index 60ca554de..4b823804a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -7,8 +7,8 @@ android { applicationId "fr.gouv.etalab.mastodon" minSdkVersion 15 targetSdkVersion 26 - versionCode 61 - versionName "1.5.1" + versionCode 62 + versionName "1.5.2" } buildTypes { release { diff --git a/app/src/fdroid/java/fr.gouv.etalab.mastodon/activities/MainActivity.java b/app/src/fdroid/java/fr.gouv.etalab.mastodon/activities/MainActivity.java index cdaf7fd14..96701ed99 100644 --- a/app/src/fdroid/java/fr.gouv.etalab.mastodon/activities/MainActivity.java +++ b/app/src/fdroid/java/fr.gouv.etalab.mastodon/activities/MainActivity.java @@ -972,14 +972,14 @@ public class MainActivity extends AppCompatActivity SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE); int theme = sharedpreferences.getInt(Helper.SET_THEME, Helper.THEME_DARK); if( theme == Helper.THEME_DARK){ - changeDrawableColor(getApplicationContext(), R.drawable.ic_reply,R.color.dark_text); - changeDrawableColor(getApplicationContext(), R.drawable.ic_action_more,R.color.dark_text); - changeDrawableColor(getApplicationContext(), R.drawable.ic_action_globe,R.color.dark_text); - changeDrawableColor(getApplicationContext(), R.drawable.ic_action_lock_open,R.color.dark_text); - changeDrawableColor(getApplicationContext(), R.drawable.ic_action_lock_closed,R.color.dark_text); - changeDrawableColor(getApplicationContext(), R.drawable.ic_mail_outline,R.color.dark_text); - changeDrawableColor(getApplicationContext(), R.drawable.ic_retweet,R.color.dark_text); - changeDrawableColor(getApplicationContext(), R.drawable.ic_favorite_border,R.color.dark_text); + changeDrawableColor(getApplicationContext(), R.drawable.ic_reply,R.color.dark_icon); + changeDrawableColor(getApplicationContext(), R.drawable.ic_action_more,R.color.dark_icon); + changeDrawableColor(getApplicationContext(), R.drawable.ic_action_globe,R.color.dark_icon); + changeDrawableColor(getApplicationContext(), R.drawable.ic_action_lock_open,R.color.dark_icon); + changeDrawableColor(getApplicationContext(), R.drawable.ic_action_lock_closed,R.color.dark_icon); + changeDrawableColor(getApplicationContext(), R.drawable.ic_mail_outline,R.color.dark_icon); + changeDrawableColor(getApplicationContext(), R.drawable.ic_retweet,R.color.dark_icon); + changeDrawableColor(getApplicationContext(), R.drawable.ic_favorite_border,R.color.dark_icon); changeDrawableColor(getApplicationContext(), R.drawable.ic_photo,R.color.dark_text); changeDrawableColor(getApplicationContext(), R.drawable.ic_remove_red_eye,R.color.dark_text); changeDrawableColor(getApplicationContext(), R.drawable.ic_translate,R.color.dark_text); 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 000000000..d50098918 Binary files /dev/null and b/app/src/main/assets/fonts/DroidSans-Regular.ttf differ 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..457aaa19a 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 @@ -33,18 +33,25 @@ import android.support.annotation.RequiresApi; import android.support.design.widget.AppBarLayout; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.TabLayout; +import android.support.transition.Visibility; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentStatePagerAdapter; import android.support.v4.content.ContextCompat; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; +import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.PopupMenu; +import android.support.v7.widget.Toolbar; 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; @@ -113,12 +120,13 @@ public class ShowAccountActivity extends AppCompatActivity implements OnPostActi private Relationship relationship; private boolean showMediaOnly, showPinned; private ImageView pp_actionBar; - private LinearLayout small_info; private ImageView header_edit_profile; private List pins; private String accountUrl; private int maxScrollSize; private boolean avatarShown = true; + private DisplayStatusFragment displayStatusFragment; + public enum action{ FOLLOW, UNFOLLOW, @@ -146,7 +154,6 @@ public class ShowAccountActivity extends AppCompatActivity implements OnPostActi Bundle b = getIntent().getExtras(); account_follow = (FloatingActionButton) findViewById(R.id.account_follow); account_follow_request = (TextView) findViewById(R.id.account_follow_request); - small_info = (LinearLayout) findViewById(R.id.small_info); header_edit_profile = (ImageView) findViewById(R.id.header_edit_profile); account_follow.setEnabled(false); if(b != null){ @@ -226,7 +233,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 +274,59 @@ 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( 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); + 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 +343,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) { @@ -442,27 +441,30 @@ public class ShowAccountActivity extends AppCompatActivity implements OnPostActi appBar.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() { @Override public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) { - if (Math.abs(verticalOffset)-appBar.getTotalScrollRange() == 0) { - if( small_info.getVisibility() == View.GONE) - small_info.setVisibility(View.VISIBLE); - }else { - if( small_info.getVisibility() == View.VISIBLE) - small_info.setVisibility(View.GONE); + LinearLayout toolbarContent = findViewById(R.id.toolbar_content); + if( toolbarContent != null) { + if (Math.abs(verticalOffset) - appBar.getTotalScrollRange() == 0) { + if (toolbarContent.getVisibility() == View.GONE) + toolbarContent.setVisibility(View.VISIBLE); + } else { + if (toolbarContent.getVisibility() == View.VISIBLE) + toolbarContent.setVisibility(View.GONE); + } } if (maxScrollSize == 0) maxScrollSize = appBarLayout.getTotalScrollRange(); int percentage = (Math.abs(verticalOffset)) * 100 / maxScrollSize; - if (percentage >= 20 && avatarShown) { + if (percentage >= 40 && avatarShown) { avatarShown = false; account_pp.animate() .scaleY(0).scaleX(0) - .setDuration(200) + .setDuration(400) .start(); } - if (percentage <= 20 && !avatarShown) { + if (percentage <= 40 && !avatarShown) { avatarShown = true; account_pp.animate() .scaleY(1).scaleX(1) @@ -488,9 +490,81 @@ 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( 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( 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 +668,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 +697,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/java/fr/gouv/etalab/mastodon/drawers/NotificationsListAdapter.java b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/NotificationsListAdapter.java index 009a9cb27..549f51d73 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 @@ -255,14 +255,14 @@ public class NotificationsListAdapter extends BaseAdapter implements OnPostActio //Manages theme for icon colors if( theme == Helper.THEME_DARK){ - changeDrawableColor(context, R.drawable.ic_reply,R.color.dark_text); - changeDrawableColor(context, R.drawable.ic_action_more,R.color.dark_text); - changeDrawableColor(context, R.drawable.ic_action_globe,R.color.dark_text); - changeDrawableColor(context, R.drawable.ic_action_lock_open,R.color.dark_text); - changeDrawableColor(context, R.drawable.ic_action_lock_closed,R.color.dark_text); - changeDrawableColor(context, R.drawable.ic_mail_outline,R.color.dark_text); - changeDrawableColor(context, R.drawable.ic_retweet,R.color.dark_text); - changeDrawableColor(context, R.drawable.ic_favorite_border,R.color.dark_text); + changeDrawableColor(context, R.drawable.ic_reply,R.color.dark_icon); + changeDrawableColor(context, R.drawable.ic_action_more,R.color.dark_icon); + changeDrawableColor(context, R.drawable.ic_action_globe,R.color.dark_icon); + changeDrawableColor(context, R.drawable.ic_action_lock_open,R.color.dark_icon); + changeDrawableColor(context, R.drawable.ic_action_lock_closed,R.color.dark_icon); + changeDrawableColor(context, R.drawable.ic_mail_outline,R.color.dark_icon); + changeDrawableColor(context, R.drawable.ic_retweet,R.color.dark_icon); + changeDrawableColor(context, R.drawable.ic_favorite_border,R.color.dark_icon); changeDrawableColor(context, R.drawable.ic_photo,R.color.dark_text); changeDrawableColor(context, R.drawable.ic_remove_red_eye,R.color.dark_text); changeDrawableColor(context, R.drawable.ic_delete,R.color.dark_text); @@ -295,6 +295,8 @@ 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/DroidSans-Regular.ttf"); + holder.notification_status_content.setTypeface(tf); holder.notification_status_content.setText(spannableString, TextView.BufferType.SPANNABLE); holder.notification_status_content.setMovementMethod(null); holder.notification_status_content.setMovementMethod(LinkMovementMethod.getInstance()); @@ -302,9 +304,6 @@ public class NotificationsListAdapter extends BaseAdapter implements OnPostActio holder.status_reblog_count.setText(String.valueOf(status.getReblogs_count())); holder.status_date.setText(Helper.dateDiff(context, status.getCreated_at())); - Typeface tf = Typeface.createFromAsset(context.getAssets(), "fonts/WorkSans-Regular.ttf"); - holder.notification_status_content.setTypeface(tf); - //Adds attachment -> disabled, to enable them uncomment the line below //loadAttachments(status, holder); holder.notification_status_container.setVisibility(View.VISIBLE); @@ -339,22 +338,22 @@ public class NotificationsListAdapter extends BaseAdapter implements OnPostActio Drawable imgFav, imgReblog; if( status.isFavourited() || (status.getReblog() != null && status.getReblog().isFavourited())) { - changeDrawableColor(context, R.drawable.ic_favorite,R.color.yellowicon); + changeDrawableColor(context, R.drawable.ic_favorite,R.color.marked_icon); imgFav = ContextCompat.getDrawable(context, R.drawable.ic_favorite); }else { if( theme == THEME_DARK) - changeDrawableColor(context, R.drawable.ic_favorite_border,R.color.dark_text); + changeDrawableColor(context, R.drawable.ic_favorite_border,R.color.dark_icon); else changeDrawableColor(context, R.drawable.ic_favorite_border,R.color.black); imgFav = ContextCompat.getDrawable(context, R.drawable.ic_favorite_border); } if( status.isReblogged()|| (status.getReblog() != null && status.getReblog().isReblogged())) { - changeDrawableColor(context, R.drawable.ic_boost,R.color.yellowicon); + changeDrawableColor(context, R.drawable.ic_boost,R.color.marked_icon); imgReblog = ContextCompat.getDrawable(context, R.drawable.ic_boost); }else { if( theme == THEME_DARK) - changeDrawableColor(context, R.drawable.ic_boost_border,R.color.dark_text); + changeDrawableColor(context, R.drawable.ic_boost_border,R.color.dark_icon); else changeDrawableColor(context, R.drawable.ic_boost_border,R.color.black); imgReblog = ContextCompat.getDrawable(context, R.drawable.ic_boost_border); @@ -364,7 +363,13 @@ public class NotificationsListAdapter extends BaseAdapter implements OnPostActio imgReblog.setBounds(0,0,(int) (20 * iconSizePercent/100 * scale + 0.5f),(int) (20 * iconSizePercent/100 * scale + 0.5f)); holder.status_favorite_count.setCompoundDrawables(imgFav, null, null, null); holder.status_reblog_count.setCompoundDrawables(imgReblog, null, null, null); - + if( theme == THEME_DARK){ + holder.status_favorite_count.setTextColor(ContextCompat.getColor(context, R.color.dark_icon)); + holder.status_reblog_count.setTextColor(ContextCompat.getColor(context, R.color.dark_icon)); + }else { + holder.status_favorite_count.setTextColor(ContextCompat.getColor(context, R.color.black)); + holder.status_reblog_count.setTextColor(ContextCompat.getColor(context, R.color.black)); + } if( status.getReblog() == null) { if (status.getMedia_attachments().size() < 1) { 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 9ceb7274c..a59ba3300 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 @@ -15,6 +15,7 @@ package fr.gouv.etalab.mastodon.drawers; * see . */ import android.graphics.Bitmap; +import android.graphics.Color; import android.graphics.Typeface; import android.os.Handler; import android.support.design.widget.FloatingActionButton; @@ -35,8 +36,13 @@ import android.support.v4.content.ContextCompat; import android.support.v7.widget.CardView; import android.support.v7.widget.PopupMenu; import android.text.Html; +import android.text.Spannable; import android.text.SpannableString; +import android.text.Spanned; +import android.text.TextPaint; import android.text.method.LinkMovementMethod; +import android.text.style.ClickableSpan; +import android.text.style.ForegroundColorSpan; import android.util.Log; import android.util.Patterns; import android.util.TypedValue; @@ -75,7 +81,9 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.regex.Matcher; +import java.util.regex.Pattern; +import fr.gouv.etalab.mastodon.activities.HashTagActivity; import fr.gouv.etalab.mastodon.activities.MediaActivity; import fr.gouv.etalab.mastodon.activities.ShowAccountActivity; import fr.gouv.etalab.mastodon.activities.ShowConversationActivity; @@ -218,7 +226,6 @@ public class StatusListAdapter extends BaseAdapter implements OnPostActionInterf holder.status_toot_date = (TextView) convertView.findViewById(R.id.status_toot_date); holder.status_show_more = (Button) convertView.findViewById(R.id.status_show_more); holder.status_more = (ImageView) convertView.findViewById(R.id.status_more); - holder.status_reblog_user = (TextView) convertView.findViewById(R.id.status_reblog_user); holder.status_prev1 = (ImageView) convertView.findViewById(R.id.status_prev1); holder.status_prev2 = (ImageView) convertView.findViewById(R.id.status_prev2); holder.status_prev3 = (ImageView) convertView.findViewById(R.id.status_prev3); @@ -303,7 +310,7 @@ public class StatusListAdapter extends BaseAdapter implements OnPostActionInterf if( status.isNew()) holder.new_element.setVisibility(View.VISIBLE); else - holder.new_element.setVisibility(View.INVISIBLE); + holder.new_element.setVisibility(View.GONE); int iconSizePercent = sharedpreferences.getInt(Helper.SET_ICON_SIZE, 130); int textSizePercent = sharedpreferences.getInt(Helper.SET_TEXT_SIZE, 110); boolean trans_forced = sharedpreferences.getBoolean(Helper.SET_TRANS_FORCED, false); @@ -316,7 +323,6 @@ public class StatusListAdapter extends BaseAdapter implements OnPostActionInterf holder.status_content.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14*textSizePercent/100); holder.status_account_displayname.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14*textSizePercent/100); holder.status_account_username.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12*textSizePercent/100); - holder.status_reblog_user.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14*textSizePercent/100); holder.status_toot_date.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12*textSizePercent/100); holder.status_spoiler.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14*textSizePercent/100); holder.status_content_translated.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14*textSizePercent/100); @@ -349,16 +355,16 @@ public class StatusListAdapter extends BaseAdapter implements OnPostActionInterf //Manages theme for icon colors int theme = sharedpreferences.getInt(Helper.SET_THEME, Helper.THEME_DARK); if( theme == Helper.THEME_DARK){ - changeDrawableColor(context, R.drawable.ic_reply,R.color.dark_text); - changeDrawableColor(context, R.drawable.ic_action_more,R.color.dark_text); - changeDrawableColor(context, R.drawable.ic_action_globe,R.color.dark_text); - changeDrawableColor(context, R.drawable.ic_action_lock_open,R.color.dark_text); - changeDrawableColor(context, R.drawable.ic_action_lock_closed,R.color.dark_text); - changeDrawableColor(context, R.drawable.ic_mail_outline,R.color.dark_text); - changeDrawableColor(context, R.drawable.ic_boost_border,R.color.dark_text); - changeDrawableColor(context, R.drawable.ic_boost_header,R.color.dark_text); - changeDrawableColor(context, R.drawable.ic_favorite_border,R.color.dark_text); - changeDrawableColor(context, R.drawable.ic_action_pin_dark, R.color.dark_text); + changeDrawableColor(context, R.drawable.ic_reply,R.color.dark_icon); + changeDrawableColor(context, R.drawable.ic_action_more,R.color.dark_icon); + changeDrawableColor(context, R.drawable.ic_action_globe,R.color.dark_icon); + changeDrawableColor(context, R.drawable.ic_action_lock_open,R.color.dark_icon); + changeDrawableColor(context, R.drawable.ic_action_lock_closed,R.color.dark_icon); + changeDrawableColor(context, R.drawable.ic_mail_outline,R.color.dark_icon); + changeDrawableColor(context, R.drawable.ic_boost_border,R.color.dark_icon); + changeDrawableColor(context, R.drawable.ic_boost_header,R.color.dark_icon); + changeDrawableColor(context, R.drawable.ic_favorite_border,R.color.dark_icon); + changeDrawableColor(context, R.drawable.ic_action_pin_dark, R.color.dark_icon); changeDrawableColor(context, R.drawable.ic_photo,R.color.dark_text); changeDrawableColor(context, R.drawable.ic_remove_red_eye,R.color.dark_text); changeDrawableColor(context, R.drawable.ic_translate,R.color.dark_text); @@ -380,43 +386,61 @@ public class StatusListAdapter extends BaseAdapter implements OnPostActionInterf //Redraws top icons (boost/reply) final float scale = context.getResources().getDisplayMetrics().density; - if( (status.getIn_reply_to_account_id()!= null && !status.getIn_reply_to_account_id().equals("null")) || (status.getIn_reply_to_id() != null && !status.getIn_reply_to_id().equals("null")) ){ - Drawable img = ContextCompat.getDrawable(context, R.drawable.ic_reply); - img.setBounds(0,0,(int) (20 * iconSizePercent/100 * scale + 0.5f),(int) (15 * iconSizePercent/100 * scale + 0.5f)); - holder.status_account_displayname.setCompoundDrawables( img, null, null, null); - }else if( status.getReblog() != null){ + if( status.getReblog() != null){ Drawable img = ContextCompat.getDrawable(context, R.drawable.ic_boost_header); img.setBounds(0,0,(int) (20 * iconSizePercent/100 * scale + 0.5f),(int) (15 * iconSizePercent/100 * scale + 0.5f)); holder.status_account_displayname.setCompoundDrawables( img, null, null, null); + holder.status_account_displayname.setVisibility(View.VISIBLE); }else{ - holder.status_account_displayname.setCompoundDrawables( null, null, null, null); + holder.status_account_displayname.setVisibility(View.GONE); } - + if( theme == THEME_DARK){ + holder.status_favorite_count.setTextColor(ContextCompat.getColor(context, R.color.dark_icon)); + holder.status_reblog_count.setTextColor(ContextCompat.getColor(context, R.color.dark_icon)); + holder.status_toot_date.setTextColor(ContextCompat.getColor(context, R.color.dark_icon)); + holder.status_account_displayname.setTextColor(ContextCompat.getColor(context, R.color.dark_icon)); + }else { + holder.status_favorite_count.setTextColor(ContextCompat.getColor(context, R.color.black)); + holder.status_reblog_count.setTextColor(ContextCompat.getColor(context, R.color.black)); + holder.status_toot_date.setTextColor(ContextCompat.getColor(context, R.color.black)); + holder.status_account_displayname.setTextColor(ContextCompat.getColor(context, R.color.black)); + } String content; final String displayName; - final String username; final String ppurl; + String name; if( status.getReblog() != null){ content = status.getReblog().getContent(); displayName = Helper.shortnameToUnicode(status.getReblog().getAccount().getDisplay_name(), true); - username = status.getReblog().getAccount().getUsername(); - holder.status_reblog_user.setText(displayName + " " +String.format("@%s",username)); ppurl = status.getReblog().getAccount().getAvatar(); - holder.status_reblog_user.setVisibility(View.VISIBLE); holder.status_account_displayname.setText(context.getResources().getString(R.string.reblog_by, status.getAccount().getUsername())); - holder.status_account_username.setText( ""); + name = String.format("%s @%s",displayName,status.getReblog().getAccount().getAcct()); }else { ppurl = status.getAccount().getAvatar(); content = status.getContent(); displayName = Helper.shortnameToUnicode(status.getAccount().getDisplay_name(), true); - username = status.getAccount().getUsername(); - holder.status_reblog_user.setVisibility(View.GONE); - holder.status_account_displayname.setText(displayName); - holder.status_account_username.setText(String.format("@%s",username)); + name = String.format("%s @%s",displayName,status.getAccount().getAcct()); } + Spannable wordtoSpan = new SpannableString(name); + if( theme == THEME_DARK) { + Pattern hashAcct; + if( status.getReblog() != null) + hashAcct = Pattern.compile("\\s(@"+status.getReblog().getAccount().getAcct()+")"); + else + hashAcct = Pattern.compile("\\s(@"+status.getAccount().getAcct()+")"); + Matcher matcherAcct = hashAcct.matcher(wordtoSpan); + while (matcherAcct.find()){ + int matchStart = matcherAcct.start(1); + int matchEnd = matcherAcct.end(); + if( wordtoSpan.length() >= matchEnd && matchStart < matchEnd) + wordtoSpan.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.dark_icon)), matchStart, matchEnd, Spanned.SPAN_INCLUSIVE_EXCLUSIVE); + } + } + holder.status_account_username.setText(wordtoSpan); + if( status.getContent_translated() != null && status.getContent_translated().length() > 0){ holder.status_content_translated.setMovementMethod(null); @@ -571,7 +595,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 @@ -614,31 +638,37 @@ public class StatusListAdapter extends BaseAdapter implements OnPostActionInterf Drawable imgFav, imgReblog, imgPinned; if( status.isFavourited() || (status.getReblog() != null && status.getReblog().isFavourited())) { - changeDrawableColor(context, R.drawable.ic_favorite,R.color.yellowicon); + changeDrawableColor(context, R.drawable.ic_favorite,R.color.marked_icon); imgFav = ContextCompat.getDrawable(context, R.drawable.ic_favorite); }else { if( theme == THEME_DARK) - changeDrawableColor(context, R.drawable.ic_favorite_border,R.color.dark_text); + changeDrawableColor(context, R.drawable.ic_favorite_border,R.color.dark_icon); else changeDrawableColor(context, R.drawable.ic_favorite_border,R.color.black); imgFav = ContextCompat.getDrawable(context, R.drawable.ic_favorite_border); } if( status.isReblogged()|| (status.getReblog() != null && status.getReblog().isReblogged())) { - changeDrawableColor(context, R.drawable.ic_boost,R.color.yellowicon); + changeDrawableColor(context, R.drawable.ic_boost,R.color.marked_icon); imgReblog = ContextCompat.getDrawable(context, R.drawable.ic_boost); }else { if( theme == THEME_DARK) - changeDrawableColor(context, R.drawable.ic_boost_border,R.color.dark_text); + changeDrawableColor(context, R.drawable.ic_boost_border,R.color.dark_icon); else changeDrawableColor(context, R.drawable.ic_boost_border,R.color.black); imgReblog = ContextCompat.getDrawable(context, R.drawable.ic_boost_border); } - if( status.isPinned()|| (status.getReblog() != null && status.getReblog().isPinned())) + if( status.isPinned()|| (status.getReblog() != null && status.getReblog().isPinned())) { + changeDrawableColor(context, R.drawable.ic_action_pin_yellow,R.color.marked_icon); imgPinned = ContextCompat.getDrawable(context, R.drawable.ic_action_pin_yellow); - else + }else { + if( theme == THEME_DARK) + changeDrawableColor(context, R.drawable.ic_action_pin_dark,R.color.dark_icon); + else + changeDrawableColor(context, R.drawable.ic_action_pin_dark,R.color.black); imgPinned = ContextCompat.getDrawable(context, R.drawable.ic_action_pin_dark); + } imgFav.setBounds(0,0,(int) (20 * iconSizePercent/100 * scale + 0.5f),(int) (20 * iconSizePercent/100 * scale + 0.5f)); imgReblog.setBounds(0,0,(int) (20 * iconSizePercent/100 * scale + 0.5f),(int) (20 * iconSizePercent/100 * scale + 0.5f)); @@ -648,11 +678,6 @@ public class StatusListAdapter extends BaseAdapter implements OnPostActionInterf holder.status_reblog_count.setCompoundDrawables(imgReblog, null, null, null); holder.status_pin.setImageDrawable(imgPinned); - if( theme == Helper.THEME_LIGHT) { - holder.status_show_more.setTextColor(ContextCompat.getColor(context, R.color.white)); - holder.status_spoiler_button.setTextColor(ContextCompat.getColor(context, R.color.white)); - } - boolean isOwner = status.getAccount().getId().equals(userId); // Pinning toots is only available on Mastodon 1._6_.0 instances. @@ -1398,7 +1423,6 @@ public class StatusListAdapter extends BaseAdapter implements OnPostActionInterf TextView status_favorite_count; TextView status_reblog_count; TextView status_toot_date; - TextView status_reblog_user; Button status_show_more; ImageView status_more; LinearLayout status_document_container; diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/fragments/DisplayStatusFragment.java b/app/src/main/java/fr/gouv/etalab/mastodon/fragments/DisplayStatusFragment.java index 215db5a59..d7554fde4 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/fragments/DisplayStatusFragment.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/fragments/DisplayStatusFragment.java @@ -17,15 +17,11 @@ import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.os.AsyncTask; -import android.os.Build; import android.os.Bundle; -import android.os.Handler; import android.os.Parcelable; import android.support.v4.app.Fragment; -import android.support.v4.content.LocalBroadcastManager; import android.support.v4.view.ViewCompat; import android.support.v4.widget.SwipeRefreshLayout; -import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -34,10 +30,7 @@ import android.widget.ListView; import android.widget.RelativeLayout; import android.widget.Toast; import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; import java.util.List; -import java.util.concurrent.TimeUnit; import fr.gouv.etalab.mastodon.activities.MainActivity; import fr.gouv.etalab.mastodon.asynctasks.RetrieveMissingFeedsAsyncTask; @@ -139,7 +132,7 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn if( !comesFromSearch){ //Hide account header when scrolling for ShowAccountActivity - if (hideHeader && Build.VERSION.SDK_INT >= 21) + if (hideHeader ) ViewCompat.setNestedScrollingEnabled(lv_status, true); lv_status.setOnScrollListener(new AbsListView.OnScrollListener() { @@ -149,25 +142,6 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn } public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { - if (hideHeader && Build.VERSION.SDK_INT < 21) { - if(firstVisibleItem == 0 && Helper.listIsAtTop(lv_status)){ - Intent intent = new Intent(Helper.HEADER_ACCOUNT+instanceValue); - intent.putExtra("hide", false); - LocalBroadcastManager.getInstance(context).sendBroadcast(intent); - }else if (view.getId() == lv_status.getId() && totalItemCount > visibleItemCount) { - final int currentFirstVisibleItem = lv_status.getFirstVisiblePosition(); - if (currentFirstVisibleItem > lastFirstVisibleItem) { - Intent intent = new Intent(Helper.HEADER_ACCOUNT + instanceValue); - intent.putExtra("hide", true); - LocalBroadcastManager.getInstance(context).sendBroadcast(intent); - } else if (currentFirstVisibleItem < lastFirstVisibleItem) { - Intent intent = new Intent(Helper.HEADER_ACCOUNT + instanceValue); - intent.putExtra("hide", false); - LocalBroadcastManager.getInstance(context).sendBroadcast(intent); - } - lastFirstVisibleItem = currentFirstVisibleItem; - } - } if(firstVisibleItem + visibleItemCount == totalItemCount ) { if(!flag_loading ) { flag_loading = true; diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsNotificationsFragment.java b/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsNotificationsFragment.java index d4f3abd05..dff2dfd6a 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsNotificationsFragment.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsNotificationsFragment.java @@ -309,10 +309,6 @@ public class SettingsNotificationsFragment extends Fragment { } } - if( theme == Helper.THEME_LIGHT) { - settings_time_from.setTextColor(ContextCompat.getColor(context, R.color.white)); - settings_time_to.setTextColor(ContextCompat.getColor(context, R.color.white)); - } return rootView; } diff --git a/app/src/main/res/drawable-hdpi/ic_action_decrease_menu.png b/app/src/main/res/drawable-hdpi/ic_action_decrease_menu.png deleted file mode 100644 index 751443c36..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_action_decrease_menu.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_action_volume_mute.png b/app/src/main/res/drawable-hdpi/ic_action_volume_mute.png index 2becf00d9..8b4ccd143 100644 Binary files a/app/src/main/res/drawable-hdpi/ic_action_volume_mute.png and b/app/src/main/res/drawable-hdpi/ic_action_volume_mute.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_boost.png b/app/src/main/res/drawable-hdpi/ic_boost.png index 51b10c9c1..aabe84ac9 100644 Binary files a/app/src/main/res/drawable-hdpi/ic_boost.png and b/app/src/main/res/drawable-hdpi/ic_boost.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_boost_border.png b/app/src/main/res/drawable-hdpi/ic_boost_border.png index 51b10c9c1..aabe84ac9 100644 Binary files a/app/src/main/res/drawable-hdpi/ic_boost_border.png and b/app/src/main/res/drawable-hdpi/ic_boost_border.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_boost_header.png b/app/src/main/res/drawable-hdpi/ic_boost_header.png index 51b10c9c1..aabe84ac9 100644 Binary files a/app/src/main/res/drawable-hdpi/ic_boost_header.png and b/app/src/main/res/drawable-hdpi/ic_boost_header.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_boost_header_notif.png b/app/src/main/res/drawable-hdpi/ic_boost_header_notif.png index 51b10c9c1..aabe84ac9 100644 Binary files a/app/src/main/res/drawable-hdpi/ic_boost_header_notif.png and b/app/src/main/res/drawable-hdpi/ic_boost_header_notif.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_clear_all.png b/app/src/main/res/drawable-hdpi/ic_clear_all.png deleted file mode 100644 index 9d2751edb..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_clear_all.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_message.png b/app/src/main/res/drawable-hdpi/ic_message.png deleted file mode 100644 index 4dc32aa28..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_message.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_mute_white.png b/app/src/main/res/drawable-hdpi/ic_mute_white.png index 23316319f..57d6261db 100644 Binary files a/app/src/main/res/drawable-hdpi/ic_mute_white.png and b/app/src/main/res/drawable-hdpi/ic_mute_white.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_unlock_alt.png b/app/src/main/res/drawable-hdpi/ic_unlock_alt.png index d2c8b39c4..7303c2b94 100644 Binary files a/app/src/main/res/drawable-hdpi/ic_unlock_alt.png and b/app/src/main/res/drawable-hdpi/ic_unlock_alt.png differ diff --git a/app/src/main/res/drawable-ldpi/ic_action_decrease_menu.png b/app/src/main/res/drawable-ldpi/ic_action_decrease_menu.png deleted file mode 100644 index 4d6458890..000000000 Binary files a/app/src/main/res/drawable-ldpi/ic_action_decrease_menu.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldpi/ic_action_volume_mute.png b/app/src/main/res/drawable-ldpi/ic_action_volume_mute.png index f74fb60b2..beae906a3 100644 Binary files a/app/src/main/res/drawable-ldpi/ic_action_volume_mute.png and b/app/src/main/res/drawable-ldpi/ic_action_volume_mute.png differ diff --git a/app/src/main/res/drawable-ldpi/ic_boost.png b/app/src/main/res/drawable-ldpi/ic_boost.png index 469ba8083..fb82dacb4 100644 Binary files a/app/src/main/res/drawable-ldpi/ic_boost.png and b/app/src/main/res/drawable-ldpi/ic_boost.png differ diff --git a/app/src/main/res/drawable-ldpi/ic_boost_border.png b/app/src/main/res/drawable-ldpi/ic_boost_border.png index 469ba8083..fb82dacb4 100644 Binary files a/app/src/main/res/drawable-ldpi/ic_boost_border.png and b/app/src/main/res/drawable-ldpi/ic_boost_border.png differ diff --git a/app/src/main/res/drawable-ldpi/ic_boost_header.png b/app/src/main/res/drawable-ldpi/ic_boost_header.png index 469ba8083..fb82dacb4 100644 Binary files a/app/src/main/res/drawable-ldpi/ic_boost_header.png and b/app/src/main/res/drawable-ldpi/ic_boost_header.png differ diff --git a/app/src/main/res/drawable-ldpi/ic_boost_header_notif.png b/app/src/main/res/drawable-ldpi/ic_boost_header_notif.png index 469ba8083..fb82dacb4 100644 Binary files a/app/src/main/res/drawable-ldpi/ic_boost_header_notif.png and b/app/src/main/res/drawable-ldpi/ic_boost_header_notif.png differ diff --git a/app/src/main/res/drawable-ldpi/ic_clear_all.png b/app/src/main/res/drawable-ldpi/ic_clear_all.png deleted file mode 100644 index 159af45a2..000000000 Binary files a/app/src/main/res/drawable-ldpi/ic_clear_all.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldpi/ic_message.png b/app/src/main/res/drawable-ldpi/ic_message.png deleted file mode 100644 index ddedaae51..000000000 Binary files a/app/src/main/res/drawable-ldpi/ic_message.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldpi/ic_mute_white.png b/app/src/main/res/drawable-ldpi/ic_mute_white.png index e5547093c..74a12a81e 100644 Binary files a/app/src/main/res/drawable-ldpi/ic_mute_white.png and b/app/src/main/res/drawable-ldpi/ic_mute_white.png differ diff --git a/app/src/main/res/drawable-ldpi/ic_unlock_alt.png b/app/src/main/res/drawable-ldpi/ic_unlock_alt.png index dec603821..8aeae0388 100644 Binary files a/app/src/main/res/drawable-ldpi/ic_unlock_alt.png and b/app/src/main/res/drawable-ldpi/ic_unlock_alt.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_action_decrease_menu.png b/app/src/main/res/drawable-mdpi/ic_action_decrease_menu.png deleted file mode 100644 index 88b3982fd..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_action_decrease_menu.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_action_volume_mute.png b/app/src/main/res/drawable-mdpi/ic_action_volume_mute.png index 4d38610bf..65f8e2a5d 100644 Binary files a/app/src/main/res/drawable-mdpi/ic_action_volume_mute.png and b/app/src/main/res/drawable-mdpi/ic_action_volume_mute.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_boost.png b/app/src/main/res/drawable-mdpi/ic_boost.png index ac60b2da9..9d947b318 100644 Binary files a/app/src/main/res/drawable-mdpi/ic_boost.png and b/app/src/main/res/drawable-mdpi/ic_boost.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_boost_border.png b/app/src/main/res/drawable-mdpi/ic_boost_border.png index ac60b2da9..9d947b318 100644 Binary files a/app/src/main/res/drawable-mdpi/ic_boost_border.png and b/app/src/main/res/drawable-mdpi/ic_boost_border.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_boost_header.png b/app/src/main/res/drawable-mdpi/ic_boost_header.png index ac60b2da9..9d947b318 100644 Binary files a/app/src/main/res/drawable-mdpi/ic_boost_header.png and b/app/src/main/res/drawable-mdpi/ic_boost_header.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_boost_header_notif.png b/app/src/main/res/drawable-mdpi/ic_boost_header_notif.png index ac60b2da9..9d947b318 100644 Binary files a/app/src/main/res/drawable-mdpi/ic_boost_header_notif.png and b/app/src/main/res/drawable-mdpi/ic_boost_header_notif.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_clear_all.png b/app/src/main/res/drawable-mdpi/ic_clear_all.png deleted file mode 100644 index a6e85f373..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_clear_all.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_message.png b/app/src/main/res/drawable-mdpi/ic_message.png deleted file mode 100644 index 30bdd6987..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_message.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_mute_white.png b/app/src/main/res/drawable-mdpi/ic_mute_white.png index 0ea44b996..e011ed364 100644 Binary files a/app/src/main/res/drawable-mdpi/ic_mute_white.png and b/app/src/main/res/drawable-mdpi/ic_mute_white.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_unlock_alt.png b/app/src/main/res/drawable-mdpi/ic_unlock_alt.png index ea52dd15b..ea093bd30 100644 Binary files a/app/src/main/res/drawable-mdpi/ic_unlock_alt.png and b/app/src/main/res/drawable-mdpi/ic_unlock_alt.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_action_decrease_menu.png b/app/src/main/res/drawable-xhdpi/ic_action_decrease_menu.png deleted file mode 100644 index 5265f6d39..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_action_decrease_menu.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_action_volume_mute.png b/app/src/main/res/drawable-xhdpi/ic_action_volume_mute.png index b1af9144b..694db4a5e 100644 Binary files a/app/src/main/res/drawable-xhdpi/ic_action_volume_mute.png and b/app/src/main/res/drawable-xhdpi/ic_action_volume_mute.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_boost.png b/app/src/main/res/drawable-xhdpi/ic_boost.png index 46e82b57d..40d602432 100644 Binary files a/app/src/main/res/drawable-xhdpi/ic_boost.png and b/app/src/main/res/drawable-xhdpi/ic_boost.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_boost_border.png b/app/src/main/res/drawable-xhdpi/ic_boost_border.png index 46e82b57d..40d602432 100644 Binary files a/app/src/main/res/drawable-xhdpi/ic_boost_border.png and b/app/src/main/res/drawable-xhdpi/ic_boost_border.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_boost_header.png b/app/src/main/res/drawable-xhdpi/ic_boost_header.png index 46e82b57d..40d602432 100644 Binary files a/app/src/main/res/drawable-xhdpi/ic_boost_header.png and b/app/src/main/res/drawable-xhdpi/ic_boost_header.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_boost_header_notif.png b/app/src/main/res/drawable-xhdpi/ic_boost_header_notif.png index 46e82b57d..40d602432 100644 Binary files a/app/src/main/res/drawable-xhdpi/ic_boost_header_notif.png and b/app/src/main/res/drawable-xhdpi/ic_boost_header_notif.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_clear_all.png b/app/src/main/res/drawable-xhdpi/ic_clear_all.png deleted file mode 100644 index 7f671c475..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_clear_all.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_message.png b/app/src/main/res/drawable-xhdpi/ic_message.png deleted file mode 100644 index f48f7c909..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_message.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_mute_white.png b/app/src/main/res/drawable-xhdpi/ic_mute_white.png index 533955c73..af5f8c0a2 100644 Binary files a/app/src/main/res/drawable-xhdpi/ic_mute_white.png and b/app/src/main/res/drawable-xhdpi/ic_mute_white.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_unlock_alt.png b/app/src/main/res/drawable-xhdpi/ic_unlock_alt.png index c730ebe04..b3dfeaec0 100644 Binary files a/app/src/main/res/drawable-xhdpi/ic_unlock_alt.png and b/app/src/main/res/drawable-xhdpi/ic_unlock_alt.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_decrease_menu.png b/app/src/main/res/drawable-xxhdpi/ic_action_decrease_menu.png deleted file mode 100644 index b515e06e3..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_action_decrease_menu.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_volume_mute.png b/app/src/main/res/drawable-xxhdpi/ic_action_volume_mute.png index afbeedd34..4bf644f6a 100644 Binary files a/app/src/main/res/drawable-xxhdpi/ic_action_volume_mute.png and b/app/src/main/res/drawable-xxhdpi/ic_action_volume_mute.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_boost.png b/app/src/main/res/drawable-xxhdpi/ic_boost.png index ddc33a371..e13c41b88 100644 Binary files a/app/src/main/res/drawable-xxhdpi/ic_boost.png and b/app/src/main/res/drawable-xxhdpi/ic_boost.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_boost_border.png b/app/src/main/res/drawable-xxhdpi/ic_boost_border.png index ddc33a371..e13c41b88 100644 Binary files a/app/src/main/res/drawable-xxhdpi/ic_boost_border.png and b/app/src/main/res/drawable-xxhdpi/ic_boost_border.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_boost_header.png b/app/src/main/res/drawable-xxhdpi/ic_boost_header.png index ddc33a371..e13c41b88 100644 Binary files a/app/src/main/res/drawable-xxhdpi/ic_boost_header.png and b/app/src/main/res/drawable-xxhdpi/ic_boost_header.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_boost_header_notif.png b/app/src/main/res/drawable-xxhdpi/ic_boost_header_notif.png index ddc33a371..e13c41b88 100644 Binary files a/app/src/main/res/drawable-xxhdpi/ic_boost_header_notif.png and b/app/src/main/res/drawable-xxhdpi/ic_boost_header_notif.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_clear_all.png b/app/src/main/res/drawable-xxhdpi/ic_clear_all.png deleted file mode 100644 index 46e51bcba..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_clear_all.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_message.png b/app/src/main/res/drawable-xxhdpi/ic_message.png deleted file mode 100644 index 19fab4736..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_message.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_mute_white.png b/app/src/main/res/drawable-xxhdpi/ic_mute_white.png index fb221f4c5..41e78ed77 100644 Binary files a/app/src/main/res/drawable-xxhdpi/ic_mute_white.png and b/app/src/main/res/drawable-xxhdpi/ic_mute_white.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_unlock_alt.png b/app/src/main/res/drawable-xxhdpi/ic_unlock_alt.png index 4f3616892..f6da58dfd 100644 Binary files a/app/src/main/res/drawable-xxhdpi/ic_unlock_alt.png and b/app/src/main/res/drawable-xxhdpi/ic_unlock_alt.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_action_decrease_menu.png b/app/src/main/res/drawable-xxxhdpi/ic_action_decrease_menu.png deleted file mode 100644 index 4a0b46bc0..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_action_decrease_menu.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_action_volume_mute.png b/app/src/main/res/drawable-xxxhdpi/ic_action_volume_mute.png index cedee0719..e920eb89f 100644 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_action_volume_mute.png and b/app/src/main/res/drawable-xxxhdpi/ic_action_volume_mute.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_boost.png b/app/src/main/res/drawable-xxxhdpi/ic_boost.png index ac6ed38a8..63ab26f7b 100644 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_boost.png and b/app/src/main/res/drawable-xxxhdpi/ic_boost.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_boost_border.png b/app/src/main/res/drawable-xxxhdpi/ic_boost_border.png index ac6ed38a8..63ab26f7b 100644 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_boost_border.png and b/app/src/main/res/drawable-xxxhdpi/ic_boost_border.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_boost_header.png b/app/src/main/res/drawable-xxxhdpi/ic_boost_header.png index ac6ed38a8..63ab26f7b 100644 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_boost_header.png and b/app/src/main/res/drawable-xxxhdpi/ic_boost_header.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_boost_header_notif.png b/app/src/main/res/drawable-xxxhdpi/ic_boost_header_notif.png index ac6ed38a8..63ab26f7b 100644 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_boost_header_notif.png and b/app/src/main/res/drawable-xxxhdpi/ic_boost_header_notif.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_clear_all.png b/app/src/main/res/drawable-xxxhdpi/ic_clear_all.png deleted file mode 100644 index 7104f04e4..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_clear_all.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_message.png b/app/src/main/res/drawable-xxxhdpi/ic_message.png deleted file mode 100644 index 672e3e753..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_message.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_mute_white.png b/app/src/main/res/drawable-xxxhdpi/ic_mute_white.png index 41fd6b67b..f027da915 100644 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_mute_white.png and b/app/src/main/res/drawable-xxxhdpi/ic_mute_white.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_repeat.png b/app/src/main/res/drawable-xxxhdpi/ic_repeat.png deleted file mode 100644 index 63ab26f7b..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_repeat.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_unlock_alt.png b/app/src/main/res/drawable-xxxhdpi/ic_unlock_alt.png index 98052c59e..50d79b4d7 100644 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_unlock_alt.png and b/app/src/main/res/drawable-xxxhdpi/ic_unlock_alt.png differ 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..35be2a6b3 100644 --- a/app/src/main/res/layout-sw600dp/activity_show_account.xml +++ b/app/src/main/res/layout-sw600dp/activity_show_account.xml @@ -33,170 +33,197 @@ android:layout_width="500dp" android:layout_gravity="center_horizontal" android:id="@+id/collapsingToolbarLayout" - android:layout_height="@dimen/layout_height_header" + android:layout_height="wrap_content" android:fitsSystemWindows="true" app:expandedTitleMarginStart="48dp" app:expandedTitleMarginEnd="64dp" app:layout_scrollFlags="scroll|snap"> - - + android:layout_height="wrap_content"> + + + + + + + + + + + + + + + + + + + + + + + + + + - + > - - - - - - - - - - - - - + android:orientation="horizontal"> + + - - - - - - + + \ No newline at end of file diff --git a/app/src/main/res/layout-sw600dp/fragment_settings.xml b/app/src/main/res/layout-sw600dp/fragment_settings.xml index eccb06557..89ec78d3e 100644 --- a/app/src/main/res/layout-sw600dp/fragment_settings.xml +++ b/app/src/main/res/layout-sw600dp/fragment_settings.xml @@ -267,6 +267,7 @@ android:padding="5dp" android:layout_width="40dp" android:layout_height="40dp" + style="@style/Base.Widget.AppCompat.Button.Colored" android:src="@drawable/ic_action_globe" tools:ignore="ContentDescription" /> diff --git a/app/src/main/res/layout/activity_show_account.xml b/app/src/main/res/layout/activity_show_account.xml index 38b8ad494..a3dd5b960 100644 --- a/app/src/main/res/layout/activity_show_account.xml +++ b/app/src/main/res/layout/activity_show_account.xml @@ -32,169 +32,197 @@ - - + android:layout_height="wrap_content"> + + + + + + + + + + + + + + + + + + + + + + + + + + - + > - - - - - - - - - - - - - + android:orientation="horizontal"> + + - - - - - - + + \ No newline at end of file diff --git a/app/src/main/res/layout/drawer_account_main_search.xml b/app/src/main/res/layout/drawer_account_main_search.xml index bb81baf1a..dfaa912cf 100644 --- a/app/src/main/res/layout/drawer_account_main_search.xml +++ b/app/src/main/res/layout/drawer_account_main_search.xml @@ -43,7 +43,6 @@ android:layout_gravity="center" android:gravity="center" android:text="@string/accounts" - android:textColor="?attr/colorPrimary" android:layout_width="match_parent" android:layout_height="wrap_content"/> - + + + + + + - - - - + + - + - - + diff --git a/app/src/main/res/layout/drawer_tag.xml b/app/src/main/res/layout/drawer_tag.xml index f47132cb2..22dc730c0 100644 --- a/app/src/main/res/layout/drawer_tag.xml +++ b/app/src/main/res/layout/drawer_tag.xml @@ -31,7 +31,6 @@ android:orientation="vertical"> diff --git a/app/src/main/res/layout/fragment_settings_notifications.xml b/app/src/main/res/layout/fragment_settings_notifications.xml index 2363efabd..ea2cc4ec1 100644 --- a/app/src/main/res/layout/fragment_settings_notifications.xml +++ b/app/src/main/res/layout/fragment_settings_notifications.xml @@ -135,6 +135,7 @@ android:layout_marginLeft="10dp" android:focusableInTouchMode="false" android:id="@+id/settings_time_from" + style="@style/Base.Widget.AppCompat.Button.Borderless.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" /> diff --git a/app/src/main/res/layout/nav_header_main.xml b/app/src/main/res/layout/nav_header_main.xml index 70109902b..9c8fd19ed 100644 --- a/app/src/main/res/layout/nav_header_main.xml +++ b/app/src/main/res/layout/nav_header_main.xml @@ -67,6 +67,7 @@ diff --git a/app/src/main/res/layout/webview_actionbar.xml b/app/src/main/res/layout/webview_actionbar.xml index b649d9196..49bcf9338 100644 --- a/app/src/main/res/layout/webview_actionbar.xml +++ b/app/src/main/res/layout/webview_actionbar.xml @@ -33,6 +33,7 @@ android:layout_gravity="center_vertical" android:id="@+id/webview_title" android:maxLines="1" + android:textColor="?attr/actionBarTextColor" android:layout_width="0dp" android:layout_height="wrap_content" android:textSize="12sp" diff --git a/app/src/main/res/menu/main_showaccount.xml b/app/src/main/res/menu/main_showaccount.xml index 3728b141e..44a94d501 100644 --- a/app/src/main/res/menu/main_showaccount.xml +++ b/app/src/main/res/menu/main_showaccount.xml @@ -5,15 +5,15 @@ android:id="@+id/action_show_pinned" android:title="@string/pinned_toots" android:icon="@drawable/ic_action_pin" - app:showAsAction="always" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> 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 @@ + + + + + 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-sw360dp/dimens.xml b/app/src/main/res/values-sw360dp/dimens.xml index 0361dec29..1a4bcd8cd 100644 --- a/app/src/main/res/values-sw360dp/dimens.xml +++ b/app/src/main/res/values-sw360dp/dimens.xml @@ -1,4 +1,4 @@ - 200dp + 180dp \ No newline at end of file diff --git a/app/src/main/res/values-sw600dp/dimens.xml b/app/src/main/res/values-sw600dp/dimens.xml index 5f66420e5..6c1ad0603 100644 --- a/app/src/main/res/values-sw600dp/dimens.xml +++ b/app/src/main/res/values-sw600dp/dimens.xml @@ -6,5 +6,5 @@ 30dp 16dp true - 250dp + 220dp \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index eb81bf4bf..cad9b437c 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -20,6 +20,8 @@ #607D8B #f3f3f3 + #66708a + #ca8f04 #00000000 @@ -29,8 +31,6 @@ #FFF #C5CAE9 #E0E0E0 - #424242 - #FDD835 #282c37 diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 022544fc1..756bd56f1 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -9,5 +9,5 @@ 2dp 20dp false - 200dp + 180dp 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 diff --git a/app/src/safetynet/java/fr.gouv.etalab.mastodon/activities/MainActivity.java b/app/src/safetynet/java/fr.gouv.etalab.mastodon/activities/MainActivity.java index 5f518cfff..2c09122fa 100644 --- a/app/src/safetynet/java/fr.gouv.etalab.mastodon/activities/MainActivity.java +++ b/app/src/safetynet/java/fr.gouv.etalab.mastodon/activities/MainActivity.java @@ -980,14 +980,14 @@ public class MainActivity extends AppCompatActivity SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE); int theme = sharedpreferences.getInt(Helper.SET_THEME, Helper.THEME_DARK); if( theme == Helper.THEME_DARK){ - changeDrawableColor(getApplicationContext(), R.drawable.ic_reply,R.color.dark_text); - changeDrawableColor(getApplicationContext(), R.drawable.ic_action_more,R.color.dark_text); - changeDrawableColor(getApplicationContext(), R.drawable.ic_action_globe,R.color.dark_text); - changeDrawableColor(getApplicationContext(), R.drawable.ic_action_lock_open,R.color.dark_text); - changeDrawableColor(getApplicationContext(), R.drawable.ic_action_lock_closed,R.color.dark_text); - changeDrawableColor(getApplicationContext(), R.drawable.ic_mail_outline,R.color.dark_text); - changeDrawableColor(getApplicationContext(), R.drawable.ic_retweet,R.color.dark_text); - changeDrawableColor(getApplicationContext(), R.drawable.ic_favorite_border,R.color.dark_text); + changeDrawableColor(getApplicationContext(), R.drawable.ic_reply,R.color.dark_icon); + changeDrawableColor(getApplicationContext(), R.drawable.ic_action_more,R.color.dark_icon); + changeDrawableColor(getApplicationContext(), R.drawable.ic_action_globe,R.color.dark_icon); + changeDrawableColor(getApplicationContext(), R.drawable.ic_action_lock_open,R.color.dark_icon); + changeDrawableColor(getApplicationContext(), R.drawable.ic_action_lock_closed,R.color.dark_icon); + changeDrawableColor(getApplicationContext(), R.drawable.ic_mail_outline,R.color.dark_icon); + changeDrawableColor(getApplicationContext(), R.drawable.ic_retweet,R.color.dark_icon); + changeDrawableColor(getApplicationContext(), R.drawable.ic_favorite_border,R.color.dark_icon); changeDrawableColor(getApplicationContext(), R.drawable.ic_photo,R.color.dark_text); changeDrawableColor(getApplicationContext(), R.drawable.ic_remove_red_eye,R.color.dark_text); changeDrawableColor(getApplicationContext(), R.drawable.ic_translate,R.color.dark_text);