From 4409664698b2a5b6b0bfc0ee3cd2bb6b838520a8 Mon Sep 17 00:00:00 2001 From: tom5079 Date: Wed, 2 Sep 2020 13:05:36 +0900 Subject: [PATCH] nomedia --- .../pupil/ui/fragment/SettingsFragment.kt | 28 ++++++++++++++----- app/src/main/res/xml/root_preferences.xml | 8 +++--- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/xyz/quaver/pupil/ui/fragment/SettingsFragment.kt b/app/src/main/java/xyz/quaver/pupil/ui/fragment/SettingsFragment.kt index 276375bf..a0b14f26 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/fragment/SettingsFragment.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/fragment/SettingsFragment.kt @@ -23,15 +23,13 @@ import android.os.Bundle import android.widget.Toast import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AppCompatDelegate -import androidx.preference.EditTextPreference -import androidx.preference.Preference -import androidx.preference.PreferenceCategory -import androidx.preference.PreferenceFragmentCompat +import androidx.preference.* import com.google.android.material.snackbar.Snackbar import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import xyz.quaver.io.FileX +import xyz.quaver.io.util.getChild import xyz.quaver.pupil.R import xyz.quaver.pupil.histories import xyz.quaver.pupil.ui.LockActivity @@ -197,6 +195,18 @@ class SettingsFragment : return false } } + "nomedia" -> { + val create = (newValue as? Boolean) ?: return false + + return kotlin.runCatching { + val nomedia = DownloadManager.getInstance(context).downloadFolder.getChild(".nomedia") + + if (create) + nomedia.createNewFile() + else + nomedia.delete() + }.getOrDefault(false) + } "dark_mode" -> { AppCompatDelegate.setDefaultNightMode(when (newValue as Boolean) { true -> AppCompatDelegate.MODE_NIGHT_YES @@ -301,6 +311,13 @@ class SettingsFragment : onPreferenceClickListener = this@SettingsFragment } + "nomedia" -> { + (this as SwitchPreferenceCompat).isChecked = kotlin.runCatching { + DownloadManager.getInstance(context).downloadFolder.getChild(".nomedia").exists() + }.getOrDefault(false) + + onPreferenceChangeListener = this@SettingsFragment + } "default_query" -> { summary = Preferences.get("default_query") @@ -334,9 +351,6 @@ class SettingsFragment : "dark_mode" -> { onPreferenceChangeListener = this@SettingsFragment } - "nomedia" -> { - onPreferenceClickListener = this@SettingsFragment - } "old_import_galleries" -> { onPreferenceClickListener = this@SettingsFragment } diff --git a/app/src/main/res/xml/root_preferences.xml b/app/src/main/res/xml/root_preferences.xml index 4c54cd23..690b7639 100644 --- a/app/src/main/res/xml/root_preferences.xml +++ b/app/src/main/res/xml/root_preferences.xml @@ -57,6 +57,10 @@ app:key="cache_disable" app:title="@string/settings_cache_disable"/> + + - -