Work fork of an Android Jabber client for bridge users git.sr.ht/~singpolyma/cheogram-android
sopranica sgx xmpp jabber
0

Configure Feed

Select the types of activity you want to include in your feed.

Disable MUC PM by default

Stephen Paul Weber (Jan 20, 2025, 11:08 AM EST) 71ef999d 1cac97b2

+12 -3
+5 -3
src/main/java/eu/siacs/conversations/ui/util/MucDetailsContextMenuHelper.java
··· 111 111 public static void configureMucDetailsContextMenu(XmppActivity activity, Menu menu, Conversation conversation, User user) { 112 112 final MucOptions mucOptions = conversation.getMucOptions(); 113 113 final boolean advancedMode = PreferenceManager.getDefaultSharedPreferences(activity).getBoolean("advanced_muc_mode", false); 114 + final boolean showMucPm = PreferenceManager.getDefaultSharedPreferences(activity).getBoolean("show_muc_pm", false); 114 115 final boolean isGroupChat = mucOptions.isPrivateAndNonAnonymous(); 115 116 MenuItem sendPrivateMessage = menu.findItem(R.id.send_private_message); 116 117 MenuItem shareContactDetails = menu.findItem(R.id.share_contact_details); ··· 170 171 } 171 172 } 172 173 managePermissions.setVisible(managePermissionsVisible); 173 - sendPrivateMessage.setVisible(user.isOnline() && !isGroupChat && mucOptions.allowPm() && user.getRole().ranks(MucOptions.Role.VISITOR)); 174 + sendPrivateMessage.setVisible(showMucPm && user.isOnline() && !isGroupChat && mucOptions.allowPm() && user.getRole().ranks(MucOptions.Role.VISITOR)); 174 175 shareContactDetails.setVisible(user.isOnline() && !isGroupChat && mucOptions.allowPm() && user.getRole().ranks(MucOptions.Role.VISITOR)); 175 176 } else { 176 - sendPrivateMessage.setVisible(user != null && user.isOnline()); 177 + sendPrivateMessage.setVisible(showMucPm && user != null && user.isOnline()); 177 178 sendPrivateMessage.setEnabled(user != null && mucOptions.allowPm() && user.getRole().ranks(MucOptions.Role.VISITOR)); 178 - shareContactDetails.setVisible(user != null && user.isOnline() && mucOptions.allowPm() && user.getRole().ranks(MucOptions.Role.VISITOR)); 179 + shareContactDetails.setVisible(user != null && user.isOnline()); 180 + shareContactDetails.setEnabled(user != null && mucOptions.allowPm() && user.getRole().ranks(MucOptions.Role.VISITOR)); 179 181 } 180 182 } 181 183
+1
src/main/res/values/defaults.xml
··· 58 58 <string name="default_chat_requests">spam</string> 59 59 <bool name="default_custom_tab">true</bool> 60 60 <bool name="default_nomedia">true</bool> 61 + <bool name="show_muc_pm">false</bool> 61 62 </resources>
+6
src/main/res/xml/preferences_interface.xml
··· 160 160 android:key="compose_rich_text" 161 161 android:summary="The message editor will show formatting as you type" 162 162 android:title="Compose using rich text" /> 163 + <SwitchPreferenceCompat 164 + android:icon="@drawable/ic_announcement_24dp" 165 + android:defaultValue="@bool/show_muc_pm" 166 + android:key="show_muc_pm" 167 + android:summary="Allow starting semi-private chats inside a channel" 168 + android:title="Show Channel PM" /> 163 169 </PreferenceCategory> 164 170 <PreferenceCategory android:title="@string/pref_keyboard_options"> 165 171 <SwitchPreferenceCompat