Compare commits

...

3 Commits

Author SHA1 Message Date
zarzet 2c614f9e2f chore: bump version to 1.0.5 2026-01-01 20:54:36 +07:00
zarzet f36bee1095 feat: add GitHub links and credits to Settings 2026-01-01 20:49:12 +07:00
zarzet e4218a1894 fix: correct GobackendSetDownloadDirectory call signature for iOS 2026-01-01 20:46:08 +07:00
4 changed files with 83 additions and 8 deletions
+2 -1
View File
@@ -93,7 +93,8 @@ import Gobackend // Import Go framework
case "setDownloadDirectory":
let args = call.arguments as! [String: Any]
let path = args["path"] as! String
try GobackendSetDownloadDirectory(path)
GobackendSetDownloadDirectory(path, &error)
if let error = error { throw error }
return nil
case "checkDuplicate":
+40 -3
View File
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:file_picker/file_picker.dart';
import 'package:url_launcher/url_launcher.dart';
import 'package:spotiflac_android/providers/settings_provider.dart';
import 'package:spotiflac_android/providers/theme_provider.dart';
@@ -126,18 +127,47 @@ class SettingsScreen extends ConsumerWidget {
onChanged: (value) => ref.read(settingsProvider.notifier).setMaxQualityCover(value),
),
const Divider(),
// GitHub & Credits Section
_buildSectionHeader(context, 'GitHub & Credits', colorScheme),
ListTile(
leading: Icon(Icons.code, color: colorScheme.primary),
title: const Text('SpotiFLAC Mobile'),
subtitle: const Text('github.com/zarzet/SpotiFLAC-Mobile'),
onTap: () => _launchUrl('https://github.com/zarzet/SpotiFLAC-Mobile'),
),
ListTile(
leading: Icon(Icons.computer, color: colorScheme.primary),
title: const Text('Original SpotiFLAC (Desktop)'),
subtitle: const Text('github.com/afkarxyz/SpotiFLAC'),
onTap: () => _launchUrl('https://github.com/afkarxyz/SpotiFLAC'),
),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8),
child: Text(
'Mobile version maintained by zarzet\nOriginal project by afkarxyz',
style: Theme.of(context).textTheme.bodySmall?.copyWith(
color: colorScheme.onSurfaceVariant,
),
),
),
const Divider(),
// About
ListTile(
leading: Icon(Icons.info, color: colorScheme.primary),
title: const Text('About'),
subtitle: const Text('SpotiFLAC v1.0.3'),
subtitle: const Text('SpotiFLAC v1.0.5'),
onTap: () => showAboutDialog(
context: context,
applicationName: 'SpotiFLAC',
applicationVersion: '1.0.3',
applicationLegalese: '© 2024 SpotiFLAC',
applicationVersion: '1.0.5',
applicationLegalese: '© 2024 SpotiFLAC\n\nMobile: zarzet\nOriginal: afkarxyz',
),
),
],
@@ -423,4 +453,11 @@ class SettingsScreen extends ConsumerWidget {
ref.read(settingsProvider.notifier).setDownloadDirectory(result);
}
}
Future<void> _launchUrl(String url) async {
final uri = Uri.parse(url);
if (await canLaunchUrl(uri)) {
await launchUrl(uri, mode: LaunchMode.externalApplication);
}
}
}
+40 -3
View File
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:file_picker/file_picker.dart';
import 'package:url_launcher/url_launcher.dart';
import 'package:spotiflac_android/providers/settings_provider.dart';
import 'package:spotiflac_android/providers/theme_provider.dart';
@@ -133,18 +134,47 @@ class _SettingsTabState extends ConsumerState<SettingsTab> with AutomaticKeepAli
onChanged: (value) => ref.read(settingsProvider.notifier).setMaxQualityCover(value),
),
const Divider(),
// GitHub & Credits Section
_buildSectionHeader(context, 'GitHub & Credits', colorScheme),
ListTile(
leading: Icon(Icons.code, color: colorScheme.primary),
title: const Text('SpotiFLAC Mobile'),
subtitle: const Text('github.com/zarzet/SpotiFLAC-Mobile'),
onTap: () => _launchUrl('https://github.com/zarzet/SpotiFLAC-Mobile'),
),
ListTile(
leading: Icon(Icons.computer, color: colorScheme.primary),
title: const Text('Original SpotiFLAC (Desktop)'),
subtitle: const Text('github.com/afkarxyz/SpotiFLAC'),
onTap: () => _launchUrl('https://github.com/afkarxyz/SpotiFLAC'),
),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8),
child: Text(
'Mobile version maintained by zarzet\nOriginal project by afkarxyz',
style: Theme.of(context).textTheme.bodySmall?.copyWith(
color: colorScheme.onSurfaceVariant,
),
),
),
const Divider(),
// About
ListTile(
leading: Icon(Icons.info, color: colorScheme.primary),
title: const Text('About'),
subtitle: const Text('SpotiFLAC v1.0.3'),
subtitle: const Text('SpotiFLAC v1.0.5'),
onTap: () => showAboutDialog(
context: context,
applicationName: 'SpotiFLAC',
applicationVersion: '1.0.3',
applicationLegalese: '© 2024 SpotiFLAC',
applicationVersion: '1.0.5',
applicationLegalese: '© 2024 SpotiFLAC\n\nMobile: zarzet\nOriginal: afkarxyz',
),
),
@@ -392,4 +422,11 @@ class _SettingsTabState extends ConsumerState<SettingsTab> with AutomaticKeepAli
ref.read(settingsProvider.notifier).setDownloadDirectory(result);
}
}
Future<void> _launchUrl(String url) async {
final uri = Uri.parse(url);
if (await canLaunchUrl(uri)) {
await launchUrl(uri, mode: LaunchMode.externalApplication);
}
}
}
+1 -1
View File
@@ -1,7 +1,7 @@
name: spotiflac_android
description: Download Spotify tracks in FLAC from Tidal, Qobuz & Amazon Music
publish_to: 'none'
version: 1.0.3+4
version: 1.0.5+6
environment:
sdk: ^3.10.0