final fix of the lyrics issue

This commit is contained in:
Kingkor Roy Tirtho 2022-03-21 00:31:36 +06:00
parent 2ec0172741
commit b4e79ce7ff
3 changed files with 9 additions and 8 deletions

View File

@ -18,7 +18,7 @@ class Lyrics extends HookConsumerWidget {
var lyrics = useState({}); var lyrics = useState({});
bool hasToken = (userPreferences.geniusAccessToken != null || bool hasToken = (userPreferences.geniusAccessToken != null ||
(userPreferences.geniusAccessToken?.isNotEmpty ?? false)); (userPreferences.geniusAccessToken.isNotEmpty));
var lyricsFuture = useMemoized(() { var lyricsFuture = useMemoized(() {
if (playback.currentTrack == null || if (playback.currentTrack == null ||
!hasToken || !hasToken ||
@ -29,7 +29,7 @@ class Lyrics extends HookConsumerWidget {
return getLyrics( return getLyrics(
playback.currentTrack!.name!, playback.currentTrack!.name!,
artistsToString<Artist>(playback.currentTrack!.artists ?? []), artistsToString<Artist>(playback.currentTrack!.artists ?? []),
apiKey: userPreferences.geniusAccessToken!, apiKey: userPreferences.geniusAccessToken,
optimizeQuery: true, optimizeQuery: true,
); );
}, [playback.currentTrack]); }, [playback.currentTrack]);

View File

@ -67,7 +67,7 @@ class Settings extends HookConsumerWidget {
SharedPreferences localStorage = SharedPreferences localStorage =
await SharedPreferences.getInstance(); await SharedPreferences.getInstance();
preferences.setGeniusAccessToken( preferences.setGeniusAccessToken(
geniusAccessToken.value); geniusAccessToken.value ?? "");
localStorage.setString( localStorage.setString(
LocalStorageKeys.geniusAccessToken, LocalStorageKeys.geniusAccessToken,
geniusAccessToken.value ?? ""); geniusAccessToken.value ?? "");

View File

@ -7,15 +7,15 @@ import 'package:shared_preferences/shared_preferences.dart';
import 'package:spotube/models/LocalStorageKeys.dart'; import 'package:spotube/models/LocalStorageKeys.dart';
class UserPreferences extends ChangeNotifier { class UserPreferences extends ChangeNotifier {
String? geniusAccessToken; String geniusAccessToken;
HotKey? nextTrackHotKey; HotKey? nextTrackHotKey;
HotKey? prevTrackHotKey; HotKey? prevTrackHotKey;
HotKey? playPauseHotKey; HotKey? playPauseHotKey;
UserPreferences({ UserPreferences({
required this.geniusAccessToken,
this.nextTrackHotKey, this.nextTrackHotKey,
this.prevTrackHotKey, this.prevTrackHotKey,
this.playPauseHotKey, this.playPauseHotKey,
this.geniusAccessToken,
}) { }) {
onInit(); onInit();
} }
@ -38,7 +38,7 @@ class UserPreferences extends ChangeNotifier {
String? accessToken = String? accessToken =
localStorage.getString(LocalStorageKeys.geniusAccessToken); localStorage.getString(LocalStorageKeys.geniusAccessToken);
geniusAccessToken ??= accessToken; if (accessToken != null) geniusAccessToken = accessToken;
nextTrackHotKey ??= (await _getHotKeyFromLocalStorage( nextTrackHotKey ??= (await _getHotKeyFromLocalStorage(
localStorage, localStorage,
@ -73,7 +73,7 @@ class UserPreferences extends ChangeNotifier {
} }
} }
setGeniusAccessToken(String? token) { setGeniusAccessToken(String token) {
geniusAccessToken = token; geniusAccessToken = token;
notifyListeners(); notifyListeners();
} }
@ -112,4 +112,5 @@ class UserPreferences extends ChangeNotifier {
} }
} }
var userPreferencesProvider = ChangeNotifierProvider((_) => UserPreferences()); var userPreferencesProvider =
ChangeNotifierProvider((_) => UserPreferences(geniusAccessToken: ""));