committed by
bunnei
4 changed files with 149 additions and 13 deletions
-
62src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/SetupFragment.kt
-
86src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/SetupWarningDialogFragment.kt
-
6src/android/app/src/main/java/org/yuzu/yuzu_emu/model/SetupPage.kt
-
8src/android/app/src/main/res/values/strings.xml
@ -0,0 +1,86 @@ |
|||||
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project |
||||
|
// SPDX-License-Identifier: GPL-2.0-or-later |
||||
|
|
||||
|
package org.yuzu.yuzu_emu.fragments |
||||
|
|
||||
|
import android.app.Dialog |
||||
|
import android.content.DialogInterface |
||||
|
import android.content.Intent |
||||
|
import android.net.Uri |
||||
|
import android.os.Bundle |
||||
|
import androidx.fragment.app.DialogFragment |
||||
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder |
||||
|
import org.yuzu.yuzu_emu.R |
||||
|
|
||||
|
class SetupWarningDialogFragment : DialogFragment() { |
||||
|
private var titleId: Int = 0 |
||||
|
private var descriptionId: Int = 0 |
||||
|
private var helpLinkId: Int = 0 |
||||
|
private var page: Int = 0 |
||||
|
|
||||
|
private lateinit var setupFragment: SetupFragment |
||||
|
|
||||
|
override fun onCreate(savedInstanceState: Bundle?) { |
||||
|
super.onCreate(savedInstanceState) |
||||
|
titleId = requireArguments().getInt(TITLE) |
||||
|
descriptionId = requireArguments().getInt(DESCRIPTION) |
||||
|
helpLinkId = requireArguments().getInt(HELP_LINK) |
||||
|
page = requireArguments().getInt(PAGE) |
||||
|
|
||||
|
setupFragment = requireParentFragment() as SetupFragment |
||||
|
} |
||||
|
|
||||
|
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { |
||||
|
val builder = MaterialAlertDialogBuilder(requireContext()) |
||||
|
.setPositiveButton(R.string.warning_skip) { _: DialogInterface?, _: Int -> |
||||
|
setupFragment.pageForward() |
||||
|
setupFragment.setPageWarned(page) |
||||
|
} |
||||
|
.setNegativeButton(R.string.warning_cancel, null) |
||||
|
|
||||
|
if (titleId != 0) { |
||||
|
builder.setTitle(titleId) |
||||
|
} else { |
||||
|
builder.setTitle("") |
||||
|
} |
||||
|
if (descriptionId != 0) { |
||||
|
builder.setMessage(descriptionId) |
||||
|
} |
||||
|
if (helpLinkId != 0) { |
||||
|
builder.setNeutralButton(R.string.warning_help) { _: DialogInterface?, _: Int -> |
||||
|
val helpLink = resources.getString(R.string.install_prod_keys_warning_help) |
||||
|
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(helpLink)) |
||||
|
startActivity(intent) |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
return builder.show() |
||||
|
} |
||||
|
|
||||
|
companion object { |
||||
|
const val TAG = "SetupWarningDialogFragment" |
||||
|
|
||||
|
private const val TITLE = "Title" |
||||
|
private const val DESCRIPTION = "Description" |
||||
|
private const val HELP_LINK = "HelpLink" |
||||
|
private const val PAGE = "Page" |
||||
|
|
||||
|
fun newInstance( |
||||
|
titleId: Int, |
||||
|
descriptionId: Int, |
||||
|
helpLinkId: Int, |
||||
|
page: Int |
||||
|
): SetupWarningDialogFragment { |
||||
|
val dialog = SetupWarningDialogFragment() |
||||
|
val bundle = Bundle() |
||||
|
bundle.apply { |
||||
|
putInt(TITLE, titleId) |
||||
|
putInt(DESCRIPTION, descriptionId) |
||||
|
putInt(HELP_LINK, helpLinkId) |
||||
|
putInt(PAGE, page) |
||||
|
} |
||||
|
dialog.arguments = bundle |
||||
|
return dialog |
||||
|
} |
||||
|
} |
||||
|
} |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue