From 112b2417d1c6cdd854d52e8792f3cd66ea81d782 Mon Sep 17 00:00:00 2001 From: Samuel Vermeulen Date: Sat, 18 Jun 2022 23:04:55 +0200 Subject: [PATCH] DialogAlert --- .idea/misc.xml | 2 +- .../fr/svpro/radiomercure/MainActivity.java | 33 ++++++++++++++++--- app/src/main/res/layout/activity_main.xml | 5 ++- app/src/main/res/values/strings.xml | 11 +++++++ 4 files changed, 42 insertions(+), 9 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index 8e6f6d5..ac68bce 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -5,7 +5,7 @@ - + diff --git a/app/src/main/java/fr/svpro/radiomercure/MainActivity.java b/app/src/main/java/fr/svpro/radiomercure/MainActivity.java index 4cdc782..9f5fc52 100644 --- a/app/src/main/java/fr/svpro/radiomercure/MainActivity.java +++ b/app/src/main/java/fr/svpro/radiomercure/MainActivity.java @@ -2,10 +2,12 @@ package fr.svpro.radiomercure; import android.Manifest; import android.annotation.SuppressLint; +import android.app.AlertDialog; import android.app.Dialog; import android.app.DownloadManager; import android.content.ComponentName; import android.content.Context; +import android.content.DialogInterface; import android.content.Intent; import android.content.ServiceConnection; import android.content.pm.PackageManager; @@ -54,14 +56,33 @@ public class MainActivity extends AppCompatActivity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - //Réglage de l'app battery non optimisée par l'utilisateur + //Demande d'autorisation de désactiver l'optimisation de la batterie + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setMessage(R.string.dialog_battery_msg) + .setTitle(R.string.dialog_battery_titre); + + builder.setPositiveButton(R.string.dialog_button_oui, (dialog12, id) -> { + Intent intent = new Intent(); + intent.setAction(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS); + //intent.setData(Uri.parse("package:"+ getApplicationInfo().packageName)); + startActivity(intent); + + }); + builder.setNegativeButton(R.string.dialog_button_non, (dialog1, id) -> { + // User cancelled the dialog + Toast.makeText(this, "Annulation par l'utilisateur", Toast.LENGTH_SHORT).show(); + }); + AlertDialog alertDialog = builder.create(); + + + + PowerManager powerManager = (PowerManager) getApplicationContext().getSystemService(POWER_SERVICE); if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - Intent intent = new Intent(); + if (!powerManager.isIgnoringBatteryOptimizations(getApplication().getPackageName())) { - intent.setAction(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS); - //intent.setData(Uri.parse("package:"+ getApplicationInfo().packageName)); - startActivity(intent); + alertDialog.show(); + } } @@ -179,6 +200,7 @@ public class MainActivity extends AppCompatActivity { return true; case R.id.about: + dialog.show(); return true; @@ -245,6 +267,7 @@ public class MainActivity extends AppCompatActivity { } else { onDestroy(); reStart(); + ; } } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 7880b8a..181a459 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,6 +1,5 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 099717d..376b8f8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -7,4 +7,15 @@ A Propos... Fermer RADIO MERCURE - Version + + Désactiver l\'optimisation de la batterie ? + Oui + Non \ No newline at end of file