Skip to content

Commit 1383a26

Browse files
authored
Merge pull request #146 from FossifyOrg/update_deps
Update AGP and dependencies
2 parents 0aa2786 + 4f92ddb commit 1383a26

File tree

20 files changed

+486
-294
lines changed

20 files changed

+486
-294
lines changed

app/build.gradle.kts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,13 @@ android {
9494
warningsAsErrors = true
9595
baseline = file("lint-baseline.xml")
9696
}
97+
98+
bundle {
99+
language {
100+
@Suppress("UnstableApiUsage")
101+
enableSplit = false
102+
}
103+
}
97104
}
98105

99106
detekt {
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package org.fossify.filemanager
22

3-
import android.app.Application
43
import com.github.ajalt.reprint.core.Reprint
5-
import org.fossify.commons.extensions.checkUseEnglish
4+
import org.fossify.commons.FossifyApp
5+
6+
class App : FossifyApp() {
7+
override val isAppLockFeatureAvailable = true
68

7-
class App : Application() {
89
override fun onCreate() {
910
super.onCreate()
10-
checkUseEnglish()
1111
Reprint.initialize(this)
1212
}
1313
}

app/src/main/kotlin/org/fossify/filemanager/activities/DecompressActivity.kt

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,20 @@ import net.lingala.zip4j.io.inputstream.ZipInputStream
88
import net.lingala.zip4j.model.LocalFileHeader
99
import org.fossify.commons.dialogs.EnterPasswordDialog
1010
import org.fossify.commons.dialogs.FilePickerDialog
11-
import org.fossify.commons.extensions.*
11+
import org.fossify.commons.extensions.createDirectorySync
12+
import org.fossify.commons.extensions.getDoesFilePathExist
13+
import org.fossify.commons.extensions.getFileOutputStreamSync
14+
import org.fossify.commons.extensions.getFilenameFromPath
15+
import org.fossify.commons.extensions.getMimeType
16+
import org.fossify.commons.extensions.getParentPath
17+
import org.fossify.commons.extensions.getRealPathFromURI
18+
import org.fossify.commons.extensions.internalStoragePath
19+
import org.fossify.commons.extensions.isGone
20+
import org.fossify.commons.extensions.showErrorToast
21+
import org.fossify.commons.extensions.toast
22+
import org.fossify.commons.extensions.viewBinding
1223
import org.fossify.commons.helpers.NavigationIcon
1324
import org.fossify.commons.helpers.ensureBackgroundThread
14-
import org.fossify.commons.helpers.isOreoPlus
1525
import org.fossify.filemanager.R
1626
import org.fossify.filemanager.adapters.DecompressItemsAdapter
1727
import org.fossify.filemanager.databinding.ActivityDecompressBinding
@@ -247,7 +257,7 @@ class DecompressActivity : SimpleActivity() {
247257
passwordDialog = null
248258
}
249259

250-
val lastModified = if (isOreoPlus()) zipEntry.lastModifiedTime else 0
260+
val lastModified = zipEntry.lastModifiedTime
251261
val filename = zipEntry.fileName.removeSuffix("/")
252262
allFiles.add(
253263
ListItem(

app/src/main/kotlin/org/fossify/filemanager/activities/MainActivity.kt

Lines changed: 52 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,48 @@ import com.stericson.RootTools.RootTools
1818
import me.grantland.widget.AutofitHelper
1919
import org.fossify.commons.dialogs.ConfirmationAdvancedDialog
2020
import org.fossify.commons.dialogs.RadioGroupDialog
21-
import org.fossify.commons.extensions.*
22-
import org.fossify.commons.helpers.*
21+
import org.fossify.commons.extensions.appLaunched
22+
import org.fossify.commons.extensions.appLockManager
23+
import org.fossify.commons.extensions.beGoneIf
24+
import org.fossify.commons.extensions.checkWhatsNew
25+
import org.fossify.commons.extensions.getBottomNavigationBackgroundColor
26+
import org.fossify.commons.extensions.getColoredDrawableWithColor
27+
import org.fossify.commons.extensions.getFilePublicUri
28+
import org.fossify.commons.extensions.getMimeType
29+
import org.fossify.commons.extensions.getProperBackgroundColor
30+
import org.fossify.commons.extensions.getProperTextColor
31+
import org.fossify.commons.extensions.getRealPathFromURI
32+
import org.fossify.commons.extensions.getStorageDirectories
33+
import org.fossify.commons.extensions.getTimeFormat
34+
import org.fossify.commons.extensions.handleHiddenFolderPasswordProtection
35+
import org.fossify.commons.extensions.hasOTGConnected
36+
import org.fossify.commons.extensions.hasPermission
37+
import org.fossify.commons.extensions.hideKeyboard
38+
import org.fossify.commons.extensions.humanizePath
39+
import org.fossify.commons.extensions.internalStoragePath
40+
import org.fossify.commons.extensions.isPathOnOTG
41+
import org.fossify.commons.extensions.isPathOnSD
42+
import org.fossify.commons.extensions.launchMoreAppsFromUsIntent
43+
import org.fossify.commons.extensions.onGlobalLayout
44+
import org.fossify.commons.extensions.onTabSelectionChanged
45+
import org.fossify.commons.extensions.sdCardPath
46+
import org.fossify.commons.extensions.showErrorToast
47+
import org.fossify.commons.extensions.toast
48+
import org.fossify.commons.extensions.updateBottomTabItemColors
49+
import org.fossify.commons.extensions.viewBinding
50+
import org.fossify.commons.helpers.LICENSE_AUTOFITTEXTVIEW
51+
import org.fossify.commons.helpers.LICENSE_GESTURE_VIEWS
52+
import org.fossify.commons.helpers.LICENSE_GLIDE
53+
import org.fossify.commons.helpers.LICENSE_PATTERN
54+
import org.fossify.commons.helpers.LICENSE_REPRINT
55+
import org.fossify.commons.helpers.LICENSE_ZIP4J
56+
import org.fossify.commons.helpers.PERMISSION_WRITE_STORAGE
57+
import org.fossify.commons.helpers.TAB_FILES
58+
import org.fossify.commons.helpers.TAB_RECENT_FILES
59+
import org.fossify.commons.helpers.TAB_STORAGE_ANALYSIS
60+
import org.fossify.commons.helpers.VIEW_TYPE_GRID
61+
import org.fossify.commons.helpers.ensureBackgroundThread
62+
import org.fossify.commons.helpers.isRPlus
2363
import org.fossify.commons.models.FAQItem
2464
import org.fossify.commons.models.RadioItem
2565
import org.fossify.commons.models.Release
@@ -51,8 +91,6 @@ class MainActivity : SimpleActivity() {
5191
private val binding by viewBinding(ActivityMainBinding::inflate)
5292

5393
private var wasBackJustPressed = false
54-
private var mIsPasswordProtectionPending = false
55-
private var mWasProtectionHandled = false
5694
private var mTabsToShow = ArrayList<Int>()
5795

5896
private var mStoredFontSize = 0
@@ -69,7 +107,7 @@ class MainActivity : SimpleActivity() {
69107
refreshMenuItems()
70108
mTabsToShow = getTabsList()
71109

72-
if (!config.wasStorageAnalysisTabAdded && isOreoPlus()) {
110+
if (!config.wasStorageAnalysisTabAdded) {
73111
config.wasStorageAnalysisTabAdded = true
74112
if (config.showTabs and TAB_STORAGE_ANALYSIS == 0) {
75113
config.showTabs += TAB_STORAGE_ANALYSIS
@@ -81,22 +119,12 @@ class MainActivity : SimpleActivity() {
81119

82120
updateMaterialActivityViews(binding.mainCoordinator, null, useTransparentNavigation = false, useTopSearchMenu = true)
83121

84-
mIsPasswordProtectionPending = config.isAppPasswordProtectionOn
85-
86122
if (savedInstanceState == null) {
87-
handleAppPasswordProtection {
88-
mWasProtectionHandled = it
89-
if (it) {
90-
initFragments()
91-
mIsPasswordProtectionPending = false
92-
tryInitFileManager()
93-
checkWhatsNewDialog()
94-
checkIfRootAvailable()
95-
checkInvalidFavorites()
96-
} else {
97-
finish()
98-
}
99-
}
123+
initFragments()
124+
tryInitFileManager()
125+
checkWhatsNewDialog()
126+
checkIfRootAvailable()
127+
checkInvalidFavorites()
100128
}
101129
}
102130

@@ -128,7 +156,7 @@ class MainActivity : SimpleActivity() {
128156
}
129157
}
130158

131-
if (binding.mainViewPager.adapter == null && mWasProtectionHandled) {
159+
if (binding.mainViewPager.adapter == null) {
132160
initFragments()
133161
}
134162
}
@@ -158,6 +186,7 @@ class MainActivity : SimpleActivity() {
158186
wasBackJustPressed = false
159187
}, BACK_PRESS_TIMEOUT.toLong())
160188
} else {
189+
appLockManager.lock()
161190
finish()
162191
}
163192
} else {
@@ -241,20 +270,18 @@ class MainActivity : SimpleActivity() {
241270
override fun onSaveInstanceState(outState: Bundle) {
242271
super.onSaveInstanceState(outState)
243272
outState.putString(PICKED_PATH, getItemsFragment()?.currentPath ?: "")
244-
outState.putBoolean(WAS_PROTECTION_HANDLED, mWasProtectionHandled)
245273
}
246274

247275
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
248276
super.onRestoreInstanceState(savedInstanceState)
249-
mWasProtectionHandled = savedInstanceState.getBoolean(WAS_PROTECTION_HANDLED, false)
250277
val path = savedInstanceState.getString(PICKED_PATH) ?: internalStoragePath
251278

252279
if (binding.mainViewPager.adapter == null) {
253280
binding.mainViewPager.onGlobalLayout {
254-
restorePath(path)
281+
openPath(path, true)
255282
}
256283
} else {
257-
restorePath(path)
284+
openPath(path, true)
258285
}
259286
}
260287

@@ -267,22 +294,6 @@ class MainActivity : SimpleActivity() {
267294
}
268295
}
269296

270-
private fun restorePath(path: String) {
271-
if (!mWasProtectionHandled) {
272-
handleAppPasswordProtection {
273-
mWasProtectionHandled = it
274-
if (it) {
275-
mIsPasswordProtectionPending = false
276-
openPath(path, true)
277-
} else {
278-
finish()
279-
}
280-
}
281-
} else {
282-
openPath(path, true)
283-
}
284-
}
285-
286297
private fun updateMenuColors() {
287298
updateStatusbarColor(getProperBackgroundColor())
288299
binding.mainMenu.updateColors()
@@ -494,10 +505,6 @@ class MainActivity : SimpleActivity() {
494505
}
495506

496507
private fun openPath(path: String, forceRefresh: Boolean = false) {
497-
if (mIsPasswordProtectionPending && !mWasProtectionHandled) {
498-
return
499-
}
500-
501508
var newPath = path
502509
val file = File(path)
503510
if (config.OTGPath.isNotEmpty() && config.OTGPath == path.trimEnd('/')) {

app/src/main/kotlin/org/fossify/filemanager/activities/SimpleActivity.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ open class SimpleActivity : BaseSimpleActivity() {
3333

3434
override fun getAppLauncherName() = getString(R.string.app_launcher_name)
3535

36+
override fun getRepositoryName() = "File-Manager"
37+
3638
@SuppressLint("NewApi")
3739
fun hasStoragePermission(): Boolean {
3840
return if (isRPlus()) {

app/src/main/kotlin/org/fossify/filemanager/adapters/ItemsAdapter.kt

Lines changed: 69 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,19 +35,81 @@ import net.lingala.zip4j.model.LocalFileHeader
3535
import net.lingala.zip4j.model.ZipParameters
3636
import net.lingala.zip4j.model.enums.EncryptionMethod
3737
import org.fossify.commons.adapters.MyRecyclerViewAdapter
38-
import org.fossify.commons.dialogs.*
39-
import org.fossify.commons.extensions.*
40-
import org.fossify.commons.helpers.*
38+
import org.fossify.commons.dialogs.ConfirmationDialog
39+
import org.fossify.commons.dialogs.FilePickerDialog
40+
import org.fossify.commons.dialogs.PropertiesDialog
41+
import org.fossify.commons.dialogs.RadioGroupDialog
42+
import org.fossify.commons.dialogs.RenameDialog
43+
import org.fossify.commons.dialogs.RenameItemDialog
44+
import org.fossify.commons.dialogs.RenameItemsDialog
45+
import org.fossify.commons.extensions.applyColorFilter
46+
import org.fossify.commons.extensions.beGone
47+
import org.fossify.commons.extensions.beVisible
48+
import org.fossify.commons.extensions.beVisibleIf
49+
import org.fossify.commons.extensions.convertToBitmap
50+
import org.fossify.commons.extensions.copyToClipboard
51+
import org.fossify.commons.extensions.createDirectorySync
52+
import org.fossify.commons.extensions.deleteFile
53+
import org.fossify.commons.extensions.deleteFileBg
54+
import org.fossify.commons.extensions.deleteFolderBg
55+
import org.fossify.commons.extensions.formatDate
56+
import org.fossify.commons.extensions.formatSize
57+
import org.fossify.commons.extensions.getAndroidSAFFileItems
58+
import org.fossify.commons.extensions.getAndroidSAFUri
59+
import org.fossify.commons.extensions.getColoredDrawableWithColor
60+
import org.fossify.commons.extensions.getDefaultCopyDestinationPath
61+
import org.fossify.commons.extensions.getDocumentFile
62+
import org.fossify.commons.extensions.getDoesFilePathExist
63+
import org.fossify.commons.extensions.getFileCount
64+
import org.fossify.commons.extensions.getFileInputStreamSync
65+
import org.fossify.commons.extensions.getFileOutputStreamSync
66+
import org.fossify.commons.extensions.getFilenameFromPath
67+
import org.fossify.commons.extensions.getIsPathDirectory
68+
import org.fossify.commons.extensions.getMimeType
69+
import org.fossify.commons.extensions.getParentPath
70+
import org.fossify.commons.extensions.getProperSize
71+
import org.fossify.commons.extensions.getTextSize
72+
import org.fossify.commons.extensions.getTimeFormat
73+
import org.fossify.commons.extensions.handleDeletePasswordProtection
74+
import org.fossify.commons.extensions.hasOTGConnected
75+
import org.fossify.commons.extensions.highlightTextPart
76+
import org.fossify.commons.extensions.isPathOnOTG
77+
import org.fossify.commons.extensions.isRestrictedSAFOnlyRoot
78+
import org.fossify.commons.extensions.relativizeWith
79+
import org.fossify.commons.extensions.setupViewBackground
80+
import org.fossify.commons.extensions.showErrorToast
81+
import org.fossify.commons.extensions.toFileDirItem
82+
import org.fossify.commons.extensions.toast
83+
import org.fossify.commons.helpers.CONFLICT_OVERWRITE
84+
import org.fossify.commons.helpers.CONFLICT_SKIP
85+
import org.fossify.commons.helpers.VIEW_TYPE_LIST
86+
import org.fossify.commons.helpers.ensureBackgroundThread
87+
import org.fossify.commons.helpers.getFilePlaceholderDrawables
4188
import org.fossify.commons.models.FileDirItem
4289
import org.fossify.commons.models.RadioItem
4390
import org.fossify.commons.views.MyRecyclerView
4491
import org.fossify.filemanager.R
4592
import org.fossify.filemanager.activities.SimpleActivity
4693
import org.fossify.filemanager.activities.SplashActivity
47-
import org.fossify.filemanager.databinding.*
94+
import org.fossify.filemanager.databinding.ItemDirGridBinding
95+
import org.fossify.filemanager.databinding.ItemEmptyBinding
96+
import org.fossify.filemanager.databinding.ItemFileDirListBinding
97+
import org.fossify.filemanager.databinding.ItemFileGridBinding
98+
import org.fossify.filemanager.databinding.ItemSectionBinding
4899
import org.fossify.filemanager.dialogs.CompressAsDialog
49-
import org.fossify.filemanager.extensions.*
50-
import org.fossify.filemanager.helpers.*
100+
import org.fossify.filemanager.extensions.config
101+
import org.fossify.filemanager.extensions.isPathOnRoot
102+
import org.fossify.filemanager.extensions.isZipFile
103+
import org.fossify.filemanager.extensions.setAs
104+
import org.fossify.filemanager.extensions.sharePaths
105+
import org.fossify.filemanager.extensions.toggleItemVisibility
106+
import org.fossify.filemanager.extensions.tryOpenPathIntent
107+
import org.fossify.filemanager.helpers.OPEN_AS_AUDIO
108+
import org.fossify.filemanager.helpers.OPEN_AS_IMAGE
109+
import org.fossify.filemanager.helpers.OPEN_AS_OTHER
110+
import org.fossify.filemanager.helpers.OPEN_AS_TEXT
111+
import org.fossify.filemanager.helpers.OPEN_AS_VIDEO
112+
import org.fossify.filemanager.helpers.RootHelpers
51113
import org.fossify.filemanager.interfaces.ItemOperationsListener
52114
import org.fossify.filemanager.models.ListItem
53115
import java.io.BufferedInputStream
@@ -112,7 +174,7 @@ class ItemsAdapter(
112174
findItem(R.id.cab_open_with).isVisible = isOneFileSelected()
113175
findItem(R.id.cab_open_as).isVisible = isOneFileSelected()
114176
findItem(R.id.cab_set_as).isVisible = isOneFileSelected()
115-
findItem(R.id.cab_create_shortcut).isVisible = isOreoPlus() && isOneItemSelected()
177+
findItem(R.id.cab_create_shortcut).isVisible = isOneItemSelected()
116178

117179
checkHideBtnVisibility(this)
118180
}

app/src/main/kotlin/org/fossify/filemanager/dialogs/ManageVisibleTabsDialog.kt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
package org.fossify.filemanager.dialogs
22

33
import org.fossify.commons.activities.BaseSimpleActivity
4-
import org.fossify.commons.extensions.beGone
54
import org.fossify.commons.extensions.getAlertDialogBuilder
65
import org.fossify.commons.extensions.setupDialogStuff
76
import org.fossify.commons.helpers.TAB_FILES
87
import org.fossify.commons.helpers.TAB_RECENT_FILES
98
import org.fossify.commons.helpers.TAB_STORAGE_ANALYSIS
10-
import org.fossify.commons.helpers.isOreoPlus
119
import org.fossify.commons.views.MyAppCompatCheckbox
1210
import org.fossify.filemanager.R
1311
import org.fossify.filemanager.databinding.DialogManageVisibleTabsBinding
@@ -25,10 +23,6 @@ class ManageVisibleTabsDialog(val activity: BaseSimpleActivity) {
2523
put(TAB_STORAGE_ANALYSIS, R.id.manage_visible_tabs_storage_analysis)
2624
}
2725

28-
if (!isOreoPlus()) {
29-
binding.manageVisibleTabsStorageAnalysis.beGone()
30-
}
31-
3226
val showTabs = activity.config.showTabs
3327
for ((key, value) in tabs) {
3428
binding.root.findViewById<MyAppCompatCheckbox>(value).isChecked = showTabs and key != 0

0 commit comments

Comments
 (0)