Skip to content

Commit d99cee0

Browse files
authored
Disallow install on x86 devices (#601)
* Disallow install on x86 architectures but allow on emulators with arm* xabi where emulator flag file is present * Disallow install on x86 architectures but allow on emulators with arm* xabi where emulator flag file is present * tabs to spaces
1 parent 8a8cabf commit d99cee0

2 files changed

Lines changed: 24 additions & 5 deletions

File tree

‎app/src/main/java/com/itsaky/androidide/activities/SplashActivity.kt‎

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,29 @@ package com.itsaky.androidide.activities
1919

2020
import android.app.Activity
2121
import android.content.Intent
22+
import android.os.Build
2223
import android.os.Bundle
24+
import com.itsaky.androidide.app.configuration.CpuArch
25+
import com.itsaky.androidide.app.configuration.IDEBuildConfigProvider
26+
import com.itsaky.androidide.utils.FeatureFlags
27+
import kotlin.system.exitProcess
2328

2429
/**
2530
* @author Akash Yadav
2631
*/
2732
class SplashActivity : Activity() {
2833

29-
override fun onCreate(savedInstanceState: Bundle?) {
30-
super.onCreate(savedInstanceState)
31-
startActivity(Intent(this, OnboardingActivity::class.java))
32-
finish()
33-
}
34+
override fun onCreate(savedInstanceState: Bundle?) {
35+
super.onCreate(savedInstanceState)
36+
37+
val isX86 = Build.SUPPORTED_ABIS.firstOrNull() in listOf(CpuArch.X86_64.abi, CpuArch.X86.abi)
38+
39+
if (isX86 && (!IDEBuildConfigProvider.getInstance().supportsCpuAbi() || !FeatureFlags.isEmulatorUseEnabled()) ) {
40+
finishAffinity()
41+
exitProcess(0)
42+
}
43+
44+
startActivity(Intent(this, OnboardingActivity::class.java))
45+
finish()
46+
}
3447
}

‎common/src/main/java/com/itsaky/androidide/utils/FeatureFlags.kt‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import java.io.File
66
object FeatureFlags {
77
private const val EXPERIMENTS_FILE_NAME = "CodeOnTheGo.exp"
88
private const val LOGD_FILE_NAME = "CodeOnTheGo.logd"
9+
private const val EMULATOR_FILE_NAME = "S153.txt"
910

1011
private val downloadsDir =
1112
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
@@ -19,4 +20,9 @@ object FeatureFlags {
1920
val logdFile = File(downloadsDir, LOGD_FILE_NAME)
2021
return logdFile.exists()
2122
}
23+
24+
fun isEmulatorUseEnabled(): Boolean {
25+
val emulatorFile = File(downloadsDir, EMULATOR_FILE_NAME)
26+
return emulatorFile.exists()
27+
}
2228
}

0 commit comments

Comments
 (0)