create a config context extension
This commit is contained in:
parent
59096651d6
commit
ef28b40186
|
@ -15,6 +15,7 @@ import com.simplemobiletools.commons.extensions.toast
|
||||||
import com.simplemobiletools.gallery.R
|
import com.simplemobiletools.gallery.R
|
||||||
import com.simplemobiletools.gallery.dialogs.ResizeDialog
|
import com.simplemobiletools.gallery.dialogs.ResizeDialog
|
||||||
import com.simplemobiletools.gallery.dialogs.SaveAsDialog
|
import com.simplemobiletools.gallery.dialogs.SaveAsDialog
|
||||||
|
import com.simplemobiletools.gallery.extensions.config
|
||||||
import com.simplemobiletools.gallery.extensions.getRealPathFromURI
|
import com.simplemobiletools.gallery.extensions.getRealPathFromURI
|
||||||
import com.theartofdev.edmodo.cropper.CropImageView
|
import com.theartofdev.edmodo.cropper.CropImageView
|
||||||
import kotlinx.android.synthetic.main.activity_edit.*
|
import kotlinx.android.synthetic.main.activity_edit.*
|
||||||
|
|
|
@ -20,6 +20,7 @@ import com.simplemobiletools.gallery.R
|
||||||
import com.simplemobiletools.gallery.adapters.DirectoryAdapter
|
import com.simplemobiletools.gallery.adapters.DirectoryAdapter
|
||||||
import com.simplemobiletools.gallery.asynctasks.GetDirectoriesAsynctask
|
import com.simplemobiletools.gallery.asynctasks.GetDirectoriesAsynctask
|
||||||
import com.simplemobiletools.gallery.dialogs.ChangeSortingDialog
|
import com.simplemobiletools.gallery.dialogs.ChangeSortingDialog
|
||||||
|
import com.simplemobiletools.gallery.extensions.config
|
||||||
import com.simplemobiletools.gallery.extensions.launchAbout
|
import com.simplemobiletools.gallery.extensions.launchAbout
|
||||||
import com.simplemobiletools.gallery.extensions.launchCamera
|
import com.simplemobiletools.gallery.extensions.launchCamera
|
||||||
import com.simplemobiletools.gallery.extensions.launchSettings
|
import com.simplemobiletools.gallery.extensions.launchSettings
|
||||||
|
|
|
@ -18,10 +18,7 @@ import com.simplemobiletools.gallery.R
|
||||||
import com.simplemobiletools.gallery.adapters.MediaAdapter
|
import com.simplemobiletools.gallery.adapters.MediaAdapter
|
||||||
import com.simplemobiletools.gallery.asynctasks.GetMediaAsynctask
|
import com.simplemobiletools.gallery.asynctasks.GetMediaAsynctask
|
||||||
import com.simplemobiletools.gallery.dialogs.ChangeSortingDialog
|
import com.simplemobiletools.gallery.dialogs.ChangeSortingDialog
|
||||||
import com.simplemobiletools.gallery.extensions.getHumanizedFilename
|
import com.simplemobiletools.gallery.extensions.*
|
||||||
import com.simplemobiletools.gallery.extensions.launchAbout
|
|
||||||
import com.simplemobiletools.gallery.extensions.launchCamera
|
|
||||||
import com.simplemobiletools.gallery.extensions.launchSettings
|
|
||||||
import com.simplemobiletools.gallery.helpers.*
|
import com.simplemobiletools.gallery.helpers.*
|
||||||
import com.simplemobiletools.gallery.models.Medium
|
import com.simplemobiletools.gallery.models.Medium
|
||||||
import com.simplemobiletools.gallery.views.MyScalableRecyclerView
|
import com.simplemobiletools.gallery.views.MyScalableRecyclerView
|
||||||
|
|
|
@ -5,6 +5,7 @@ import android.view.View
|
||||||
import android.widget.AdapterView
|
import android.widget.AdapterView
|
||||||
import com.simplemobiletools.commons.extensions.updateTextColors
|
import com.simplemobiletools.commons.extensions.updateTextColors
|
||||||
import com.simplemobiletools.gallery.R
|
import com.simplemobiletools.gallery.R
|
||||||
|
import com.simplemobiletools.gallery.extensions.config
|
||||||
import kotlinx.android.synthetic.main.activity_settings.*
|
import kotlinx.android.synthetic.main.activity_settings.*
|
||||||
|
|
||||||
class SettingsActivity : SimpleActivity() {
|
class SettingsActivity : SimpleActivity() {
|
||||||
|
|
|
@ -2,13 +2,9 @@ package com.simplemobiletools.gallery.activities
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import com.simplemobiletools.commons.activities.BaseSimpleActivity
|
import com.simplemobiletools.commons.activities.BaseSimpleActivity
|
||||||
import com.simplemobiletools.gallery.helpers.Config
|
|
||||||
|
|
||||||
open class SimpleActivity : BaseSimpleActivity() {
|
open class SimpleActivity : BaseSimpleActivity() {
|
||||||
lateinit var config: Config
|
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
config = Config.newInstance(applicationContext)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,8 +23,8 @@ import com.simplemobiletools.gallery.R
|
||||||
import com.simplemobiletools.gallery.activities.SimpleActivity
|
import com.simplemobiletools.gallery.activities.SimpleActivity
|
||||||
import com.simplemobiletools.gallery.dialogs.CopyDialog
|
import com.simplemobiletools.gallery.dialogs.CopyDialog
|
||||||
import com.simplemobiletools.gallery.dialogs.RenameDirectoryDialog
|
import com.simplemobiletools.gallery.dialogs.RenameDirectoryDialog
|
||||||
|
import com.simplemobiletools.gallery.extensions.config
|
||||||
import com.simplemobiletools.gallery.extensions.createSelector
|
import com.simplemobiletools.gallery.extensions.createSelector
|
||||||
import com.simplemobiletools.gallery.helpers.Config
|
|
||||||
import com.simplemobiletools.gallery.models.Directory
|
import com.simplemobiletools.gallery.models.Directory
|
||||||
import kotlinx.android.synthetic.main.directory_item.view.*
|
import kotlinx.android.synthetic.main.directory_item.view.*
|
||||||
import kotlinx.android.synthetic.main.directory_tmb.view.*
|
import kotlinx.android.synthetic.main.directory_tmb.view.*
|
||||||
|
@ -36,7 +36,7 @@ class DirectoryAdapter(val activity: SimpleActivity, val dirs: MutableList<Direc
|
||||||
|
|
||||||
val multiSelector = MultiSelector()
|
val multiSelector = MultiSelector()
|
||||||
val views = ArrayList<View>()
|
val views = ArrayList<View>()
|
||||||
val config = Config.newInstance(activity)
|
val config = activity.config
|
||||||
var pinnedFolders = config.pinnedFolders
|
var pinnedFolders = config.pinnedFolders
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
@ -66,8 +66,8 @@ class DirectoryAdapter(val activity: SimpleActivity, val dirs: MutableList<Direc
|
||||||
}
|
}
|
||||||
|
|
||||||
init {
|
init {
|
||||||
foregroundColor = Config.newInstance(activity).primaryColor
|
foregroundColor = config.primaryColor
|
||||||
backgroundColor = Config.newInstance(activity).backgroundColor
|
backgroundColor = config.backgroundColor
|
||||||
}
|
}
|
||||||
|
|
||||||
val multiSelectorMode = object : ModalMultiSelectorCallback(multiSelector) {
|
val multiSelectorMode = object : ModalMultiSelectorCallback(multiSelector) {
|
||||||
|
|
|
@ -21,7 +21,6 @@ import com.simplemobiletools.gallery.activities.SimpleActivity
|
||||||
import com.simplemobiletools.gallery.dialogs.CopyDialog
|
import com.simplemobiletools.gallery.dialogs.CopyDialog
|
||||||
import com.simplemobiletools.gallery.dialogs.RenameFileDialog
|
import com.simplemobiletools.gallery.dialogs.RenameFileDialog
|
||||||
import com.simplemobiletools.gallery.extensions.*
|
import com.simplemobiletools.gallery.extensions.*
|
||||||
import com.simplemobiletools.gallery.helpers.Config
|
|
||||||
import com.simplemobiletools.gallery.models.Medium
|
import com.simplemobiletools.gallery.models.Medium
|
||||||
import kotlinx.android.synthetic.main.photo_video_item.view.*
|
import kotlinx.android.synthetic.main.photo_video_item.view.*
|
||||||
import kotlinx.android.synthetic.main.photo_video_tmb.view.*
|
import kotlinx.android.synthetic.main.photo_video_tmb.view.*
|
||||||
|
@ -32,7 +31,7 @@ class MediaAdapter(val activity: SimpleActivity, var media: MutableList<Medium>,
|
||||||
RecyclerView.Adapter<MediaAdapter.ViewHolder>() {
|
RecyclerView.Adapter<MediaAdapter.ViewHolder>() {
|
||||||
val multiSelector = MultiSelector()
|
val multiSelector = MultiSelector()
|
||||||
val views = ArrayList<View>()
|
val views = ArrayList<View>()
|
||||||
val config = Config.newInstance(activity)
|
val config = activity.config
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
var actMode: ActionMode? = null
|
var actMode: ActionMode? = null
|
||||||
|
@ -62,8 +61,8 @@ class MediaAdapter(val activity: SimpleActivity, var media: MutableList<Medium>,
|
||||||
}
|
}
|
||||||
|
|
||||||
init {
|
init {
|
||||||
foregroundColor = Config.newInstance(activity).primaryColor
|
foregroundColor = config.primaryColor
|
||||||
backgroundColor = Config.newInstance(activity).backgroundColor
|
backgroundColor = config.backgroundColor
|
||||||
}
|
}
|
||||||
|
|
||||||
val multiSelectorMode = object : ModalMultiSelectorCallback(multiSelector) {
|
val multiSelectorMode = object : ModalMultiSelectorCallback(multiSelector) {
|
||||||
|
|
|
@ -6,9 +6,9 @@ import com.simplemobiletools.commons.extensions.isGif
|
||||||
import com.simplemobiletools.commons.extensions.isImageFast
|
import com.simplemobiletools.commons.extensions.isImageFast
|
||||||
import com.simplemobiletools.commons.extensions.isVideoFast
|
import com.simplemobiletools.commons.extensions.isVideoFast
|
||||||
import com.simplemobiletools.gallery.R
|
import com.simplemobiletools.gallery.R
|
||||||
|
import com.simplemobiletools.gallery.extensions.config
|
||||||
import com.simplemobiletools.gallery.extensions.getHumanizedFilename
|
import com.simplemobiletools.gallery.extensions.getHumanizedFilename
|
||||||
import com.simplemobiletools.gallery.extensions.getParents
|
import com.simplemobiletools.gallery.extensions.getParents
|
||||||
import com.simplemobiletools.gallery.helpers.Config
|
|
||||||
import com.simplemobiletools.gallery.helpers.IMAGES
|
import com.simplemobiletools.gallery.helpers.IMAGES
|
||||||
import com.simplemobiletools.gallery.helpers.SORT_BY_DATE_MODIFIED
|
import com.simplemobiletools.gallery.helpers.SORT_BY_DATE_MODIFIED
|
||||||
import com.simplemobiletools.gallery.helpers.VIDEOS
|
import com.simplemobiletools.gallery.helpers.VIDEOS
|
||||||
|
@ -19,18 +19,13 @@ import java.util.*
|
||||||
|
|
||||||
class GetDirectoriesAsynctask(val context: Context, val isPickVideo: Boolean, val isPickImage: Boolean,
|
class GetDirectoriesAsynctask(val context: Context, val isPickVideo: Boolean, val isPickImage: Boolean,
|
||||||
val callback: (dirs: ArrayList<Directory>) -> Unit) : AsyncTask<Void, Void, ArrayList<Directory>>() {
|
val callback: (dirs: ArrayList<Directory>) -> Unit) : AsyncTask<Void, Void, ArrayList<Directory>>() {
|
||||||
lateinit var mConfig: Config
|
var config = context.config
|
||||||
|
|
||||||
override fun onPreExecute() {
|
|
||||||
super.onPreExecute()
|
|
||||||
mConfig = Config.newInstance(context)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun doInBackground(vararg params: Void): ArrayList<Directory> {
|
override fun doInBackground(vararg params: Void): ArrayList<Directory> {
|
||||||
val directories = LinkedHashMap<String, Directory>()
|
val directories = LinkedHashMap<String, Directory>()
|
||||||
val media = ArrayList<Medium>()
|
val media = ArrayList<Medium>()
|
||||||
val showMedia = mConfig.showMedia
|
val showMedia = config.showMedia
|
||||||
val fileSorting = mConfig.fileSorting
|
val fileSorting = config.fileSorting
|
||||||
val parents = context.getParents(isPickImage, isPickVideo)
|
val parents = context.getParents(isPickImage, isPickVideo)
|
||||||
|
|
||||||
parents.mapNotNull { File(it).listFiles() }
|
parents.mapNotNull { File(it).listFiles() }
|
||||||
|
@ -71,7 +66,7 @@ class GetDirectoriesAsynctask(val context: Context, val isPickVideo: Boolean, va
|
||||||
directory.addSize(size)
|
directory.addSize(size)
|
||||||
} else {
|
} else {
|
||||||
var dirName = context.getHumanizedFilename(parentDir)
|
var dirName = context.getHumanizedFilename(parentDir)
|
||||||
if (mConfig.getIsFolderHidden(parentDir)) {
|
if (config.getIsFolderHidden(parentDir)) {
|
||||||
dirName += " ${context.resources.getString(R.string.hidden)}"
|
dirName += " ${context.resources.getString(R.string.hidden)}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -82,7 +77,7 @@ class GetDirectoriesAsynctask(val context: Context, val isPickVideo: Boolean, va
|
||||||
val dirs = ArrayList(directories.values.filter { File(it.path).exists() })
|
val dirs = ArrayList(directories.values.filter { File(it.path).exists() })
|
||||||
|
|
||||||
filterDirectories(dirs)
|
filterDirectories(dirs)
|
||||||
Directory.sorting = mConfig.directorySorting
|
Directory.sorting = config.directorySorting
|
||||||
dirs.sort()
|
dirs.sort()
|
||||||
|
|
||||||
return movePinnedToFront(dirs)
|
return movePinnedToFront(dirs)
|
||||||
|
@ -90,7 +85,7 @@ class GetDirectoriesAsynctask(val context: Context, val isPickVideo: Boolean, va
|
||||||
|
|
||||||
private fun movePinnedToFront(dirs: ArrayList<Directory>): ArrayList<Directory> {
|
private fun movePinnedToFront(dirs: ArrayList<Directory>): ArrayList<Directory> {
|
||||||
val foundFolders = ArrayList<Directory>()
|
val foundFolders = ArrayList<Directory>()
|
||||||
val pinnedFolders = mConfig.pinnedFolders
|
val pinnedFolders = config.pinnedFolders
|
||||||
|
|
||||||
dirs.forEach { if (pinnedFolders.contains(it.path)) foundFolders.add(it) }
|
dirs.forEach { if (pinnedFolders.contains(it.path)) foundFolders.add(it) }
|
||||||
dirs.removeAll(foundFolders)
|
dirs.removeAll(foundFolders)
|
||||||
|
@ -104,14 +99,14 @@ class GetDirectoriesAsynctask(val context: Context, val isPickVideo: Boolean, va
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun filterDirectories(dirs: MutableList<Directory>) {
|
private fun filterDirectories(dirs: MutableList<Directory>) {
|
||||||
if (!mConfig.showHiddenFolders) {
|
if (!config.showHiddenFolders) {
|
||||||
removeHiddenFolders(dirs)
|
removeHiddenFolders(dirs)
|
||||||
removeNoMediaFolders(dirs)
|
removeNoMediaFolders(dirs)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun removeHiddenFolders(dirs: MutableList<Directory>) {
|
private fun removeHiddenFolders(dirs: MutableList<Directory>) {
|
||||||
val hiddenDirs = mConfig.hiddenFolders
|
val hiddenDirs = config.hiddenFolders
|
||||||
val ignoreDirs = dirs.filter { hiddenDirs.contains(it.path) }
|
val ignoreDirs = dirs.filter { hiddenDirs.contains(it.path) }
|
||||||
dirs.removeAll(ignoreDirs)
|
dirs.removeAll(ignoreDirs)
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,8 +5,12 @@ import android.os.AsyncTask
|
||||||
import com.simplemobiletools.commons.extensions.isGif
|
import com.simplemobiletools.commons.extensions.isGif
|
||||||
import com.simplemobiletools.commons.extensions.isImageFast
|
import com.simplemobiletools.commons.extensions.isImageFast
|
||||||
import com.simplemobiletools.commons.extensions.isVideoFast
|
import com.simplemobiletools.commons.extensions.isVideoFast
|
||||||
|
import com.simplemobiletools.gallery.extensions.config
|
||||||
import com.simplemobiletools.gallery.extensions.getParents
|
import com.simplemobiletools.gallery.extensions.getParents
|
||||||
import com.simplemobiletools.gallery.helpers.*
|
import com.simplemobiletools.gallery.helpers.IMAGES
|
||||||
|
import com.simplemobiletools.gallery.helpers.IMAGES_AND_VIDEOS
|
||||||
|
import com.simplemobiletools.gallery.helpers.SORT_BY_DATE_MODIFIED
|
||||||
|
import com.simplemobiletools.gallery.helpers.VIDEOS
|
||||||
import com.simplemobiletools.gallery.models.Medium
|
import com.simplemobiletools.gallery.models.Medium
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
@ -14,15 +18,14 @@ import java.util.*
|
||||||
class GetMediaAsynctask(val context: Context, val mPath: String, val isPickVideo: Boolean = false, val isPickImage: Boolean = false,
|
class GetMediaAsynctask(val context: Context, val mPath: String, val isPickVideo: Boolean = false, val isPickImage: Boolean = false,
|
||||||
val showAll: Boolean, val callback: (media: ArrayList<Medium>) -> Unit) :
|
val showAll: Boolean, val callback: (media: ArrayList<Medium>) -> Unit) :
|
||||||
AsyncTask<Void, Void, ArrayList<Medium>>() {
|
AsyncTask<Void, Void, ArrayList<Medium>>() {
|
||||||
lateinit var mConfig: Config
|
var config = context.config
|
||||||
var showMedia = IMAGES_AND_VIDEOS
|
var showMedia = IMAGES_AND_VIDEOS
|
||||||
var fileSorting = 0
|
var fileSorting = 0
|
||||||
|
|
||||||
override fun onPreExecute() {
|
override fun onPreExecute() {
|
||||||
super.onPreExecute()
|
super.onPreExecute()
|
||||||
mConfig = Config.newInstance(context)
|
showMedia = config.showMedia
|
||||||
showMedia = mConfig.showMedia
|
fileSorting = config.fileSorting
|
||||||
fileSorting = mConfig.fileSorting
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun doInBackground(vararg params: Void): ArrayList<Medium> {
|
override fun doInBackground(vararg params: Void): ArrayList<Medium> {
|
||||||
|
|
|
@ -7,6 +7,7 @@ import android.view.View
|
||||||
import com.simplemobiletools.commons.extensions.setupDialogStuff
|
import com.simplemobiletools.commons.extensions.setupDialogStuff
|
||||||
import com.simplemobiletools.gallery.R
|
import com.simplemobiletools.gallery.R
|
||||||
import com.simplemobiletools.gallery.activities.SimpleActivity
|
import com.simplemobiletools.gallery.activities.SimpleActivity
|
||||||
|
import com.simplemobiletools.gallery.extensions.config
|
||||||
import com.simplemobiletools.gallery.helpers.*
|
import com.simplemobiletools.gallery.helpers.*
|
||||||
import kotlinx.android.synthetic.main.dialog_change_sorting.view.*
|
import kotlinx.android.synthetic.main.dialog_change_sorting.view.*
|
||||||
|
|
||||||
|
@ -19,7 +20,7 @@ class ChangeSortingDialog(val activity: SimpleActivity, val isDirectorySorting:
|
||||||
}
|
}
|
||||||
|
|
||||||
init {
|
init {
|
||||||
config = Config.newInstance(activity)
|
config = activity.config
|
||||||
view = LayoutInflater.from(activity).inflate(R.layout.dialog_change_sorting, null)
|
view = LayoutInflater.from(activity).inflate(R.layout.dialog_change_sorting, null)
|
||||||
|
|
||||||
AlertDialog.Builder(activity)
|
AlertDialog.Builder(activity)
|
||||||
|
|
|
@ -8,7 +8,7 @@ import com.simplemobiletools.commons.asynctasks.CopyMoveTask
|
||||||
import com.simplemobiletools.commons.extensions.*
|
import com.simplemobiletools.commons.extensions.*
|
||||||
import com.simplemobiletools.gallery.R
|
import com.simplemobiletools.gallery.R
|
||||||
import com.simplemobiletools.gallery.activities.SimpleActivity
|
import com.simplemobiletools.gallery.activities.SimpleActivity
|
||||||
import com.simplemobiletools.gallery.helpers.Config
|
import com.simplemobiletools.gallery.extensions.config
|
||||||
import kotlinx.android.synthetic.main.dialog_copy_move.view.*
|
import kotlinx.android.synthetic.main.dialog_copy_move.view.*
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
@ -65,11 +65,10 @@ class CopyDialog(val activity: SimpleActivity, val files: ArrayList<File>, val c
|
||||||
return@setOnClickListener
|
return@setOnClickListener
|
||||||
}
|
}
|
||||||
|
|
||||||
val config = Config.newInstance(context)
|
|
||||||
if (view.dialog_radio_group.checkedRadioButtonId == R.id.dialog_radio_copy) {
|
if (view.dialog_radio_group.checkedRadioButtonId == R.id.dialog_radio_copy) {
|
||||||
context.toast(R.string.copying)
|
context.toast(R.string.copying)
|
||||||
val pair = Pair<ArrayList<File>, File>(files, destinationDir)
|
val pair = Pair<ArrayList<File>, File>(files, destinationDir)
|
||||||
CopyMoveTask(context, false, config.treeUri, true, copyMoveListener).execute(pair)
|
CopyMoveTask(context, false, context.config.treeUri, true, copyMoveListener).execute(pair)
|
||||||
dismiss()
|
dismiss()
|
||||||
} else {
|
} else {
|
||||||
if (context.isPathOnSD(sourcePath) || context.isPathOnSD(destinationPath)) {
|
if (context.isPathOnSD(sourcePath) || context.isPathOnSD(destinationPath)) {
|
||||||
|
@ -79,7 +78,7 @@ class CopyDialog(val activity: SimpleActivity, val files: ArrayList<File>, val c
|
||||||
|
|
||||||
context.toast(R.string.moving)
|
context.toast(R.string.moving)
|
||||||
val pair = Pair<ArrayList<File>, File>(files, destinationDir)
|
val pair = Pair<ArrayList<File>, File>(files, destinationDir)
|
||||||
CopyMoveTask(context, true, config.treeUri, true, copyMoveListener).execute(pair)
|
CopyMoveTask(context, true, context.config.treeUri, true, copyMoveListener).execute(pair)
|
||||||
dismiss()
|
dismiss()
|
||||||
} else {
|
} else {
|
||||||
val updatedFiles = ArrayList<File>(files.size * 2)
|
val updatedFiles = ArrayList<File>(files.size * 2)
|
||||||
|
|
|
@ -10,7 +10,7 @@ import com.simplemobiletools.gallery.R
|
||||||
import com.simplemobiletools.gallery.activities.SimpleActivity
|
import com.simplemobiletools.gallery.activities.SimpleActivity
|
||||||
import com.simplemobiletools.gallery.adapters.DirectoryAdapter
|
import com.simplemobiletools.gallery.adapters.DirectoryAdapter
|
||||||
import com.simplemobiletools.gallery.asynctasks.GetDirectoriesAsynctask
|
import com.simplemobiletools.gallery.asynctasks.GetDirectoriesAsynctask
|
||||||
import com.simplemobiletools.gallery.helpers.Config
|
import com.simplemobiletools.gallery.extensions.config
|
||||||
import kotlinx.android.synthetic.main.dialog_album_picker.view.*
|
import kotlinx.android.synthetic.main.dialog_album_picker.view.*
|
||||||
|
|
||||||
class PickAlbumDialog(val activity: SimpleActivity, val callback: (path: String) -> Unit) {
|
class PickAlbumDialog(val activity: SimpleActivity, val callback: (path: String) -> Unit) {
|
||||||
|
@ -39,7 +39,7 @@ class PickAlbumDialog(val activity: SimpleActivity, val callback: (path: String)
|
||||||
|
|
||||||
fun showOtherFolder() {
|
fun showOtherFolder() {
|
||||||
val initialPath = Environment.getExternalStorageDirectory().toString()
|
val initialPath = Environment.getExternalStorageDirectory().toString()
|
||||||
val showHidden = Config.newInstance(activity).showHiddenFolders
|
val showHidden = activity.config.showHiddenFolders
|
||||||
FilePickerDialog(activity, initialPath, false, showHidden, true) {
|
FilePickerDialog(activity, initialPath, false, showHidden, true) {
|
||||||
callback.invoke(it)
|
callback.invoke(it)
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ import android.view.WindowManager
|
||||||
import com.simplemobiletools.commons.extensions.*
|
import com.simplemobiletools.commons.extensions.*
|
||||||
import com.simplemobiletools.gallery.R
|
import com.simplemobiletools.gallery.R
|
||||||
import com.simplemobiletools.gallery.activities.SimpleActivity
|
import com.simplemobiletools.gallery.activities.SimpleActivity
|
||||||
import com.simplemobiletools.gallery.helpers.Config
|
import com.simplemobiletools.gallery.extensions.config
|
||||||
import kotlinx.android.synthetic.main.rename_directory.view.*
|
import kotlinx.android.synthetic.main.rename_directory.view.*
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
@ -49,7 +49,7 @@ class RenameDirectoryDialog(val activity: SimpleActivity, val dir: File, val cal
|
||||||
if (activity.isShowingPermDialog(dir))
|
if (activity.isShowingPermDialog(dir))
|
||||||
return@setOnClickListener
|
return@setOnClickListener
|
||||||
|
|
||||||
val document = context.getFileDocument(dir.absolutePath, Config.newInstance(context).treeUri)
|
val document = context.getFileDocument(dir.absolutePath, context.config.treeUri)
|
||||||
if (document.canWrite())
|
if (document.canWrite())
|
||||||
document.renameTo(newDirName)
|
document.renameTo(newDirName)
|
||||||
sendSuccess(updatedFiles, newDir)
|
sendSuccess(updatedFiles, newDir)
|
||||||
|
|
|
@ -6,7 +6,7 @@ import android.view.WindowManager
|
||||||
import com.simplemobiletools.commons.extensions.*
|
import com.simplemobiletools.commons.extensions.*
|
||||||
import com.simplemobiletools.gallery.R
|
import com.simplemobiletools.gallery.R
|
||||||
import com.simplemobiletools.gallery.activities.SimpleActivity
|
import com.simplemobiletools.gallery.activities.SimpleActivity
|
||||||
import com.simplemobiletools.gallery.helpers.Config
|
import com.simplemobiletools.gallery.extensions.config
|
||||||
import kotlinx.android.synthetic.main.rename_file.view.*
|
import kotlinx.android.synthetic.main.rename_file.view.*
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
|
@ -57,7 +57,7 @@ class RenameFileDialog(val activity: SimpleActivity, val file: File, val callbac
|
||||||
if (activity.isShowingPermDialog(file))
|
if (activity.isShowingPermDialog(file))
|
||||||
return@setOnClickListener
|
return@setOnClickListener
|
||||||
|
|
||||||
val document = context.getFileDocument(file.absolutePath, Config.newInstance(context).treeUri)
|
val document = context.getFileDocument(file.absolutePath, context.config.treeUri)
|
||||||
if (document.canWrite())
|
if (document.canWrite())
|
||||||
document.renameTo(newFile.name)
|
document.renameTo(newFile.name)
|
||||||
sendSuccess(file, newFile)
|
sendSuccess(file, newFile)
|
||||||
|
|
|
@ -44,8 +44,8 @@ fun Context.launchSettings() {
|
||||||
|
|
||||||
fun Context.getParents(isPickImage: Boolean, isPickVideo: Boolean): ArrayList<String> {
|
fun Context.getParents(isPickImage: Boolean, isPickVideo: Boolean): ArrayList<String> {
|
||||||
val uri = MediaStore.Files.getContentUri("external")
|
val uri = MediaStore.Files.getContentUri("external")
|
||||||
val where = "${getWhereCondition(this, isPickImage, isPickVideo)} GROUP BY ( ${MediaStore.Files.FileColumns.PARENT} "
|
val where = "${getWhereCondition(isPickImage, isPickVideo)} GROUP BY ( ${MediaStore.Files.FileColumns.PARENT} "
|
||||||
val args = getArgs(this, isPickImage, isPickVideo)
|
val args = getArgs(isPickImage, isPickVideo)
|
||||||
val columns = arrayOf(MediaStore.Files.FileColumns.PARENT, MediaStore.Images.Media.DATA)
|
val columns = arrayOf(MediaStore.Files.FileColumns.PARENT, MediaStore.Images.Media.DATA)
|
||||||
var cursor: Cursor? = null
|
var cursor: Cursor? = null
|
||||||
val parents = ArrayList<String>()
|
val parents = ArrayList<String>()
|
||||||
|
@ -64,8 +64,8 @@ fun Context.getParents(isPickImage: Boolean, isPickVideo: Boolean): ArrayList<St
|
||||||
return parents
|
return parents
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getWhereCondition(context: Context, isPickImage: Boolean, isPickVideo: Boolean): String {
|
fun Context.getWhereCondition(isPickImage: Boolean, isPickVideo: Boolean): String {
|
||||||
val showMedia = Config.newInstance(context).showMedia
|
val showMedia = config.showMedia
|
||||||
return if ((isPickImage || showMedia == IMAGES) || (isPickVideo || showMedia == VIDEOS)) {
|
return if ((isPickImage || showMedia == IMAGES) || (isPickVideo || showMedia == VIDEOS)) {
|
||||||
"${MediaStore.Files.FileColumns.MEDIA_TYPE} = ?)"
|
"${MediaStore.Files.FileColumns.MEDIA_TYPE} = ?)"
|
||||||
} else {
|
} else {
|
||||||
|
@ -73,8 +73,8 @@ private fun getWhereCondition(context: Context, isPickImage: Boolean, isPickVide
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getArgs(context: Context, isPickImage: Boolean, isPickVideo: Boolean): Array<String> {
|
fun Context.getArgs(isPickImage: Boolean, isPickVideo: Boolean): Array<String> {
|
||||||
val showMedia = Config.newInstance(context).showMedia
|
val showMedia = config.showMedia
|
||||||
return if (isPickImage || showMedia == IMAGES) {
|
return if (isPickImage || showMedia == IMAGES) {
|
||||||
arrayOf(MediaStore.Files.FileColumns.MEDIA_TYPE_IMAGE.toString())
|
arrayOf(MediaStore.Files.FileColumns.MEDIA_TYPE_IMAGE.toString())
|
||||||
} else if (isPickVideo || showMedia == VIDEOS) {
|
} else if (isPickVideo || showMedia == VIDEOS) {
|
||||||
|
@ -83,3 +83,5 @@ private fun getArgs(context: Context, isPickImage: Boolean, isPickVideo: Boolean
|
||||||
arrayOf(MediaStore.Files.FileColumns.MEDIA_TYPE_IMAGE.toString(), MediaStore.Files.FileColumns.MEDIA_TYPE_VIDEO.toString())
|
arrayOf(MediaStore.Files.FileColumns.MEDIA_TYPE_IMAGE.toString(), MediaStore.Files.FileColumns.MEDIA_TYPE_VIDEO.toString())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val Context.config: Config get() = Config.newInstance(this)
|
||||||
|
|
|
@ -15,9 +15,9 @@ import android.view.animation.AnimationUtils
|
||||||
import android.widget.SeekBar
|
import android.widget.SeekBar
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import com.simplemobiletools.gallery.R
|
import com.simplemobiletools.gallery.R
|
||||||
|
import com.simplemobiletools.gallery.extensions.config
|
||||||
import com.simplemobiletools.gallery.extensions.getNavBarHeight
|
import com.simplemobiletools.gallery.extensions.getNavBarHeight
|
||||||
import com.simplemobiletools.gallery.extensions.hasNavBar
|
import com.simplemobiletools.gallery.extensions.hasNavBar
|
||||||
import com.simplemobiletools.gallery.helpers.Config
|
|
||||||
import com.simplemobiletools.gallery.helpers.MEDIUM
|
import com.simplemobiletools.gallery.helpers.MEDIUM
|
||||||
import com.simplemobiletools.gallery.models.Medium
|
import com.simplemobiletools.gallery.models.Medium
|
||||||
import kotlinx.android.synthetic.main.pager_video_item.view.*
|
import kotlinx.android.synthetic.main.pager_video_item.view.*
|
||||||
|
@ -90,7 +90,7 @@ class VideoFragment : ViewPagerFragment(), View.OnClickListener, SurfaceHolder.C
|
||||||
super.setMenuVisibility(menuVisible)
|
super.setMenuVisibility(menuVisible)
|
||||||
mIsFragmentVisible = menuVisible
|
mIsFragmentVisible = menuVisible
|
||||||
if (menuVisible) {
|
if (menuVisible) {
|
||||||
if (context != null && Config.newInstance(context).autoplayVideos) {
|
if (context != null && context.config.autoplayVideos) {
|
||||||
playVideo()
|
playVideo()
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -276,7 +276,7 @@ class VideoFragment : ViewPagerFragment(), View.OnClickListener, SurfaceHolder.C
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCompletion(mp: MediaPlayer) {
|
override fun onCompletion(mp: MediaPlayer) {
|
||||||
if (Config.newInstance(context).loopVideos) {
|
if (context.config.loopVideos) {
|
||||||
playVideo()
|
playVideo()
|
||||||
} else {
|
} else {
|
||||||
mSeekBar!!.progress = mSeekBar!!.max
|
mSeekBar!!.progress = mSeekBar!!.max
|
||||||
|
@ -367,7 +367,7 @@ class VideoFragment : ViewPagerFragment(), View.OnClickListener, SurfaceHolder.C
|
||||||
setupTimeHolder()
|
setupTimeHolder()
|
||||||
setProgress(mCurrTime)
|
setProgress(mCurrTime)
|
||||||
|
|
||||||
if (mIsFragmentVisible && Config.newInstance(context).autoplayVideos)
|
if (mIsFragmentVisible && context.config.autoplayVideos)
|
||||||
playVideo()
|
playVideo()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue