style: code formatting and remove unused imports in MainActivity

This commit is contained in:
Producdevity 2025-07-25 20:20:57 +02:00
parent 9838ebaef9
commit 1a5b6083e7

View file

@ -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)))