android: Convert StartupHandler to Kotlin
This commit is contained in:
parent
de1dff557d
commit
b8eb8bd2b5
|
@ -1,45 +0,0 @@
|
||||||
package org.yuzu.yuzu_emu.utils;
|
|
||||||
|
|
||||||
import android.content.SharedPreferences;
|
|
||||||
import android.preference.PreferenceManager;
|
|
||||||
import android.text.Html;
|
|
||||||
import android.text.method.LinkMovementMethod;
|
|
||||||
import android.widget.TextView;
|
|
||||||
|
|
||||||
import androidx.appcompat.app.AlertDialog;
|
|
||||||
|
|
||||||
import org.yuzu.yuzu_emu.R;
|
|
||||||
import org.yuzu.yuzu_emu.YuzuApplication;
|
|
||||||
import org.yuzu.yuzu_emu.ui.main.MainActivity;
|
|
||||||
import org.yuzu.yuzu_emu.ui.main.MainPresenter;
|
|
||||||
|
|
||||||
public final class StartupHandler {
|
|
||||||
private static SharedPreferences mPreferences = PreferenceManager.getDefaultSharedPreferences(YuzuApplication.getAppContext());
|
|
||||||
|
|
||||||
private static void handleStartupPromptDismiss(MainActivity parent) {
|
|
||||||
parent.launchFileListActivity(MainPresenter.REQUEST_INSTALL_KEYS);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void markFirstBoot() {
|
|
||||||
final SharedPreferences.Editor editor = mPreferences.edit();
|
|
||||||
editor.putBoolean("FirstApplicationLaunch", false);
|
|
||||||
editor.apply();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void handleInit(MainActivity parent) {
|
|
||||||
if (mPreferences.getBoolean("FirstApplicationLaunch", true)) {
|
|
||||||
markFirstBoot();
|
|
||||||
|
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(parent);
|
|
||||||
builder.setMessage(Html.fromHtml(parent.getResources().getString(R.string.app_disclaimer)));
|
|
||||||
builder.setTitle(R.string.app_name);
|
|
||||||
builder.setIcon(R.mipmap.ic_launcher);
|
|
||||||
builder.setPositiveButton(android.R.string.ok, null);
|
|
||||||
builder.setOnDismissListener(dialogInterface -> handleStartupPromptDismiss(parent));
|
|
||||||
|
|
||||||
AlertDialog alert = builder.create();
|
|
||||||
alert.show();
|
|
||||||
((TextView) alert.findViewById(android.R.id.message)).setMovementMethod(LinkMovementMethod.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
package org.yuzu.yuzu_emu.utils
|
||||||
|
|
||||||
|
import androidx.preference.PreferenceManager
|
||||||
|
import android.text.Html
|
||||||
|
import android.text.method.LinkMovementMethod
|
||||||
|
import android.view.View
|
||||||
|
import android.widget.TextView
|
||||||
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
|
import org.yuzu.yuzu_emu.R
|
||||||
|
import org.yuzu.yuzu_emu.YuzuApplication
|
||||||
|
import org.yuzu.yuzu_emu.features.settings.model.Settings
|
||||||
|
import org.yuzu.yuzu_emu.ui.main.MainActivity
|
||||||
|
import org.yuzu.yuzu_emu.ui.main.MainPresenter
|
||||||
|
|
||||||
|
object StartupHandler {
|
||||||
|
private val preferences =
|
||||||
|
PreferenceManager.getDefaultSharedPreferences(YuzuApplication.appContext)
|
||||||
|
|
||||||
|
private fun handleStartupPromptDismiss(parent: MainActivity) {
|
||||||
|
parent.launchFileListActivity(MainPresenter.REQUEST_INSTALL_KEYS)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun markFirstBoot() {
|
||||||
|
preferences.edit()
|
||||||
|
.putBoolean(Settings.PREF_FIRST_APP_LAUNCH, false)
|
||||||
|
.apply()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun handleInit(parent: MainActivity) {
|
||||||
|
if (preferences.getBoolean(Settings.PREF_FIRST_APP_LAUNCH, true)) {
|
||||||
|
markFirstBoot()
|
||||||
|
val alert = MaterialAlertDialogBuilder(parent)
|
||||||
|
.setMessage(Html.fromHtml(parent.resources.getString(R.string.app_disclaimer)))
|
||||||
|
.setTitle(R.string.app_name)
|
||||||
|
.setIcon(R.mipmap.ic_launcher)
|
||||||
|
.setPositiveButton(android.R.string.ok, null)
|
||||||
|
.setOnDismissListener {
|
||||||
|
handleStartupPromptDismiss(parent)
|
||||||
|
}
|
||||||
|
.show()
|
||||||
|
(alert.findViewById<View>(android.R.id.message) as TextView?)!!.movementMethod =
|
||||||
|
LinkMovementMethod.getInstance()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue