From 4fe04bdf6a3db0cf8eed8be636ee604e216f4d87 Mon Sep 17 00:00:00 2001 From: Aigio Liu Date: Wed, 21 Jul 2021 14:45:24 +0800 Subject: [PATCH] Android localization following system --- release-template.md | 9 +- .../Extensions/ActivityExtensions.cs | 3 +- src/ST.Client.Desktop/UI/Resx/R.cs | 38 +- .../ST.Client.Mobile.Droid.App.csproj | 3 +- .../FloatingActionButtonExtensions.cs | 19 + .../Properties/ManifestConstants.cs | 2 + .../Receivers/LocaleChangedReceiver.cs | 28 + .../ST.Client.Mobile.Droid.csproj | 526 +++++++++--------- .../UI/Activities/AboutActivity.cs | 3 +- .../LocalAuthPage/AddAuthActivity.cs | 3 +- .../LocalAuthPage/AuthDetailActivity.cs | 3 +- .../LocalAuthPage/EncryptionAuthActivity.cs | 3 +- .../LocalAuthPage/ExportAuthActivity.cs | 3 +- .../LocalAuthPage/SteamAuthDataActivity.cs | 3 +- .../LocalAuthPage/SteamAuthTradeActivity.cs | 5 +- .../UI/Activities/LoginOrRegisterActivity.cs | 2 +- .../UI/Activities/MainActivity.cs | 9 +- .../UI/Activities/SplashActivity.cs | 1 + .../UI/Activities/TextBlockActivity.cs | 4 +- .../LocalAuthPage/LocalAuthFragment.cs | 4 +- 20 files changed, 355 insertions(+), 316 deletions(-) create mode 100644 src/ST.Client.Mobile.Droid/Extensions/FloatingActionButtonExtensions.cs create mode 100644 src/ST.Client.Mobile.Droid/Receivers/LocaleChangedReceiver.cs diff --git a/release-template.md b/release-template.md index 6cd28dcc2..524a50672 100644 --- a/release-template.md +++ b/release-template.md @@ -25,16 +25,19 @@ | Steam++_win_x64_v2.5.0.7z | SHA256 | | Steam++_win_x64_v2.5.0.exe | SHA256 | | Steam++_win_x64_v2.5.0.msix | SHA256 | +| | Steam++_win_arm64_v2.5.0.7z | SHA256 | | Steam++_win_arm64_v2.5.0.exe | SHA256 | | Steam++_win_arm64_v2.5.0.msix | SHA256 | +| | Steam++_linux_x64_v2.5.0.7z | SHA256 | | Steam++_linux_x64_v2.5.0.deb | SHA256 | +| | Steam++_macos_x64_v2.5.0.dmg | SHA256 | | Steam++_macos_arm64_v2.5.0.dmg | SHA256 | -| net.steampp.app-arm64-v8a-Signed.apk | SHA256 | -| net.steampp.app-armeabi-v7a-Signed.apk | SHA256 | -| net.steampp.app-x86_64-Signed.apk | SHA256 | +| +| Steam++_android_arm64_v8a_v2.5.0.apk | SHA256 | +| Steam++_android_armeabi_v7a_v2.5.0.apk | SHA256 | *** diff --git a/src/Common.ClientLib.Droid/Extensions/ActivityExtensions.cs b/src/Common.ClientLib.Droid/Extensions/ActivityExtensions.cs index adf8570a6..d60db1d7a 100644 --- a/src/Common.ClientLib.Droid/Extensions/ActivityExtensions.cs +++ b/src/Common.ClientLib.Droid/Extensions/ActivityExtensions.cs @@ -124,10 +124,11 @@ namespace System #endif - public static void SetSupportActionBarWithNavigationClick(this AppCompatActivity activity, Toolbar toolbar) + public static void SetSupportActionBarWithNavigationClick(this AppCompatActivity activity, Toolbar toolbar, bool displayHomeAsUpEnabled = false) { activity.SetSupportActionBar(toolbar); toolbar.NavigationClick += (_, _) => activity.OnBackPressed(); + if (displayHomeAsUpEnabled) activity.SupportActionBar.SetDisplayHomeAsUpEnabled(true); } /// diff --git a/src/ST.Client.Desktop/UI/Resx/R.cs b/src/ST.Client.Desktop/UI/Resx/R.cs index 772019881..d30a43923 100644 --- a/src/ST.Client.Desktop/UI/Resx/R.cs +++ b/src/ST.Client.Desktop/UI/Resx/R.cs @@ -1,13 +1,15 @@ using ReactiveUI; using System.Application.Services; +using System.Application.UI.ViewModels; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Reactive.Linq; +using AppRes = System.Application.UI.Resx.AppResources; #if __MOBILE__ -using R_Res_TYPE = System.Byte; +using Res = System.Byte; #else -using R_Res_TYPE = System.Application.UI.Resx.AppResources; +using Res = System.Application.UI.Resx.AppResources; #endif namespace System.Application.UI.Resx @@ -21,9 +23,9 @@ namespace System.Application.UI.Resx static readonly Lazy>> mFonts = new(() => IFontManager.Instance.GetFonts()); public static IReadOnlyCollection> Fonts => mFonts.Value; - public R_Res_TYPE Res { get; set; } = new(); + public Res Res { get; set; } = new(); - public static CultureInfo DefaultCurrentUICulture { get; } + public static CultureInfo DefaultCurrentUICulture { get; private set; } static R() { @@ -52,7 +54,7 @@ namespace System.Application.UI.Resx { "es", "spanish" }, { "it", "italian" }, }; - AppResources.Culture = DefaultCurrentUICulture; + AppRes.Culture = DefaultCurrentUICulture; } static bool IsMatch(CultureInfo cultureInfo, string cultureName) @@ -71,27 +73,37 @@ namespace System.Application.UI.Resx } } + public static void ChangeAutoLanguage(CultureInfo? cultureInfo = null) + { +#if !__MOBILE__ + if (!string.IsNullOrWhiteSpace(SettingsPageViewModel.Instance.SelectLanguage.Key)) return; +#endif + cultureInfo ??= CultureInfo.CurrentUICulture; + DefaultCurrentUICulture = cultureInfo; + ChangeLanguage(cultureInfo.Name); + } + /// /// 更改语言 /// /// public static void ChangeLanguage(string? cultureName) { - if (cultureName == null || IsMatch(AppResources.Culture, cultureName)) return; - AppResources.Culture = string.IsNullOrWhiteSpace(cultureName) ? + if (cultureName == null || IsMatch(AppRes.Culture, cultureName)) return; + AppRes.Culture = string.IsNullOrWhiteSpace(cultureName) ? DefaultCurrentUICulture : CultureInfo.GetCultureInfo(Languages.SingleOrDefault(x => x.Key == cultureName).Key); - CultureInfo.CurrentUICulture = AppResources.Culture; - CultureInfo.DefaultThreadCurrentUICulture = AppResources.Culture; - CultureInfo.CurrentCulture = AppResources.Culture; - CultureInfo.DefaultThreadCurrentCulture = AppResources.Culture; + CultureInfo.CurrentUICulture = AppRes.Culture; + CultureInfo.DefaultThreadCurrentUICulture = AppRes.Culture; + CultureInfo.CurrentCulture = AppRes.Culture; + CultureInfo.DefaultThreadCurrentCulture = AppRes.Culture; mAcceptLanguage = GetAcceptLanguageCore(); mLanguage = GetLanguageCore(); Current.Res = #if __MOBILE__ ++Current.Res; #else - new AppResources(); + new(); #endif Current.RaisePropertyChanged(nameof(Res)); } @@ -182,6 +194,6 @@ namespace System.Application.UI.Resx } } - public static CultureInfo Culture => AppResources.Culture ?? DefaultCurrentUICulture; + public static CultureInfo Culture => AppRes.Culture ?? DefaultCurrentUICulture; } } \ No newline at end of file diff --git a/src/ST.Client.Mobile.Droid.App/ST.Client.Mobile.Droid.App.csproj b/src/ST.Client.Mobile.Droid.App/ST.Client.Mobile.Droid.App.csproj index acdf2c520..0a5a23e67 100644 --- a/src/ST.Client.Mobile.Droid.App/ST.Client.Mobile.Droid.App.csproj +++ b/src/ST.Client.Mobile.Droid.App/ST.Client.Mobile.Droid.App.csproj @@ -59,7 +59,8 @@ true None - armeabi-v7a;x86_64;arm64-v8a + + true diff --git a/src/ST.Client.Mobile.Droid/Extensions/FloatingActionButtonExtensions.cs b/src/ST.Client.Mobile.Droid/Extensions/FloatingActionButtonExtensions.cs new file mode 100644 index 000000000..df750c2ec --- /dev/null +++ b/src/ST.Client.Mobile.Droid/Extensions/FloatingActionButtonExtensions.cs @@ -0,0 +1,19 @@ +using Com.Leinardi.Android.Speeddial; +using System.Collections.Generic; + +// ReSharper disable once CheckNamespace +namespace System +{ + public static class FloatingActionButtonExtensions + { + public static void ReplaceLabels(this IReadOnlyDictionary? speedDialDict, Func getLabel) + { + if (!speedDialDict.Any_Nullable()) return; + foreach (var x in speedDialDict!) + { + var label = getLabel(x.Key); + x.Value.SpeedDialActionItem = x.Value.SpeedDialActionItemBuilder.SetLabel(label).Create(); + } + } + } +} \ No newline at end of file diff --git a/src/ST.Client.Mobile.Droid/Properties/ManifestConstants.cs b/src/ST.Client.Mobile.Droid/Properties/ManifestConstants.cs index e78eb1cc1..6e74b261e 100644 --- a/src/ST.Client.Mobile.Droid/Properties/ManifestConstants.cs +++ b/src/ST.Client.Mobile.Droid/Properties/ManifestConstants.cs @@ -11,6 +11,8 @@ namespace System.Application ConfigChanges.Keyboard | ConfigChanges.KeyboardHidden | ConfigChanges.ScreenLayout | + ConfigChanges.Locale | + ConfigChanges.LayoutDirection | ConfigChanges.SmallestScreenSize; public const string MainTheme = "@style/MainTheme"; diff --git a/src/ST.Client.Mobile.Droid/Receivers/LocaleChangedReceiver.cs b/src/ST.Client.Mobile.Droid/Receivers/LocaleChangedReceiver.cs new file mode 100644 index 000000000..aaffefe50 --- /dev/null +++ b/src/ST.Client.Mobile.Droid/Receivers/LocaleChangedReceiver.cs @@ -0,0 +1,28 @@ +using Android.App; +using Android.Content; +using System.Application.UI.Resx; + +namespace System.Application.Receivers +{ + [BroadcastReceiver(Enabled = true, Exported = true)] + [IntentFilter(new[] { Intent.ActionLocaleChanged }, Priority = int.MaxValue)] + internal sealed class LocaleChangedReceiver : BroadcastReceiver + { + public override void OnReceive(Context? context, Intent? intent) + { + if (intent == null) return; + if (intent.Action != Intent.ActionLocaleChanged) return; + var locale = Java.Util.Locale.Default; + string name; + if (!string.IsNullOrWhiteSpace(locale.Script)) + { + name = $"{locale.Language}-{locale.Script}"; + } + else + { + name = locale.Language; + } + R.ChangeAutoLanguage(new(name)); + } + } +} \ No newline at end of file diff --git a/src/ST.Client.Mobile.Droid/ST.Client.Mobile.Droid.csproj b/src/ST.Client.Mobile.Droid/ST.Client.Mobile.Droid.csproj index c48e34f52..01ffb2885 100644 --- a/src/ST.Client.Mobile.Droid/ST.Client.Mobile.Droid.csproj +++ b/src/ST.Client.Mobile.Droid/ST.Client.Mobile.Droid.csproj @@ -192,779 +192,757 @@ - Resources\drawable\baseline_account_box_black_24.xml + Resources\drawable\baseline_account_box_black_24.xml - Resources\drawable\baseline_add_black_24.xml + Resources\drawable\baseline_add_black_24.xml - Resources\drawable\baseline_cake_black_24.xml + Resources\drawable\baseline_cake_black_24.xml - Resources\drawable\baseline_checklist_black_24.xml + Resources\drawable\baseline_checklist_black_24.xml - Resources\drawable\baseline_check_black_24.xml + Resources\drawable\baseline_check_black_24.xml - Resources\drawable\baseline_check_circle.xml + Resources\drawable\baseline_check_circle.xml - Resources\drawable\baseline_close_black_24.xml + Resources\drawable\baseline_close_black_24.xml - Resources\drawable\baseline_content_copy_black_24.xml + Resources\drawable\baseline_content_copy_black_24.xml - Resources\drawable\baseline_description_black_24.xml + Resources\drawable\baseline_description_black_24.xml - Resources\drawable\baseline_edit_black_24.xml + Resources\drawable\baseline_edit_black_24.xml - Resources\drawable\baseline_enhanced_encryption_black_24.xml + Resources\drawable\baseline_enhanced_encryption_black_24.xml - Resources\drawable\baseline_female_black_24.xml + Resources\drawable\baseline_female_black_24.xml - Resources\drawable\baseline_info_black_24.xml + Resources\drawable\baseline_info_black_24.xml - Resources\drawable\baseline_location_on_black_24.xml + Resources\drawable\baseline_location_on_black_24.xml - Resources\drawable\baseline_lock_open_black_24.xml + Resources\drawable\baseline_lock_open_black_24.xml - Resources\drawable\baseline_logout_black_24.xml + Resources\drawable\baseline_logout_black_24.xml - Resources\drawable\baseline_male_black_24.xml + Resources\drawable\baseline_male_black_24.xml - Resources\drawable\baseline_more_horiz_black_24.xml + Resources\drawable\baseline_more_horiz_black_24.xml - Resources\drawable\baseline_person_black_24.xml + Resources\drawable\baseline_person_black_24.xml - Resources\drawable\baseline_phone_android_black_24.xml + Resources\drawable\baseline_phone_android_black_24.xml - Resources\drawable\baseline_phone_black_24.xml + Resources\drawable\baseline_phone_black_24.xml - Resources\drawable\baseline_refresh_black_24.xml + Resources\drawable\baseline_refresh_black_24.xml - Resources\drawable\baseline_save_alt_black_24.xml + Resources\drawable\baseline_save_alt_black_24.xml - Resources\drawable\baseline_save_black_24.xml + Resources\drawable\baseline_save_black_24.xml - Resources\drawable\baseline_settings_black_24.xml + Resources\drawable\baseline_settings_black_24.xml - Resources\drawable\baseline_sports_esports_black_24.xml + Resources\drawable\baseline_sports_esports_black_24.xml - Resources\drawable\baseline_verified_user_black_24.xml + Resources\drawable\baseline_verified_user_black_24.xml - Resources\drawable\baseline_visibility_off_black_24.xml + Resources\drawable\baseline_visibility_off_black_24.xml - Resources\drawable\bg_textbox.xml + Resources\drawable\bg_textbox.xml - Resources\drawable\icon_apple_24.xml + Resources\drawable\icon_apple_24.xml - Resources\drawable\icon_phone_24.xml + Resources\drawable\icon_phone_24.xml - Resources\drawable\icon_qq_24.xml + Resources\drawable\icon_qq_24.xml - Resources\drawable\icon_steam_24.xml + Resources\drawable\icon_steam_24.xml - Resources\drawable\icon_xbox_24.xml + Resources\drawable\icon_xbox_24.xml - Resources\drawable\mdi_rocket_black_24.xml + Resources\drawable\mdi_rocket_black_24.xml - Resources\drawable\outline_chevron_right_black_24.xml + Resources\drawable\outline_chevron_right_black_24.xml - Resources\drawable\splash_screen.xml + Resources\drawable\splash_screen.xml - Resources\drawable\text_cursor.xml + Resources\drawable\text_cursor.xml - Resources\drawable-hdpi\avater_default.png + Resources\drawable-hdpi\avater_default.png - Resources\drawable-hdpi\baseline_account_box_black_24.png + Resources\drawable-hdpi\baseline_account_box_black_24.png - Resources\drawable-hdpi\baseline_add_black_24.png + Resources\drawable-hdpi\baseline_add_black_24.png - Resources\drawable-hdpi\baseline_cake_black_24.png + Resources\drawable-hdpi\baseline_cake_black_24.png - Resources\drawable-hdpi\baseline_checklist_black_24.png + Resources\drawable-hdpi\baseline_checklist_black_24.png - Resources\drawable-hdpi\baseline_check_black_24.png + Resources\drawable-hdpi\baseline_check_black_24.png - Resources\drawable-hdpi\baseline_close_black_24.png + Resources\drawable-hdpi\baseline_close_black_24.png - Resources\drawable-hdpi\baseline_content_copy_black_24.png + Resources\drawable-hdpi\baseline_content_copy_black_24.png - Resources\drawable-hdpi\baseline_description_black_24.png + Resources\drawable-hdpi\baseline_description_black_24.png - Resources\drawable-hdpi\baseline_edit_black_24.png + Resources\drawable-hdpi\baseline_edit_black_24.png - Resources\drawable-hdpi\baseline_enhanced_encryption_black_24.png + Resources\drawable-hdpi\baseline_enhanced_encryption_black_24.png - Resources\drawable-hdpi\baseline_female_black_24.png + Resources\drawable-hdpi\baseline_female_black_24.png - Resources\drawable-hdpi\baseline_info_black_24.png + Resources\drawable-hdpi\baseline_info_black_24.png - Resources\drawable-hdpi\baseline_location_on_black_24.png + Resources\drawable-hdpi\baseline_location_on_black_24.png - Resources\drawable-hdpi\baseline_lock_open_black_24.png + Resources\drawable-hdpi\baseline_lock_open_black_24.png - Resources\drawable-hdpi\baseline_logout_black_24.png + Resources\drawable-hdpi\baseline_logout_black_24.png - Resources\drawable-hdpi\baseline_male_black_24.png + Resources\drawable-hdpi\baseline_male_black_24.png - Resources\drawable-hdpi\baseline_more_horiz_black_24.png + Resources\drawable-hdpi\baseline_more_horiz_black_24.png - Resources\drawable-hdpi\baseline_person_black_24.png + Resources\drawable-hdpi\baseline_person_black_24.png - Resources\drawable-hdpi\baseline_phone_android_black_24.png + Resources\drawable-hdpi\baseline_phone_android_black_24.png - Resources\drawable-hdpi\baseline_phone_black_24.png + Resources\drawable-hdpi\baseline_phone_black_24.png - Resources\drawable-hdpi\baseline_refresh_black_24.png + Resources\drawable-hdpi\baseline_refresh_black_24.png - Resources\drawable-hdpi\baseline_save_alt_black_24.png + Resources\drawable-hdpi\baseline_save_alt_black_24.png - Resources\drawable-hdpi\baseline_save_black_24.png + Resources\drawable-hdpi\baseline_save_black_24.png - Resources\drawable-hdpi\baseline_settings_black_24.png + Resources\drawable-hdpi\baseline_settings_black_24.png - Resources\drawable-hdpi\baseline_sports_esports_black_24.png + Resources\drawable-hdpi\baseline_sports_esports_black_24.png - Resources\drawable-hdpi\baseline_verified_user_black_24.png + Resources\drawable-hdpi\baseline_verified_user_black_24.png - Resources\drawable-hdpi\baseline_visibility_off_black_24.png + Resources\drawable-hdpi\baseline_visibility_off_black_24.png - Resources\drawable-hdpi\outline_chevron_right_black_24.png + Resources\drawable-hdpi\outline_chevron_right_black_24.png - Resources\drawable-mdpi\avater_default.png + Resources\drawable-mdpi\avater_default.png - Resources\drawable-mdpi\baseline_account_box_black_24.png + Resources\drawable-mdpi\baseline_account_box_black_24.png - Resources\drawable-mdpi\baseline_add_black_24.png + Resources\drawable-mdpi\baseline_add_black_24.png - Resources\drawable-mdpi\baseline_cake_black_24.png + Resources\drawable-mdpi\baseline_cake_black_24.png - Resources\drawable-mdpi\baseline_checklist_black_24.png + Resources\drawable-mdpi\baseline_checklist_black_24.png - Resources\drawable-mdpi\baseline_check_black_24.png + Resources\drawable-mdpi\baseline_check_black_24.png - Resources\drawable-mdpi\baseline_close_black_24.png + Resources\drawable-mdpi\baseline_close_black_24.png - Resources\drawable-mdpi\baseline_content_copy_black_24.png + Resources\drawable-mdpi\baseline_content_copy_black_24.png - Resources\drawable-mdpi\baseline_description_black_24.png + Resources\drawable-mdpi\baseline_description_black_24.png - Resources\drawable-mdpi\baseline_edit_black_24.png + Resources\drawable-mdpi\baseline_edit_black_24.png - Resources\drawable-mdpi\baseline_enhanced_encryption_black_24.png + Resources\drawable-mdpi\baseline_enhanced_encryption_black_24.png - Resources\drawable-mdpi\baseline_female_black_24.png + Resources\drawable-mdpi\baseline_female_black_24.png - Resources\drawable-mdpi\baseline_info_black_24.png + Resources\drawable-mdpi\baseline_info_black_24.png - Resources\drawable-mdpi\baseline_location_on_black_24.png + Resources\drawable-mdpi\baseline_location_on_black_24.png - Resources\drawable-mdpi\baseline_lock_open_black_24.png + Resources\drawable-mdpi\baseline_lock_open_black_24.png - Resources\drawable-mdpi\baseline_logout_black_24.png + Resources\drawable-mdpi\baseline_logout_black_24.png - Resources\drawable-mdpi\baseline_male_black_24.png + Resources\drawable-mdpi\baseline_male_black_24.png - Resources\drawable-mdpi\baseline_more_horiz_black_24.png + Resources\drawable-mdpi\baseline_more_horiz_black_24.png - Resources\drawable-mdpi\baseline_person_black_24.png + Resources\drawable-mdpi\baseline_person_black_24.png - Resources\drawable-mdpi\baseline_phone_android_black_24.png + Resources\drawable-mdpi\baseline_phone_android_black_24.png - Resources\drawable-mdpi\baseline_phone_black_24.png + Resources\drawable-mdpi\baseline_phone_black_24.png - Resources\drawable-mdpi\baseline_refresh_black_24.png + Resources\drawable-mdpi\baseline_refresh_black_24.png - Resources\drawable-mdpi\baseline_save_alt_black_24.png + Resources\drawable-mdpi\baseline_save_alt_black_24.png - Resources\drawable-mdpi\baseline_save_black_24.png + Resources\drawable-mdpi\baseline_save_black_24.png - Resources\drawable-mdpi\baseline_settings_black_24.png + Resources\drawable-mdpi\baseline_settings_black_24.png - Resources\drawable-mdpi\baseline_sports_esports_black_24.png + Resources\drawable-mdpi\baseline_sports_esports_black_24.png - Resources\drawable-mdpi\baseline_verified_user_black_24.png + Resources\drawable-mdpi\baseline_verified_user_black_24.png - Resources\drawable-mdpi\baseline_visibility_off_black_24.png + Resources\drawable-mdpi\baseline_visibility_off_black_24.png - Resources\drawable-mdpi\outline_chevron_right_black_24.png + Resources\drawable-mdpi\outline_chevron_right_black_24.png - Resources\drawable-xhdpi\avater_default.png + Resources\drawable-xhdpi\avater_default.png - Resources\drawable-xhdpi\baseline_account_box_black_24.png + Resources\drawable-xhdpi\baseline_account_box_black_24.png - Resources\drawable-xhdpi\baseline_add_black_24.png + Resources\drawable-xhdpi\baseline_add_black_24.png - Resources\drawable-xhdpi\baseline_cake_black_24.png + Resources\drawable-xhdpi\baseline_cake_black_24.png - Resources\drawable-xhdpi\baseline_checklist_black_24.png + Resources\drawable-xhdpi\baseline_checklist_black_24.png - Resources\drawable-xhdpi\baseline_check_black_24.png + Resources\drawable-xhdpi\baseline_check_black_24.png - Resources\drawable-xhdpi\baseline_close_black_24.png + Resources\drawable-xhdpi\baseline_close_black_24.png - Resources\drawable-xhdpi\baseline_content_copy_black_24.png + Resources\drawable-xhdpi\baseline_content_copy_black_24.png - Resources\drawable-xhdpi\baseline_description_black_24.png + Resources\drawable-xhdpi\baseline_description_black_24.png - Resources\drawable-xhdpi\baseline_edit_black_24.png + Resources\drawable-xhdpi\baseline_edit_black_24.png - Resources\drawable-xhdpi\baseline_enhanced_encryption_black_24.png + Resources\drawable-xhdpi\baseline_enhanced_encryption_black_24.png - Resources\drawable-xhdpi\baseline_female_black_24.png + Resources\drawable-xhdpi\baseline_female_black_24.png - Resources\drawable-xhdpi\baseline_info_black_24.png + Resources\drawable-xhdpi\baseline_info_black_24.png - Resources\drawable-xhdpi\baseline_location_on_black_24.png + Resources\drawable-xhdpi\baseline_location_on_black_24.png - Resources\drawable-xhdpi\baseline_lock_open_black_24.png + Resources\drawable-xhdpi\baseline_lock_open_black_24.png - Resources\drawable-xhdpi\baseline_logout_black_24.png + Resources\drawable-xhdpi\baseline_logout_black_24.png - Resources\drawable-xhdpi\baseline_male_black_24.png + Resources\drawable-xhdpi\baseline_male_black_24.png - Resources\drawable-xhdpi\baseline_more_horiz_black_24.png + Resources\drawable-xhdpi\baseline_more_horiz_black_24.png - Resources\drawable-xhdpi\baseline_person_black_24.png + Resources\drawable-xhdpi\baseline_person_black_24.png - Resources\drawable-xhdpi\baseline_phone_android_black_24.png + Resources\drawable-xhdpi\baseline_phone_android_black_24.png - Resources\drawable-xhdpi\baseline_phone_black_24.png + Resources\drawable-xhdpi\baseline_phone_black_24.png - Resources\drawable-xhdpi\baseline_refresh_black_24.png + Resources\drawable-xhdpi\baseline_refresh_black_24.png - Resources\drawable-xhdpi\baseline_save_alt_black_24.png + Resources\drawable-xhdpi\baseline_save_alt_black_24.png - Resources\drawable-xhdpi\baseline_save_black_24.png + Resources\drawable-xhdpi\baseline_save_black_24.png - Resources\drawable-xhdpi\baseline_settings_black_24.png + Resources\drawable-xhdpi\baseline_settings_black_24.png - Resources\drawable-xhdpi\baseline_sports_esports_black_24.png + Resources\drawable-xhdpi\baseline_sports_esports_black_24.png - Resources\drawable-xhdpi\baseline_verified_user_black_24.png + Resources\drawable-xhdpi\baseline_verified_user_black_24.png - Resources\drawable-xhdpi\baseline_visibility_off_black_24.png + Resources\drawable-xhdpi\baseline_visibility_off_black_24.png - Resources\drawable-xhdpi\outline_chevron_right_black_24.png + Resources\drawable-xhdpi\outline_chevron_right_black_24.png - Resources\drawable-xxhdpi\avater_default.png + Resources\drawable-xxhdpi\avater_default.png - Resources\drawable-xxhdpi\baseline_account_box_black_24.png + Resources\drawable-xxhdpi\baseline_account_box_black_24.png - Resources\drawable-xxhdpi\baseline_add_black_24.png + Resources\drawable-xxhdpi\baseline_add_black_24.png - Resources\drawable-xxhdpi\baseline_cake_black_24.png + Resources\drawable-xxhdpi\baseline_cake_black_24.png - Resources\drawable-xxhdpi\baseline_checklist_black_24.png + Resources\drawable-xxhdpi\baseline_checklist_black_24.png - Resources\drawable-xxhdpi\baseline_check_black_24.png + Resources\drawable-xxhdpi\baseline_check_black_24.png - Resources\drawable-xxhdpi\baseline_close_black_24.png + Resources\drawable-xxhdpi\baseline_close_black_24.png - Resources\drawable-xxhdpi\baseline_content_copy_black_24.png + Resources\drawable-xxhdpi\baseline_content_copy_black_24.png - Resources\drawable-xxhdpi\baseline_description_black_24.png + Resources\drawable-xxhdpi\baseline_description_black_24.png - Resources\drawable-xxhdpi\baseline_edit_black_24.png + Resources\drawable-xxhdpi\baseline_edit_black_24.png - Resources\drawable-xxhdpi\baseline_enhanced_encryption_black_24.png + Resources\drawable-xxhdpi\baseline_enhanced_encryption_black_24.png - Resources\drawable-xxhdpi\baseline_female_black_24.png + Resources\drawable-xxhdpi\baseline_female_black_24.png - Resources\drawable-xxhdpi\baseline_info_black_24.png + Resources\drawable-xxhdpi\baseline_info_black_24.png - Resources\drawable-xxhdpi\baseline_location_on_black_24.png + Resources\drawable-xxhdpi\baseline_location_on_black_24.png - Resources\drawable-xxhdpi\baseline_lock_open_black_24.png + Resources\drawable-xxhdpi\baseline_lock_open_black_24.png - Resources\drawable-xxhdpi\baseline_logout_black_24.png + Resources\drawable-xxhdpi\baseline_logout_black_24.png - Resources\drawable-xxhdpi\baseline_male_black_24.png + Resources\drawable-xxhdpi\baseline_male_black_24.png - Resources\drawable-xxhdpi\baseline_more_horiz_black_24.png + Resources\drawable-xxhdpi\baseline_more_horiz_black_24.png - Resources\drawable-xxhdpi\baseline_person_black_24.png + Resources\drawable-xxhdpi\baseline_person_black_24.png - Resources\drawable-xxhdpi\baseline_phone_android_black_24.png + Resources\drawable-xxhdpi\baseline_phone_android_black_24.png - Resources\drawable-xxhdpi\baseline_phone_black_24.png + Resources\drawable-xxhdpi\baseline_phone_black_24.png - Resources\drawable-xxhdpi\baseline_refresh_black_24.png + Resources\drawable-xxhdpi\baseline_refresh_black_24.png - Resources\drawable-xxhdpi\baseline_save_alt_black_24.png + Resources\drawable-xxhdpi\baseline_save_alt_black_24.png - Resources\drawable-xxhdpi\baseline_save_black_24.png + Resources\drawable-xxhdpi\baseline_save_black_24.png - Resources\drawable-xxhdpi\baseline_settings_black_24.png + Resources\drawable-xxhdpi\baseline_settings_black_24.png - Resources\drawable-xxhdpi\baseline_sports_esports_black_24.png + Resources\drawable-xxhdpi\baseline_sports_esports_black_24.png - Resources\drawable-xxhdpi\baseline_verified_user_black_24.png + Resources\drawable-xxhdpi\baseline_verified_user_black_24.png - Resources\drawable-xxhdpi\baseline_visibility_off_black_24.png + Resources\drawable-xxhdpi\baseline_visibility_off_black_24.png - Resources\drawable-xxhdpi\logo.png + Resources\drawable-xxhdpi\logo.png - Resources\drawable-xxhdpi\outline_chevron_right_black_24.png + Resources\drawable-xxhdpi\outline_chevron_right_black_24.png - Resources\drawable-xxhdpi\splash_logo.png + Resources\drawable-xxhdpi\splash_logo.png - Resources\drawable-xxxhdpi\avater_default.png + Resources\drawable-xxxhdpi\avater_default.png - Resources\drawable-xxxhdpi\baseline_account_box_black_24.png + Resources\drawable-xxxhdpi\baseline_account_box_black_24.png - Resources\drawable-xxxhdpi\baseline_add_black_24.png + Resources\drawable-xxxhdpi\baseline_add_black_24.png - Resources\drawable-xxxhdpi\baseline_cake_black_24.png + Resources\drawable-xxxhdpi\baseline_cake_black_24.png - Resources\drawable-xxxhdpi\baseline_checklist_black_24.png + Resources\drawable-xxxhdpi\baseline_checklist_black_24.png - Resources\drawable-xxxhdpi\baseline_check_black_24.png + Resources\drawable-xxxhdpi\baseline_check_black_24.png - Resources\drawable-xxxhdpi\baseline_close_black_24.png + Resources\drawable-xxxhdpi\baseline_close_black_24.png - Resources\drawable-xxxhdpi\baseline_content_copy_black_24.png + Resources\drawable-xxxhdpi\baseline_content_copy_black_24.png - Resources\drawable-xxxhdpi\baseline_description_black_24.png + Resources\drawable-xxxhdpi\baseline_description_black_24.png - Resources\drawable-xxxhdpi\baseline_edit_black_24.png + Resources\drawable-xxxhdpi\baseline_edit_black_24.png - Resources\drawable-xxxhdpi\baseline_enhanced_encryption_black_24.png + Resources\drawable-xxxhdpi\baseline_enhanced_encryption_black_24.png - Resources\drawable-xxxhdpi\baseline_female_black_24.png + Resources\drawable-xxxhdpi\baseline_female_black_24.png - Resources\drawable-xxxhdpi\baseline_info_black_24.png + Resources\drawable-xxxhdpi\baseline_info_black_24.png - Resources\drawable-xxxhdpi\baseline_location_on_black_24.png + Resources\drawable-xxxhdpi\baseline_location_on_black_24.png - Resources\drawable-xxxhdpi\baseline_lock_open_black_24.png + Resources\drawable-xxxhdpi\baseline_lock_open_black_24.png - Resources\drawable-xxxhdpi\baseline_logout_black_24.png + Resources\drawable-xxxhdpi\baseline_logout_black_24.png - Resources\drawable-xxxhdpi\baseline_male_black_24.png + Resources\drawable-xxxhdpi\baseline_male_black_24.png - Resources\drawable-xxxhdpi\baseline_more_horiz_black_24.png + Resources\drawable-xxxhdpi\baseline_more_horiz_black_24.png - Resources\drawable-xxxhdpi\baseline_person_black_24.png + Resources\drawable-xxxhdpi\baseline_person_black_24.png - Resources\drawable-xxxhdpi\baseline_phone_android_black_24.png + Resources\drawable-xxxhdpi\baseline_phone_android_black_24.png - Resources\drawable-xxxhdpi\baseline_phone_black_24.png + Resources\drawable-xxxhdpi\baseline_phone_black_24.png - Resources\drawable-xxxhdpi\baseline_refresh_black_24.png + Resources\drawable-xxxhdpi\baseline_refresh_black_24.png - Resources\drawable-xxxhdpi\baseline_save_alt_black_24.png + Resources\drawable-xxxhdpi\baseline_save_alt_black_24.png - Resources\drawable-xxxhdpi\baseline_save_black_24.png + Resources\drawable-xxxhdpi\baseline_save_black_24.png - Resources\drawable-xxxhdpi\baseline_settings_black_24.png + Resources\drawable-xxxhdpi\baseline_settings_black_24.png - Resources\drawable-xxxhdpi\baseline_sports_esports_black_24.png + Resources\drawable-xxxhdpi\baseline_sports_esports_black_24.png - Resources\drawable-xxxhdpi\baseline_verified_user_black_24.png + Resources\drawable-xxxhdpi\baseline_verified_user_black_24.png - Resources\drawable-xxxhdpi\baseline_visibility_off_black_24.png + Resources\drawable-xxxhdpi\baseline_visibility_off_black_24.png - Resources\drawable-xxxhdpi\outline_chevron_right_black_24.png + Resources\drawable-xxxhdpi\outline_chevron_right_black_24.png - Resources\layout\activity_about.xml + Resources\layout\activity_about.xml - Resources\layout\activity_detail_auth.xml + Resources\layout\activity_detail_auth.xml - Resources\layout\activity_encryption_auth.xml + Resources\layout\activity_encryption_auth.xml - Resources\layout\activity_export_auth.xml + Resources\layout\activity_export_auth.xml - Resources\layout\activity_login_or_register.xml + Resources\layout\activity_login_or_register.xml - Resources\layout\activity_main.xml + Resources\layout\activity_main.xml - Resources\layout\activity_steam_auth_data.xml + Resources\layout\activity_steam_auth_data.xml - Resources\layout\activity_steam_auth_trade.xml + Resources\layout\activity_steam_auth_trade.xml - Resources\layout\activity_textblock.xml + Resources\layout\activity_textblock.xml - Resources\layout\activity_toolbar_tablayout_viewpager2.xml + Resources\layout\activity_toolbar_tablayout_viewpager2.xml - Resources\layout\fragment_account_binding.xml + Resources\layout\fragment_account_binding.xml - Resources\layout\fragment_account_binding_content.xml + Resources\layout\fragment_account_binding_content.xml - Resources\layout\fragment_basic_profile.xml + Resources\layout\fragment_basic_profile.xml - Resources\layout\fragment_basic_profile_content.xml + Resources\layout\fragment_basic_profile_content.xml - Resources\layout\fragment_community_fix.xml + Resources\layout\fragment_community_fix.xml - Resources\layout\fragment_game_list.xml + Resources\layout\fragment_game_list.xml - Resources\layout\fragment_local_auth.xml + Resources\layout\fragment_local_auth.xml - Resources\layout\fragment_local_auth_import_other.xml + Resources\layout\fragment_local_auth_import_other.xml - Resources\layout\fragment_local_auth_import_steam_app.xml + Resources\layout\fragment_local_auth_import_steam_app.xml - Resources\layout\fragment_local_auth_import_steam_plus_plus.xml + Resources\layout\fragment_local_auth_import_steam_plus_plus.xml - Resources\layout\fragment_local_auth_import_steam_user.xml + Resources\layout\fragment_local_auth_import_steam_user.xml - Resources\layout\fragment_login_and_register_by_fast.xml + Resources\layout\fragment_login_and_register_by_fast.xml - Resources\layout\fragment_login_and_register_by_phone_number.xml + Resources\layout\fragment_login_and_register_by_phone_number.xml - Resources\layout\fragment_login_and_register_by_phone_number_content.xml + Resources\layout\fragment_login_and_register_by_phone_number_content.xml - Resources\layout\fragment_my.xml + Resources\layout\fragment_my.xml - Resources\layout\fragment_my_content.xml + Resources\layout\fragment_my_content.xml - Resources\layout\layout_card_gap_authenticator.xml + Resources\layout\layout_card_gap_authenticator.xml - Resources\layout\layout_card_gap_authenticator_content.xml + Resources\layout\layout_card_gap_authenticator_content.xml - Resources\layout\layout_card_steam_auth_trade_confirmation.xml + Resources\layout\layout_card_steam_auth_trade_confirmation.xml - Resources\layout\layout_card_steam_auth_trade_confirmation_content.xml + Resources\layout\layout_card_steam_auth_trade_confirmation_content.xml - Resources\layout\layout_login_and_register_by_fast_channel.xml + Resources\layout\layout_login_and_register_by_fast_channel.xml - Resources\layout\layout_preference_large_button.xml + Resources\layout\layout_preference_large_button.xml - Resources\layout\layout_preference_small_button.xml + Resources\layout\layout_preference_small_button.xml - Resources\layout\shared_divider.xml + Resources\layout\shared_divider.xml - Resources\layout\shared_loading.xml + Resources\layout\shared_loading.xml - Resources\layout\shared_toolbar.xml + Resources\layout\shared_toolbar.xml - Resources\layout\textbox_password.xml + Resources\layout\textbox_password.xml - Resources\menu\bottom_nav_menu.xml + Resources\menu\bottom_nav_menu.xml - Resources\mipmap-anydpi-v26\ic_launcher.xml + Resources\mipmap-anydpi-v26\ic_launcher.xml - Resources\mipmap-anydpi-v26\ic_launcher_round.xml + Resources\mipmap-anydpi-v26\ic_launcher_round.xml - Resources\mipmap-hdpi\ic_launcher.png + Resources\mipmap-hdpi\ic_launcher.png - Resources\mipmap-hdpi\ic_launcher_foreground.png + Resources\mipmap-hdpi\ic_launcher_foreground.png - Resources\mipmap-hdpi\ic_launcher_round.png + Resources\mipmap-hdpi\ic_launcher_round.png - Resources\mipmap-mdpi\ic_launcher.png + Resources\mipmap-mdpi\ic_launcher.png - Resources\mipmap-mdpi\ic_launcher_foreground.png + Resources\mipmap-mdpi\ic_launcher_foreground.png - Resources\mipmap-mdpi\ic_launcher_round.png + Resources\mipmap-mdpi\ic_launcher_round.png - Resources\mipmap-xhdpi\ic_launcher.png + Resources\mipmap-xhdpi\ic_launcher.png - Resources\mipmap-xhdpi\ic_launcher_foreground.png + Resources\mipmap-xhdpi\ic_launcher_foreground.png - Resources\mipmap-xhdpi\ic_launcher_round.png + Resources\mipmap-xhdpi\ic_launcher_round.png - Resources\mipmap-xxhdpi\ic_launcher.png + Resources\mipmap-xxhdpi\ic_launcher.png - Resources\mipmap-xxhdpi\ic_launcher_foreground.png + Resources\mipmap-xxhdpi\ic_launcher_foreground.png - Resources\mipmap-xxhdpi\ic_launcher_round.png + Resources\mipmap-xxhdpi\ic_launcher_round.png - Resources\mipmap-xxxhdpi\ic_launcher.png + Resources\mipmap-xxxhdpi\ic_launcher.png - Resources\mipmap-xxxhdpi\ic_launcher_foreground.png + Resources\mipmap-xxxhdpi\ic_launcher_foreground.png - Resources\mipmap-xxxhdpi\ic_launcher_round.png + Resources\mipmap-xxxhdpi\ic_launcher_round.png - Resources\navigation\mobile_navigation.xml + Resources\navigation\mobile_navigation.xml - Resources\navigation\nav_graph_login_or_register.xml + Resources\navigation\nav_graph_login_or_register.xml - Resources\values\colors.xml + Resources\values\colors.xml - Resources\values\dimens.xml + Resources\values\dimens.xml - Resources\values\ic_launcher_background.xml + Resources\values\ic_launcher_background.xml - Resources\values\strings.xml + Resources\values\strings.xml - Resources\values\themes.xml + Resources\values\themes.xml - Resources\values-night\colors.xml + Resources\values-night\colors.xml - Resources\values-night\themes.xml + Resources\values-night\themes.xml - Resources\values-v23\themes.xml + Resources\values-v23\themes.xml - Resources\values-v28\themes.xml + Resources\values-v28\themes.xml - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/src/ST.Client.Mobile.Droid/UI/Activities/AboutActivity.cs b/src/ST.Client.Mobile.Droid/UI/Activities/AboutActivity.cs index 76175c1c5..2aaed7702 100644 --- a/src/ST.Client.Mobile.Droid/UI/Activities/AboutActivity.cs +++ b/src/ST.Client.Mobile.Droid/UI/Activities/AboutActivity.cs @@ -43,8 +43,7 @@ namespace System.Application.UI.Activities { base.OnCreate(savedInstanceState); - this.SetSupportActionBarWithNavigationClick(binding!.toolbar); - SupportActionBar.SetDisplayHomeAsUpEnabled(true); + this.SetSupportActionBarWithNavigationClick(binding!.toolbar, true); binding!.tvDevelopers.SetLinkMovementMethod(); binding!.tvBusinessCooperationContact.SetLinkMovementMethod(); diff --git a/src/ST.Client.Mobile.Droid/UI/Activities/LocalAuthPage/AddAuthActivity.cs b/src/ST.Client.Mobile.Droid/UI/Activities/LocalAuthPage/AddAuthActivity.cs index 651f076d0..d84447987 100644 --- a/src/ST.Client.Mobile.Droid/UI/Activities/LocalAuthPage/AddAuthActivity.cs +++ b/src/ST.Client.Mobile.Droid/UI/Activities/LocalAuthPage/AddAuthActivity.cs @@ -26,8 +26,7 @@ namespace System.Application.UI.Activities { base.OnCreate(savedInstanceState); - this.SetSupportActionBarWithNavigationClick(binding!.toolbar); - SupportActionBar.SetDisplayHomeAsUpEnabled(true); + this.SetSupportActionBarWithNavigationClick(binding!.toolbar, true); binding.tab_layout.TabMode = TabLayout.ModeScrollable; var adapter = new ViewPagerWithTabLayoutAdapter(this, this); diff --git a/src/ST.Client.Mobile.Droid/UI/Activities/LocalAuthPage/AuthDetailActivity.cs b/src/ST.Client.Mobile.Droid/UI/Activities/LocalAuthPage/AuthDetailActivity.cs index b582eae26..34f6fa7a9 100644 --- a/src/ST.Client.Mobile.Droid/UI/Activities/LocalAuthPage/AuthDetailActivity.cs +++ b/src/ST.Client.Mobile.Droid/UI/Activities/LocalAuthPage/AuthDetailActivity.cs @@ -43,8 +43,7 @@ namespace System.Application.UI.Activities return; } - this.SetSupportActionBarWithNavigationClick(binding!.toolbar); - SupportActionBar.SetDisplayHomeAsUpEnabled(true); + this.SetSupportActionBarWithNavigationClick(binding!.toolbar, true); ViewModel!.Authenticator.WhenAnyValue(x => x.Name).Subscribe(value => { diff --git a/src/ST.Client.Mobile.Droid/UI/Activities/LocalAuthPage/EncryptionAuthActivity.cs b/src/ST.Client.Mobile.Droid/UI/Activities/LocalAuthPage/EncryptionAuthActivity.cs index 4631395fa..270fdc0b5 100644 --- a/src/ST.Client.Mobile.Droid/UI/Activities/LocalAuthPage/EncryptionAuthActivity.cs +++ b/src/ST.Client.Mobile.Droid/UI/Activities/LocalAuthPage/EncryptionAuthActivity.cs @@ -23,8 +23,7 @@ namespace System.Application.UI.Activities { base.OnCreate(savedInstanceState); - this.SetSupportActionBarWithNavigationClick(binding!.toolbar); - SupportActionBar.SetDisplayHomeAsUpEnabled(true); + this.SetSupportActionBarWithNavigationClick(binding!.toolbar, true); R.Current.WhenAnyValue(x => x.Res).Subscribe(_ => { diff --git a/src/ST.Client.Mobile.Droid/UI/Activities/LocalAuthPage/ExportAuthActivity.cs b/src/ST.Client.Mobile.Droid/UI/Activities/LocalAuthPage/ExportAuthActivity.cs index 66d0f270c..dd1000ca2 100644 --- a/src/ST.Client.Mobile.Droid/UI/Activities/LocalAuthPage/ExportAuthActivity.cs +++ b/src/ST.Client.Mobile.Droid/UI/Activities/LocalAuthPage/ExportAuthActivity.cs @@ -33,8 +33,7 @@ namespace System.Application.UI.Activities return; } - this.SetSupportActionBarWithNavigationClick(binding!.toolbar); - SupportActionBar.SetDisplayHomeAsUpEnabled(true); + this.SetSupportActionBarWithNavigationClick(binding!.toolbar, true); R.Current.WhenAnyValue(x => x.Res).Subscribe(_ => { diff --git a/src/ST.Client.Mobile.Droid/UI/Activities/LocalAuthPage/SteamAuthDataActivity.cs b/src/ST.Client.Mobile.Droid/UI/Activities/LocalAuthPage/SteamAuthDataActivity.cs index ed1e7d6bd..de98a7705 100644 --- a/src/ST.Client.Mobile.Droid/UI/Activities/LocalAuthPage/SteamAuthDataActivity.cs +++ b/src/ST.Client.Mobile.Droid/UI/Activities/LocalAuthPage/SteamAuthDataActivity.cs @@ -37,8 +37,7 @@ namespace System.Application.UI.Activities this.SetWindowSecure(true); - this.SetSupportActionBarWithNavigationClick(binding!.toolbar); - SupportActionBar.SetDisplayHomeAsUpEnabled(true); + this.SetSupportActionBarWithNavigationClick(binding!.toolbar, true); binding!.tvSteamGuardLabel.Text = "SteamGuard:"; R.Current.WhenAnyValue(x => x.Res).Subscribe(_ => diff --git a/src/ST.Client.Mobile.Droid/UI/Activities/LocalAuthPage/SteamAuthTradeActivity.cs b/src/ST.Client.Mobile.Droid/UI/Activities/LocalAuthPage/SteamAuthTradeActivity.cs index 78d52fcfc..eb1d8728c 100644 --- a/src/ST.Client.Mobile.Droid/UI/Activities/LocalAuthPage/SteamAuthTradeActivity.cs +++ b/src/ST.Client.Mobile.Droid/UI/Activities/LocalAuthPage/SteamAuthTradeActivity.cs @@ -43,8 +43,7 @@ namespace System.Application.UI.Activities return; } - this.SetSupportActionBarWithNavigationClick(binding!.toolbar); - SupportActionBar.SetDisplayHomeAsUpEnabled(true); + this.SetSupportActionBarWithNavigationClick(binding!.toolbar, true); R.Current.WhenAnyValue(x => x.Res).Subscribe(_ => { @@ -56,6 +55,7 @@ namespace System.Application.UI.Activities binding.btnLogin.Text = Login; binding.tvSteamTradeLoginTip.Text = LocalAuth_SteamTradeLoginTip; binding.tvLoading.Text = LocalAuth_AuthTrade_GetTip; + speedDialDict.ReplaceLabels(ToString2); }).AddTo(this); ViewModel!.WhenAnyValue(x => x.IsLoggedIn).Subscribe(value => @@ -65,6 +65,7 @@ namespace System.Application.UI.Activities var state_reverse = !value ? ViewStates.Gone : ViewStates.Visible; binding.layoutContentSteamLogin.Visibility = state; binding.layoutContentConfirmations.Visibility = state_reverse; + binding.speedDial.Visibility = state_reverse; }).AddTo(this); ViewModel!.WhenAnyValue(x => x.IsRequiresCaptcha).Subscribe(value => { diff --git a/src/ST.Client.Mobile.Droid/UI/Activities/LoginOrRegisterActivity.cs b/src/ST.Client.Mobile.Droid/UI/Activities/LoginOrRegisterActivity.cs index d7d0153a2..d4c5c2be3 100644 --- a/src/ST.Client.Mobile.Droid/UI/Activities/LoginOrRegisterActivity.cs +++ b/src/ST.Client.Mobile.Droid/UI/Activities/LoginOrRegisterActivity.cs @@ -46,7 +46,7 @@ namespace System.Application.UI.Activities tencent = TencentOpenApiSDK.GetTencent(this); - this.SetSupportActionBarWithNavigationClick(binding!.toolbar); + this.SetSupportActionBarWithNavigationClick(binding!.toolbar, true); var appBarConfiguration = new AppBarConfiguration.Builder(Resource.Id.navigation_login_or_register_fast).Build(); navController = ((NavHostFragment)SupportFragmentManager.FindFragmentById(Resource.Id.nav_host_fragment)).NavController; diff --git a/src/ST.Client.Mobile.Droid/UI/Activities/MainActivity.cs b/src/ST.Client.Mobile.Droid/UI/Activities/MainActivity.cs index 77b6ff144..1c332ba8f 100644 --- a/src/ST.Client.Mobile.Droid/UI/Activities/MainActivity.cs +++ b/src/ST.Client.Mobile.Droid/UI/Activities/MainActivity.cs @@ -5,10 +5,10 @@ using Android.Runtime; using AndroidX.Navigation; using AndroidX.Navigation.UI; using Binding; -using Java.Lang; using ReactiveUI; using System.Application.UI.Resx; using System.Application.UI.ViewModels; +using CharSequence = Java.Lang.ICharSequence; namespace System.Application.UI.Activities { @@ -22,7 +22,7 @@ namespace System.Application.UI.Activities protected override bool BackToHome => true; - void SetBottomNavigationMenuTitle(int resId, ICharSequence value) + void SetBottomNavigationMenuTitle(int resId, CharSequence value) { if (binding == null) return; var menu = binding.nav_view.Menu; @@ -51,14 +51,15 @@ namespace System.Application.UI.Activities Resource.Id.navigation_my) .Build(); navController = Navigation.FindNavController(this, Resource.Id.nav_host_fragment_activity_main); - NavigationUI.SetupActionBarWithNavController(this, navController, appBarConfiguration); - NavigationUI.SetupWithNavController(binding!.nav_view, navController); R.Current.WhenAnyValue(x => x.Res).Subscribe(_ => { SetSubPageTitle(Resource.Id.navigation_local_auth, LocalAuthPageViewModel.DisplayName); SetSubPageTitle(Resource.Id.navigation_my, MyPageViewModel.DisplayName); }).AddTo(this); + + NavigationUI.SetupActionBarWithNavController(this, navController, appBarConfiguration); + NavigationUI.SetupWithNavController(binding!.nav_view, navController); } protected override void OnDestroy() diff --git a/src/ST.Client.Mobile.Droid/UI/Activities/SplashActivity.cs b/src/ST.Client.Mobile.Droid/UI/Activities/SplashActivity.cs index 26be36c2e..3a5b0172c 100644 --- a/src/ST.Client.Mobile.Droid/UI/Activities/SplashActivity.cs +++ b/src/ST.Client.Mobile.Droid/UI/Activities/SplashActivity.cs @@ -23,6 +23,7 @@ namespace System.Application.UI.Activities base.OnCreate(savedInstanceState); //if (!DeviceSecurityCheckUtil.IsAllowStart(this)) return; this.StartActivity(); + OverridePendingTransition(Resource.Animation.abc_fade_in, Resource.Animation.abc_fade_out); } public override void OnBackPressed() diff --git a/src/ST.Client.Mobile.Droid/UI/Activities/TextBlockActivity.cs b/src/ST.Client.Mobile.Droid/UI/Activities/TextBlockActivity.cs index eb15fbec2..f237867fd 100644 --- a/src/ST.Client.Mobile.Droid/UI/Activities/TextBlockActivity.cs +++ b/src/ST.Client.Mobile.Droid/UI/Activities/TextBlockActivity.cs @@ -27,8 +27,8 @@ namespace System.Application.UI.Activities return; } - this.SetSupportActionBarWithNavigationClick(binding!.toolbar); - SupportActionBar.SetDisplayHomeAsUpEnabled(true); + this.SetSupportActionBarWithNavigationClick(binding!.toolbar, true); + if (!string.IsNullOrWhiteSpace(vm.Title)) Title = vm.Title; if (!string.IsNullOrWhiteSpace(vm.Content)) binding!.tvContent.Text = vm.Content; diff --git a/src/ST.Client.Mobile.Droid/UI/Fragments/LocalAuthPage/LocalAuthFragment.cs b/src/ST.Client.Mobile.Droid/UI/Fragments/LocalAuthPage/LocalAuthFragment.cs index 1a0f10333..af5ae9183 100644 --- a/src/ST.Client.Mobile.Droid/UI/Fragments/LocalAuthPage/LocalAuthFragment.cs +++ b/src/ST.Client.Mobile.Droid/UI/Fragments/LocalAuthPage/LocalAuthFragment.cs @@ -29,14 +29,12 @@ namespace System.Application.UI.Fragments { base.OnCreateView(view); - // This WhenActivated block calls ViewModel's WhenActivated - // block if the ViewModel implements IActivatableViewModel. - R.Current.WhenAnyValue(x => x.Res).Subscribe(_ => { if (binding == null) return; binding.tvEmptyTip.Text = LocalAuth_NoAuthTip_.Format(BottomRightCorner); binding.tvLoading.Text = LocalAuth_Loading; + speedDialDict.ReplaceLabels(ToString2); }).AddTo(this); ViewModel!.WhenAnyValue(x => x.IsAuthenticatorsEmpty).Subscribe(value =>