Option to clear blocked media

Stephen Paul Weber created

Change summary

src/main/java/eu/siacs/conversations/persistance/DatabaseBackend.java    | 5 
src/main/java/eu/siacs/conversations/services/XmppConnectionService.java | 4 
src/main/java/eu/siacs/conversations/ui/SettingsActivity.java            | 9 
src/main/res/xml/preferences.xml                                         | 3 
4 files changed, 21 insertions(+)

Detailed changes

src/main/java/eu/siacs/conversations/persistance/DatabaseBackend.java 🔗

@@ -801,6 +801,11 @@ public class DatabaseBackend extends SQLiteOpenHelper {
         return is;
     }
 
+    public void clearBlockedMedia() {
+        SQLiteDatabase db = this.getWritableDatabase();
+        db.execSQL("DELETE FROM cheogram.blocked_media");
+    }
+
     public void createConversation(Conversation conversation) {
         SQLiteDatabase db = this.getWritableDatabase();
         db.insert(Conversation.TABLENAME, null, conversation.getContentValues());

src/main/java/eu/siacs/conversations/ui/SettingsActivity.java 🔗

@@ -385,6 +385,15 @@ public class SettingsActivity extends XmppActivity implements OnSharedPreference
             });
         }
 
+        final Preference clearBlockedMedia = mSettingsFragment.findPreference("clear_blocked_media");
+        if (clearBlockedMedia != null) {
+            clearBlockedMedia.setOnPreferenceClickListener((p) -> {
+                xmppConnectionService.clearBlockedMedia();
+                displayToast("Blocked media will be displayed again.");
+                return true;
+            });
+        }
+
         final String theTheme = PreferenceManager.getDefaultSharedPreferences(this).getString(THEME, "");
         if (Build.VERSION.SDK_INT < 30 || !theTheme.equals("custom")) {
             final PreferenceCategory uiCategory = (PreferenceCategory) mSettingsFragment.findPreference("ui");

src/main/res/xml/preferences.xml 🔗

@@ -370,6 +370,9 @@
                 <Preference
                     android:title="Change Stickers Location"
                     android:key="sticker_directory" />
+                <Preference
+                    android:title="Clear Blocked Media"
+                    android:key="clear_blocked_media" />
             </PreferenceCategory>
             <PreferenceCategory android:title="@string/pref_presence_settings">
                 <CheckBoxPreference