diff --git a/common/src/main/java/com/itsaky/androidide/app/BaseApplication.java b/common/src/main/java/com/itsaky/androidide/app/BaseApplication.java index 4fa6e3f51..eac89c1f9 100755 --- a/common/src/main/java/com/itsaky/androidide/app/BaseApplication.java +++ b/common/src/main/java/com/itsaky/androidide/app/BaseApplication.java @@ -24,10 +24,13 @@ import android.content.Intent; import android.graphics.Color; import android.net.Uri; import android.os.Build; + import androidx.annotation.ChecksSdkIntAtLeast; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.core.app.NotificationManagerCompat; import androidx.multidex.MultiDexApplication; + import com.blankj.utilcode.util.ThrowableUtils; import com.itsaky.androidide.common.R; import com.itsaky.androidide.managers.PreferenceManager; @@ -38,9 +41,11 @@ import com.itsaky.androidide.utils.FileUtil; import com.itsaky.androidide.utils.JavaCharacter; import com.itsaky.androidide.utils.StudioUtils; import com.itsaky.toaster.Toaster; + +import org.jetbrains.annotations.Contract; + import java.io.File; import java.util.Arrays; -import org.jetbrains.annotations.Contract; public abstract class BaseApplication extends MultiDexApplication { @@ -75,14 +80,15 @@ public abstract class BaseApplication extends MultiDexApplication { return Build.VERSION.SDK_INT >= Build.VERSION_CODES.S; } - @NonNull + @Nullable public static String getArch() { if (BaseApplication.isAarch64()) { return "arm64-v8a"; } else if (BaseApplication.isArmv7a()) { return "armeabi-v7a"; } - throw new UnsupportedOperationException("Device not supported"); + + return null; } @Override diff --git a/common/src/main/java/com/itsaky/androidide/managers/ToolsManager.java b/common/src/main/java/com/itsaky/androidide/managers/ToolsManager.java index 3cafea9ae..b6df60fc6 100755 --- a/common/src/main/java/com/itsaky/androidide/managers/ToolsManager.java +++ b/common/src/main/java/com/itsaky/androidide/managers/ToolsManager.java @@ -18,6 +18,7 @@ package com.itsaky.androidide.managers; import androidx.annotation.NonNull; + import com.blankj.utilcode.util.FileIOUtils; import com.blankj.utilcode.util.FileUtils; import com.blankj.utilcode.util.ResourceUtils; @@ -25,22 +26,28 @@ import com.blankj.utilcode.util.ZipUtils; import com.itsaky.androidide.app.BaseApplication; import com.itsaky.androidide.utils.Environment; import com.itsaky.androidide.utils.Logger; + +import org.jetbrains.annotations.Contract; + import java.io.File; import java.io.IOException; -import org.jetbrains.annotations.Contract; public class ToolsManager { - private static PreferenceManager prefs; - public static final int LOG_SENDER_VERSION = 2; - public static final String KEY_LOG_SENDER_VERSION = "tools_logsenderVersion"; - + private static final Logger LOG = Logger.instance("ToolsManager"); public static String ARCH_SPECIFIC_ASSET_DATA_DIR = "data/" + BaseApplication.getArch(); public static String COMMON_ASSET_DATA_DIR = "data/common"; + private static PreferenceManager prefs; public static void init(@NonNull BaseApplication app, Runnable onFinish) { + + if (BaseApplication.getArch() == null) { + LOG.error("Device not supported"); + return; + } + prefs = app.getPrefManager(); copyBusyboxIfNeeded(); @@ -139,6 +146,4 @@ public class ToolsManager { public static String getCommonAsset(String name) { return COMMON_ASSET_DATA_DIR + "/" + name; } - - private static final Logger LOG = Logger.instance("ToolsManager"); }