Update MainActivity.kt

This commit is contained in:
ShirosakiMio 2024-08-19 10:36:01 +08:00
parent 7000a0fbd0
commit b957239f25
1 changed files with 21 additions and 16 deletions

View File

@ -61,6 +61,7 @@ class MainActivity : FCLActivity(), OnSelectListener, View.OnClickListener {
@JvmStatic @JvmStatic
lateinit var instance: MainActivity lateinit var instance: MainActivity
} }
lateinit var bind: ActivityMainBinding lateinit var bind: ActivityMainBinding
private var _uiManager: UIManager? = null private var _uiManager: UIManager? = null
private lateinit var uiManager: UIManager private lateinit var uiManager: UIManager
@ -199,7 +200,16 @@ class MainActivity : FCLActivity(), OnSelectListener, View.OnClickListener {
uiManager = UIManager(this@MainActivity, uiLayout) uiManager = UIManager(this@MainActivity, uiLayout)
_uiManager = uiManager _uiManager = uiManager
uiManager.registerDefaultBackEvent(backToMainUI) uiManager.registerDefaultBackEvent() {
if (uiManager.currentUI === uiManager.mainUI) {
val i = Intent(Intent.ACTION_MAIN)
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
i.addCategory(Intent.CATEGORY_HOME)
startActivity(i)
} else {
home.isSelected = true
}
}
uiManager.init { uiManager.init {
home.setOnSelectListener(this@MainActivity) home.setOnSelectListener(this@MainActivity)
manage.setOnSelectListener(this@MainActivity) manage.setOnSelectListener(this@MainActivity)
@ -218,17 +228,6 @@ class MainActivity : FCLActivity(), OnSelectListener, View.OnClickListener {
} }
} }
var backToMainUI: Runnable = Runnable {
if (uiManager.currentUI === uiManager.mainUI) {
val i = Intent(Intent.ACTION_MAIN)
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
i.addCategory(Intent.CATEGORY_HOME)
startActivity(i)
} else {
bind.home.isSelected = true
}
}
override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean { override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
_uiManager?.onBackPressed() _uiManager?.onBackPressed()
return true return true
@ -247,11 +246,12 @@ class MainActivity : FCLActivity(), OnSelectListener, View.OnClickListener {
override fun onSelect(view: FCLMenuView) { override fun onSelect(view: FCLMenuView) {
refreshMenuView(view) refreshMenuView(view)
bind.apply { bind.apply {
when(view) { when (view) {
home -> { home -> {
title.setTextWithAnim(getString(R.string.app_name)) title.setTextWithAnim(getString(R.string.app_name))
uiManager.switchUI(uiManager.mainUI) uiManager.switchUI(uiManager.mainUI)
} }
manage -> { manage -> {
val version = Profiles.getSelectedVersion() val version = Profiles.getSelectedVersion()
if (version == null) { if (version == null) {
@ -264,18 +264,22 @@ class MainActivity : FCLActivity(), OnSelectListener, View.OnClickListener {
uiManager.switchUI(uiManager.manageUI) uiManager.switchUI(uiManager.manageUI)
} }
} }
download -> { download -> {
title.setTextWithAnim(getString(R.string.download)) title.setTextWithAnim(getString(R.string.download))
uiManager.switchUI(uiManager.downloadUI) uiManager.switchUI(uiManager.downloadUI)
} }
controller -> { controller -> {
title.setTextWithAnim(getString(R.string.controller)) title.setTextWithAnim(getString(R.string.controller))
uiManager.switchUI(uiManager.controllerUI) uiManager.switchUI(uiManager.controllerUI)
} }
multiplayer -> { multiplayer -> {
title.setTextWithAnim(getString(R.string.multiplayer)) title.setTextWithAnim(getString(R.string.multiplayer))
uiManager.switchUI(uiManager.multiplayerUI) uiManager.switchUI(uiManager.multiplayerUI)
} }
setting -> { setting -> {
title.setTextWithAnim(getString(R.string.setting)) title.setTextWithAnim(getString(R.string.setting))
uiManager.switchUI(uiManager.settingUI) uiManager.switchUI(uiManager.settingUI)
@ -351,7 +355,8 @@ class MainActivity : FCLActivity(), OnSelectListener, View.OnClickListener {
} else { } else {
accountName.stringProperty() accountName.stringProperty()
.bind(BindingMapping.of(account) { obj: Account -> obj.character }) .bind(BindingMapping.of(account) { obj: Account -> obj.character })
accountHint.stringProperty().bind(accountSubtitle(this@MainActivity, account)) accountHint.stringProperty()
.bind(accountSubtitle(this@MainActivity, account))
avatar.imageProperty().unbind() avatar.imageProperty().unbind()
avatar.imageProperty().bind( avatar.imageProperty().bind(
TexturesLoader.avatarBinding( TexturesLoader.avatarBinding(