Move setContentView out of onCreate

This commit is contained in:
topjohnwu
2020-09-11 02:31:41 -07:00
parent e66b0bf3b2
commit d7f7508fa2
5 changed files with 28 additions and 32 deletions
@@ -14,7 +14,6 @@ import androidx.core.view.setPadding
import androidx.core.view.updateLayoutParams
import androidx.navigation.NavDirections
import com.google.android.material.card.MaterialCardView
import com.topjohnwu.magisk.BuildConfig
import com.topjohnwu.magisk.MainDirections
import com.topjohnwu.magisk.R
import com.topjohnwu.magisk.arch.BaseUIActivity
@@ -60,6 +59,7 @@ open class MainActivity : BaseUIActivity<MainViewModel, ActivityMainMd2Binding>(
return
}
setContentView()
showUnsupportedMessage()
askForHomeShortcut()
@@ -18,9 +18,9 @@ import com.topjohnwu.magisk.core.model.su.SuPolicy.Companion.DENY
import com.topjohnwu.magisk.core.su.SuRequestHandler
import com.topjohnwu.magisk.core.utils.BiometricHelper
import com.topjohnwu.magisk.events.DieEvent
import com.topjohnwu.magisk.events.ShowUIEvent
import com.topjohnwu.magisk.ui.superuser.SpinnerRvItem
import com.topjohnwu.magisk.utils.set
import com.topjohnwu.superuser.internal.UiThreadHandler
import kotlinx.coroutines.launch
import me.tatarka.bindingcollectionadapter2.BindingListViewAdapter
import me.tatarka.bindingcollectionadapter2.ItemBinding
@@ -33,26 +33,14 @@ class SuRequestViewModel(
private val res: Resources
) : BaseViewModel() {
@get:Bindable
var icon: Drawable? = null
set(value) = set(value, field, { field = it }, BR.icon)
@get:Bindable
var title = ""
set(value) = set(value, field, { field = it }, BR.title)
@get:Bindable
var packageName = ""
set(value) = set(value, field, { field = it }, BR.packageName)
lateinit var icon: Drawable
lateinit var title: String
lateinit var packageName: String
@get:Bindable
var denyText = res.getString(R.string.deny)
set(value) = set(value, field, { field = it }, BR.denyText)
@get:Bindable
var warningText = res.getString(R.string.su_warning)
set(value) = set(value, field, { field = it }, BR.warningText)
@get:Bindable
var selectedItemPosition = 0
set(value) = set(value, field, { field = it }, BR.selectedItemPosition)
@@ -124,14 +112,14 @@ class SuRequestViewModel(
icon = policy.applicationInfo.loadIcon(pm)
title = policy.appName
packageName = policy.packageName
UiThreadHandler.handler.post {
// Delay is required to properly do selection
selectedItemPosition = timeoutPrefs.getInt(policy.packageName, 0)
}
selectedItemPosition = timeoutPrefs.getInt(policy.packageName, 0)
// Set timer
val millis = SECONDS.toMillis(Config.suDefaultTimeout.toLong())
timer = SuTimer(millis, 1000).apply { start() }
// Actually show the UI
ShowUIEvent().publish()
}
private inner class SuTimer(