| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package com.example.modifier
- import android.content.DialogInterface
- import android.content.Intent
- import android.net.Uri
- import android.os.Bundle
- import android.provider.Settings
- import androidx.activity.enableEdgeToEdge
- import androidx.appcompat.app.AppCompatActivity
- import androidx.navigation.fragment.NavHostFragment
- import androidx.navigation.ui.NavigationUI.setupWithNavController
- import com.example.modifier.databinding.ActivityMainBinding
- import com.google.android.material.dialog.MaterialAlertDialogBuilder
- import kotlinx.coroutines.CoroutineScope
- import kotlinx.coroutines.Dispatchers
- import kotlinx.coroutines.delay
- import kotlinx.coroutines.launch
- import kotlinx.coroutines.withContext
- class MainActivity : AppCompatActivity() {
- private lateinit var mBinding: ActivityMainBinding
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- this.enableEdgeToEdge()
- mBinding = ActivityMainBinding.inflate(layoutInflater)
- setContentView(mBinding.root)
- val navHostFragment =
- supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
- val controller = navHostFragment.navController
- setupWithNavController(mBinding.nav, controller)
- CoroutineScope(Dispatchers.IO).launch {
- if (!Settings.canDrawOverlays(this@MainActivity)) {
- Utils.enableOverlay()
- }
- if (Utils.hasRootAccess()) {
- if (!Utils.isAccessibilityEnabled()) {
- if (!Utils.enableAccessibility()) {
- val intent = Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS)
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
- startActivity(intent)
- delay(1000);
- finish();
- }
- }
- Utils.runAsRoot(
- "settings put global window_animation_scale 0.0",
- "settings put global transition_animation_scale 0.0",
- "settings put global animator_duration_scale 0.0"
- )
- } else {
- withContext(Dispatchers.Main) {
- MaterialAlertDialogBuilder(this@MainActivity)
- .setTitle("No Root Access")
- .setMessage("Root access is required to run this app")
- .setCancelable(false)
- .setPositiveButton("Exit") { _: DialogInterface?, _: Int ->
- finish()
- }
- .show()
- }
- }
- }
- }
- }
|