From ff07b07cc6771386fbabfffaa3bcbb35afc873a3 Mon Sep 17 00:00:00 2001 From: xkeyC <3334969096@qq.com> Date: Sun, 17 Mar 2024 17:19:37 +0800 Subject: [PATCH] feat: LocalizationUIModel keep selectLang --- lib/api/analytics.dart | 5 ++--- lib/ui/home/localization/localization_ui_model.dart | 9 ++++++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/api/analytics.dart b/lib/api/analytics.dart index b5f93a2..11a1b4e 100644 --- a/lib/api/analytics.dart +++ b/lib/api/analytics.dart @@ -7,8 +7,7 @@ import 'package:starcitizen_doctor/common/utils/log.dart'; class AnalyticsApi { static touch(String key) async { - // debug 不统计 - if (kDebugMode) return; + if (kDebugMode || kProfileMode) return; dPrint("AnalyticsApi.touch === $key start"); try { final r = await RSHttp.postData( @@ -20,7 +19,7 @@ class AnalyticsApi { } } - static Future> getAnalyticsData() async { + static Future> getAnalyticsData() async { final r = await RSHttp.get("${URLConf.analyticsApiHome}/analytics"); if (r.data == null) return {}; final jsonData = json.decode(utf8.decode(r.data!)); diff --git a/lib/ui/home/localization/localization_ui_model.dart b/lib/ui/home/localization/localization_ui_model.dart index 4985531..c12d493 100644 --- a/lib/ui/home/localization/localization_ui_model.dart +++ b/lib/ui/home/localization/localization_ui_model.dart @@ -6,6 +6,7 @@ import 'package:archive/archive_io.dart'; import 'package:fluent_ui/fluent_ui.dart'; import 'package:flutter/foundation.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:hive/hive.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:starcitizen_doctor/api/analytics.dart'; import 'package:starcitizen_doctor/api/api.dart'; @@ -80,6 +81,10 @@ class LocalizationUIModel extends _$LocalizationUIModel { _customizeDirListenSub?.cancel(); _customizeDirListenSub = null; }); + final appConfBox = await Hive.openBox("app_conf"); + final lang = await appConfBox.get("localization_selectedLanguage", + defaultValue: languageSupport.keys.first); + state = state.copyWith(selectedLanguage: lang); await _loadData(); } @@ -325,9 +330,11 @@ class LocalizationUIModel extends _$LocalizationUIModel { return ref.read(homeUIModelProvider).scInstalledPath; } - void selectLang(String v) { + void selectLang(String v) async { state = state.copyWith(selectedLanguage: v); _loadData(); + final appConfBox = await Hive.openBox("app_conf"); + await appConfBox.put("localization_selectedLanguage", v); } VoidCallback? onBack(BuildContext context) {