Skip to content

Commit 4d241bb

Browse files
authored
Merge branch 'main' into nested-folders-102
2 parents 488ee0c + 0d36078 commit 4d241bb

42 files changed

Lines changed: 434 additions & 235 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.fossify/release-marker.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
# Auto-generated file. DO NOT EDIT.
2-
1.3.0
2+
1.5.0

.github/workflows/testing-build.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@ name: Testing build (on PR)
22

33
on:
44
pull_request:
5-
branches: [ main ]
6-
types: [ labeled, opened, synchronize, reopened ]
5+
branches: [main]
6+
types: [labeled, opened, synchronize, reopened]
77

88
jobs:
99
call-testing-build-workflow:
1010
uses: FossifyOrg/.github/.github/workflows/testing-build.yml@main
11+
secrets: inherit
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
name: Update Fossify Commons
2+
3+
on:
4+
repository_dispatch:
5+
types: [update-commons]
6+
workflow_dispatch:
7+
schedule:
8+
- cron: "0 6 * * 0"
9+
10+
jobs:
11+
update-commons:
12+
uses: FossifyOrg/.github/.github/workflows/update-commons.yml@main
13+
secrets: inherit

.github/workflows/update-lint-baselines.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
name: Update lint baselines
22

33
on:
4+
repository_dispatch:
5+
types: [update-lint-baselines]
46
workflow_dispatch:
57
schedule:
68
- cron: "0 0 1 * *"

CHANGELOG.md

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## [Unreleased]
88
### Fixed
9-
- Fixed files from hidden folders showing up in storage tab browser ([#217])
109
- Fixed cleanup after moving nested folders ([#102])
1110

11+
## [1.5.0] - 2025-12-16
12+
### Changed
13+
- Updated translations
14+
15+
### Fixed
16+
- Fixed an issue where existing files were overwritten when saving new files ([#131])
17+
18+
## [1.4.0] - 2025-10-29
19+
### Changed
20+
- Compatibility updates for Android 15 & 16
21+
- Updated translations
22+
23+
### Fixed
24+
- Fixed duplicated entries when viewing protected ZIP files ([#76])
25+
26+
## [1.3.1] - 2025-10-02
27+
### Changed
28+
- Updated translations
29+
30+
### Fixed
31+
- Fixed files from hidden folders showing up in storage tab browser ([#217])
32+
- Fixed an issue where existing files were overwritten when saving new files ([#131])
33+
34+
1235
## [1.3.0] - 2025-09-30
1336
### Added
1437
- Added a separate "Save as" option in the text editor ([#224])
@@ -81,13 +104,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
81104

82105
[#27]: https://github.com/FossifyOrg/File-Manager/issues/27
83106
[#37]: https://github.com/FossifyOrg/File-Manager/issues/37
107+
[#76]: https://github.com/FossifyOrg/File-Manager/issues/76
84108
[#80]: https://github.com/FossifyOrg/File-Manager/issues/80
85109
[#85]: https://github.com/FossifyOrg/File-Manager/issues/85
86110
[#95]: https://github.com/FossifyOrg/File-Manager/issues/95
111+
[#102]: https://github.com/FossifyOrg/File-Manager/issues/102
87112
[#104]: https://github.com/FossifyOrg/File-Manager/issues/104
88113
[#105]: https://github.com/FossifyOrg/File-Manager/issues/105
89114
[#106]: https://github.com/FossifyOrg/File-Manager/issues/106
90115
[#120]: https://github.com/FossifyOrg/File-Manager/issues/120
116+
[#131]: https://github.com/FossifyOrg/File-Manager/issues/131
91117
[#136]: https://github.com/FossifyOrg/File-Manager/issues/136
92118
[#149]: https://github.com/FossifyOrg/File-Manager/issues/149
93119
[#150]: https://github.com/FossifyOrg/File-Manager/issues/150
@@ -97,9 +123,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
97123
[#250]: https://github.com/FossifyOrg/File-Manager/issues/250
98124
[#251]: https://github.com/FossifyOrg/File-Manager/issues/251
99125
[#267]: https://github.com/FossifyOrg/File-Manager/issues/267
100-
[#102]: https://github.com/FossifyOrg/File-Manager/issues/102
101126

102-
[Unreleased]: https://github.com/FossifyOrg/File-Manager/compare/1.3.0...HEAD
127+
[Unreleased]: https://github.com/FossifyOrg/File-Manager/compare/1.5.0...HEAD
128+
[1.5.0]: https://github.com/FossifyOrg/File-Manager/compare/1.4.0...1.5.0
129+
[1.4.0]: https://github.com/FossifyOrg/File-Manager/compare/1.3.1...1.4.0
130+
[1.3.1]: https://github.com/FossifyOrg/File-Manager/compare/1.3.0...1.3.1
103131
[1.3.0]: https://github.com/FossifyOrg/File-Manager/compare/1.2.3...1.3.0
104132
[1.2.3]: https://github.com/FossifyOrg/File-Manager/compare/1.2.2...1.2.3
105133
[1.2.2]: https://github.com/FossifyOrg/File-Manager/compare/1.2.0...1.2.2

Gemfile.lock

Lines changed: 32 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,40 @@
11
GEM
22
remote: https://rubygems.org/
33
specs:
4-
CFPropertyList (3.0.7)
5-
base64
6-
nkf
7-
rexml
4+
CFPropertyList (3.0.8)
85
abbrev (0.1.2)
9-
addressable (2.8.7)
10-
public_suffix (>= 2.0.2, < 7.0)
6+
addressable (2.8.8)
7+
public_suffix (>= 2.0.2, < 8.0)
118
artifactory (3.0.17)
129
atomos (0.1.3)
1310
aws-eventstream (1.4.0)
14-
aws-partitions (1.1116.0)
15-
aws-sdk-core (3.225.2)
11+
aws-partitions (1.1196.0)
12+
aws-sdk-core (3.240.0)
1613
aws-eventstream (~> 1, >= 1.3.0)
1714
aws-partitions (~> 1, >= 1.992.0)
1815
aws-sigv4 (~> 1.9)
1916
base64
17+
bigdecimal
2018
jmespath (~> 1, >= 1.6.1)
2119
logger
22-
aws-sdk-kms (1.105.0)
23-
aws-sdk-core (~> 3, >= 3.225.0)
20+
aws-sdk-kms (1.118.0)
21+
aws-sdk-core (~> 3, >= 3.239.1)
2422
aws-sigv4 (~> 1.5)
25-
aws-sdk-s3 (1.189.1)
26-
aws-sdk-core (~> 3, >= 3.225.0)
23+
aws-sdk-s3 (1.208.0)
24+
aws-sdk-core (~> 3, >= 3.234.0)
2725
aws-sdk-kms (~> 1)
2826
aws-sigv4 (~> 1.5)
2927
aws-sigv4 (1.12.1)
3028
aws-eventstream (~> 1, >= 1.0.2)
3129
babosa (1.0.4)
32-
base64 (0.3.0)
30+
base64 (0.2.0)
31+
bigdecimal (4.0.1)
3332
claide (1.1.0)
3433
colored (1.2)
3534
colored2 (3.1.2)
3635
commander (4.6.0)
3736
highline (~> 2.0.0)
37+
csv (3.3.5)
3838
declarative (0.0.20)
3939
digest-crc (0.7.0)
4040
rake (>= 12.0.0, < 14.0.0)
@@ -54,14 +54,14 @@ GEM
5454
faraday-rack (~> 1.0)
5555
faraday-retry (~> 1.0)
5656
ruby2_keywords (>= 0.0.4)
57-
faraday-cookie_jar (0.0.7)
57+
faraday-cookie_jar (0.0.8)
5858
faraday (>= 0.8.0)
59-
http-cookie (~> 1.0.0)
59+
http-cookie (>= 1.0.0)
6060
faraday-em_http (1.0.0)
61-
faraday-em_synchrony (1.0.0)
61+
faraday-em_synchrony (1.0.1)
6262
faraday-excon (1.1.0)
6363
faraday-httpclient (1.0.1)
64-
faraday-multipart (1.1.0)
64+
faraday-multipart (1.1.1)
6565
multipart-post (~> 2.0)
6666
faraday-net_http (1.0.2)
6767
faraday-net_http_persistent (1.2.0)
@@ -71,15 +71,18 @@ GEM
7171
faraday_middleware (1.2.1)
7272
faraday (~> 1.0)
7373
fastimage (2.4.0)
74-
fastlane (2.228.0)
74+
fastlane (2.229.1)
7575
CFPropertyList (>= 2.3, < 4.0.0)
76+
abbrev (~> 0.1.2)
7677
addressable (>= 2.8, < 3.0.0)
7778
artifactory (~> 3.0)
7879
aws-sdk-s3 (~> 1.0)
7980
babosa (>= 1.0.3, < 2.0.0)
81+
base64 (~> 0.2.0)
8082
bundler (>= 1.12.0, < 3.0.0)
8183
colored (~> 1.2)
8284
commander (~> 4.6)
85+
csv (~> 3.3)
8386
dotenv (>= 2.1.1, < 3.0.0)
8487
emoji_regex (>= 0.1, < 4.0)
8588
excon (>= 0.71.0, < 1.0.0)
@@ -99,7 +102,9 @@ GEM
99102
jwt (>= 2.1.0, < 3)
100103
mini_magick (>= 4.9.4, < 5.0.0)
101104
multipart-post (>= 2.0.0, < 3.0.0)
105+
mutex_m (~> 0.3.0)
102106
naturally (~> 2.2)
107+
nkf (~> 0.2.0)
103108
optparse (>= 0.1.1, < 1.0.0)
104109
plist (>= 3.1.0, < 4.0.0)
105110
rubyzip (>= 2.0.0, < 3.0.0)
@@ -160,37 +165,37 @@ GEM
160165
httpclient (2.9.0)
161166
mutex_m
162167
jmespath (1.6.2)
163-
json (2.12.2)
164-
jwt (2.10.1)
168+
json (2.17.1)
169+
jwt (2.10.2)
165170
base64
166171
logger (1.7.0)
167172
mini_magick (4.13.2)
168173
mini_mime (1.1.5)
169-
multi_json (1.15.0)
174+
multi_json (1.18.0)
170175
multipart-post (2.4.1)
171176
mutex_m (0.3.0)
172177
nanaimo (0.4.0)
173178
naturally (2.3.0)
174179
nkf (0.2.0)
175-
optparse (0.6.0)
180+
optparse (0.8.0)
176181
os (1.1.4)
177182
plist (3.7.2)
178-
public_suffix (6.0.2)
179-
rake (13.3.0)
183+
public_suffix (7.0.0)
184+
rake (13.3.1)
180185
representable (3.2.0)
181186
declarative (< 0.1.0)
182187
trailblazer-option (>= 0.1.1, < 0.2.0)
183188
uber (< 0.2.0)
184189
retriable (3.1.2)
185-
rexml (3.4.2)
190+
rexml (3.4.4)
186191
rouge (3.28.0)
187192
ruby2_keywords (0.0.5)
188193
rubyzip (2.4.1)
189194
security (0.1.5)
190-
signet (0.20.0)
195+
signet (0.21.0)
191196
addressable (~> 2.8)
192197
faraday (>= 0.17.5, < 3.a)
193-
jwt (>= 1.5, < 3.0)
198+
jwt (>= 1.5, < 4.0)
194199
multi_json (~> 1.10)
195200
simctl (1.6.10)
196201
CFPropertyList

app/detekt-baseline.xml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,10 @@
5252
<ID>MaxLineLength:CompressAsDialog.kt$CompressAsDialog$val indexOfDot = if (filename.contains('.') &amp;&amp; !activity.getIsPathDirectory(path)) filename.lastIndexOf(".") else filename.length</ID>
5353
<ID>MaxLineLength:Config.kt$Config$set(wasStorageAnalysisTabAdded) = prefs.edit().putBoolean(WAS_STORAGE_ANALYSIS_TAB_ADDED, wasStorageAnalysisTabAdded).apply()</ID>
5454
<ID>MaxLineLength:Context.kt$fun Context.isPathOnRoot(path: String)</ID>
55-
<ID>MaxLineLength:DecompressActivity.kt$DecompressActivity$updateMaterialActivityViews(decompressCoordinator, decompressList, useTransparentNavigation = true, useTopSearchMenu = false)</ID>
5655
<ID>MaxLineLength:DecompressItemsAdapter.kt$DecompressItemsAdapter$class</ID>
5756
<ID>MaxLineLength:DecompressItemsAdapter.kt$DecompressItemsAdapter$val drawable = fileDrawables.getOrElse(fileName.substringAfterLast(".").lowercase(Locale.getDefault()), { fileDrawable })</ID>
5857
<ID>MaxLineLength:FavoritesActivity.kt$FavoritesActivity$FilePickerDialog</ID>
5958
<ID>MaxLineLength:FavoritesActivity.kt$FavoritesActivity$ManageFavoritesAdapter(this@FavoritesActivity, favorites, this@FavoritesActivity, manageFavoritesList) { }</ID>
60-
<ID>MaxLineLength:FavoritesActivity.kt$FavoritesActivity$updateMaterialActivityViews(manageFavoritesCoordinator, manageFavoritesList, useTransparentNavigation = true, useTopSearchMenu = false)</ID>
6159
<ID>MaxLineLength:ItemsAdapter.kt$ItemsAdapter$}</ID>
6260
<ID>MaxLineLength:ItemsFragment.kt$ItemsFragment$ItemsAdapter</ID>
6361
<ID>MaxLineLength:ItemsFragment.kt$ItemsFragment$class</ID>
@@ -81,17 +79,14 @@
8179
<ID>MaxLineLength:MainActivity.kt$MainActivity$if</ID>
8280
<ID>MaxLineLength:MainActivity.kt$MainActivity$private fun getInactiveTabIndexes(activeIndex: Int)</ID>
8381
<ID>MaxLineLength:MainActivity.kt$MainActivity$resultIntent.flags = Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION or Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION</ID>
84-
<ID>MaxLineLength:MainActivity.kt$MainActivity$updateMaterialActivityViews(binding.mainCoordinator, null, useTransparentNavigation = false, useTopSearchMenu = true)</ID>
8582
<ID>MaxLineLength:MainActivity.kt$MainActivity$val licenses = LICENSE_GLIDE or LICENSE_PATTERN or LICENSE_REPRINT or LICENSE_GESTURE_VIEWS or LICENSE_AUTOFITTEXTVIEW or LICENSE_ZIP4J</ID>
8683
<ID>MaxLineLength:MimeTypesActivity.kt$MimeTypesActivity$!extraAudioMimeTypes.contains(fullMimetype)</ID>
8784
<ID>MaxLineLength:MimeTypesActivity.kt$MimeTypesActivity$if</ID>
88-
<ID>MaxLineLength:MimeTypesActivity.kt$MimeTypesActivity$updateMaterialActivityViews(mimetypesCoordinator, mimetypesList, useTransparentNavigation = true, useTopSearchMenu = false)</ID>
8985
<ID>MaxLineLength:MimeTypesActivity.kt$MimeTypesActivity$val fullMimetype = cursor.getStringValue(MediaStore.Files.FileColumns.MIME_TYPE)?.lowercase(Locale.getDefault()) ?: return@queryCursor</ID>
9086
<ID>MaxLineLength:MyViewPagerFragment.kt$MyViewPagerFragment$abstract</ID>
9187
<ID>MaxLineLength:MyViewPagerFragment.kt$MyViewPagerFragment$val fabIcon = context.resources.getColoredDrawableWithColor(iconId, context.getProperPrimaryColor().getContrastColor())</ID>
9288
<ID>MaxLineLength:ReadTextActivity.kt$ReadTextActivity$if</ID>
9389
<ID>MaxLineLength:ReadTextActivity.kt$ReadTextActivity$private</ID>
94-
<ID>MaxLineLength:ReadTextActivity.kt$ReadTextActivity$updateMaterialActivityViews(readTextCoordinator, readTextView, useTransparentNavigation = true, useTopSearchMenu = false)</ID>
9590
<ID>MaxLineLength:RecentsFragment.kt$RecentsFragment$ItemsAdapter</ID>
9691
<ID>MaxLineLength:RecentsFragment.kt$RecentsFragment$binding.recentsSwipeRefresh.isEnabled = lastSearchedText.isEmpty() &amp;&amp; activity?.config?.enablePullToRefresh != false</ID>
9792
<ID>MaxLineLength:RecentsFragment.kt$RecentsFragment$class</ID>
@@ -101,7 +96,6 @@
10196
<ID>MaxLineLength:SaveAsActivity.kt$SaveAsActivity$FilePickerDialog</ID>
10297
<ID>MaxLineLength:SaveAsDialog.kt$SaveAsDialog$val title = String.format(activity.getString(R.string.file_already_exists_overwrite), newFilename)</ID>
10398
<ID>MaxLineLength:SettingsActivity.kt$SettingsActivity$settingsUseEnglishHolder.beVisibleIf((config.wasUseEnglishToggled || Locale.getDefault().language != "en") &amp;&amp; !isTiramisuPlus())</ID>
104-
<ID>MaxLineLength:SettingsActivity.kt$SettingsActivity$updateMaterialActivityViews(settingsCoordinator, settingsHolder, useTransparentNavigation = true, useTopSearchMenu = false)</ID>
10599
<ID>MaxLineLength:StorageFragment.kt$StorageFragment$class</ID>
106100
<ID>MaxLineLength:StorageFragment.kt$StorageFragment$mainStorageUsageProgressbar</ID>
107101
<ID>MaxLineLength:StorageFragment.kt$StorageFragment$mainStorageUsageProgressbar.progress = ((totalStorageSpace - freeStorageSpace) / SIZE_DIVIDER).toInt()</ID>
@@ -118,7 +112,7 @@
118112
<ID>NestedBlockDepth:RecentsFragment.kt$RecentsFragment$private fun getRecents(callback: (recents: ArrayList&lt;ListItem&gt;) -&gt; Unit)</ID>
119113
<ID>NestedBlockDepth:StorageFragment.kt$StorageFragment$override fun setupFragment(activity: SimpleActivity)</ID>
120114
<ID>NestedBlockDepth:StorageFragment.kt$StorageFragment$private fun getAllFiles(volumeName: String): ArrayList&lt;FileDirItem&gt;</ID>
121-
<ID>ReturnCount:ItemsAdapter.kt$ItemsAdapter$@SuppressLint("NewApi") private fun compressPaths( sourcePaths: List&lt;String&gt;, targetPath: String, password: String? = null ): Boolean</ID>
115+
<ID>ReturnCount:MainActivity.kt$MainActivity$override fun onBackPressedCompat(): Boolean</ID>
122116
<ID>SwallowedException:ItemsAdapter.kt$ItemsAdapter$e: Exception</ID>
123117
<ID>SwallowedException:MimeTypesActivity.kt$MimeTypesActivity$e: Exception</ID>
124118
<ID>SwallowedException:StorageFragment.kt$StorageFragment$e: Exception</ID>

0 commit comments

Comments
 (0)