From 41d67fe498aecdcdb4c6610e3b26f4f93f4a6d86 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 18 Mar 2017 13:58:58 +0100 Subject: [PATCH] implement the Go home and Set home buttons --- .../com/simplemobiletools/filemanager/Config.kt | 12 ++++++++++++ .../com/simplemobiletools/filemanager/Constants.kt | 1 + .../filemanager/activities/MainActivity.kt | 9 ++++++--- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/Config.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/Config.kt index 1dc00739..db2a618a 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/Config.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/Config.kt @@ -1,7 +1,9 @@ package com.simplemobiletools.filemanager import android.content.Context +import com.simplemobiletools.commons.extensions.getInternalStoragePath import com.simplemobiletools.commons.helpers.BaseConfig +import java.io.File class Config(context: Context) : BaseConfig(context) { companion object { @@ -11,4 +13,14 @@ class Config(context: Context) : BaseConfig(context) { var showHidden: Boolean get() = prefs.getBoolean(SHOW_HIDDEN, false) set(show) = prefs.edit().putBoolean(SHOW_HIDDEN, show).apply() + + var homeFolder: String + get(): String { + var home = prefs.getString(HOME_FOLDER, "") + if (home.isEmpty() || !File(home).exists() || !File(home).isDirectory) { + home = context.getInternalStoragePath() + } + return home + } + set(homeFolder) = prefs.edit().putString(HOME_FOLDER, homeFolder).apply() } diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/Constants.kt index da368c42..c334a6ab 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/Constants.kt @@ -5,3 +5,4 @@ val SCROLL_STATE = "scroll_state" // shared preferences val SHOW_HIDDEN = "show_hidden" +val HOME_FOLDER = "home_folder" diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/MainActivity.kt index 64e94b10..d59df444 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/MainActivity.kt @@ -44,6 +44,7 @@ class MainActivity : SimpleActivity(), ItemsFragment.ItemInteractionListener, Br breadcrumbs.setListener(this) tryInitFileManager() storeStoragePaths() + checkWhatsNewDialog() } override fun onResume() { @@ -69,7 +70,6 @@ class MainActivity : SimpleActivity(), ItemsFragment.ItemInteractionListener, Br private fun tryInitFileManager() { if (hasWriteStoragePermission()) { initRootFileManager() - checkWhatsNewDialog() } else { ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), STORAGE_PERMISSION) } @@ -116,13 +116,16 @@ class MainActivity : SimpleActivity(), ItemsFragment.ItemInteractionListener, Br } private fun goHome() { - + openPath(config.homeFolder) } private fun setAsHome() { - + config.homeFolder = getCurrenPath() + toast(R.string.home_folder_updated) } + private fun getCurrenPath() = (breadcrumbs.getChildAt(breadcrumbs.childCount - 1).tag as FileDirItem).path.trimEnd('/') + private fun launchAbout() { startAboutActivity(R.string.app_name, LICENSE_KOTLIN or LICENSE_MULTISELECT, BuildConfig.VERSION_NAME) }