blob: dbfda7be35e58fd42de67973fdf09bb6f442f87c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.ui.main
import org.yuzu.yuzu_emu.BuildConfig
import org.yuzu.yuzu_emu.R
import org.yuzu.yuzu_emu.YuzuApplication
import org.yuzu.yuzu_emu.features.settings.utils.SettingsFile
import org.yuzu.yuzu_emu.utils.AddDirectoryHelper
class MainPresenter(private val view: MainView) {
private var dirToAdd: String? = null
fun onCreate() {
val versionName = BuildConfig.VERSION_NAME
view.setVersionString(versionName)
refreshGameList()
}
private fun launchFileListActivity(request: Int) {
view.launchFileListActivity(request)
}
fun handleOptionSelection(itemId: Int): Boolean {
when (itemId) {
R.id.menu_settings_core -> {
view.launchSettingsActivity(SettingsFile.FILE_NAME_CONFIG)
return true
}
R.id.button_add_directory -> {
launchFileListActivity(REQUEST_ADD_DIRECTORY)
return true
}
R.id.button_install_keys -> {
launchFileListActivity(REQUEST_INSTALL_KEYS)
return true
}
R.id.button_select_gpu_driver -> {
launchFileListActivity(REQUEST_SELECT_GPU_DRIVER)
return true
}
}
return false
}
fun addDirIfNeeded(helper: AddDirectoryHelper) {
if (dirToAdd != null) {
helper.addDirectory(dirToAdd) { view.refresh() }
dirToAdd = null
}
}
fun onDirectorySelected(dir: String?) {
dirToAdd = dir
}
private fun refreshGameList() {
val databaseHelper = YuzuApplication.databaseHelper
databaseHelper!!.scanLibrary(databaseHelper.writableDatabase)
view.refresh()
}
companion object {
const val REQUEST_ADD_DIRECTORY = 1
const val REQUEST_INSTALL_KEYS = 2
const val REQUEST_SELECT_GPU_DRIVER = 3
}
}
|