Skip to content

Commit 419c1f5

Browse files
committed
add a menu button for temporarily showing hidden items
1 parent 362fa75 commit 419c1f5

File tree

8 files changed

+31
-8
lines changed

8 files changed

+31
-8
lines changed

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ android {
3232
}
3333

3434
dependencies {
35-
compile 'com.simplemobiletools:commons:2.21.10'
35+
compile 'com.simplemobiletools:commons:2.21.11'
3636
compile 'com.bignerdranch.android:recyclerview-multiselect:0.2'
3737
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
3838
}

app/src/main/kotlin/com/simplemobiletools/filemanager/Config.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@ class Config(context: Context) : BaseConfig(context) {
1616
get() = prefs.getBoolean(SHOW_HIDDEN, false)
1717
set(show) = prefs.edit().putBoolean(SHOW_HIDDEN, show).apply()
1818

19+
var temporarilyShowHidden: Boolean
20+
get() = prefs.getBoolean(TEMPORARILY_SHOW_HIDDEN, false)
21+
set(temporarilyShowHidden) = prefs.edit().putBoolean(TEMPORARILY_SHOW_HIDDEN, temporarilyShowHidden).apply()
22+
23+
var shouldShowHidden = showHidden || temporarilyShowHidden
24+
1925
var homeFolder: String
2026
get(): String {
2127
var home = prefs.getString(HOME_FOLDER, "")

app/src/main/kotlin/com/simplemobiletools/filemanager/Constants.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ val HOME_FOLDER = "home_folder"
99
val FAVORITES = "favorites"
1010
val SORT_ORDER = "sort_order"
1111
val SORT_FOLDER_PREFIX = "sort_folder_"
12+
val TEMPORARILY_SHOW_HIDDEN = "temporarily_show_hidden"

app/src/main/kotlin/com/simplemobiletools/filemanager/activities/FavoritesActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class FavoritesActivity : SimpleActivity() {
5656
}
5757

5858
private fun addFavorite() {
59-
FilePickerDialog(this, pickFile = false, showHidden = config.showHidden) {
59+
FilePickerDialog(this, pickFile = false, showHidden = config.shouldShowHidden) {
6060
config.addFavorite(it)
6161
updateFavorites()
6262
}

app/src/main/kotlin/com/simplemobiletools/filemanager/activities/MainActivity.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,11 @@ class MainActivity : SimpleActivity(), ItemsFragment.ItemInteractionListener, Br
6666
mStoredTextColor = config.textColor
6767
}
6868

69+
override fun onDestroy() {
70+
super.onDestroy()
71+
config.temporarilyShowHidden = false
72+
}
73+
6974
private fun tryInitFileManager() {
7075
if (hasWriteStoragePermission()) {
7176
initRootFileManager()
@@ -109,6 +114,7 @@ class MainActivity : SimpleActivity(), ItemsFragment.ItemInteractionListener, Br
109114
findItem(R.id.add_favorite).isVisible = !favorites.contains(currentPath)
110115
findItem(R.id.remove_favorite).isVisible = favorites.contains(currentPath)
111116
findItem(R.id.go_to_favorite).isVisible = favorites.isNotEmpty()
117+
menu.findItem(R.id.temporarily_show_hidden).isVisible = !config.showHidden
112118
}
113119

114120
return true
@@ -122,6 +128,7 @@ class MainActivity : SimpleActivity(), ItemsFragment.ItemInteractionListener, Br
122128
R.id.remove_favorite -> removeFavorite()
123129
R.id.go_to_favorite -> goToFavorite()
124130
R.id.set_as_home -> setAsHome()
131+
R.id.temporarily_show_hidden -> temporarilyShowHidden()
125132
R.id.settings -> startActivity(Intent(this, SettingsActivity::class.java))
126133
R.id.about -> launchAbout()
127134
else -> return super.onOptionsItemSelected(item)
@@ -176,6 +183,11 @@ class MainActivity : SimpleActivity(), ItemsFragment.ItemInteractionListener, Br
176183
toast(R.string.home_folder_updated)
177184
}
178185

186+
private fun temporarilyShowHidden() {
187+
config.temporarilyShowHidden = true
188+
openPath(currentPath)
189+
}
190+
179191
private fun launchAbout() {
180192
startAboutActivity(R.string.app_name, LICENSE_KOTLIN or LICENSE_MULTISELECT, BuildConfig.VERSION_NAME)
181193
}

app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,11 +125,11 @@ class ItemsAdapter(val activity: SimpleActivity, var mItems: MutableList<FileDir
125125

126126
private fun showProperties() {
127127
if (selectedPositions.size <= 1) {
128-
PropertiesDialog(activity, mItems[selectedPositions.first()].path, config.showHidden)
128+
PropertiesDialog(activity, mItems[selectedPositions.first()].path, config.shouldShowHidden)
129129
} else {
130130
val paths = ArrayList<String>()
131131
selectedPositions.forEach { paths.add(mItems[it].path) }
132-
PropertiesDialog(activity, paths, config.showHidden)
132+
PropertiesDialog(activity, paths, config.shouldShowHidden)
133133
}
134134
}
135135

@@ -157,7 +157,7 @@ class ItemsAdapter(val activity: SimpleActivity, var mItems: MutableList<FileDir
157157

158158
private fun addFileUris(file: File, uris: ArrayList<Uri>) {
159159
if (file.isDirectory) {
160-
file.listFiles()?.filter { if (config.showHidden) true else !it.isHidden }?.forEach {
160+
file.listFiles()?.filter { if (config.shouldShowHidden) true else !it.isHidden }?.forEach {
161161
addFileUris(it, uris)
162162
}
163163
} else {
@@ -183,7 +183,7 @@ class ItemsAdapter(val activity: SimpleActivity, var mItems: MutableList<FileDir
183183
selectedPositions.forEach { files.add(File(mItems[it].path)) }
184184

185185
val source = if (files[0].isFile) files[0].parent else files[0].absolutePath
186-
FilePickerDialog(activity, source, false, config.showHidden, true) {
186+
FilePickerDialog(activity, source, false, config.shouldShowHidden, true) {
187187
activity.copyMoveFilesTo(files, source, it, isCopyOperation, false) {
188188
if (!isCopyOperation) {
189189
listener?.refreshItems()

app/src/main/kotlin/com/simplemobiletools/filemanager/fragments/ItemsFragment.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class ItemsFragment : Fragment(), ItemsAdapter.ItemOperationsListener {
4444

4545
override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
4646
super.onViewCreated(view, savedInstanceState)
47-
mShowHidden = context.config.showHidden
47+
mShowHidden = context.config.shouldShowHidden
4848
fillItems()
4949

5050
items_swipe_refresh.setOnRefreshListener({ fillItems() })
@@ -54,7 +54,7 @@ class ItemsFragment : Fragment(), ItemsAdapter.ItemOperationsListener {
5454
override fun onResume() {
5555
super.onResume()
5656
val config = context.config
57-
if (mShowHidden != config.showHidden) {
57+
if (mShowHidden != config.shouldShowHidden) {
5858
mShowHidden = !mShowHidden
5959
fillItems()
6060
}

app/src/main/res/menu/menu.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@
2929
android:id="@+id/set_as_home"
3030
android:title="@string/set_as_home_folder"
3131
app:showAsAction="never"/>
32+
<item
33+
android:id="@+id/temporarily_show_hidden"
34+
android:title="@string/temporarily_show_hidden"
35+
app:showAsAction="never"/>
3236
<item
3337
android:id="@+id/settings"
3438
android:title="@string/settings"

0 commit comments

Comments
 (0)