Skip to content

Commit 3e75c3c

Browse files
authored
chore(Linux): use cachehome for temp images (#113)
1 parent 55a0876 commit 3e75c3c

File tree

3 files changed

+18
-7
lines changed

3 files changed

+18
-7
lines changed

lib/player/data/local_media.dart

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ import 'package:collection/collection.dart';
66
import 'package:path/path.dart' as p;
77
import 'package:path/path.dart';
88
import 'package:path_provider/path_provider.dart';
9+
import 'package:xdg_directories/xdg_directories.dart';
910

11+
import '../../app/app_config.dart';
1012
import '../../common/platforms.dart';
1113
import '../../extensions/media_file_x.dart';
1214
import 'unique_media.dart';
@@ -106,9 +108,11 @@ class LocalMedia extends UniqueMedia {
106108
required String key,
107109
required Uint8List imageData,
108110
}) async {
109-
final workingDir = await getTemporaryDirectory();
111+
final tempDir = Platforms.isLinux
112+
? cacheHome.path
113+
: (await getTemporaryDirectory()).path;
110114

111-
final imagesDir = p.join(workingDir.path, 'images');
115+
final imagesDir = p.join(tempDir, '${AppConfig.appName}_temp_images');
112116

113117
if (!(await Directory(imagesDir).exists())) {
114118
await Directory(imagesDir).create();

lib/player/data/station_media.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class StationMedia extends UniqueMedia {
1717
String get id => station.stationUUID;
1818

1919
@override
20-
String? get title => station.name;
20+
String? get title => station.name.trim();
2121

2222
static StationMedia fromStation(Station station) {
2323
final media = StationMedia(

lib/radio/view/radio_browser.dart

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import 'package:watch_it/watch_it.dart';
55
import 'package:yaru/yaru.dart';
66

77
import '../../common/view/build_context_x.dart';
8+
import '../../common/view/common_widgets.dart';
89
import '../../common/view/theme.dart';
910
import '../../common/view/ui_constants.dart';
1011
import '../../l10n/l10n.dart';
@@ -90,7 +91,9 @@ class _RadioBrowserState extends State<RadioBrowser> with PlayerControlMixin {
9091
if (_debounce?.isActive ?? false) _debounce!.cancel();
9192
_debounce = Timer(const Duration(milliseconds: 500), () {
9293
setState(() {
93-
_future = _loadMedia(name: value.isEmpty ? null : value);
94+
_future = value.isEmpty
95+
? Future.value([])
96+
: _loadMedia(name: value.isEmpty ? null : value);
9497
});
9598
});
9699
},
@@ -115,14 +118,18 @@ class _RadioBrowserState extends State<RadioBrowser> with PlayerControlMixin {
115118
],
116119
),
117120
);
118-
} else if (!snapshot.hasData) {
119-
return const Center(child: CircularProgressIndicator());
121+
}
122+
123+
if (snapshot.connectionState != ConnectionState.done) {
124+
return const Center(child: Progress());
120125
}
121126

122127
if (snapshot.data!.isEmpty) {
123128
return Center(
124129
child: Text(
125-
context.l10n.nothingFound,
130+
_searchController.text.isEmpty
131+
? ''
132+
: context.l10n.nothingFound,
126133
style: context.textTheme.bodyLarge,
127134
),
128135
);

0 commit comments

Comments
 (0)