From f31999e65334d2f9c941c54f67d0b97e0b506a9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=96=E7=95=8C?= Date: Fri, 12 Mar 2021 15:26:52 +0800 Subject: [PATCH] Improve launch speed --- .../java/tw/nekomimi/nekogram/GcmImpl.java | 2 +- .../telegram/messenger/ApplicationLoader.java | 8 ++--- .../telegram/messenger/LocaleController.java | 2 -- .../telegram/tgnet/ConnectionsManager.java | 36 ++++++++++--------- 4 files changed, 25 insertions(+), 23 deletions(-) diff --git a/TMessagesProj/src/gservcies/java/tw/nekomimi/nekogram/GcmImpl.java b/TMessagesProj/src/gservcies/java/tw/nekomimi/nekogram/GcmImpl.java index 2ad92ec54..1d02d2bb5 100644 --- a/TMessagesProj/src/gservcies/java/tw/nekomimi/nekogram/GcmImpl.java +++ b/TMessagesProj/src/gservcies/java/tw/nekomimi/nekogram/GcmImpl.java @@ -51,7 +51,7 @@ public class GcmImpl implements ExternalGcm.Interface { @Override public void initPlayServices() { - UIUtil.runOnIoDispatcher(() -> { + Utilities.stageQueue.postRunnable(() -> { if (hasPlayServices = checkPlayServices()) { final String currentPushString = SharedConfig.pushString; if (!TextUtils.isEmpty(currentPushString)) { diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/ApplicationLoader.java b/TMessagesProj/src/main/java/org/telegram/messenger/ApplicationLoader.java index 18db9db46..053bb7196 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/ApplicationLoader.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/ApplicationLoader.java @@ -216,7 +216,7 @@ public class ApplicationLoader extends Application { } applicationInited = true; - UIUtil.runOnIoDispatcher(() -> { + Utilities.stageQueue.postRunnable(() -> { try { LocaleController.getInstance(); //TODO improve @@ -295,7 +295,7 @@ public class ApplicationLoader extends Application { } }; if (finalA == UserConfig.selectedAccount) initRunnable.run(); - else UIUtil.runOnIoDispatcher(initRunnable); + else Utilities.stageQueue.postRunnable(initRunnable); } ExternalGcm.initPlayServices(); @@ -311,7 +311,7 @@ public class ApplicationLoader extends Application { DownloadController.getInstance(finalA); }; if (finalA == UserConfig.selectedAccount) initRunnable.run(); - else UIUtil.runOnIoDispatcher(initRunnable); + else Utilities.stageQueue.postRunnable(initRunnable); } } @@ -369,7 +369,7 @@ public class ApplicationLoader extends Application { } public static void startPushService() { - UIUtil.runOnIoDispatcher(ApplicationLoader::startPushServiceInternal); + Utilities.stageQueue.postRunnable(ApplicationLoader::startPushServiceInternal); } private static void startPushServiceInternal() { diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/LocaleController.java b/TMessagesProj/src/main/java/org/telegram/messenger/LocaleController.java index ba248b8da..28d502ecd 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/LocaleController.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/LocaleController.java @@ -254,8 +254,6 @@ public class LocaleController { } } } - if (localInstance.formatterDay == null || localInstance.chatFullDate == null) - localInstance.recreateFormatters(); return localInstance; } diff --git a/TMessagesProj/src/main/java/org/telegram/tgnet/ConnectionsManager.java b/TMessagesProj/src/main/java/org/telegram/tgnet/ConnectionsManager.java index 3d79f8391..dca33a110 100644 --- a/TMessagesProj/src/main/java/org/telegram/tgnet/ConnectionsManager.java +++ b/TMessagesProj/src/main/java/org/telegram/tgnet/ConnectionsManager.java @@ -362,27 +362,31 @@ public class ConnectionsManager extends BaseController { public void init(int version, int layer, int apiId, String deviceModel, String systemVersion, String appVersion, String langCode, String systemLangCode, String configPath, String logPath, String regId, String cFingerprint, int timezoneOffset, int userId, boolean enablePushConnection) { - SharedConfig.loadProxyList(); + Utilities.stageQueue.postRunnable(() -> { - if (SharedConfig.proxyEnabled && SharedConfig.currentProxy != null) { - if (SharedConfig.currentProxy instanceof SharedConfig.ExternalSocks5Proxy) { - ((SharedConfig.ExternalSocks5Proxy) SharedConfig.currentProxy).start(); + SharedConfig.loadProxyList(); + + if (SharedConfig.proxyEnabled && SharedConfig.currentProxy != null) { + if (SharedConfig.currentProxy instanceof SharedConfig.ExternalSocks5Proxy) { + ((SharedConfig.ExternalSocks5Proxy) SharedConfig.currentProxy).start(); + } + native_setProxySettings(currentAccount, SharedConfig.currentProxy.address, SharedConfig.currentProxy.port, SharedConfig.currentProxy.username, SharedConfig.currentProxy.password, SharedConfig.currentProxy.secret); } - native_setProxySettings(currentAccount, SharedConfig.currentProxy.address, SharedConfig.currentProxy.port, SharedConfig.currentProxy.username, SharedConfig.currentProxy.password, SharedConfig.currentProxy.secret); - } - String installer = ""; - try { - installer = ApplicationLoader.applicationContext.getPackageManager().getInstallerPackageName(ApplicationLoader.applicationContext.getPackageName()); - } catch (Throwable ignore) { + String installer = ""; + try { + installer = ApplicationLoader.applicationContext.getPackageManager().getInstallerPackageName(ApplicationLoader.applicationContext.getPackageName()); + } catch (Throwable ignore) { - } - if (installer == null) { - installer = ""; - } + } + if (installer == null) { + installer = ""; + } - native_init(currentAccount, version, layer, apiId, deviceModel, systemVersion, appVersion, langCode, systemLangCode, configPath, logPath, regId, cFingerprint, installer, timezoneOffset, userId, enablePushConnection, ApplicationLoader.isNetworkOnline(), ApplicationLoader.getCurrentNetworkType()); - checkConnection(); + native_init(currentAccount, version, layer, apiId, deviceModel, systemVersion, appVersion, langCode, systemLangCode, configPath, logPath, regId, cFingerprint, installer, timezoneOffset, userId, enablePushConnection, ApplicationLoader.isNetworkOnline(), ApplicationLoader.getCurrentNetworkType()); + checkConnection(); + + }); }