commit - a4fe986347f75ccf54bf12f9ba41fbf52e140284
commit + a63eba0e5ddeb66c0cfc1be759fd22423b7a56f6
blob - 3d6e1800c8b38c105c3160e90c2db9bbefc53170
blob + ad93be035808924561c55e39e9dcd69f84987f4c
--- mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java
+++ mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java
case PRIVATE -> R.id.vis_followers;
case DIRECT -> R.id.vis_private;
case LOCAL -> R.id.vis_local;
+ case CONVERSATION -> R.id.vis_conversation;
}).setChecked(true);
visibilityPopup.getMenu().findItem(R.id.local_only).setChecked(localOnly);
case PRIVATE -> R.drawable.ic_fluent_lock_closed_20_filled;
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;
});
ImageView moreBtn = view.findViewById(R.id.more);
moreBtn.setImageDrawable(visibilityIcon);
case PRIVATE -> R.string.visibility_followers_only;
case DIRECT -> R.string.visibility_private;
case LOCAL -> R.string.sk_local_only;
+ case CONVERSATION -> R.string.sk_conversation;
};
replyText.setContentDescription(getString(R.string.in_reply_to, status.account.getDisplayName()) + ", " + getString(visibilityNameRes));
replyText.setOnClickListener(v->{
statusVisibility=StatusPrivacy.DIRECT;
}else if(id==R.id.vis_local){
statusVisibility=StatusPrivacy.LOCAL;
+ }else if(id==R.id.vis_conversation){
+ statusVisibility=StatusPrivacy.CONVERSATION;
}
if(id==R.id.local_only){
localOnly=!item.isChecked();
case PRIVATE -> R.string.visibility_followers_only;
case DIRECT -> R.string.visibility_private;
case LOCAL -> R.string.sk_local_only;
+ case CONVERSATION -> R.string.sk_conversation;
});
Drawable icon=getResources().getDrawable(switch(statusVisibility){
case PUBLIC -> R.drawable.ic_fluent_planet_16_regular;
case PRIVATE -> R.drawable.ic_fluent_lock_closed_16_filled;
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;
}, 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 - fab0e373cece8719fcc58cc94b9188be0d36921c
blob + 5f0abe64da019156712dfe61787d15440a3a48b7
--- mastodon/src/main/java/org/joinmastodon/android/fragments/settings/SettingsPrivacyFragment.java
+++ mastodon/src/main/java/org/joinmastodon/android/fragments/settings/SettingsPrivacyFragment.java
case PRIVATE -> R.string.visibility_followers_only;
case DIRECT -> R.string.visibility_private;
case LOCAL -> R.string.sk_local_only;
+ case CONVERSATION -> R.string.sk_conversation;
};
}
blob - bf8daf4cfcba6817095ba20555d3d5720049d31f
blob + 049ff94b7d51f5b24fa50e1c8f1e4cb542faafd4
--- mastodon/src/main/java/org/joinmastodon/android/model/StatusPrivacy.java
+++ mastodon/src/main/java/org/joinmastodon/android/model/StatusPrivacy.java
@SerializedName("direct")
DIRECT(3),
@SerializedName("local")
- LOCAL(4); // akkoma
+ LOCAL(4), // akkoma
+ @SerializedName("conversation")
+ CONVERSATION(5); // mitra
private final int privacy;
blob - 61b8d1ce2c98d7e126ea175ec468c208387fcc8c
blob + 115a39d5b4c2cb2eee2e61ca8bb24fc0d45d576e
--- mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/ExtendedFooterStatusDisplayItem.java
+++ mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/ExtendedFooterStatusDisplayItem.java
case PRIVATE -> R.drawable.ic_fluent_lock_closed_20_filled;
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;
});
}
blob - 70904bbeb480f84a07752920217fc5c9515c76e1
blob + e86336db1537dd493aab2cd3262c126dd57ef2a5
--- 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 -> R.drawable.ic_boost_disabled_24px;
+ case DIRECT, CONVERSATION -> R.drawable.ic_boost_disabled_24px;
case PUBLIC, UNLISTED, LOCAL -> R.drawable.ic_boost;
case PRIVATE -> R.drawable.ic_boost_private;
}, 0, 0);
blob - e44dab9190bf59869014974c2b4010012187c66d
blob + 4908cb5bc4317d8e032b8c1e968b4b77ec6b62fd
--- mastodon/src/main/res/menu/compose_visibility.xml
+++ mastodon/src/main/res/menu/compose_visibility.xml
<item android:id="@+id/vis_private"
android:icon="@drawable/ic_fluent_mention_24_regular"
android:title="@string/visibility_private"/>
+ <item android:id="@+id/vis_conversation"
+ android:icon="@drawable/ic_fluent_lock_closed_24_regular"
+ android:title="@string/visibility_conversation" />
</group>
</menu>
\ No newline at end of file
blob - e701d86380b4f04e15c923e5b61d1cab16ddd668
blob + 1906e018e79838339ff0e0fc61387c9e486cb8e1
--- mastodon/src/main/res/values/strings.xml
+++ mastodon/src/main/res/values/strings.xml
<string name="visibility_public">Public</string>
<string name="visibility_followers_only">Followers only</string>
<string name="visibility_private">Only people mentioned</string>
+ <string name="visibility_conversation">Conversation</string>
<string name="recent_searches">Recents</string>
<string name="skip">Skip</string>
<string name="notification_type_follow">New followers</string>
blob - 9795f7cc98b15460caf71ffae9b3de925eeda529
blob + 7a258a06b5be8f19ecfdaee3226c1e3ba1f59611
--- mastodon/src/main/res/values/strings_sk.xml
+++ mastodon/src/main/res/values/strings_sk.xml
<string name="sk_inline_direct">mentioned-only</string>
<string name="sk_separator">·</string>
<string name="sk_local_only">Local instance only</string>
+ <string name="sk_conversation">Conversation</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>