avoid loading folders twice at app start
This commit is contained in:
parent
acb4f63344
commit
9b957a7367
4 changed files with 28 additions and 15 deletions
|
@ -42,7 +42,7 @@ ext {
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'com.simplemobiletools:commons:3.8.3'
|
implementation 'com.simplemobiletools:commons:3.8.7'
|
||||||
|
|
||||||
implementation files('../libs/RootTools.jar')
|
implementation files('../libs/RootTools.jar')
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,7 @@ import com.simplemobiletools.filemanager.R
|
||||||
import com.simplemobiletools.filemanager.activities.SimpleActivity
|
import com.simplemobiletools.filemanager.activities.SimpleActivity
|
||||||
import com.simplemobiletools.filemanager.dialogs.CompressAsDialog
|
import com.simplemobiletools.filemanager.dialogs.CompressAsDialog
|
||||||
import com.simplemobiletools.filemanager.extensions.*
|
import com.simplemobiletools.filemanager.extensions.*
|
||||||
|
import com.simplemobiletools.filemanager.interfaces.ItemOperationsListener
|
||||||
import com.stericson.RootTools.RootTools
|
import com.stericson.RootTools.RootTools
|
||||||
import kotlinx.android.synthetic.main.list_item.view.*
|
import kotlinx.android.synthetic.main.list_item.view.*
|
||||||
import java.io.Closeable
|
import java.io.Closeable
|
||||||
|
@ -424,12 +425,4 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
|
||||||
val children = item.children
|
val children = item.children
|
||||||
return activity.resources.getQuantityString(R.plurals.items, children, children)
|
return activity.resources.getQuantityString(R.plurals.items, children, children)
|
||||||
}
|
}
|
||||||
|
|
||||||
interface ItemOperationsListener {
|
|
||||||
fun refreshItems()
|
|
||||||
|
|
||||||
fun deleteFiles(files: ArrayList<File>)
|
|
||||||
|
|
||||||
fun selectedPaths(paths: ArrayList<String>)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,6 +23,7 @@ import com.simplemobiletools.filemanager.extensions.isPathOnRoot
|
||||||
import com.simplemobiletools.filemanager.extensions.openFile
|
import com.simplemobiletools.filemanager.extensions.openFile
|
||||||
import com.simplemobiletools.filemanager.helpers.PATH
|
import com.simplemobiletools.filemanager.helpers.PATH
|
||||||
import com.simplemobiletools.filemanager.helpers.RootHelpers
|
import com.simplemobiletools.filemanager.helpers.RootHelpers
|
||||||
|
import com.simplemobiletools.filemanager.interfaces.ItemOperationsListener
|
||||||
import com.stericson.RootTools.RootTools
|
import com.stericson.RootTools.RootTools
|
||||||
import kotlinx.android.synthetic.main.items_fragment.*
|
import kotlinx.android.synthetic.main.items_fragment.*
|
||||||
import kotlinx.android.synthetic.main.items_fragment.view.*
|
import kotlinx.android.synthetic.main.items_fragment.view.*
|
||||||
|
@ -30,11 +31,12 @@ import java.io.File
|
||||||
import java.util.HashMap
|
import java.util.HashMap
|
||||||
import kotlin.collections.ArrayList
|
import kotlin.collections.ArrayList
|
||||||
|
|
||||||
class ItemsFragment : Fragment(), ItemsAdapter.ItemOperationsListener, Breadcrumbs.BreadcrumbsListener {
|
class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.BreadcrumbsListener {
|
||||||
var currentPath = ""
|
var currentPath = ""
|
||||||
var isGetContentIntent = false
|
var isGetContentIntent = false
|
||||||
var isGetRingtonePicker = false
|
var isGetRingtonePicker = false
|
||||||
var isPickMultipleIntent = false
|
var isPickMultipleIntent = false
|
||||||
|
var isFirstResume = true
|
||||||
|
|
||||||
private var showHidden = false
|
private var showHidden = false
|
||||||
private var skipItemUpdating = false
|
private var skipItemUpdating = false
|
||||||
|
@ -90,7 +92,10 @@ class ItemsFragment : Fragment(), ItemsAdapter.ItemOperationsListener, Breadcrum
|
||||||
|
|
||||||
items_fastscroller.updateBubbleColors()
|
items_fastscroller.updateBubbleColors()
|
||||||
items_fastscroller.allowBubbleDisplay = context!!.config.showInfoBubble
|
items_fastscroller.allowBubbleDisplay = context!!.config.showInfoBubble
|
||||||
refreshItems()
|
if (!isFirstResume) {
|
||||||
|
refreshItems()
|
||||||
|
}
|
||||||
|
isFirstResume = false
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onPause() {
|
override fun onPause() {
|
||||||
|
@ -110,15 +115,17 @@ class ItemsFragment : Fragment(), ItemsAdapter.ItemOperationsListener, Breadcrum
|
||||||
}
|
}
|
||||||
|
|
||||||
var realPath = path.trimEnd('/')
|
var realPath = path.trimEnd('/')
|
||||||
if (realPath.isEmpty())
|
if (realPath.isEmpty()) {
|
||||||
realPath = "/"
|
realPath = "/"
|
||||||
|
}
|
||||||
|
|
||||||
scrollStates.put(currentPath, getScrollState())
|
scrollStates[currentPath] = getScrollState()
|
||||||
currentPath = realPath
|
currentPath = realPath
|
||||||
showHidden = context!!.config.shouldShowHidden
|
showHidden = context!!.config.shouldShowHidden
|
||||||
getItems(currentPath) {
|
getItems(currentPath) {
|
||||||
if (!isAdded)
|
if (!isAdded) {
|
||||||
return@getItems
|
return@getItems
|
||||||
|
}
|
||||||
|
|
||||||
FileDirItem.sorting = context!!.config.getFolderSorting(currentPath)
|
FileDirItem.sorting = context!!.config.getFolderSorting(currentPath)
|
||||||
it.sort()
|
it.sort()
|
||||||
|
@ -183,8 +190,9 @@ class ItemsFragment : Fragment(), ItemsAdapter.ItemOperationsListener, Breadcrum
|
||||||
for (file in files) {
|
for (file in files) {
|
||||||
val curPath = file.absolutePath
|
val curPath = file.absolutePath
|
||||||
val curName = curPath.getFilenameFromPath()
|
val curName = curPath.getFilenameFromPath()
|
||||||
if (!showHidden && curName.startsWith("."))
|
if (!showHidden && curName.startsWith(".")) {
|
||||||
continue
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
val children = getChildrenCount(file)
|
val children = getChildrenCount(file)
|
||||||
val size = if (file.isDirectory && context?.config?.sorting == SORT_BY_SIZE) getDirectorySize(file) else file.length()
|
val size = if (file.isDirectory && context?.config?.sorting == SORT_BY_SIZE) getDirectorySize(file) else file.length()
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
package com.simplemobiletools.filemanager.interfaces
|
||||||
|
|
||||||
|
import java.io.File
|
||||||
|
import java.util.*
|
||||||
|
|
||||||
|
interface ItemOperationsListener {
|
||||||
|
fun refreshItems()
|
||||||
|
|
||||||
|
fun deleteFiles(files: ArrayList<File>)
|
||||||
|
|
||||||
|
fun selectedPaths(paths: ArrayList<String>)
|
||||||
|
}
|
Loading…
Reference in a new issue