2019-10-02 19:42:38 +02:00
|
|
|
package com.topjohnwu.magisk.redesign
|
|
|
|
|
2019-10-03 16:42:47 +02:00
|
|
|
import android.graphics.Insets
|
2019-10-03 18:41:04 +02:00
|
|
|
import android.os.Bundle
|
2019-10-03 17:31:45 +02:00
|
|
|
import androidx.fragment.app.Fragment
|
2019-10-03 18:41:04 +02:00
|
|
|
import com.ncapdevi.fragnav.FragNavController
|
2019-10-02 19:42:38 +02:00
|
|
|
import com.topjohnwu.magisk.R
|
|
|
|
import com.topjohnwu.magisk.databinding.ActivityMainMd2Binding
|
2019-10-03 16:42:47 +02:00
|
|
|
import com.topjohnwu.magisk.redesign.compat.CompatActivity
|
2019-10-03 17:31:45 +02:00
|
|
|
import com.topjohnwu.magisk.redesign.home.HomeFragment
|
2019-10-02 19:42:38 +02:00
|
|
|
import org.koin.androidx.viewmodel.ext.android.viewModel
|
2019-10-03 17:31:45 +02:00
|
|
|
import kotlin.reflect.KClass
|
2019-10-02 19:42:38 +02:00
|
|
|
|
2019-10-03 16:42:47 +02:00
|
|
|
open class MainActivity : CompatActivity<MainViewModel, ActivityMainMd2Binding>() {
|
2019-10-02 19:42:38 +02:00
|
|
|
|
|
|
|
override val layoutRes = R.layout.activity_main_md2
|
|
|
|
override val viewModel by viewModel<MainViewModel>()
|
2019-10-03 17:31:45 +02:00
|
|
|
override val navHostId: Int = R.id.main_nav_host
|
|
|
|
override val defaultPosition: Int = 0
|
|
|
|
|
|
|
|
override val baseFragments: List<KClass<out Fragment>> = listOf(
|
|
|
|
HomeFragment::class
|
|
|
|
)
|
2019-10-02 19:42:38 +02:00
|
|
|
|
2019-10-03 18:41:04 +02:00
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
|
|
super.onCreate(savedInstanceState)
|
|
|
|
|
|
|
|
setSupportActionBar(binding.mainToolbar)
|
|
|
|
}
|
|
|
|
|
|
|
|
override fun onTabTransaction(fragment: Fragment?, index: Int) {
|
|
|
|
super.onTabTransaction(fragment, index)
|
|
|
|
|
|
|
|
setDisplayHomeAsUpEnabled(false)
|
|
|
|
}
|
|
|
|
|
|
|
|
override fun onFragmentTransaction(
|
|
|
|
fragment: Fragment?,
|
|
|
|
transactionType: FragNavController.TransactionType
|
|
|
|
) {
|
|
|
|
super.onFragmentTransaction(fragment, transactionType)
|
|
|
|
|
|
|
|
when (transactionType) {
|
|
|
|
FragNavController.TransactionType.PUSH -> setDisplayHomeAsUpEnabled(true)
|
|
|
|
else -> Unit //dunno might be useful
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-10-03 16:42:47 +02:00
|
|
|
override fun peekSystemWindowInsets(insets: Insets) {
|
|
|
|
viewModel.insets.value = insets
|
|
|
|
}
|
|
|
|
|
2019-10-03 18:41:04 +02:00
|
|
|
fun setDisplayHomeAsUpEnabled(isEnabled: Boolean) {
|
|
|
|
when {
|
|
|
|
isEnabled -> binding.mainToolbar.setNavigationIcon(R.drawable.ic_back_md2)
|
|
|
|
else -> binding.mainToolbar.navigationIcon = null
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-10-02 19:42:38 +02:00
|
|
|
}
|