mirror of
https://github.com/mastodon/mastodon-android.git
synced 2025-02-02 03:36:44 +01:00
Replace boost icons
This commit is contained in:
parent
cbe243fc9e
commit
c0d0b45e24
@ -9,7 +9,7 @@ android {
|
|||||||
applicationId "org.joinmastodon.android"
|
applicationId "org.joinmastodon.android"
|
||||||
minSdk 23
|
minSdk 23
|
||||||
targetSdk 33
|
targetSdk 33
|
||||||
versionCode 76
|
versionCode 77
|
||||||
versionName "2.2.1"
|
versionName "2.2.1"
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
resConfigs "ar-rSA", "be-rBY", "bn-rBD", "bs-rBA", "ca-rES", "cs-rCZ", "da-rDK", "de-rDE", "el-rGR", "es-rES", "eu-rES", "fa-rIR", "fi-rFI", "fil-rPH", "fr-rFR", "ga-rIE", "gd-rGB", "gl-rES", "hi-rIN", "hr-rHR", "hu-rHU", "hy-rAM", "ig-rNG", "in-rID", "is-rIS", "it-rIT", "iw-rIL", "ja-rJP", "kab", "ko-rKR", "my-rMM", "nl-rNL", "no-rNO", "oc-rFR", "pl-rPL", "pt-rBR", "pt-rPT", "ro-rRO", "ru-rRU", "si-rLK", "sl-rSI", "sv-rSE", "th-rTH", "tr-rTR", "uk-rUA", "ur-rIN", "vi-rVN", "zh-rCN", "zh-rTW"
|
resConfigs "ar-rSA", "be-rBY", "bn-rBD", "bs-rBA", "ca-rES", "cs-rCZ", "da-rDK", "de-rDE", "el-rGR", "es-rES", "eu-rES", "fa-rIR", "fi-rFI", "fil-rPH", "fr-rFR", "ga-rIE", "gd-rGB", "gl-rES", "hi-rIN", "hr-rHR", "hu-rHU", "hy-rAM", "ig-rNG", "in-rID", "is-rIS", "it-rIT", "iw-rIL", "ja-rJP", "kab", "ko-rKR", "my-rMM", "nl-rNL", "no-rNO", "oc-rFR", "pl-rPL", "pt-rBR", "pt-rPT", "ro-rRO", "ru-rRU", "si-rLK", "sl-rSI", "sv-rSE", "th-rTH", "tr-rTR", "uk-rUA", "ur-rIN", "vi-rVN", "zh-rCN", "zh-rTW"
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
package org.joinmastodon.android.ui.displayitems;
|
package org.joinmastodon.android.ui.displayitems;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Intent;
|
|
||||||
import android.content.res.ColorStateList;
|
import android.content.res.ColorStateList;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
|
import android.graphics.drawable.Drawable;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.MenuItem;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.view.accessibility.AccessibilityNodeInfo;
|
import android.view.accessibility.AccessibilityNodeInfo;
|
||||||
@ -25,10 +24,7 @@ import org.joinmastodon.android.model.StatusPrivacy;
|
|||||||
import org.joinmastodon.android.ui.utils.UiUtils;
|
import org.joinmastodon.android.ui.utils.UiUtils;
|
||||||
import org.parceler.Parcels;
|
import org.parceler.Parcels;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
|
||||||
|
|
||||||
import me.grishka.appkit.Nav;
|
import me.grishka.appkit.Nav;
|
||||||
import me.grishka.appkit.utils.BindableViewHolder;
|
|
||||||
import me.grishka.appkit.utils.V;
|
import me.grishka.appkit.utils.V;
|
||||||
|
|
||||||
public class FooterStatusDisplayItem extends StatusDisplayItem{
|
public class FooterStatusDisplayItem extends StatusDisplayItem{
|
||||||
@ -51,6 +47,7 @@ public class FooterStatusDisplayItem extends StatusDisplayItem{
|
|||||||
private final TextView reply, boost, favorite;
|
private final TextView reply, boost, favorite;
|
||||||
private final ImageView share;
|
private final ImageView share;
|
||||||
private final ColorStateList buttonColors;
|
private final ColorStateList buttonColors;
|
||||||
|
private final View replyBtn, boostBtn, favoriteBtn, shareBtn;
|
||||||
|
|
||||||
private final View.AccessibilityDelegate buttonAccessibilityDelegate=new View.AccessibilityDelegate(){
|
private final View.AccessibilityDelegate buttonAccessibilityDelegate=new View.AccessibilityDelegate(){
|
||||||
@Override
|
@Override
|
||||||
@ -93,18 +90,18 @@ public class FooterStatusDisplayItem extends StatusDisplayItem{
|
|||||||
UiUtils.fixCompoundDrawableTintOnAndroid6(boost);
|
UiUtils.fixCompoundDrawableTintOnAndroid6(boost);
|
||||||
UiUtils.fixCompoundDrawableTintOnAndroid6(favorite);
|
UiUtils.fixCompoundDrawableTintOnAndroid6(favorite);
|
||||||
}
|
}
|
||||||
View reply=findViewById(R.id.reply_btn);
|
replyBtn=findViewById(R.id.reply_btn);
|
||||||
View boost=findViewById(R.id.boost_btn);
|
boostBtn=findViewById(R.id.boost_btn);
|
||||||
View favorite=findViewById(R.id.favorite_btn);
|
favoriteBtn=findViewById(R.id.favorite_btn);
|
||||||
View share=findViewById(R.id.share_btn);
|
shareBtn=findViewById(R.id.share_btn);
|
||||||
reply.setOnClickListener(this::onReplyClick);
|
replyBtn.setOnClickListener(this::onReplyClick);
|
||||||
reply.setAccessibilityDelegate(buttonAccessibilityDelegate);
|
replyBtn.setAccessibilityDelegate(buttonAccessibilityDelegate);
|
||||||
boost.setOnClickListener(this::onBoostClick);
|
boostBtn.setOnClickListener(this::onBoostClick);
|
||||||
boost.setAccessibilityDelegate(buttonAccessibilityDelegate);
|
boostBtn.setAccessibilityDelegate(buttonAccessibilityDelegate);
|
||||||
favorite.setOnClickListener(this::onFavoriteClick);
|
favoriteBtn.setOnClickListener(this::onFavoriteClick);
|
||||||
favorite.setAccessibilityDelegate(buttonAccessibilityDelegate);
|
favoriteBtn.setAccessibilityDelegate(buttonAccessibilityDelegate);
|
||||||
share.setOnClickListener(this::onShareClick);
|
shareBtn.setOnClickListener(this::onShareClick);
|
||||||
share.setAccessibilityDelegate(buttonAccessibilityDelegate);
|
shareBtn.setAccessibilityDelegate(buttonAccessibilityDelegate);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -112,10 +109,18 @@ public class FooterStatusDisplayItem extends StatusDisplayItem{
|
|||||||
bindButton(reply, item.status.repliesCount);
|
bindButton(reply, item.status.repliesCount);
|
||||||
bindButton(boost, item.status.reblogsCount);
|
bindButton(boost, item.status.reblogsCount);
|
||||||
bindButton(favorite, item.status.favouritesCount);
|
bindButton(favorite, item.status.favouritesCount);
|
||||||
boost.setSelected(item.status.reblogged);
|
boostBtn.setSelected(item.status.reblogged);
|
||||||
favorite.setSelected(item.status.favourited);
|
favoriteBtn.setSelected(item.status.favourited);
|
||||||
boost.setEnabled(item.status.visibility==StatusPrivacy.PUBLIC || item.status.visibility==StatusPrivacy.UNLISTED
|
boolean isOwn=item.status.account.id.equals(AccountSessionManager.getInstance().getAccount(item.accountID).self.id);
|
||||||
|| (item.status.visibility==StatusPrivacy.PRIVATE && item.status.account.id.equals(AccountSessionManager.getInstance().getAccount(item.accountID).self.id)));
|
boostBtn.setEnabled(item.status.visibility==StatusPrivacy.PUBLIC || item.status.visibility==StatusPrivacy.UNLISTED
|
||||||
|
|| (item.status.visibility==StatusPrivacy.PRIVATE && isOwn));
|
||||||
|
Drawable d=itemView.getResources().getDrawable(switch(item.status.visibility){
|
||||||
|
case PUBLIC, UNLISTED -> R.drawable.ic_boost;
|
||||||
|
case PRIVATE -> isOwn ? R.drawable.ic_boost_private : R.drawable.ic_boost_disabled_24px;
|
||||||
|
case DIRECT -> R.drawable.ic_boost_disabled_24px;
|
||||||
|
}, itemView.getContext().getTheme());
|
||||||
|
d.setBounds(0, 0, V.dp(20), V.dp(20));
|
||||||
|
boost.setCompoundDrawablesRelative(d, null, null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void bindButton(TextView btn, long count){
|
private void bindButton(TextView btn, long count){
|
||||||
|
5
mastodon/src/main/res/drawable/ic_boost.xml
Normal file
5
mastodon/src/main/res/drawable/ic_boost.xml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item android:state_selected="true" android:drawable="@drawable/ic_boost_fill_alt_24px"/>
|
||||||
|
<item android:drawable="@drawable/ic_boost_24px"/>
|
||||||
|
</selector>
|
9
mastodon/src/main/res/drawable/ic_boost_24px.xml
Normal file
9
mastodon/src/main/res/drawable/ic_boost_24px.xml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24">
|
||||||
|
<path
|
||||||
|
android:pathData="M7,22L3,18L7,14L8.4,15.45L6.85,17H17V13H19V19H6.85L8.4,20.55L7,22ZM5,11V5H17.15L15.6,3.45L17,2L21,6L17,10L15.6,8.55L17.15,7H7V11H5Z"
|
||||||
|
android:fillColor="#000000"/>
|
||||||
|
</vector>
|
15
mastodon/src/main/res/drawable/ic_boost_disabled_24px.xml
Normal file
15
mastodon/src/main/res/drawable/ic_boost_disabled_24px.xml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24">
|
||||||
|
<path
|
||||||
|
android:pathData="M19,13V17.879L17,15.879V13H19Z"
|
||||||
|
android:fillColor="#000000"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M2.414,2.707L1,4.121L5,8.121V11H7V10.121L13.879,17H6.85L8.4,15.45L7,14L3,18L7,22L8.4,20.55L6.85,19H15.879L19.385,22.506L20.799,21.092L2.414,2.707Z"
|
||||||
|
android:fillColor="#000000"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M17.15,7H8.121L6.121,5H17.15L15.6,3.45L17,2L21,6L17,10L15.6,8.55L17.15,7Z"
|
||||||
|
android:fillColor="#000000"/>
|
||||||
|
</vector>
|
@ -0,0 +1,9 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24">
|
||||||
|
<path
|
||||||
|
android:pathData="M6.775,22.875L2.15,18.25L6.775,13.625L8.8,15.7L7.675,16.8H16.95V12.8H19.85V19.7H7.675L8.8,20.8L6.775,22.875ZM4.15,11.45V4.55H16.35L15.225,3.45L17.25,1.375L21.875,6L17.25,10.625L15.225,8.55L16.35,7.45H7.05V11.45H4.15Z"
|
||||||
|
android:fillColor="#000000"/>
|
||||||
|
</vector>
|
5
mastodon/src/main/res/drawable/ic_boost_private.xml
Normal file
5
mastodon/src/main/res/drawable/ic_boost_private.xml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item android:state_selected="true" android:drawable="@drawable/ic_private_boost_fill_alt_24px"/>
|
||||||
|
<item android:drawable="@drawable/ic_private_boost_24px"/>
|
||||||
|
</selector>
|
15
mastodon/src/main/res/drawable/ic_private_boost_24px.xml
Normal file
15
mastodon/src/main/res/drawable/ic_private_boost_24px.xml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24">
|
||||||
|
<path
|
||||||
|
android:pathData="M8.4,15.45L7,14L3,18L7,22L8.4,20.55L6.85,19H13.5V18C13.5,17.657 13.564,17.317 13.699,17H6.85L8.4,15.45Z"
|
||||||
|
android:fillColor="#000000"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M5,5V11H7V7H17.15L15.6,8.55L17,10L21,6L17,2L15.6,3.45L17.15,5H5Z"
|
||||||
|
android:fillColor="#000000"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M16,22C15.717,22 15.475,21.908 15.275,21.725C15.092,21.525 15,21.283 15,21V18C15,17.717 15.092,17.483 15.275,17.3C15.475,17.1 15.717,17 16,17V16C16,15.45 16.192,14.983 16.575,14.6C16.975,14.2 17.45,14 18,14C18.55,14 19.017,14.2 19.4,14.6C19.8,14.983 20,15.45 20,16V17C20.283,17 20.517,17.1 20.7,17.3C20.9,17.483 21,17.717 21,18V21C21,21.283 20.9,21.525 20.7,21.725C20.517,21.908 20.283,22 20,22H16ZM17,17H19V16C19,15.717 18.9,15.483 18.7,15.3C18.517,15.1 18.283,15 18,15C17.717,15 17.475,15.1 17.275,15.3C17.092,15.483 17,15.717 17,16V17Z"
|
||||||
|
android:fillColor="#000000"/>
|
||||||
|
</vector>
|
@ -0,0 +1,15 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24">
|
||||||
|
<path
|
||||||
|
android:pathData="M2.15,18.25L6.775,22.875L8.8,20.8L7.675,19.7H13.5V18C13.5,17.583 13.594,17.172 13.795,16.8H7.675L8.8,15.7L6.775,13.625L2.15,18.25Z"
|
||||||
|
android:fillColor="#000000"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M4.15,4.55V11.45H7.05V7.45H16.35L15.225,8.55L17.25,10.625L21.875,6L17.25,1.375L15.225,3.45L16.35,4.55H4.15Z"
|
||||||
|
android:fillColor="#000000"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M16,22C15.717,22 15.475,21.908 15.275,21.725C15.092,21.525 15,21.283 15,21V18C15,17.717 15.092,17.483 15.275,17.3C15.475,17.1 15.717,17 16,17V16C16,15.45 16.192,14.983 16.575,14.6C16.975,14.2 17.45,14 18,14C18.55,14 19.017,14.2 19.4,14.6C19.8,14.983 20,15.45 20,16V17C20.283,17 20.517,17.1 20.7,17.3C20.9,17.483 21,17.717 21,18V21C21,21.283 20.9,21.525 20.7,21.725C20.517,21.908 20.283,22 20,22H16ZM17,17H19V16C19,15.717 18.9,15.483 18.7,15.3C18.517,15.1 18.283,15 18,15C17.717,15 17.475,15.1 17.275,15.3C17.092,15.483 17,15.717 17,16V17Z"
|
||||||
|
android:fillColor="#000000"/>
|
||||||
|
</vector>
|
@ -27,6 +27,7 @@
|
|||||||
android:textColor="?colorM3OnSurfaceVariant"
|
android:textColor="?colorM3OnSurfaceVariant"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:textAppearance="@style/m3_label_medium"
|
android:textAppearance="@style/m3_label_medium"
|
||||||
|
android:duplicateParentState="true"
|
||||||
tools:text="123"/>
|
tools:text="123"/>
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
||||||
@ -54,6 +55,7 @@
|
|||||||
android:textColor="?colorM3OnSurfaceVariant"
|
android:textColor="?colorM3OnSurfaceVariant"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:textAppearance="@style/m3_label_medium"
|
android:textAppearance="@style/m3_label_medium"
|
||||||
|
android:duplicateParentState="true"
|
||||||
tools:text="123"/>
|
tools:text="123"/>
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
||||||
@ -81,6 +83,7 @@
|
|||||||
android:textColor="?colorM3OnSurfaceVariant"
|
android:textColor="?colorM3OnSurfaceVariant"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:textAppearance="@style/m3_label_medium"
|
android:textAppearance="@style/m3_label_medium"
|
||||||
|
android:duplicateParentState="true"
|
||||||
tools:text="123"/>
|
tools:text="123"/>
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user