Skip to content
This repository has been archived by the owner on Jun 23, 2024. It is now read-only.

Commit

Permalink
Use cache subfolder instead of root app folder
Browse files Browse the repository at this point in the history
  • Loading branch information
AlvaroRojas committed Apr 4, 2024
1 parent 69eb0c6 commit 75f4020
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 11 deletions.
2 changes: 1 addition & 1 deletion lib/Helpers/just_audio.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3279,7 +3279,7 @@ _ProxyHandler _proxyHandlerForUri(
}

Future<Directory> _getCacheDir() async =>
Directory(p.join((await getTemporaryDirectory()).path, 'just_audio_cache'));
Directory(p.join((await getTemporaryDirectory()).path, 'just_audio_cache','cache'));

/// Defines the algorithm for shuffling the order of a
/// [ConcatenatingAudioSource]. See [DefaultShuffleOrder] for a default
Expand Down
19 changes: 11 additions & 8 deletions lib/Screens/Settings/setting.dart
Original file line number Diff line number Diff line change
Expand Up @@ -20,31 +20,24 @@
import 'dart:io';

import 'package:device_info_plus/device_info_plus.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import 'package:hive_flutter/hive_flutter.dart';
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
import 'package:package_info_plus/package_info_plus.dart';
import 'package:path/path.dart' as path;
import 'package:path_provider/path_provider.dart';
import 'package:share_plus/share_plus.dart';
import 'package:soundal/CustomWidgets/copy_clipboard.dart';
import 'package:soundal/CustomWidgets/gradient_containers.dart';
import 'package:soundal/CustomWidgets/popup.dart';
import 'package:soundal/CustomWidgets/snackbar.dart';
import 'package:soundal/CustomWidgets/textinput_dialog.dart';
import 'package:soundal/Helpers/backup_restore.dart';
import 'package:soundal/Helpers/config.dart';
import 'package:soundal/Helpers/countrycodes.dart';
import 'package:soundal/Helpers/github.dart';
import 'package:soundal/Helpers/picker.dart';
import 'package:soundal/Screens/Home/spotify.dart' as home_screen;
import 'package:soundal/Screens/Settings/player_gradient.dart';
import 'package:soundal/Screens/Top Charts/top.dart' as top_screen;
import 'package:soundal/Services/ext_storage_provider.dart';
import 'package:soundal/main.dart';
import 'package:url_launcher/url_launcher.dart';

class SettingPage extends StatefulWidget {
final Function? callback;
Expand Down Expand Up @@ -1320,6 +1313,7 @@ class _SettingPageState extends State<SettingPage>
BuildContext context,
AsyncSnapshot<int> snapshot,
) {
//TODO:add cache songs size
if (snapshot.connectionState ==
ConnectionState.done) {
return Text(
Expand All @@ -1334,7 +1328,16 @@ class _SettingPageState extends State<SettingPage>
dense: true,
isThreeLine: true,
onTap: () async {
//TODO: clear all cached songs
Hive.box('cache').clear();
for (final file in Directory(path.joinAll([
MyApp.temporaryPath,
'just_audio_cache',
'remote',
'cache'
])).listSync()) {
await file.delete(recursive: true);
}
setState(
() {},
);
Expand Down
8 changes: 6 additions & 2 deletions lib/Services/audio_service.dart
Original file line number Diff line number Diff line change
Expand Up @@ -393,6 +393,7 @@ class AudioPlayerHandlerImpl extends BaseAudioHandler
AudioSource.uri(Uri.file(mediaItem.extras!['url'].toString()));
} else {
if (downloadsBox.containsKey(mediaItem.id) && useDown) {
//TODO: Add search in the cache folder to also use cached songs not only downloads
audioSource = AudioSource.uri(
Uri.file(
(downloadsBox.get(mediaItem.id) as Map)['path'].toString(),
Expand Down Expand Up @@ -434,6 +435,7 @@ class AudioPlayerHandlerImpl extends BaseAudioHandler
MyApp.temporaryPath,
'just_audio_cache',
'remote',
'cache',
'${sha256.convert(
utf8.encode(
mediaItem.id,
Expand Down Expand Up @@ -469,6 +471,7 @@ class AudioPlayerHandlerImpl extends BaseAudioHandler
MyApp.temporaryPath,
'just_audio_cache',
'remote',
'cache',
'${sha256.convert(
utf8.encode(
mediaItem.id,
Expand Down Expand Up @@ -500,6 +503,7 @@ class AudioPlayerHandlerImpl extends BaseAudioHandler
MyApp.temporaryPath,
'just_audio_cache',
'remote',
'cache',
'${sha256.convert(
utf8.encode(
mediaItem.id,
Expand Down Expand Up @@ -1033,7 +1037,7 @@ class AudioPlayerHandlerImpl extends BaseAudioHandler
shuffleModeEnabled: _player!.shuffleModeEnabled,
);

if (queueIndex != null && queue.value.isNotEmpty) {
/*if (queueIndex != null && queue.value.isNotEmpty) {
final cacheFile = File(
path.joinAll([
MyApp.temporaryPath,
Expand Down Expand Up @@ -1125,6 +1129,6 @@ class AudioPlayerHandlerImpl extends BaseAudioHandler
/*If exception means player was not open so we don't care*/
}
}
}
}*/
}
}

0 comments on commit 75f4020

Please sign in to comment.