diff --git a/app/src/main/assets/data/common/tooling-api-all.jar b/app/src/main/assets/data/common/tooling-api-all.jar index 589cbc803..c34a2f108 100644 Binary files a/app/src/main/assets/data/common/tooling-api-all.jar and b/app/src/main/assets/data/common/tooling-api-all.jar differ diff --git a/app/src/main/java/com/itsaky/androidide/SplashActivity.java b/app/src/main/java/com/itsaky/androidide/SplashActivity.java index bdbe13296..f26c132cb 100755 --- a/app/src/main/java/com/itsaky/androidide/SplashActivity.java +++ b/app/src/main/java/com/itsaky/androidide/SplashActivity.java @@ -33,25 +33,14 @@ import com.itsaky.androidide.models.ConstantsBridge; import com.itsaky.androidide.utils.DialogUtils; public class SplashActivity extends StudioActivity { - private ActivitySplashBinding binding; - private static final Handler mHandler = new Handler(); private final Runnable mRunnable = - new Runnable() { - - @Override - public void run() { - ConstantsBridge.SPLASH_TO_MAIN = true; - startActivity(new Intent(SplashActivity.this, MainActivity.class)); - finish(); - } + () -> { + ConstantsBridge.SPLASH_TO_MAIN = true; + startActivity(new Intent(SplashActivity.this, MainActivity.class)); + finish(); }; - - @Override - protected View bindLayout() { - binding = ActivitySplashBinding.inflate(getLayoutInflater()); - return binding.getRoot(); - } + private ActivitySplashBinding binding; @Override protected void onCreate(Bundle savedInstanceState) { @@ -59,6 +48,12 @@ public class SplashActivity extends StudioActivity { binding.splashText.setText(getString(R.string.msg_checking_storage_permissions)); } + @Override + protected void onStorageAlreadyGranted() { + super.onStorageAlreadyGranted(); + proceed(); + } + @Override protected void onStorageGranted() { super.onStorageGranted(); @@ -66,9 +61,9 @@ public class SplashActivity extends StudioActivity { } @Override - protected void onStorageAlreadyGranted() { - super.onStorageAlreadyGranted(); - proceed(); + protected View bindLayout() { + binding = ActivitySplashBinding.inflate(getLayoutInflater()); + return binding.getRoot(); } private void proceed() { diff --git a/build-tools/tooling-api-impl/src/test/test-home/.androidide/init/model.jar b/build-tools/tooling-api-impl/src/test/test-home/.androidide/init/model.jar index fcf175661..f3b087a42 100644 Binary files a/build-tools/tooling-api-impl/src/test/test-home/.androidide/init/model.jar and b/build-tools/tooling-api-impl/src/test/test-home/.androidide/init/model.jar differ diff --git a/build.gradle b/build.gradle index 168aea9d8..4a7afff34 100755 --- a/build.gradle +++ b/build.gradle @@ -40,7 +40,7 @@ buildscript { subprojects { apply from: "${rootDir}/gradle/dependencies.gradle" - + project.afterEvaluate { tasks.register("checkTranslations", task -> { def php = new File("/usr/bin/php") 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 e1767ea70..bfca17407 100755 --- a/common/src/main/java/com/itsaky/androidide/managers/ToolsManager.java +++ b/common/src/main/java/com/itsaky/androidide/managers/ToolsManager.java @@ -106,6 +106,10 @@ public class ToolsManager { ResourceUtils.copyFileFromAssets( getArchSpecificAsset("aapt2"), Environment.AAPT2.getAbsolutePath()); } + + if (!Environment.AAPT2.canExecute() && !Environment.AAPT2.setExecutable(true)) { + LOG.error("Cannot set executable permissions to AAPT2 binary"); + } } public static void extractLibHooks() { diff --git a/gradlew b/gradlew index 744e882ed..53903f623 100755 --- a/gradlew +++ b/gradlew @@ -1,5 +1,4 @@ -#!/usr/bin/env sh - +#!/usr/bin/env bash # # Copyright 2015 the original author or authors. #