diff --git a/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java index 18d49b507..c0639131c 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java +++ b/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java @@ -44,13 +44,6 @@ public class ContentSettingsFragment extends BasePreferenceFragment { private ContentSettingsManager manager; - private File databasesDir; - private File newpipeDb; - private File newpipeDbJournal; - private File newpipeDbShm; - private File newpipeDbWal; - private File newpipeSettings; - private String thumbnailLoadToggleKey; private String youtubeRestrictedModeEnabledKey; @@ -115,16 +108,8 @@ public class ContentSettingsFragment extends BasePreferenceFragment { @Override public void onCreatePreferences(final Bundle savedInstanceState, final String rootKey) { final File homeDir = ContextCompat.getDataDir(requireContext()); - databasesDir = new File(homeDir, "/databases"); - newpipeDb = new File(homeDir, "/databases/newpipe.db"); - newpipeDbJournal = new File(homeDir, "/databases/newpipe.db-journal"); - newpipeDbShm = new File(homeDir, "/databases/newpipe.db-shm"); - newpipeDbWal = new File(homeDir, "/databases/newpipe.db-wal"); - - newpipeSettings = new File(homeDir, "/databases/newpipe.settings"); - newpipeSettings.delete(); - manager = new ContentSettingsManager(new NewPipeFileLocator(homeDir)); + manager.deleteSettingsFile(); addPreferencesFromResource(R.xml.content_settings); diff --git a/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsManager.kt b/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsManager.kt index bab29a30a..d461ac61b 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsManager.kt +++ b/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsManager.kt @@ -8,7 +8,6 @@ import java.io.FileOutputStream import java.io.IOException import java.io.ObjectInputStream import java.io.ObjectOutputStream -import java.util.zip.ZipFile import java.util.zip.ZipOutputStream class ContentSettingsManager(private val fileLocator: NewPipeFileLocator) { @@ -36,6 +35,10 @@ class ContentSettingsManager(private val fileLocator: NewPipeFileLocator) { } } + fun deleteSettingsFile() { + fileLocator.settings.delete() + } + /** * Tries to create database directory if it does not exist. * diff --git a/app/src/test/java/org/schabi/newpipe/settings/ContentSettingsManagerTest.kt b/app/src/test/java/org/schabi/newpipe/settings/ContentSettingsManagerTest.kt index 875ef758a..088b7e1d1 100644 --- a/app/src/test/java/org/schabi/newpipe/settings/ContentSettingsManagerTest.kt +++ b/app/src/test/java/org/schabi/newpipe/settings/ContentSettingsManagerTest.kt @@ -65,6 +65,26 @@ class ContentSettingsManagerTest { } } + @Test + fun `Settings file must be deleted`() { + val settings = File.createTempFile("newpipe_", "") + `when`(fileLocator.settings).thenReturn(settings) + + ContentSettingsManager(fileLocator).deleteSettingsFile() + + assertFalse(settings.exists()) + } + + @Test + fun `Deleting settings file must do nothing if none exist`() { + val settings = File("non_existent") + `when`(fileLocator.settings).thenReturn(settings) + + ContentSettingsManager(fileLocator).deleteSettingsFile() + + assertFalse(settings.exists()) + } + @Test fun `The database must be extracted from the zip file`() { val db = File.createTempFile("newpipe_", "")