diff --git a/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java b/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java index 998693f8521cabfc380eff72c95405fffbee7236..93a0c11fc7f065f14776890532b9b21589be59b4 100644 --- a/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java @@ -1,6 +1,7 @@ package eu.siacs.conversations.ui; import android.app.FragmentManager; +import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; @@ -9,6 +10,7 @@ import android.content.pm.PackageManager; import android.net.Uri; import android.os.Build; import android.os.Bundle; +import android.os.storage.StorageManager; import android.preference.CheckBoxPreference; import android.preference.ListPreference; import android.preference.Preference; @@ -91,6 +93,12 @@ public class SettingsActivity extends XmppActivity implements OnSharedPreference configureActionBar(getSupportActionBar()); } + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + SharedPreferences p = PreferenceManager.getDefaultSharedPreferences(this); + p.edit().putString("sticker_directory", data.getData().toString()).commit(); + } + @Override void onBackendConnected() { boolean diallerIntegrationPossible = false; @@ -363,6 +371,13 @@ public class SettingsActivity extends XmppActivity implements OnSharedPreference privacyCategory.removePreference(omemoPreference); } } + + final Preference stickerDir = mSettingsFragment.findPreference("sticker_directory"); + stickerDir.setOnPreferenceClickListener((p) -> { + Intent intent = ((StorageManager) getSystemService(Context.STORAGE_SERVICE)).getPrimaryStorageVolume().createOpenDocumentTreeIntent(); + startActivityForResult(Intent.createChooser(intent, "Choose sticker location"), 0); + return true; + }); } private void changeOmemoSettingSummary() { diff --git a/src/main/res/xml/preferences.xml b/src/main/res/xml/preferences.xml index d4bddeae0026552c836bd48274b3667e65515dcc..a154cccfbd55ab8e186681ca83203bc0a5706a35 100644 --- a/src/main/res/xml/preferences.xml +++ b/src/main/res/xml/preferences.xml @@ -326,6 +326,11 @@ android:summary="@string/pref_scroll_to_bottom_summary" android:title="@string/pref_scroll_to_bottom" /> + + +