mirror of
https://github.com/zarzet/SpotiFLAC-Mobile.git
synced 2026-09-30 13:19:44 +02:00
v3.7.0: roll back from v4, remove internal player — v3 is already complete
Version rolled back from v4.x to v3.7.0. After extensive work on v4's internal streaming engine, smart queue, DASH pipeline, and media controls, we realized v3 was already feature-complete. Adding more big features only made maintenance increasingly difficult and the developer's life miserable. Stripped back to what works: external player only, cleaner codebase, sustainable long-term. - Remove just_audio, audio_service, audio_session and entire internal playback engine (smart queue, notification, shuffle/repeat, prefetch) - Remove PlaybackItem model, MiniPlayerBar widget, notification drawables - Remove playerMode setting (external-only now) - Migrate MainActivity from AudioServiceFragmentActivity to FlutterFragmentActivity - Migrate Qobuz to MusicDL API - Update changelog with v3.7.0 rollback explanation
This commit is contained in:
1 parent
4747119a7f
commit
98abaf6635
56 files changed
+687
-10106
No files matched your search
@@ -142,6 +142,10 @@ class PlatformBridge {
|
||||
});
|
||||
}
|
||||
|
||||
static Future<void> exitApp() async {
|
||||
await _channel.invokeMethod('exitApp');
|
||||
}
|
||||
|
||||
static Future<void> initItemProgress(String itemId) async {
|
||||
await _channel.invokeMethod('initItemProgress', {'item_id': itemId});
|
||||
}
|
||||
|
||||
@@ -74,6 +74,13 @@ class UpdateChecker {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Ignore releases from a different major version (e.g. v4.x when we
|
||||
// rolled back to v3.x). Only offer updates within the same major line.
|
||||
if (_majorVersion(latestVersion) != _majorVersion(AppInfo.version)) {
|
||||
_log.i('Skipping update from different major version (current: ${AppInfo.version}, latest: $latestVersion)');
|
||||
return null;
|
||||
}
|
||||
|
||||
final body = releaseData['body'] as String? ?? 'No changelog available';
|
||||
final htmlUrl = releaseData['html_url'] as String? ?? '${AppInfo.githubUrl}/releases';
|
||||
final publishedAt = DateTime.tryParse(releaseData['published_at'] as String? ?? '') ?? DateTime.now();
|
||||
@@ -118,6 +125,14 @@ class UpdateChecker {
|
||||
}
|
||||
}
|
||||
|
||||
static int _majorVersion(String version) {
|
||||
try {
|
||||
return int.parse(version.split('-').first.split('.').first);
|
||||
} catch (_) {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static bool _isNewerVersion(String latest, String current) {
|
||||
try {
|
||||
final latestBase = latest.split('-').first;
|
||||
|
||||
Reference in new issue
Block a user