From 7a770f389bc96c8191ab5d64b3448ad639dad7bf Mon Sep 17 00:00:00 2001 From: dic1911 Date: Thu, 5 Dec 2024 08:39:13 +0800 Subject: [PATCH] fix: crash on launch when no account --- .../src/main/java/tw/nekomimi/nekogram/NekoConfig.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/NekoConfig.java b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/NekoConfig.java index 7579c0e9b..e6bba5733 100644 --- a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/NekoConfig.java +++ b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/NekoConfig.java @@ -18,6 +18,7 @@ import org.telegram.messenger.Utilities; import org.telegram.messenger.browser.Browser; import org.telegram.ui.ActionBar.AlertDialog; +import org.telegram.ui.ActionBar.BaseFragment; import org.telegram.ui.LaunchActivity; import org.telegram.ui.LauncherIconController; import org.unifiedpush.android.connector.UnifiedPush; @@ -771,10 +772,13 @@ public static void applyPerformanceClassOverride(Integer c) { public static void init() { initStrings(); try { + SharedConfig.loadConfig(); if (lastCrashError.String() != null && !lastCrashError.String().isBlank()) { final String errStr = lastCrashError.String(); AndroidUtilities.runOnUIThread(() -> { - Context context = LaunchActivity.getLastFragment().getContext(); + BaseFragment fragment = LaunchActivity.getLastFragment(); + if (fragment == null || SharedConfig.activeAccounts.isEmpty()) return; + Context context = fragment.getContext(); new AlertDialog.Builder(context) .setTitle(LocaleController.getString(useOldName.Bool() ? R.string.CrashDialogTitle : R.string.CrashDialogMomoTitle)) .setMessage(LocaleController.getString(R.string.CrashDialogMessage)) @@ -803,7 +807,9 @@ public static void init() { return; AndroidUtilities.runOnUIThread(() -> { - Context context = LaunchActivity.getLastFragment().getContext(); + BaseFragment fragment = LaunchActivity.getLastFragment(); + if (fragment == null || SharedConfig.activeAccounts.isEmpty()) return; + Context context = fragment.getContext(); new AlertDialog.Builder(context) .setTitle(LocaleController.getString(R.string.SetupUnifiedPush)) .setMessage(LocaleController.getString(R.string.SetupUnifiedPushInfo))