Просмотр исходного кода

android: Convert StartupHandler to Kotlin

Charles Lombardo 3 лет назад
Родитель
Сommit
b8eb8bd2b5

+ 0 - 45
src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/StartupHandler.java

@@ -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());
-        }
-    }
-}

+ 45 - 0
src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/StartupHandler.kt

@@ -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()
+        }
+    }
+}