summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java
diff options
context:
space:
mode:
authorCharles Lombardo <clombardo169@gmail.com>2023-01-26 20:42:39 -0500
committerCharles Lombardo <clombardo169@gmail.com>2023-01-26 20:42:39 -0500
commit14c7d81b545f42b7bec298bbc84ee624946c5547 (patch)
treeef1c29d1009267e2bb38340a3f0a820883c825ff /Source/Android/app/src/main/java
parentf056cec8594ca63049ae3b481a5f2f8a752ef03d (diff)
Android: Create analytics dialog fragment
Diffstat (limited to 'Source/Android/app/src/main/java')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/dialogs/AnalyticsDialog.kt29
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Analytics.java21
2 files changed, 34 insertions, 16 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/dialogs/AnalyticsDialog.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/dialogs/AnalyticsDialog.kt
new file mode 100644
index 0000000000..51e7b9b279
--- /dev/null
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/dialogs/AnalyticsDialog.kt
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+package org.dolphinemu.dolphinemu.dialogs
+
+import android.app.Dialog
+import android.os.Bundle
+import androidx.fragment.app.DialogFragment
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
+import org.dolphinemu.dolphinemu.R
+import org.dolphinemu.dolphinemu.utils.Analytics
+
+class AnalyticsDialog : DialogFragment() {
+ override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
+ val dialog = MaterialAlertDialogBuilder(requireContext())
+ .setTitle(requireContext().getString(R.string.analytics))
+ .setMessage(requireContext().getString(R.string.analytics_desc))
+ .setPositiveButton(R.string.yes) { _, _ ->
+ Analytics.firstAnalyticsAdd(true)
+ }
+ .setNegativeButton(R.string.no) { _, _ ->
+ Analytics.firstAnalyticsAdd(false)
+ }
+ return dialog.create()
+ }
+
+ companion object {
+ const val TAG = "AnalyticsDialog"
+ }
+}
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Analytics.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Analytics.java
index 961620213a..b1537f260e 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Analytics.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Analytics.java
@@ -2,17 +2,16 @@
package org.dolphinemu.dolphinemu.utils;
-import android.content.Context;
import android.os.Build;
import androidx.annotation.Keep;
+import androidx.fragment.app.FragmentActivity;
import com.android.volley.Request;
import com.android.volley.toolbox.StringRequest;
-import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import org.dolphinemu.dolphinemu.DolphinApplication;
-import org.dolphinemu.dolphinemu.R;
+import org.dolphinemu.dolphinemu.dialogs.AnalyticsDialog;
import org.dolphinemu.dolphinemu.features.settings.model.BooleanSetting;
import org.dolphinemu.dolphinemu.features.settings.model.Settings;
@@ -23,28 +22,18 @@ public class Analytics
private static final String DEVICE_MODEL = "DEVICE_MODEL";
private static final String DEVICE_TYPE = "DEVICE_TYPE";
- public static void checkAnalyticsInit(Context context)
+ public static void checkAnalyticsInit(FragmentActivity activity)
{
new AfterDirectoryInitializationRunner().runWithoutLifecycle(() ->
{
if (!BooleanSetting.MAIN_ANALYTICS_PERMISSION_ASKED.getBooleanGlobal())
{
- showMessage(context);
+ new AnalyticsDialog().show(activity.getSupportFragmentManager(), AnalyticsDialog.TAG);
}
});
}
- private static void showMessage(Context context)
- {
- new MaterialAlertDialogBuilder(context)
- .setTitle(context.getString(R.string.analytics))
- .setMessage(context.getString(R.string.analytics_desc))
- .setPositiveButton(R.string.yes, (dialogInterface, i) -> firstAnalyticsAdd(true))
- .setNegativeButton(R.string.no, (dialogInterface, i) -> firstAnalyticsAdd(false))
- .show();
- }
-
- private static void firstAnalyticsAdd(boolean enabled)
+ public static void firstAnalyticsAdd(boolean enabled)
{
try (Settings settings = new Settings())
{