From e954b7fd2e4a9eafe88489545f07c6509f8f543a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=96=E7=95=8C?= Date: Sat, 13 Feb 2021 11:34:40 +0800 Subject: [PATCH] Fix some crash in provider --- .../org/telegram/messenger/AndroidUtilities.java | 8 ++------ .../org/telegram/messenger/ApplicationLoader.java | 15 --------------- .../java/org/telegram/messenger/SharedConfig.java | 4 ---- .../org/telegram/tgnet/ConnectionsManager.java | 2 ++ 4 files changed, 4 insertions(+), 25 deletions(-) diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/AndroidUtilities.java b/TMessagesProj/src/main/java/org/telegram/messenger/AndroidUtilities.java index 4b22d1446..21e63eb12 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/AndroidUtilities.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/AndroidUtilities.java @@ -46,12 +46,6 @@ import android.provider.CallLog; import android.provider.DocumentsContract; import android.provider.MediaStore; import android.provider.Settings; - -import androidx.core.content.FileProvider; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import androidx.viewpager.widget.ViewPager; - import android.telephony.TelephonyManager; import android.text.Layout; import android.text.Selection; @@ -95,6 +89,7 @@ import android.widget.TextView; import androidx.core.content.FileProvider; import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import androidx.viewpager.widget.ViewPager; import com.android.internal.telephony.ITelephony; @@ -1708,6 +1703,7 @@ public class AndroidUtilities { } public static void runOnUIThread(Runnable runnable, long delay) { + if (ApplicationLoader.applicationHandler == null) return; if (delay == 0) { ApplicationLoader.applicationHandler.post(runnable); } else { diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/ApplicationLoader.java b/TMessagesProj/src/main/java/org/telegram/messenger/ApplicationLoader.java index f3f9248a6..18db9db46 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/ApplicationLoader.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/ApplicationLoader.java @@ -38,15 +38,11 @@ import org.telegram.ui.Components.ForegroundDetector; import java.io.File; import java.lang.reflect.Method; -import java.nio.charset.StandardCharsets; import java.util.Set; import tw.nekomimi.nekogram.ExternalGcm; -import tw.nekomimi.nekogram.NekoConfig; -import tw.nekomimi.nekogram.database.WarppedPref; import tw.nekomimi.nekogram.utils.EnvUtil; import tw.nekomimi.nekogram.utils.FileUtil; -import tw.nekomimi.nekogram.utils.ProxyUtil; import tw.nekomimi.nekogram.utils.UIUtil; import static android.os.Build.VERSION.SDK_INT; @@ -302,22 +298,11 @@ public class ApplicationLoader extends Application { else UIUtil.runOnIoDispatcher(initRunnable); } - if (ProxyUtil.isVPNEnabled()) { - - if (NekoConfig.disableProxyWhenVpnEnabled) { - - SharedConfig.setProxyEnable(false); - - } - - } - ExternalGcm.initPlayServices(); if (BuildVars.LOGS_ENABLED) { FileLog.d("app initied"); } - MediaController.getInstance(); for (int a = 0; a < UserConfig.MAX_ACCOUNT_COUNT; a++) { //TODO improve account final int finalA = a; diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java b/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java index 8f27b5e72..c5ff52f6d 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java @@ -10,7 +10,6 @@ package org.telegram.messenger; import android.app.Activity; import android.app.ActivityManager; -import android.app.Application; import android.content.Context; import android.content.SharedPreferences; import android.net.Uri; @@ -18,7 +17,6 @@ import android.os.Build; import android.os.SystemClock; import android.text.TextUtils; import android.util.Base64; -import android.util.Log; import android.util.SparseArray; import androidx.annotation.Nullable; @@ -1524,8 +1522,6 @@ public class SharedConfig { static { - loadProxyList(); - SharedPreferences preferences = ApplicationLoader.applicationContext.getSharedPreferences("mainconfig", Activity.MODE_PRIVATE); boolean proxyEnabledValue = preferences.getBoolean("proxy_enabled", false); diff --git a/TMessagesProj/src/main/java/org/telegram/tgnet/ConnectionsManager.java b/TMessagesProj/src/main/java/org/telegram/tgnet/ConnectionsManager.java index 66f820f0e..a5cb72683 100644 --- a/TMessagesProj/src/main/java/org/telegram/tgnet/ConnectionsManager.java +++ b/TMessagesProj/src/main/java/org/telegram/tgnet/ConnectionsManager.java @@ -354,6 +354,8 @@ 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(); + if (SharedConfig.proxyEnabled && SharedConfig.currentProxy != null) { if (SharedConfig.currentProxy instanceof SharedConfig.ExternalSocks5Proxy) { ((SharedConfig.ExternalSocks5Proxy) SharedConfig.currentProxy).start();