Some other color improvements

This commit is contained in:
tom79 2017-10-15 11:16:43 +02:00
parent 8397d3fae3
commit dc6fba7214
2 changed files with 29 additions and 9 deletions

View File

@ -38,7 +38,10 @@ import android.support.v7.widget.PopupMenu;
import android.text.Html; import android.text.Html;
import android.text.Spannable; import android.text.Spannable;
import android.text.SpannableString; import android.text.SpannableString;
import android.text.Spanned;
import android.text.TextPaint;
import android.text.method.LinkMovementMethod; import android.text.method.LinkMovementMethod;
import android.text.style.ClickableSpan;
import android.text.style.ForegroundColorSpan; import android.text.style.ForegroundColorSpan;
import android.util.Log; import android.util.Log;
import android.util.Patterns; import android.util.Patterns;
@ -78,7 +81,9 @@ import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.regex.Matcher; 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.MediaActivity;
import fr.gouv.etalab.mastodon.activities.ShowAccountActivity; import fr.gouv.etalab.mastodon.activities.ShowAccountActivity;
import fr.gouv.etalab.mastodon.activities.ShowConversationActivity; import fr.gouv.etalab.mastodon.activities.ShowConversationActivity;
@ -360,8 +365,8 @@ public class StatusListAdapter extends BaseAdapter implements OnPostActionInterf
changeDrawableColor(context, R.drawable.ic_boost_header,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_favorite_border,R.color.dark_icon);
changeDrawableColor(context, R.drawable.ic_action_pin_dark, 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_icon); changeDrawableColor(context, R.drawable.ic_photo,R.color.dark_text);
changeDrawableColor(context, R.drawable.ic_remove_red_eye,R.color.dark_icon); changeDrawableColor(context, R.drawable.ic_remove_red_eye,R.color.dark_text);
changeDrawableColor(context, R.drawable.ic_translate,R.color.dark_text); changeDrawableColor(context, R.drawable.ic_translate,R.color.dark_text);
}else { }else {
changeDrawableColor(context, R.drawable.ic_reply,R.color.black); changeDrawableColor(context, R.drawable.ic_reply,R.color.black);
@ -394,30 +399,45 @@ public class StatusListAdapter extends BaseAdapter implements OnPostActionInterf
holder.status_favorite_count.setTextColor(ContextCompat.getColor(context, R.color.dark_icon)); 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_reblog_count.setTextColor(ContextCompat.getColor(context, R.color.dark_icon));
holder.status_toot_date.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 { }else {
holder.status_favorite_count.setTextColor(ContextCompat.getColor(context, R.color.black)); holder.status_favorite_count.setTextColor(ContextCompat.getColor(context, R.color.black));
holder.status_reblog_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_toot_date.setTextColor(ContextCompat.getColor(context, R.color.black));
holder.status_account_displayname.setTextColor(ContextCompat.getColor(context, R.color.black));
} }
String content; String content;
final String displayName; final String displayName;
final String ppurl; final String ppurl;
String name;
if( status.getReblog() != null){ if( status.getReblog() != null){
content = status.getReblog().getContent(); content = status.getReblog().getContent();
displayName = Helper.shortnameToUnicode(status.getReblog().getAccount().getDisplay_name(), true); displayName = Helper.shortnameToUnicode(status.getReblog().getAccount().getDisplay_name(), true);
ppurl = status.getReblog().getAccount().getAvatar(); ppurl = status.getReblog().getAccount().getAvatar();
holder.status_account_displayname.setText(context.getResources().getString(R.string.reblog_by, status.getAccount().getUsername())); holder.status_account_displayname.setText(context.getResources().getString(R.string.reblog_by, status.getAccount().getUsername()));
name = String.format("%s @%s",displayName,status.getReblog().getAccount().getAcct());
}else { }else {
ppurl = status.getAccount().getAvatar(); ppurl = status.getAccount().getAvatar();
content = status.getContent(); content = status.getContent();
displayName = Helper.shortnameToUnicode(status.getAccount().getDisplay_name(), true); displayName = Helper.shortnameToUnicode(status.getAccount().getDisplay_name(), true);
name = String.format("%s @%s",displayName,status.getAccount().getAcct());
} }
String name = String.format("%s @%s",displayName,status.getAccount().getAcct());
Spannable wordtoSpan = new SpannableString(name); Spannable wordtoSpan = new SpannableString(name);
if( theme == THEME_DARK) { if( theme == THEME_DARK) {
wordtoSpan.setSpan(new ForegroundColorSpan(Color.BLUE), 15, 30, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); Pattern hashAcct;
wordtoSpan.setSpan(new ForegroundColorSpan(Color.RED), 5, 10, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 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); holder.status_account_username.setText(wordtoSpan);

View File

@ -101,8 +101,6 @@
<TextView <TextView
android:id="@+id/status_account_displayname" android:id="@+id/status_account_displayname"
android:visibility="gone" android:visibility="gone"
android:textSize="14sp"
android:textStyle="bold"
android:maxLines="1" android:maxLines="1"
android:drawablePadding="2dp" android:drawablePadding="2dp"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -118,13 +116,13 @@
android:maxLines="1" android:maxLines="1"
android:ellipsize="end" android:ellipsize="end"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_weight="2" android:layout_weight="3"
android:id="@+id/status_account_username" android:id="@+id/status_account_username"
android:layout_height="wrap_content" /> android:layout_height="wrap_content" />
<TextView <TextView
android:id="@+id/status_toot_date" android:id="@+id/status_toot_date"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_weight="1" android:layout_weight="2"
android:layout_marginLeft="5dp" android:layout_marginLeft="5dp"
android:layout_marginStart="5dp" android:layout_marginStart="5dp"
android:maxLines="1" android:maxLines="1"
@ -162,6 +160,7 @@
android:maxLines="1" android:maxLines="1"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/Base.Widget.AppCompat.Button.Borderless.Colored"
android:text="@string/load_attachment_spoiler" /> android:text="@string/load_attachment_spoiler" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
@ -334,6 +333,7 @@
android:maxLines="1" android:maxLines="1"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/Base.Widget.AppCompat.Button.Borderless.Colored"
android:text="@string/load_attachment" /> android:text="@string/load_attachment" />
</LinearLayout> </LinearLayout>