style: code formatting and remove unused imports in MainActivity
This commit is contained in:
parent
9838ebaef9
commit
1a5b6083e7
1 changed files with 65 additions and 35 deletions
|
@ -6,8 +6,6 @@ package org.yuzu.yuzu_emu.ui.main
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.os.ParcelFileDescriptor
|
|
||||||
import android.provider.OpenableColumns
|
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup.MarginLayoutParams
|
import android.view.ViewGroup.MarginLayoutParams
|
||||||
import android.view.WindowManager
|
import android.view.WindowManager
|
||||||
|
@ -49,7 +47,6 @@ import java.io.BufferedOutputStream
|
||||||
import java.util.zip.ZipEntry
|
import java.util.zip.ZipEntry
|
||||||
import java.util.zip.ZipInputStream
|
import java.util.zip.ZipInputStream
|
||||||
import androidx.core.content.edit
|
import androidx.core.content.edit
|
||||||
import androidx.core.net.toFile
|
|
||||||
|
|
||||||
class MainActivity : AppCompatActivity(), ThemeProvider {
|
class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||||
private lateinit var binding: ActivityMainBinding
|
private lateinit var binding: ActivityMainBinding
|
||||||
|
@ -69,7 +66,9 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||||
private var checkedFirmware = false
|
private var checkedFirmware = false
|
||||||
|
|
||||||
private val requestBluetoothPermissionsLauncher =
|
private val requestBluetoothPermissionsLauncher =
|
||||||
registerForActivityResult(androidx.activity.result.contract.ActivityResultContracts.RequestMultiplePermissions()) { permissions ->
|
registerForActivityResult(
|
||||||
|
androidx.activity.result.contract.ActivityResultContracts.RequestMultiplePermissions()
|
||||||
|
) { permissions ->
|
||||||
val granted = permissions.entries.all { it.value }
|
val granted = permissions.entries.all { it.value }
|
||||||
if (granted) {
|
if (granted) {
|
||||||
// Permissions were granted.
|
// Permissions were granted.
|
||||||
|
@ -111,10 +110,8 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||||
|
|
||||||
binding = ActivityMainBinding.inflate(layoutInflater)
|
binding = ActivityMainBinding.inflate(layoutInflater)
|
||||||
|
|
||||||
|
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
|
|
||||||
checkAndRequestBluetoothPermissions()
|
checkAndRequestBluetoothPermissions()
|
||||||
|
|
||||||
if (savedInstanceState != null) {
|
if (savedInstanceState != null) {
|
||||||
|
@ -151,16 +148,20 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||||
binding.statusBarShade.setBackgroundColor(
|
binding.statusBarShade.setBackgroundColor(
|
||||||
ThemeHelper.getColorWithOpacity(
|
ThemeHelper.getColorWithOpacity(
|
||||||
MaterialColors.getColor(
|
MaterialColors.getColor(
|
||||||
binding.root, com.google.android.material.R.attr.colorSurface
|
binding.root,
|
||||||
), ThemeHelper.SYSTEM_BAR_ALPHA
|
com.google.android.material.R.attr.colorSurface
|
||||||
|
),
|
||||||
|
ThemeHelper.SYSTEM_BAR_ALPHA
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if (InsetsHelper.getSystemGestureType(applicationContext) != InsetsHelper.GESTURE_NAVIGATION) {
|
if (InsetsHelper.getSystemGestureType(applicationContext) != InsetsHelper.GESTURE_NAVIGATION) {
|
||||||
binding.navigationBarShade.setBackgroundColor(
|
binding.navigationBarShade.setBackgroundColor(
|
||||||
ThemeHelper.getColorWithOpacity(
|
ThemeHelper.getColorWithOpacity(
|
||||||
MaterialColors.getColor(
|
MaterialColors.getColor(
|
||||||
binding.root, com.google.android.material.R.attr.colorSurface
|
binding.root,
|
||||||
), ThemeHelper.SYSTEM_BAR_ALPHA
|
com.google.android.material.R.attr.colorSurface
|
||||||
|
),
|
||||||
|
ThemeHelper.SYSTEM_BAR_ALPHA
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -171,7 +172,9 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||||
|
|
||||||
homeViewModel.statusBarShadeVisible.collect(this) { showStatusBarShade(it) }
|
homeViewModel.statusBarShadeVisible.collect(this) { showStatusBarShade(it) }
|
||||||
homeViewModel.contentToInstall.collect(
|
homeViewModel.contentToInstall.collect(
|
||||||
this, resetState = { homeViewModel.setContentToInstall(null) }) {
|
this,
|
||||||
|
resetState = { homeViewModel.setContentToInstall(null) }
|
||||||
|
) {
|
||||||
if (it != null) {
|
if (it != null) {
|
||||||
installContent(it)
|
installContent(it)
|
||||||
}
|
}
|
||||||
|
@ -181,7 +184,9 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||||
}
|
}
|
||||||
|
|
||||||
homeViewModel.checkFirmware.collect(
|
homeViewModel.checkFirmware.collect(
|
||||||
this, resetState = { homeViewModel.setCheckFirmware(false) }) {
|
this,
|
||||||
|
resetState = { homeViewModel.setCheckFirmware(false) }
|
||||||
|
) {
|
||||||
if (it) checkFirmware()
|
if (it) checkFirmware()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -204,7 +209,8 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||||
PreferenceManager.getDefaultSharedPreferences(applicationContext).edit() {
|
PreferenceManager.getDefaultSharedPreferences(applicationContext).edit() {
|
||||||
putBoolean(Settings.PREF_SHOULD_SHOW_PRE_ALPHA_WARNING, false)
|
putBoolean(Settings.PREF_SHOULD_SHOW_PRE_ALPHA_WARNING, false)
|
||||||
}
|
}
|
||||||
}).show(supportFragmentManager, MessageDialogFragment.TAG)
|
}
|
||||||
|
).show(supportFragmentManager, MessageDialogFragment.TAG)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -225,7 +231,7 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||||
|
|
||||||
private fun checkFirmware() {
|
private fun checkFirmware() {
|
||||||
val resultCode: Int = NativeLibrary.verifyFirmware()
|
val resultCode: Int = NativeLibrary.verifyFirmware()
|
||||||
if (resultCode == 0) return;
|
if (resultCode == 0) return
|
||||||
|
|
||||||
val resultString: String =
|
val resultString: String =
|
||||||
resources.getStringArray(R.array.verifyFirmwareResults)[resultCode]
|
resources.getStringArray(R.array.verifyFirmwareResults)[resultCode]
|
||||||
|
@ -313,14 +319,17 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||||
|
|
||||||
fun processGamesDir(result: Uri, calledFromGameFragment: Boolean = false) {
|
fun processGamesDir(result: Uri, calledFromGameFragment: Boolean = false) {
|
||||||
contentResolver.takePersistableUriPermission(
|
contentResolver.takePersistableUriPermission(
|
||||||
result, Intent.FLAG_GRANT_READ_URI_PERMISSION
|
result,
|
||||||
|
Intent.FLAG_GRANT_READ_URI_PERMISSION
|
||||||
)
|
)
|
||||||
|
|
||||||
val uriString = result.toString()
|
val uriString = result.toString()
|
||||||
val folder = gamesViewModel.folders.value.firstOrNull { it.uriString == uriString }
|
val folder = gamesViewModel.folders.value.firstOrNull { it.uriString == uriString }
|
||||||
if (folder != null) {
|
if (folder != null) {
|
||||||
Toast.makeText(
|
Toast.makeText(
|
||||||
applicationContext, R.string.folder_already_added, Toast.LENGTH_SHORT
|
applicationContext,
|
||||||
|
R.string.folder_already_added,
|
||||||
|
Toast.LENGTH_SHORT
|
||||||
).show()
|
).show()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -343,16 +352,19 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||||
|
|
||||||
fun processKey(result: Uri, extension: String = "keys") {
|
fun processKey(result: Uri, extension: String = "keys") {
|
||||||
contentResolver.takePersistableUriPermission(
|
contentResolver.takePersistableUriPermission(
|
||||||
result, Intent.FLAG_GRANT_READ_URI_PERMISSION
|
result,
|
||||||
|
Intent.FLAG_GRANT_READ_URI_PERMISSION
|
||||||
)
|
)
|
||||||
|
|
||||||
val resultCode: Int = NativeLibrary.installKeys(result.toString(), extension);
|
val resultCode: Int = NativeLibrary.installKeys(result.toString(), extension)
|
||||||
|
|
||||||
if (resultCode == 0) {
|
if (resultCode == 0) {
|
||||||
// TODO(crueter): It may be worth it to switch some of these Toasts to snackbars,
|
// TODO(crueter): It may be worth it to switch some of these Toasts to snackbars,
|
||||||
// since most of it is foreground-only anyways.
|
// since most of it is foreground-only anyways.
|
||||||
Toast.makeText(
|
Toast.makeText(
|
||||||
applicationContext, R.string.keys_install_success, Toast.LENGTH_SHORT
|
applicationContext,
|
||||||
|
R.string.keys_install_success,
|
||||||
|
Toast.LENGTH_SHORT
|
||||||
).show()
|
).show()
|
||||||
|
|
||||||
gamesViewModel.reloadGames(true)
|
gamesViewModel.reloadGames(true)
|
||||||
|
@ -384,12 +396,15 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||||
val cacheFirmwareDir = File("${cacheDir.path}/registered/")
|
val cacheFirmwareDir = File("${cacheDir.path}/registered/")
|
||||||
|
|
||||||
ProgressDialogFragment.newInstance(
|
ProgressDialogFragment.newInstance(
|
||||||
this, R.string.firmware_installing
|
this,
|
||||||
|
R.string.firmware_installing
|
||||||
) { progressCallback, _ ->
|
) { progressCallback, _ ->
|
||||||
var messageToShow: Any
|
var messageToShow: Any
|
||||||
try {
|
try {
|
||||||
FileUtil.unzipToInternalStorage(
|
FileUtil.unzipToInternalStorage(
|
||||||
result.toString(), cacheFirmwareDir, progressCallback
|
result.toString(),
|
||||||
|
cacheFirmwareDir,
|
||||||
|
progressCallback
|
||||||
)
|
)
|
||||||
val unfilteredNumOfFiles = cacheFirmwareDir.list()?.size ?: -1
|
val unfilteredNumOfFiles = cacheFirmwareDir.list()?.size ?: -1
|
||||||
val filteredNumOfFiles = cacheFirmwareDir.list(filterNCA)?.size ?: -2
|
val filteredNumOfFiles = cacheFirmwareDir.list(filterNCA)?.size ?: -2
|
||||||
|
@ -423,7 +438,8 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||||
val firmwarePath =
|
val firmwarePath =
|
||||||
File(DirectoryInitialization.userDirectory + "/nand/system/Contents/registered/")
|
File(DirectoryInitialization.userDirectory + "/nand/system/Contents/registered/")
|
||||||
ProgressDialogFragment.newInstance(
|
ProgressDialogFragment.newInstance(
|
||||||
this, R.string.firmware_uninstalling
|
this,
|
||||||
|
R.string.firmware_uninstalling
|
||||||
) { progressCallback, _ ->
|
) { progressCallback, _ ->
|
||||||
var messageToShow: Any
|
var messageToShow: Any
|
||||||
try {
|
try {
|
||||||
|
@ -459,12 +475,15 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||||
}
|
}
|
||||||
|
|
||||||
ProgressDialogFragment.newInstance(
|
ProgressDialogFragment.newInstance(
|
||||||
this@MainActivity, R.string.verifying_content, false
|
this@MainActivity,
|
||||||
|
R.string.verifying_content,
|
||||||
|
false
|
||||||
) { _, _ ->
|
) { _, _ ->
|
||||||
var updatesMatchProgram = true
|
var updatesMatchProgram = true
|
||||||
for (document in documents) {
|
for (document in documents) {
|
||||||
val valid = NativeLibrary.doesUpdateMatchProgram(
|
val valid = NativeLibrary.doesUpdateMatchProgram(
|
||||||
addonViewModel.game!!.programId, document.toString()
|
addonViewModel.game!!.programId,
|
||||||
|
document.toString()
|
||||||
)
|
)
|
||||||
if (!valid) {
|
if (!valid) {
|
||||||
updatesMatchProgram = false
|
updatesMatchProgram = false
|
||||||
|
@ -480,14 +499,16 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||||
titleId = R.string.content_install_notice,
|
titleId = R.string.content_install_notice,
|
||||||
descriptionId = R.string.content_install_notice_description,
|
descriptionId = R.string.content_install_notice_description,
|
||||||
positiveAction = { homeViewModel.setContentToInstall(documents) },
|
positiveAction = { homeViewModel.setContentToInstall(documents) },
|
||||||
negativeAction = {})
|
negativeAction = {}
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}.show(supportFragmentManager, ProgressDialogFragment.TAG)
|
}.show(supportFragmentManager, ProgressDialogFragment.TAG)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun installContent(documents: List<Uri>) {
|
private fun installContent(documents: List<Uri>) {
|
||||||
ProgressDialogFragment.newInstance(
|
ProgressDialogFragment.newInstance(
|
||||||
this@MainActivity, R.string.installing_game_content
|
this@MainActivity,
|
||||||
|
R.string.installing_game_content
|
||||||
) { progressCallback, messageCallback ->
|
) { progressCallback, messageCallback ->
|
||||||
var installSuccess = 0
|
var installSuccess = 0
|
||||||
var installOverwrite = 0
|
var installOverwrite = 0
|
||||||
|
@ -495,11 +516,14 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||||
var error = 0
|
var error = 0
|
||||||
documents.forEach {
|
documents.forEach {
|
||||||
messageCallback.invoke(FileUtil.getFilename(it))
|
messageCallback.invoke(FileUtil.getFilename(it))
|
||||||
when (InstallResult.from(
|
when (
|
||||||
NativeLibrary.installFileToNand(
|
InstallResult.from(
|
||||||
it.toString(), progressCallback
|
NativeLibrary.installFileToNand(
|
||||||
|
it.toString(),
|
||||||
|
progressCallback
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)) {
|
) {
|
||||||
InstallResult.Success -> {
|
InstallResult.Success -> {
|
||||||
installSuccess += 1
|
installSuccess += 1
|
||||||
}
|
}
|
||||||
|
@ -525,7 +549,8 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||||
if (installSuccess > 0) {
|
if (installSuccess > 0) {
|
||||||
installResult.append(
|
installResult.append(
|
||||||
getString(
|
getString(
|
||||||
R.string.install_game_content_success_install, installSuccess
|
R.string.install_game_content_success_install,
|
||||||
|
installSuccess
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
installResult.append(separator)
|
installResult.append(separator)
|
||||||
|
@ -533,7 +558,8 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||||
if (installOverwrite > 0) {
|
if (installOverwrite > 0) {
|
||||||
installResult.append(
|
installResult.append(
|
||||||
getString(
|
getString(
|
||||||
R.string.install_game_content_success_overwrite, installOverwrite
|
R.string.install_game_content_success_overwrite,
|
||||||
|
installOverwrite
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
installResult.append(separator)
|
installResult.append(separator)
|
||||||
|
@ -543,7 +569,8 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||||
installResult.append(separator)
|
installResult.append(separator)
|
||||||
installResult.append(
|
installResult.append(
|
||||||
getString(
|
getString(
|
||||||
R.string.install_game_content_failed_count, errorTotal
|
R.string.install_game_content_failed_count,
|
||||||
|
errorTotal
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
installResult.append(separator)
|
installResult.append(separator)
|
||||||
|
@ -584,7 +611,9 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||||
}
|
}
|
||||||
|
|
||||||
ProgressDialogFragment.newInstance(
|
ProgressDialogFragment.newInstance(
|
||||||
this, R.string.exporting_user_data, true
|
this,
|
||||||
|
R.string.exporting_user_data,
|
||||||
|
true
|
||||||
) { progressCallback, _ ->
|
) { progressCallback, _ ->
|
||||||
val zipResult = FileUtil.zipFromInternalStorage(
|
val zipResult = FileUtil.zipFromInternalStorage(
|
||||||
File(DirectoryInitialization.userDirectory!!),
|
File(DirectoryInitialization.userDirectory!!),
|
||||||
|
@ -608,7 +637,8 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||||
}
|
}
|
||||||
|
|
||||||
ProgressDialogFragment.newInstance(
|
ProgressDialogFragment.newInstance(
|
||||||
this, R.string.importing_user_data
|
this,
|
||||||
|
R.string.importing_user_data
|
||||||
) { progressCallback, _ ->
|
) { progressCallback, _ ->
|
||||||
val checkStream =
|
val checkStream =
|
||||||
ZipInputStream(BufferedInputStream(contentResolver.openInputStream(result)))
|
ZipInputStream(BufferedInputStream(contentResolver.openInputStream(result)))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue