mirror of
https://github.com/zarzet/SpotiFLAC-Mobile.git
synced 2026-08-12 14:10:21 +02:00
feat(android13): make All Files Access optional
- Android 13+ now only requires READ_MEDIA_AUDIO by default - MANAGE_EXTERNAL_STORAGE is optional and can be enabled in Settings - Added 'All Files Access' toggle in Download Settings (Android 13+ only) - Users who encounter write errors can enable full storage access - Respects privacy-conscious users who prefer limited permissions
This commit is contained in:
@@ -35,6 +35,7 @@ class AppSettings {
|
||||
final String lossyFormat;
|
||||
final String lossyBitrate; // e.g., 'mp3_320', 'mp3_256', 'mp3_192', 'mp3_128', 'opus_128', 'opus_96', 'opus_64'
|
||||
final String lyricsMode;
|
||||
final bool useAllFilesAccess; // Android 13+ only: enable MANAGE_EXTERNAL_STORAGE
|
||||
|
||||
const AppSettings({
|
||||
this.defaultService = 'tidal',
|
||||
@@ -68,6 +69,7 @@ class AppSettings {
|
||||
this.lossyFormat = 'mp3',
|
||||
this.lossyBitrate = 'mp3_320',
|
||||
this.lyricsMode = 'embed',
|
||||
this.useAllFilesAccess = false,
|
||||
});
|
||||
|
||||
AppSettings copyWith({
|
||||
@@ -103,6 +105,7 @@ class AppSettings {
|
||||
String? lossyFormat,
|
||||
String? lossyBitrate,
|
||||
String? lyricsMode,
|
||||
bool? useAllFilesAccess,
|
||||
}) {
|
||||
return AppSettings(
|
||||
defaultService: defaultService ?? this.defaultService,
|
||||
@@ -136,6 +139,7 @@ class AppSettings {
|
||||
lossyFormat: lossyFormat ?? this.lossyFormat,
|
||||
lossyBitrate: lossyBitrate ?? this.lossyBitrate,
|
||||
lyricsMode: lyricsMode ?? this.lyricsMode,
|
||||
useAllFilesAccess: useAllFilesAccess ?? this.useAllFilesAccess,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -40,6 +40,7 @@ AppSettings _$AppSettingsFromJson(Map<String, dynamic> json) => AppSettings(
|
||||
lossyFormat: json['lossyFormat'] as String? ?? 'mp3',
|
||||
lossyBitrate: json['lossyBitrate'] as String? ?? 'mp3_320',
|
||||
lyricsMode: json['lyricsMode'] as String? ?? 'embed',
|
||||
useAllFilesAccess: json['useAllFilesAccess'] as bool? ?? false,
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$AppSettingsToJson(AppSettings instance) =>
|
||||
@@ -75,4 +76,5 @@ Map<String, dynamic> _$AppSettingsToJson(AppSettings instance) =>
|
||||
'lossyFormat': instance.lossyFormat,
|
||||
'lossyBitrate': instance.lossyBitrate,
|
||||
'lyricsMode': instance.lyricsMode,
|
||||
'useAllFilesAccess': instance.useAllFilesAccess,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user