commit - 32785bf97696fee1e43b09d435dbd8a156ae0b62
commit + 8f00c06467fbbe772e1c459438d6283db6b9b4d6
blob - ad93be035808924561c55e39e9dcd69f84987f4c
blob + 7ceb5af66b950d38052b46e32bb4708b2cc252a5
--- mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java
+++ mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java
case DIRECT -> R.id.vis_private;
case LOCAL -> R.id.vis_local;
case CONVERSATION -> R.id.vis_conversation;
+ case SUBSCRIBERS -> R.id.vis_subscribers;
}).setChecked(true);
visibilityPopup.getMenu().findItem(R.id.local_only).setChecked(localOnly);
case DIRECT -> R.drawable.ic_fluent_mention_20_regular;
case LOCAL -> R.drawable.ic_fluent_eye_20_regular;
case CONVERSATION -> R.drawable.ic_fluent_lock_closed_16_filled;
+ case SUBSCRIBERS -> R.drawable.ic_fluent_star_emphasis_24_regular;
});
ImageView moreBtn = view.findViewById(R.id.more);
moreBtn.setImageDrawable(visibilityIcon);
case DIRECT -> R.string.visibility_private;
case LOCAL -> R.string.sk_local_only;
case CONVERSATION -> R.string.sk_conversation;
+ case SUBSCRIBERS -> R.string.sk_subscribers;
};
replyText.setContentDescription(getString(R.string.in_reply_to, status.account.getDisplayName()) + ", " + getString(visibilityNameRes));
replyText.setOnClickListener(v->{
case DIRECT -> R.string.visibility_private;
case LOCAL -> R.string.sk_local_only;
case CONVERSATION -> R.string.sk_conversation;
+ case SUBSCRIBERS -> R.string.sk_subscribers;
});
Drawable icon=getResources().getDrawable(switch(statusVisibility){
case PUBLIC -> R.drawable.ic_fluent_planet_16_regular;
case DIRECT -> R.drawable.ic_fluent_mention_16_regular;
case LOCAL -> R.drawable.ic_fluent_eye_16_regular;
case CONVERSATION -> R.drawable.ic_fluent_lock_closed_16_filled;
+ case SUBSCRIBERS -> R.drawable.ic_fluent_star_emphasis_24_regular;
}, getActivity().getTheme()).mutate();
icon.setBounds(0, 0, V.dp(18), V.dp(18));
visibilityBtn.setCompoundDrawableTintList(getContext().getResources().getColorStateList(R.color.m3_primary_selector, getContext().getTheme()));
blob - 5f0abe64da019156712dfe61787d15440a3a48b7
blob + 9cd6a64da75de1c52e1476ad9759ebf141141ca6
--- mastodon/src/main/java/org/joinmastodon/android/fragments/settings/SettingsPrivacyFragment.java
+++ mastodon/src/main/java/org/joinmastodon/android/fragments/settings/SettingsPrivacyFragment.java
case DIRECT -> R.string.visibility_private;
case LOCAL -> R.string.sk_local_only;
case CONVERSATION -> R.string.sk_conversation;
+ case SUBSCRIBERS -> R.string.sk_subscribers;
};
}
blob - 049ff94b7d51f5b24fa50e1c8f1e4cb542faafd4
blob + 4d45ae672a2a9bedd59cf111309d4cee2d6e0217
--- mastodon/src/main/java/org/joinmastodon/android/model/StatusPrivacy.java
+++ mastodon/src/main/java/org/joinmastodon/android/model/StatusPrivacy.java
@SerializedName("local")
LOCAL(4), // akkoma
@SerializedName("conversation")
- CONVERSATION(5); // mitra
+ CONVERSATION(5), // mitra
+ @SerializedName("subscribers")
+ SUBSCRIBERS(6); // mitra
private final int privacy;
blob - 115a39d5b4c2cb2eee2e61ca8bb24fc0d45d576e
blob + 1ab255f3ac1064a2769cc6029ea5f2c9bae59713
--- mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/ExtendedFooterStatusDisplayItem.java
+++ mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/ExtendedFooterStatusDisplayItem.java
case DIRECT -> R.drawable.ic_fluent_mention_20_regular;
case LOCAL -> R.drawable.ic_fluent_eye_20_regular;
case CONVERSATION -> R.drawable.ic_fluent_lock_closed_20_filled;
+ case SUBSCRIBERS -> R.drawable.ic_fluent_star_emphasis_24_regular;
});
}
blob - e86336db1537dd493aab2cd3262c126dd57ef2a5
blob + 0d8b2d6b021b7f84551037cf77c1c7046a4cfbf4
--- mastodon/src/main/java/org/joinmastodon/android/ui/photoviewer/PhotoViewerInfoSheet.java
+++ mastodon/src/main/java/org/joinmastodon/android/ui/photoviewer/PhotoViewerInfoSheet.java
public void setStatus(Status status){
statusID=status.id;
boostBtn.setCompoundDrawablesWithIntrinsicBounds(0, switch(status.visibility){
- case DIRECT, CONVERSATION -> R.drawable.ic_boost_disabled_24px;
+ case DIRECT, CONVERSATION, SUBSCRIBERS -> R.drawable.ic_boost_disabled_24px;
case PUBLIC, UNLISTED, LOCAL -> R.drawable.ic_boost;
case PRIVATE -> R.drawable.ic_boost_private;
}, 0, 0);
blob - 4908cb5bc4317d8e032b8c1e968b4b77ec6b62fd
blob + f1f8620ff712dc7c9080689f02ed12e45de4ce3a
--- mastodon/src/main/res/menu/compose_visibility.xml
+++ mastodon/src/main/res/menu/compose_visibility.xml
<item android:id="@+id/vis_conversation"
android:icon="@drawable/ic_fluent_lock_closed_24_regular"
android:title="@string/visibility_conversation" />
+ <item android:id="@+id/vis_subscribers"
+ android:icon="@drawable/ic_fluent_star_emphasis_24_regular"
+ android:visible="false"
+ android:title="@string/visibility_subscribers" />
</group>
</menu>
\ No newline at end of file
blob - 1906e018e79838339ff0e0fc61387c9e486cb8e1
blob + d0ba2ad9adeb4d7de9e4bacecbe24e0dfc0190f2
--- mastodon/src/main/res/values/strings.xml
+++ mastodon/src/main/res/values/strings.xml
<string name="visibility_followers_only">Followers only</string>
<string name="visibility_private">Only people mentioned</string>
<string name="visibility_conversation">Conversation</string>
+ <string name="visibility_subscribers">Subscribers</string>
<string name="recent_searches">Recents</string>
<string name="skip">Skip</string>
<string name="notification_type_follow">New followers</string>
blob - 3201e3f94b6f841b1b9f708d6ef08087ea644cd3
blob + 187f16d42a46e52f1f43dd989e30865d33651c58
--- mastodon/src/main/res/values/strings_sk.xml
+++ mastodon/src/main/res/values/strings_sk.xml
<string name="sk_separator">·</string>
<string name="sk_local_only">Local instance only</string>
<string name="sk_conversation">Conversation</string>
+ <string name="sk_subscribers">Subscribers</string>
<string name="sk_instance_features">Instance features</string>
<string name="sk_settings_support_local_only">Server supports local-only posting</string>
<string name="sk_settings_local_only_explanation">Your home instance must support local-only posting for this to work. Most modified versions of Mastodon do, but Mastodon doesn’t.</string>