Android: Create analytics dialog fragment
This commit is contained in:
parent
f056cec859
commit
14c7d81b54
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
|
@ -2,17 +2,16 @@
|
||||||
|
|
||||||
package org.dolphinemu.dolphinemu.utils;
|
package org.dolphinemu.dolphinemu.utils;
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
|
|
||||||
import androidx.annotation.Keep;
|
import androidx.annotation.Keep;
|
||||||
|
import androidx.fragment.app.FragmentActivity;
|
||||||
|
|
||||||
import com.android.volley.Request;
|
import com.android.volley.Request;
|
||||||
import com.android.volley.toolbox.StringRequest;
|
import com.android.volley.toolbox.StringRequest;
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
|
||||||
|
|
||||||
import org.dolphinemu.dolphinemu.DolphinApplication;
|
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.BooleanSetting;
|
||||||
import org.dolphinemu.dolphinemu.features.settings.model.Settings;
|
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_MODEL = "DEVICE_MODEL";
|
||||||
private static final String DEVICE_TYPE = "DEVICE_TYPE";
|
private static final String DEVICE_TYPE = "DEVICE_TYPE";
|
||||||
|
|
||||||
public static void checkAnalyticsInit(Context context)
|
public static void checkAnalyticsInit(FragmentActivity activity)
|
||||||
{
|
{
|
||||||
new AfterDirectoryInitializationRunner().runWithoutLifecycle(() ->
|
new AfterDirectoryInitializationRunner().runWithoutLifecycle(() ->
|
||||||
{
|
{
|
||||||
if (!BooleanSetting.MAIN_ANALYTICS_PERMISSION_ASKED.getBooleanGlobal())
|
if (!BooleanSetting.MAIN_ANALYTICS_PERMISSION_ASKED.getBooleanGlobal())
|
||||||
{
|
{
|
||||||
showMessage(context);
|
new AnalyticsDialog().show(activity.getSupportFragmentManager(), AnalyticsDialog.TAG);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void showMessage(Context context)
|
public static void firstAnalyticsAdd(boolean enabled)
|
||||||
{
|
|
||||||
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)
|
|
||||||
{
|
{
|
||||||
try (Settings settings = new Settings())
|
try (Settings settings = new Settings())
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue