Do not throw exception if device is not supported

This commit is contained in:
Akash Yadav
2022-04-01 17:03:35 +05:30
parent a5afaf3720
commit 9f3ee3d558
2 changed files with 21 additions and 10 deletions
@@ -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
@@ -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");
}