Merge branch 'develop'
This commit is contained in:
commit
1c1be8ba1c
16 changed files with 255 additions and 17 deletions
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
|
@ -80,7 +80,7 @@ jobs:
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
- name: Upload app bundle
|
- name: Upload app bundle
|
||||||
uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 # v4.4.1
|
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
|
||||||
with:
|
with:
|
||||||
name: appbundle
|
name: appbundle
|
||||||
path: outputs/app-play-release.aab
|
path: outputs/app-play-release.aab
|
||||||
|
|
2
.github/workflows/scorecards.yml
vendored
2
.github/workflows/scorecards.yml
vendored
|
@ -63,7 +63,7 @@ jobs:
|
||||||
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
|
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
|
||||||
# format to the repository Actions tab.
|
# format to the repository Actions tab.
|
||||||
- name: "Upload artifact"
|
- name: "Upload artifact"
|
||||||
uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 # v4.4.1
|
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
|
||||||
with:
|
with:
|
||||||
name: SARIF file
|
name: SARIF file
|
||||||
path: results.sarif
|
path: results.sarif
|
||||||
|
|
|
@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
## <a id="unreleased"></a>[Unreleased]
|
## <a id="unreleased"></a>[Unreleased]
|
||||||
|
|
||||||
|
## <a id="v1.11.16"></a>[v1.11.16] - 2024-10-10
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- case-insensitive access to restricted directories
|
||||||
|
|
||||||
## <a id="v1.11.15"></a>[v1.11.15] - 2024-10-09
|
## <a id="v1.11.15"></a>[v1.11.15] - 2024-10-09
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
|
@ -8,4 +8,5 @@
|
||||||
<string name="analysis_channel_name">Pindai media</string>
|
<string name="analysis_channel_name">Pindai media</string>
|
||||||
<string name="analysis_notification_default_title">Memindai media</string>
|
<string name="analysis_notification_default_title">Memindai media</string>
|
||||||
<string name="analysis_notification_action_stop">Berhenti</string>
|
<string name="analysis_notification_action_stop">Berhenti</string>
|
||||||
|
<string name="map_shortcut_short_label">Peta</string>
|
||||||
</resources>
|
</resources>
|
|
@ -8,4 +8,5 @@
|
||||||
<string name="search_shortcut_short_label">Paieška</string>
|
<string name="search_shortcut_short_label">Paieška</string>
|
||||||
<string name="analysis_notification_action_stop">Sustabdyti</string>
|
<string name="analysis_notification_action_stop">Sustabdyti</string>
|
||||||
<string name="analysis_notification_default_title">Nuskaitoma medija</string>
|
<string name="analysis_notification_default_title">Nuskaitoma medija</string>
|
||||||
|
<string name="map_shortcut_short_label">Žemėlapis</string>
|
||||||
</resources>
|
</resources>
|
4
fastlane/metadata/android/en-US/changelogs/135.txt
Normal file
4
fastlane/metadata/android/en-US/changelogs/135.txt
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
In v1.11.16:
|
||||||
|
- enjoy new map layers
|
||||||
|
- share "geo" addresses to Aves and see your collection in that area
|
||||||
|
Full changelog available on GitHub
|
4
fastlane/metadata/android/en-US/changelogs/13501.txt
Normal file
4
fastlane/metadata/android/en-US/changelogs/13501.txt
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
In v1.11.16:
|
||||||
|
- enjoy new map layers
|
||||||
|
- share "geo" addresses to Aves and see your collection in that area
|
||||||
|
Full changelog available on GitHub
|
|
@ -1384,5 +1384,13 @@
|
||||||
"chipActionGoToExplorerPage": "Tampilkan di Explorer",
|
"chipActionGoToExplorerPage": "Tampilkan di Explorer",
|
||||||
"@chipActionGoToExplorerPage": {},
|
"@chipActionGoToExplorerPage": {},
|
||||||
"mapAttributionOsmData": "Data peta © [OpenStreetMap](https://www.openstreetmap.org/copyright) kontributor",
|
"mapAttributionOsmData": "Data peta © [OpenStreetMap](https://www.openstreetmap.org/copyright) kontributor",
|
||||||
"@mapAttributionOsmData": {}
|
"@mapAttributionOsmData": {},
|
||||||
|
"mapStyleOpenTopoMap": "OpenTopoMap",
|
||||||
|
"@mapStyleOpenTopoMap": {},
|
||||||
|
"mapAttributionOpenTopoMap": "[SRTM](https://www.earthdata.nasa.gov/sensors/srtm) | Ubin oleh [OpenTopoMap](https://opentopomap.org/), [CC BY-SA](https://creativecommons.org/licenses/by-sa/3.0/)",
|
||||||
|
"@mapAttributionOpenTopoMap": {},
|
||||||
|
"mapStyleOsmLiberty": "OSM Liberty",
|
||||||
|
"@mapStyleOsmLiberty": {},
|
||||||
|
"mapAttributionOsmLiberty": "Ubin oleh [OpenMapTiles](https://www.openmaptiles.org/), [CC BY](http://creativecommons.org/licenses/by/4.0) • Disediakan oleh [OSM Americana](https://tile.ourmap.us)",
|
||||||
|
"@mapAttributionOsmLiberty": {}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1332,5 +1332,217 @@
|
||||||
"chipActionShowCollection": "Rodyti kolekcijoje",
|
"chipActionShowCollection": "Rodyti kolekcijoje",
|
||||||
"@chipActionShowCollection": {},
|
"@chipActionShowCollection": {},
|
||||||
"mapAttributionOsmData": "Žemėlapio duomenys © [OpenStreetMap](https://www.openstreetmap.org/copyright) bendradarbiai",
|
"mapAttributionOsmData": "Žemėlapio duomenys © [OpenStreetMap](https://www.openstreetmap.org/copyright) bendradarbiai",
|
||||||
"@mapAttributionOsmData": {}
|
"@mapAttributionOsmData": {},
|
||||||
|
"filterLocatedLabel": "Lokalizuota",
|
||||||
|
"@filterLocatedLabel": {},
|
||||||
|
"aboutDataUsageSectionTitle": "Duomenų naudojimas",
|
||||||
|
"@aboutDataUsageSectionTitle": {},
|
||||||
|
"chipActionConfigureVault": "Konfigūruoti saugyklą",
|
||||||
|
"@chipActionConfigureVault": {},
|
||||||
|
"chipActionGoToPlacePage": "Rodyti Vietose",
|
||||||
|
"@chipActionGoToPlacePage": {},
|
||||||
|
"chipActionLock": "Rakinti",
|
||||||
|
"@chipActionLock": {},
|
||||||
|
"chipActionShowCountryStates": "Rodyti valstybes",
|
||||||
|
"@chipActionShowCountryStates": {},
|
||||||
|
"entryActionCast": "Transliuoti",
|
||||||
|
"@entryActionCast": {},
|
||||||
|
"saveCopyButtonLabel": "IŠSAUGOTI KOPIJĄ",
|
||||||
|
"@saveCopyButtonLabel": {},
|
||||||
|
"applyTooltip": "Taikyti",
|
||||||
|
"@applyTooltip": {},
|
||||||
|
"editorActionTransform": "Transformuoti",
|
||||||
|
"@editorActionTransform": {},
|
||||||
|
"editorTransformCrop": "Apkirpti",
|
||||||
|
"@editorTransformCrop": {},
|
||||||
|
"editorTransformRotate": "Pasukti",
|
||||||
|
"@editorTransformRotate": {},
|
||||||
|
"cropAspectRatioFree": "Laisvai",
|
||||||
|
"@cropAspectRatioFree": {},
|
||||||
|
"cropAspectRatioOriginal": "Originalas",
|
||||||
|
"@cropAspectRatioOriginal": {},
|
||||||
|
"widgetTapUpdateWidget": "Atnaujinti valdiklį",
|
||||||
|
"@widgetTapUpdateWidget": {},
|
||||||
|
"passwordDialogEnter": "Įveskite slaptažodį",
|
||||||
|
"@passwordDialogEnter": {},
|
||||||
|
"settingsAccessibilityShowPinchGestureAlternatives": "Rodyti kelių palietimų gestų alternatyvas",
|
||||||
|
"@settingsAccessibilityShowPinchGestureAlternatives": {},
|
||||||
|
"chipActionCreateVault": "Kurti saugyklą",
|
||||||
|
"@chipActionCreateVault": {},
|
||||||
|
"filterTaggedLabel": "Pažymėti",
|
||||||
|
"@filterTaggedLabel": {},
|
||||||
|
"configureVaultDialogTitle": "Konfigūruoti saugyklą",
|
||||||
|
"@configureVaultDialogTitle": {},
|
||||||
|
"settingsVideoPlaybackTile": "Atkūrimas",
|
||||||
|
"@settingsVideoPlaybackTile": {},
|
||||||
|
"vaultDialogLockTypeLabel": "Užrakto tipas",
|
||||||
|
"@vaultDialogLockTypeLabel": {},
|
||||||
|
"aboutDataUsageData": "Duomenys",
|
||||||
|
"@aboutDataUsageData": {},
|
||||||
|
"vaultDialogLockModeWhenScreenOff": "Užrakinti kai ekranas išsijungia",
|
||||||
|
"@vaultDialogLockModeWhenScreenOff": {},
|
||||||
|
"pinDialogConfirm": "Konfigūruoti PIN",
|
||||||
|
"@pinDialogConfirm": {},
|
||||||
|
"patternDialogEnter": "Įveskite paveikslą",
|
||||||
|
"@patternDialogEnter": {},
|
||||||
|
"pinDialogEnter": "Įveskite PIN",
|
||||||
|
"@pinDialogEnter": {},
|
||||||
|
"passwordDialogConfirm": "Patvirtinti slaptažodį",
|
||||||
|
"@passwordDialogConfirm": {},
|
||||||
|
"renameProcessorHash": "Maiša",
|
||||||
|
"@renameProcessorHash": {},
|
||||||
|
"aboutDataUsageInternal": "Vidaus",
|
||||||
|
"@aboutDataUsageInternal": {},
|
||||||
|
"aboutDataUsageCache": "Talpykla",
|
||||||
|
"@aboutDataUsageCache": {},
|
||||||
|
"sortByDuration": "Pagal trukmę",
|
||||||
|
"@sortByDuration": {},
|
||||||
|
"sortOrderShortestFirst": "Trumpiausi pirmiausiai",
|
||||||
|
"@sortOrderShortestFirst": {},
|
||||||
|
"selectStorageVolumeDialogTitle": "Pasirinkti saugyklą",
|
||||||
|
"@selectStorageVolumeDialogTitle": {},
|
||||||
|
"searchStatesSectionTitle": "Valstybės",
|
||||||
|
"@searchStatesSectionTitle": {},
|
||||||
|
"settingsVideoGestureVerticalDragBrightnessVolume": "Braukite į viršų ar apačią kad keisti šviesumą/garsumą",
|
||||||
|
"@settingsVideoGestureVerticalDragBrightnessVolume": {},
|
||||||
|
"settingsDisablingBinWarningDialogMessage": "Daiktai šiukšlių dėžėje bus ištrinti visam laikui.",
|
||||||
|
"@settingsDisablingBinWarningDialogMessage": {},
|
||||||
|
"settingsDisplayUseTvInterface": "Android TV vaizdas",
|
||||||
|
"@settingsDisplayUseTvInterface": {},
|
||||||
|
"settingsForceWesternArabicNumeralsTile": "Priversti arabų skaitmenys",
|
||||||
|
"@settingsForceWesternArabicNumeralsTile": {},
|
||||||
|
"albumTierVaults": "Seifai",
|
||||||
|
"@albumTierVaults": {},
|
||||||
|
"tooManyItemsErrorDialogMessage": "Bandykite vėl su mažiau daiktų.",
|
||||||
|
"@tooManyItemsErrorDialogMessage": {},
|
||||||
|
"castDialogTitle": "Transliavimo įrenginiai",
|
||||||
|
"@castDialogTitle": {},
|
||||||
|
"aboutDataUsageExternal": "Išorinė",
|
||||||
|
"@aboutDataUsageExternal": {},
|
||||||
|
"statePageTitle": "Valstybės",
|
||||||
|
"@statePageTitle": {},
|
||||||
|
"settingsAskEverytime": "Klausti kiekvieną kartą",
|
||||||
|
"@settingsAskEverytime": {},
|
||||||
|
"settingsCollectionBurstPatternsTile": "Burst modeliai",
|
||||||
|
"@settingsCollectionBurstPatternsTile": {},
|
||||||
|
"settingsCollectionBurstPatternsNone": "Jokio",
|
||||||
|
"@settingsCollectionBurstPatternsNone": {},
|
||||||
|
"settingsViewerShowDescription": "Rodyti aprašymą",
|
||||||
|
"@settingsViewerShowDescription": {},
|
||||||
|
"settingsVideoBackgroundMode": "Fono grojimas",
|
||||||
|
"@settingsVideoBackgroundMode": {},
|
||||||
|
"settingsVideoResumptionModeTile": "Tęsti atkūrimą",
|
||||||
|
"@settingsVideoResumptionModeTile": {},
|
||||||
|
"aboutDataUsageDatabase": "Duombazė",
|
||||||
|
"@aboutDataUsageDatabase": {},
|
||||||
|
"settingsModificationWarningDialogMessage": "Kiti nustatymai bus pakeisti.",
|
||||||
|
"@settingsModificationWarningDialogMessage": {},
|
||||||
|
"patternDialogConfirm": "Konfigūruoti paveikslą",
|
||||||
|
"@patternDialogConfirm": {},
|
||||||
|
"lengthUnitPixel": "px",
|
||||||
|
"@lengthUnitPixel": {},
|
||||||
|
"lengthUnitPercent": "%",
|
||||||
|
"@lengthUnitPercent": {},
|
||||||
|
"collectionActionSetHome": "Nustatyti kaip namus",
|
||||||
|
"@collectionActionSetHome": {},
|
||||||
|
"drawerPlacePage": "Vietos",
|
||||||
|
"@drawerPlacePage": {},
|
||||||
|
"placeEmpty": "Jokių vietų",
|
||||||
|
"@placeEmpty": {},
|
||||||
|
"settingsViewerShowHistogram": "Rodyti histogramą",
|
||||||
|
"@settingsViewerShowHistogram": {},
|
||||||
|
"settingsVideoEnablePip": "Paveikslas paveiksle",
|
||||||
|
"@settingsVideoEnablePip": {},
|
||||||
|
"settingsConfirmationVaultDataLoss": "Rodyti saugyklos duomenų praradimo ispėjimą",
|
||||||
|
"@settingsConfirmationVaultDataLoss": {},
|
||||||
|
"aboutDataUsageClearCache": "Valyti talpyklą",
|
||||||
|
"@aboutDataUsageClearCache": {},
|
||||||
|
"statsTopStatesSectionTitle": "Pagrindinės valstybės",
|
||||||
|
"@statsTopStatesSectionTitle": {},
|
||||||
|
"mapStyleOsmLiberty": "OSM Liberty",
|
||||||
|
"@mapStyleOsmLiberty": {},
|
||||||
|
"mapStyleOpenTopoMap": "OpenTopoMap",
|
||||||
|
"@mapStyleOpenTopoMap": {},
|
||||||
|
"maxBrightnessNever": "Niekada",
|
||||||
|
"@maxBrightnessNever": {},
|
||||||
|
"maxBrightnessAlways": "Visada",
|
||||||
|
"@maxBrightnessAlways": {},
|
||||||
|
"overlayHistogramNone": "Jokios",
|
||||||
|
"@overlayHistogramNone": {},
|
||||||
|
"overlayHistogramRGB": "RGB",
|
||||||
|
"@overlayHistogramRGB": {},
|
||||||
|
"overlayHistogramLuminance": "Skaistis",
|
||||||
|
"@overlayHistogramLuminance": {},
|
||||||
|
"vaultLockTypePassword": "Slaptažodis",
|
||||||
|
"@vaultLockTypePassword": {},
|
||||||
|
"videoResumptionModeNever": "Niekada",
|
||||||
|
"@videoResumptionModeNever": {},
|
||||||
|
"videoResumptionModeAlways": "Visada",
|
||||||
|
"@videoResumptionModeAlways": {},
|
||||||
|
"newVaultWarningDialogMessage": "Daiktai saugyklose yra prieinami tik šiai programėlei ir jokiom kitom.\n\nJei pašalinsite šią programą arba išvalysite jos duomenis, jūs prarasite visus šiuos daiktus.",
|
||||||
|
"@newVaultWarningDialogMessage": {},
|
||||||
|
"authenticateToConfigureVault": "Autentifikuoti, kad konfigūruoti saugyklą",
|
||||||
|
"@authenticateToConfigureVault": {},
|
||||||
|
"authenticateToUnlockVault": "Autentifikuoti, kad atrakinti saugyklą",
|
||||||
|
"@authenticateToUnlockVault": {},
|
||||||
|
"vaultBinUsageDialogMessage": "Kai kurios saugyklos naudoja šiukšlių dėžę.",
|
||||||
|
"@vaultBinUsageDialogMessage": {},
|
||||||
|
"exportEntryDialogQuality": "Kokybė",
|
||||||
|
"@exportEntryDialogQuality": {},
|
||||||
|
"sortOrderLongestFirst": "Ilgiausi pirmiausiai",
|
||||||
|
"@sortOrderLongestFirst": {},
|
||||||
|
"stateEmpty": "Jokių valstybių",
|
||||||
|
"@stateEmpty": {},
|
||||||
|
"placePageTitle": "Vietos",
|
||||||
|
"@placePageTitle": {},
|
||||||
|
"setHomeCustom": "Pritaikytas",
|
||||||
|
"@setHomeCustom": {},
|
||||||
|
"settingsVideoPlaybackPageTitle": "Atkūrimas",
|
||||||
|
"@settingsVideoPlaybackPageTitle": {},
|
||||||
|
"settingsVideoResumptionModeDialogTitle": "Tęsti atkūrimą",
|
||||||
|
"@settingsVideoResumptionModeDialogTitle": {},
|
||||||
|
"settingsVideoBackgroundModeDialogTitle": "Fono grojimas",
|
||||||
|
"@settingsVideoBackgroundModeDialogTitle": {},
|
||||||
|
"newVaultDialogTitle": "Nauja saugykla",
|
||||||
|
"@newVaultDialogTitle": {},
|
||||||
|
"exportEntryDialogWriteMetadata": "Įrašyti metainformaciją",
|
||||||
|
"@exportEntryDialogWriteMetadata": {},
|
||||||
|
"explorerActionSelectStorageVolume": "Pasirinkite saugyklą",
|
||||||
|
"@explorerActionSelectStorageVolume": {},
|
||||||
|
"stopTooltip": "Stabdyti",
|
||||||
|
"@stopTooltip": {},
|
||||||
|
"videoActionABRepeat": "A-B kartoti",
|
||||||
|
"@videoActionABRepeat": {},
|
||||||
|
"videoRepeatActionSetStart": "Nustatyti pradžią",
|
||||||
|
"@videoRepeatActionSetStart": {},
|
||||||
|
"viewerActionLock": "Užrakinti peržiūrą",
|
||||||
|
"@viewerActionLock": {},
|
||||||
|
"viewerActionUnlock": "Atrakinti peržiūrą",
|
||||||
|
"@viewerActionUnlock": {},
|
||||||
|
"cropAspectRatioSquare": "Kvadratas",
|
||||||
|
"@cropAspectRatioSquare": {},
|
||||||
|
"vaultLockTypePattern": "Piešinys",
|
||||||
|
"@vaultLockTypePattern": {},
|
||||||
|
"vaultLockTypePin": "PIN",
|
||||||
|
"@vaultLockTypePin": {},
|
||||||
|
"explorerPageTitle": "Naršyklė",
|
||||||
|
"@explorerPageTitle": {},
|
||||||
|
"settingsThumbnailShowHdrIcon": "Rodyti HDR ikoną",
|
||||||
|
"@settingsThumbnailShowHdrIcon": {},
|
||||||
|
"columnCount": "{count, plural, =1{{count} stulpelis} other{{count} stulpeliai}}",
|
||||||
|
"@columnCount": {
|
||||||
|
"placeholders": {
|
||||||
|
"count": {
|
||||||
|
"format": "decimalPattern"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chipActionGoToExplorerPage": "Rodyti Naršyklėje",
|
||||||
|
"@chipActionGoToExplorerPage": {},
|
||||||
|
"videoRepeatActionSetEnd": "Nustatyti pabaigą",
|
||||||
|
"@videoRepeatActionSetEnd": {},
|
||||||
|
"keepScreenOnVideoPlayback": "Vaizdo įrašo atkūrimo metu",
|
||||||
|
"@keepScreenOnVideoPlayback": {},
|
||||||
|
"aboutDataUsageMisc": "Įvairūs",
|
||||||
|
"@aboutDataUsageMisc": {}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1529,7 +1529,7 @@
|
||||||
"@chipActionGoToExplorerPage": {},
|
"@chipActionGoToExplorerPage": {},
|
||||||
"explorerPageTitle": "Khám phá",
|
"explorerPageTitle": "Khám phá",
|
||||||
"@explorerPageTitle": {},
|
"@explorerPageTitle": {},
|
||||||
"mapAttributionOsmData": "Dữ liệu bản đồ © [OpenStreetMap](https://www.openstreetmap.org/copyright) contributors",
|
"mapAttributionOsmData": "Dữ liệu bản đồ © [OpenStreetMap](https://www.openstreetmap.org/copyright) đóng góp",
|
||||||
"@mapAttributionOsmData": {},
|
"@mapAttributionOsmData": {},
|
||||||
"setHomeCustom": "Tùy chỉnh",
|
"setHomeCustom": "Tùy chỉnh",
|
||||||
"@setHomeCustom": {},
|
"@setHomeCustom": {},
|
||||||
|
|
|
@ -103,6 +103,7 @@ class Contributors {
|
||||||
Contributor('Leo Aaua Felix', 'g00g7el@gmail.com'),
|
Contributor('Leo Aaua Felix', 'g00g7el@gmail.com'),
|
||||||
Contributor('-J-', 'heyj0e@tuta.io'),
|
Contributor('-J-', 'heyj0e@tuta.io'),
|
||||||
Contributor('bittin1ddc447d824349b2', 'bittin@reimu.nl'),
|
Contributor('bittin1ddc447d824349b2', 'bittin@reimu.nl'),
|
||||||
|
Contributor('splice11', 'trenchedgrandpa@protonmail.com'),
|
||||||
// Contributor('Alvi Khan', 'aveenalvi@gmail.com'), // Bengali
|
// Contributor('Alvi Khan', 'aveenalvi@gmail.com'), // Bengali
|
||||||
// Contributor('Htet Oo Hlaing', 'htetoh2006@outlook.com'), // Burmese
|
// Contributor('Htet Oo Hlaing', 'htetoh2006@outlook.com'), // Burmese
|
||||||
// Contributor('Khant', 'khant@users.noreply.hosted.weblate.org'), // Burmese
|
// Contributor('Khant', 'khant@users.noreply.hosted.weblate.org'), // Burmese
|
||||||
|
|
|
@ -483,6 +483,7 @@ class Settings with ChangeNotifier, SettingsAccess, AppSettings, DisplaySettings
|
||||||
case SettingKeys.collectionBurstPatternsKey:
|
case SettingKeys.collectionBurstPatternsKey:
|
||||||
case SettingKeys.pinnedFiltersKey:
|
case SettingKeys.pinnedFiltersKey:
|
||||||
case SettingKeys.hiddenFiltersKey:
|
case SettingKeys.hiddenFiltersKey:
|
||||||
|
case SettingKeys.deactivatedHiddenFiltersKey:
|
||||||
case SettingKeys.collectionBrowsingQuickActionsKey:
|
case SettingKeys.collectionBrowsingQuickActionsKey:
|
||||||
case SettingKeys.collectionSelectionQuickActionsKey:
|
case SettingKeys.collectionSelectionQuickActionsKey:
|
||||||
case SettingKeys.viewerQuickActionsKey:
|
case SettingKeys.viewerQuickActionsKey:
|
||||||
|
|
|
@ -19,15 +19,15 @@ mixin PermissionAwareMixin {
|
||||||
Future<bool> checkStoragePermissionForAlbums(BuildContext context, Set<String> storageDirs, {Set<AvesEntry>? entries}) async {
|
Future<bool> checkStoragePermissionForAlbums(BuildContext context, Set<String> storageDirs, {Set<AvesEntry>? entries}) async {
|
||||||
final restrictedDirsLowerCase = await storageService.getRestrictedDirectoriesLowerCase();
|
final restrictedDirsLowerCase = await storageService.getRestrictedDirectoriesLowerCase();
|
||||||
while (true) {
|
while (true) {
|
||||||
final dirs = await storageService.getInaccessibleDirectories(storageDirs);
|
final inaccessibleDirs = await storageService.getInaccessibleDirectories(storageDirs);
|
||||||
|
|
||||||
final restrictedInaccessibleDirs = dirs
|
final restrictedInaccessibleDirsLowerCase = inaccessibleDirs
|
||||||
.map((dir) => dir.copyWith(
|
.map((dir) => dir.copyWith(
|
||||||
relativeDir: dir.relativeDir.toLowerCase(),
|
relativeDir: dir.relativeDir.toLowerCase(),
|
||||||
))
|
))
|
||||||
.where(restrictedDirsLowerCase.contains)
|
.where(restrictedDirsLowerCase.contains)
|
||||||
.toSet();
|
.toSet();
|
||||||
if (restrictedInaccessibleDirs.isNotEmpty) {
|
if (restrictedInaccessibleDirsLowerCase.isNotEmpty) {
|
||||||
if (entries != null && await storageService.canRequestMediaFileBulkAccess()) {
|
if (entries != null && await storageService.canRequestMediaFileBulkAccess()) {
|
||||||
// request media file access for items in restricted directories
|
// request media file access for items in restricted directories
|
||||||
final uris = <String>[], mimeTypes = <String>[];
|
final uris = <String>[], mimeTypes = <String>[];
|
||||||
|
@ -35,27 +35,27 @@ mixin PermissionAwareMixin {
|
||||||
final dirPath = entry.directory;
|
final dirPath = entry.directory;
|
||||||
if (dirPath == null) return false;
|
if (dirPath == null) return false;
|
||||||
final dir = androidFileUtils.relativeDirectoryFromPath(dirPath);
|
final dir = androidFileUtils.relativeDirectoryFromPath(dirPath);
|
||||||
return restrictedInaccessibleDirs.contains(dir?.copyWith(relativeDir: dir.relativeDir.toLowerCase()));
|
return restrictedInaccessibleDirsLowerCase.contains(dir?.copyWith(relativeDir: dir.relativeDir.toLowerCase()));
|
||||||
}).forEach((entry) {
|
}).forEach((entry) {
|
||||||
uris.add(entry.uri);
|
uris.add(entry.uri);
|
||||||
mimeTypes.add(entry.mimeType);
|
mimeTypes.add(entry.mimeType);
|
||||||
});
|
});
|
||||||
final granted = await storageService.requestMediaFileAccess(uris, mimeTypes);
|
final granted = await storageService.requestMediaFileAccess(uris, mimeTypes);
|
||||||
if (!granted) return false;
|
if (!granted) return false;
|
||||||
} else if (entries == null && await storageService.canInsertMedia(restrictedInaccessibleDirs)) {
|
} else if (entries == null && await storageService.canInsertMedia(restrictedInaccessibleDirsLowerCase)) {
|
||||||
// insertion in restricted directories
|
// insertion in restricted directories
|
||||||
} else {
|
} else {
|
||||||
// cannot proceed further
|
// cannot proceed further
|
||||||
await showRestrictedDirectoryDialog(context, restrictedInaccessibleDirs.first);
|
await showRestrictedDirectoryDialog(context, restrictedInaccessibleDirsLowerCase.first);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// clear restricted directories
|
// clear restricted directories
|
||||||
dirs.removeAll(restrictedInaccessibleDirs);
|
inaccessibleDirs.removeWhere((dir) => restrictedInaccessibleDirsLowerCase.contains(dir.copyWith(relativeDir: dir.relativeDir.toLowerCase())));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dirs.isEmpty) return true;
|
if (inaccessibleDirs.isEmpty) return true;
|
||||||
|
|
||||||
final dir = dirs.first;
|
final dir = inaccessibleDirs.first;
|
||||||
final confirmed = await showDialog<bool>(
|
final confirmed = await showDialog<bool>(
|
||||||
context: context,
|
context: context,
|
||||||
builder: (context) {
|
builder: (context) {
|
||||||
|
|
|
@ -50,7 +50,7 @@ class AppDrawer extends StatefulWidget {
|
||||||
final source = context.read<CollectionSource>();
|
final source = context.read<CollectionSource>();
|
||||||
final specialAlbums = source.rawAlbums.where((album) {
|
final specialAlbums = source.rawAlbums.where((album) {
|
||||||
final type = androidFileUtils.getAlbumType(album);
|
final type = androidFileUtils.getAlbumType(album);
|
||||||
return [AlbumType.camera, AlbumType.screenshots].contains(type);
|
return [AlbumType.camera, AlbumType.download, AlbumType.screenshots].contains(type);
|
||||||
}).toList()
|
}).toList()
|
||||||
..sort(source.compareAlbumsByName);
|
..sort(source.compareAlbumsByName);
|
||||||
return specialAlbums;
|
return specialAlbums;
|
||||||
|
|
|
@ -7,7 +7,7 @@ repository: https://github.com/deckerst/aves
|
||||||
# - play changelog: /whatsnew/whatsnew-en-US
|
# - play changelog: /whatsnew/whatsnew-en-US
|
||||||
# - izzy changelog: /fastlane/metadata/android/en-US/changelogs/XXX01.txt
|
# - izzy changelog: /fastlane/metadata/android/en-US/changelogs/XXX01.txt
|
||||||
# - libre changelog: /fastlane/metadata/android/en-US/changelogs/XXX.txt
|
# - libre changelog: /fastlane/metadata/android/en-US/changelogs/XXX.txt
|
||||||
version: 1.11.15+134
|
version: 1.11.16+135
|
||||||
publish_to: none
|
publish_to: none
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
In v1.11.15:
|
In v1.11.16:
|
||||||
- enjoy new map layers
|
- enjoy new map layers
|
||||||
- share "geo" addresses to Aves and see your collection in that area
|
- share "geo" addresses to Aves and see your collection in that area
|
||||||
Full changelog available on GitHub
|
Full changelog available on GitHub
|
Loading…
Reference in a new issue