add a menu button for adding included folders
This commit is contained in:
parent
dc98df713d
commit
ff1f29b1f8
|
@ -1,11 +1,34 @@
|
||||||
package com.simplemobiletools.gallery.activities
|
package com.simplemobiletools.gallery.activities
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.view.Menu
|
||||||
|
import android.view.MenuItem
|
||||||
|
import com.simplemobiletools.commons.dialogs.FilePickerDialog
|
||||||
import com.simplemobiletools.gallery.R
|
import com.simplemobiletools.gallery.R
|
||||||
|
import com.simplemobiletools.gallery.extensions.config
|
||||||
|
|
||||||
class IncludedFoldersActivity : SimpleActivity() {
|
class IncludedFoldersActivity : SimpleActivity() {
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
setContentView(R.layout.activity_included_folders)
|
setContentView(R.layout.activity_included_folders)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
|
||||||
|
menuInflater.inflate(R.menu.menu_included_folders, menu)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
||||||
|
when (item.itemId) {
|
||||||
|
R.id.add_folder -> addIncludedFolder()
|
||||||
|
else -> return super.onOptionsItemSelected(item)
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun addIncludedFolder() {
|
||||||
|
FilePickerDialog(this, pickFile = false, showHidden = config.showHiddenFolders) {
|
||||||
|
config.addIncludedFolder(it)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,14 +78,26 @@ class Config(context: Context) : BaseConfig(context) {
|
||||||
excludedFolders = currExcludedFolders
|
excludedFolders = currExcludedFolders
|
||||||
}
|
}
|
||||||
|
|
||||||
fun removeAllExcludedFolders() {
|
|
||||||
prefs.edit().remove(EXCLUDED_FOLDERS).apply()
|
|
||||||
}
|
|
||||||
|
|
||||||
var excludedFolders: MutableSet<String>
|
var excludedFolders: MutableSet<String>
|
||||||
get() = prefs.getStringSet(EXCLUDED_FOLDERS, HashSet<String>())
|
get() = prefs.getStringSet(EXCLUDED_FOLDERS, HashSet<String>())
|
||||||
set(excludedFolders) = prefs.edit().remove(EXCLUDED_FOLDERS).putStringSet(EXCLUDED_FOLDERS, excludedFolders).apply()
|
set(excludedFolders) = prefs.edit().remove(EXCLUDED_FOLDERS).putStringSet(EXCLUDED_FOLDERS, excludedFolders).apply()
|
||||||
|
|
||||||
|
fun addIncludedFolder(path: String) {
|
||||||
|
val currIncludedFolders = HashSet<String>(includedFolders)
|
||||||
|
currIncludedFolders.add(path)
|
||||||
|
includedFolders = currIncludedFolders
|
||||||
|
}
|
||||||
|
|
||||||
|
fun removeIncludedFolder(path: String) {
|
||||||
|
val currIncludedFolders = HashSet<String>(includedFolders)
|
||||||
|
currIncludedFolders.remove(path)
|
||||||
|
includedFolders = currIncludedFolders
|
||||||
|
}
|
||||||
|
|
||||||
|
var includedFolders: MutableSet<String>
|
||||||
|
get() = prefs.getStringSet(INCLUDED_FOLDERS, HashSet<String>())
|
||||||
|
set(includedFolders) = prefs.edit().remove(INCLUDED_FOLDERS).putStringSet(INCLUDED_FOLDERS, includedFolders).apply()
|
||||||
|
|
||||||
fun saveFolderMedia(path: String, json: String) {
|
fun saveFolderMedia(path: String, json: String) {
|
||||||
prefs.edit().putString(SAVE_FOLDER_PREFIX + path, json).apply()
|
prefs.edit().putString(SAVE_FOLDER_PREFIX + path, json).apply()
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,6 +18,7 @@ val SHOW_MEDIA = "show_media"
|
||||||
val SAVE_FOLDER_PREFIX = "folder_"
|
val SAVE_FOLDER_PREFIX = "folder_"
|
||||||
val HIDE_FOLDER_TOOLTIP_SHOWN = "hide_folder_tooltip_shown"
|
val HIDE_FOLDER_TOOLTIP_SHOWN = "hide_folder_tooltip_shown"
|
||||||
val EXCLUDED_FOLDERS = "excluded_folders"
|
val EXCLUDED_FOLDERS = "excluded_folders"
|
||||||
|
val INCLUDED_FOLDERS = "included_folders"
|
||||||
|
|
||||||
val NOMEDIA = ".nomedia"
|
val NOMEDIA = ".nomedia"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
|
<item
|
||||||
|
android:id="@+id/add_folder"
|
||||||
|
android:icon="@drawable/ic_plus"
|
||||||
|
android:title="@string/add_folder"
|
||||||
|
app:showAsAction="ifRoom"/>
|
||||||
|
</menu>
|
Loading…
Reference in New Issue