mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-13 07:55:18 +00:00
fix(android): android 13 local tracks not showing up
This commit is contained in:
parent
e7c6813ccb
commit
e3f4344ae9
@ -5,6 +5,7 @@
|
|||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||||
|
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO"/>
|
||||||
|
|
||||||
<queries>
|
<queries>
|
||||||
<!-- If your app opens https URLs -->
|
<!-- If your app opens https URLs -->
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
import 'package:catcher/catcher.dart';
|
import 'package:catcher/catcher.dart';
|
||||||
|
import 'package:device_info_plus/device_info_plus.dart';
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_hooks/flutter_hooks.dart';
|
import 'package:flutter_hooks/flutter_hooks.dart';
|
||||||
@ -169,11 +170,25 @@ class UserLocalTracks extends HookConsumerWidget {
|
|||||||
useAsyncEffect(
|
useAsyncEffect(
|
||||||
() async {
|
() async {
|
||||||
if (!kIsMobile) return;
|
if (!kIsMobile) return;
|
||||||
if (!await Permission.storage.isGranted &&
|
|
||||||
!await Permission.storage.isLimited) {
|
final androidInfo = await DeviceInfoPlugin().androidInfo;
|
||||||
|
|
||||||
|
final hasNoStoragePerm = androidInfo.version.sdkInt < 33 &&
|
||||||
|
!await Permission.storage.isGranted &&
|
||||||
|
!await Permission.storage.isLimited;
|
||||||
|
|
||||||
|
final hasNoAudioPerm = androidInfo.version.sdkInt >= 33 &&
|
||||||
|
!await Permission.audio.isGranted &&
|
||||||
|
!await Permission.audio.isLimited;
|
||||||
|
|
||||||
|
if (hasNoStoragePerm) {
|
||||||
await Permission.storage.request();
|
await Permission.storage.request();
|
||||||
if (isMounted()) ref.refresh(localTracksProvider);
|
if (isMounted()) ref.refresh(localTracksProvider);
|
||||||
}
|
}
|
||||||
|
if (hasNoAudioPerm) {
|
||||||
|
await Permission.audio.request();
|
||||||
|
if (isMounted()) ref.refresh(localTracksProvider);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
null,
|
null,
|
||||||
[],
|
[],
|
||||||
|
@ -419,13 +419,13 @@ packages:
|
|||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.0"
|
version: "1.1.0"
|
||||||
device_info_plus:
|
device_info_plus:
|
||||||
dependency: transitive
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: device_info_plus
|
name: device_info_plus
|
||||||
sha256: "9b1a0c32b2a503f8fe9f8764fac7b5fcd4f6bd35d8f49de5350bccf9e2a33b8a"
|
sha256: "86add5ef97215562d2e090535b0a16f197902b10c369c558a100e74ea06e8659"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "9.0.0"
|
version: "9.0.3"
|
||||||
device_info_plus_platform_interface:
|
device_info_plus_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -102,6 +102,7 @@ dependencies:
|
|||||||
google_fonts: ^4.0.4
|
google_fonts: ^4.0.4
|
||||||
supabase: ^1.9.9
|
supabase: ^1.9.9
|
||||||
dio: ^5.3.2
|
dio: ^5.3.2
|
||||||
|
device_info_plus: ^9.0.3
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
build_runner: ^2.3.2
|
build_runner: ^2.3.2
|
||||||
|
Loading…
Reference in New Issue
Block a user