mirror of
https://github.com/SimpleMobileTools/Simple-File-Manager.git
synced 2025-06-05 22:09:15 +02:00
properly refresh the screen on device rotation
This commit is contained in:
@ -33,6 +33,7 @@ class MainActivity : SimpleActivity() {
|
|||||||
var isSearchOpen = false
|
var isSearchOpen = false
|
||||||
|
|
||||||
private val BACK_PRESS_TIMEOUT = 5000
|
private val BACK_PRESS_TIMEOUT = 5000
|
||||||
|
private val PICKED_PATH = "picked_path"
|
||||||
private var wasBackJustPressed = false
|
private var wasBackJustPressed = false
|
||||||
private var searchMenuItem: MenuItem? = null
|
private var searchMenuItem: MenuItem? = null
|
||||||
|
|
||||||
@ -120,6 +121,16 @@ class MainActivity : SimpleActivity() {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onSaveInstanceState(outState: Bundle) {
|
||||||
|
super.onSaveInstanceState(outState)
|
||||||
|
outState.putString(PICKED_PATH, (fragment_holder as ItemsFragment).currentPath)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
|
||||||
|
super.onRestoreInstanceState(savedInstanceState)
|
||||||
|
openPath(savedInstanceState.getString(PICKED_PATH), true)
|
||||||
|
}
|
||||||
|
|
||||||
private fun storeStateVariables() {
|
private fun storeStateVariables() {
|
||||||
storedUseEnglish = config.useEnglish
|
storedUseEnglish = config.useEnglish
|
||||||
}
|
}
|
||||||
@ -186,7 +197,7 @@ class MainActivity : SimpleActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun openPath(path: String) {
|
private fun openPath(path: String, forceRefresh: Boolean = false) {
|
||||||
var newPath = path
|
var newPath = path
|
||||||
val file = File(path)
|
val file = File(path)
|
||||||
if (file.exists() && !file.isDirectory) {
|
if (file.exists() && !file.isDirectory) {
|
||||||
@ -195,7 +206,7 @@ class MainActivity : SimpleActivity() {
|
|||||||
newPath = internalStoragePath
|
newPath = internalStoragePath
|
||||||
}
|
}
|
||||||
|
|
||||||
(fragment_holder as ItemsFragment).openPath(newPath)
|
(fragment_holder as ItemsFragment).openPath(newPath, forceRefresh)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun goHome() {
|
private fun goHome() {
|
||||||
|
@ -37,10 +37,10 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb
|
|||||||
var isGetRingtonePicker = false
|
var isGetRingtonePicker = false
|
||||||
var isPickMultipleIntent = false
|
var isPickMultipleIntent = false
|
||||||
var isFirstResume = true
|
var isFirstResume = true
|
||||||
|
var storedItems = ArrayList<FileDirItem>()
|
||||||
|
|
||||||
private var showHidden = false
|
private var showHidden = false
|
||||||
private var skipItemUpdating = false
|
private var skipItemUpdating = false
|
||||||
private var storedItems = ArrayList<FileDirItem>()
|
|
||||||
private var scrollStates = HashMap<String, Parcelable>()
|
private var scrollStates = HashMap<String, Parcelable>()
|
||||||
|
|
||||||
private var storedTextColor = 0
|
private var storedTextColor = 0
|
||||||
@ -109,7 +109,7 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun openPath(path: String) {
|
fun openPath(path: String, forceRefresh: Boolean = false) {
|
||||||
if (!isAdded || (activity as? BaseSimpleActivity)?.isAskingPermissions == true) {
|
if (!isAdded || (activity as? BaseSimpleActivity)?.isAskingPermissions == true) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -130,17 +130,17 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb
|
|||||||
FileDirItem.sorting = context!!.config.getFolderSorting(currentPath)
|
FileDirItem.sorting = context!!.config.getFolderSorting(currentPath)
|
||||||
fileDirItems.sort()
|
fileDirItems.sort()
|
||||||
activity!!.runOnUiThread {
|
activity!!.runOnUiThread {
|
||||||
addItems(fileDirItems)
|
addItems(fileDirItems, forceRefresh)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun addItems(items: ArrayList<FileDirItem>) {
|
private fun addItems(items: ArrayList<FileDirItem>, forceRefresh: Boolean = false) {
|
||||||
skipItemUpdating = false
|
skipItemUpdating = false
|
||||||
mView.apply {
|
mView.apply {
|
||||||
activity?.runOnUiThread {
|
activity?.runOnUiThread {
|
||||||
items_swipe_refresh?.isRefreshing = false
|
items_swipe_refresh?.isRefreshing = false
|
||||||
if (items.hashCode() == storedItems.hashCode()) {
|
if (!forceRefresh && items.hashCode() == storedItems.hashCode()) {
|
||||||
return@runOnUiThread
|
return@runOnUiThread
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user