|
|
|
@ -17,15 +17,21 @@ import androidx.core.view.ViewCompat |
|
|
|
import androidx.core.view.WindowCompat |
|
|
|
import androidx.core.view.WindowInsetsCompat |
|
|
|
import androidx.core.view.updatePadding |
|
|
|
import androidx.lifecycle.lifecycleScope |
|
|
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder |
|
|
|
import kotlinx.coroutines.Dispatchers |
|
|
|
import kotlinx.coroutines.launch |
|
|
|
import kotlinx.coroutines.withContext |
|
|
|
import org.yuzu.yuzu_emu.NativeLibrary |
|
|
|
import org.yuzu.yuzu_emu.R |
|
|
|
import org.yuzu.yuzu_emu.activities.EmulationActivity |
|
|
|
import org.yuzu.yuzu_emu.databinding.ActivityMainBinding |
|
|
|
import org.yuzu.yuzu_emu.databinding.DialogProgressBarBinding |
|
|
|
import org.yuzu.yuzu_emu.features.settings.ui.SettingsActivity |
|
|
|
import org.yuzu.yuzu_emu.model.GameProvider |
|
|
|
import org.yuzu.yuzu_emu.ui.platform.PlatformGamesFragment |
|
|
|
import org.yuzu.yuzu_emu.utils.* |
|
|
|
import java.io.IOException |
|
|
|
|
|
|
|
class MainActivity : AppCompatActivity(), MainView { |
|
|
|
private var platformGamesFragment: PlatformGamesFragment? = null |
|
|
|
@ -200,20 +206,40 @@ class MainActivity : AppCompatActivity(), MainView { |
|
|
|
Uri.parse(result!!.dataString), |
|
|
|
takeFlags |
|
|
|
) |
|
|
|
GpuDriverHelper.installCustomDriver(this, result.data) |
|
|
|
val driverName = GpuDriverHelper.customDriverName |
|
|
|
if (driverName != null) { |
|
|
|
Toast.makeText( |
|
|
|
this, |
|
|
|
getString(R.string.select_gpu_driver_install_success, driverName), |
|
|
|
Toast.LENGTH_SHORT |
|
|
|
).show() |
|
|
|
} else { |
|
|
|
Toast.makeText( |
|
|
|
this, |
|
|
|
R.string.select_gpu_driver_error, |
|
|
|
Toast.LENGTH_LONG |
|
|
|
).show() |
|
|
|
|
|
|
|
val progressBinding = DialogProgressBarBinding.inflate(layoutInflater) |
|
|
|
progressBinding.progressBar.isIndeterminate = true |
|
|
|
val installationDialog = MaterialAlertDialogBuilder(this) |
|
|
|
.setTitle(R.string.installing_driver) |
|
|
|
.setView(progressBinding.root) |
|
|
|
.show() |
|
|
|
|
|
|
|
lifecycleScope.launch { |
|
|
|
withContext(Dispatchers.IO) { |
|
|
|
// Ignore file exceptions when a user selects an invalid zip |
|
|
|
try { |
|
|
|
GpuDriverHelper.installCustomDriver(applicationContext, result.data) |
|
|
|
} catch (_: IOException) {} |
|
|
|
|
|
|
|
withContext(Dispatchers.Main) { |
|
|
|
installationDialog.dismiss() |
|
|
|
|
|
|
|
val driverName = GpuDriverHelper.customDriverName |
|
|
|
if (driverName != null) { |
|
|
|
Toast.makeText( |
|
|
|
applicationContext, |
|
|
|
getString(R.string.select_gpu_driver_install_success, driverName), |
|
|
|
Toast.LENGTH_SHORT |
|
|
|
).show() |
|
|
|
} else { |
|
|
|
Toast.makeText( |
|
|
|
applicationContext, |
|
|
|
R.string.select_gpu_driver_error, |
|
|
|
Toast.LENGTH_LONG |
|
|
|
).show() |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|