From 70f0eaeb74915cd36974ac854dd01753005f043a Mon Sep 17 00:00:00 2001 From: t22couch <thibaud.couchet@imt-atlantique.net> Date: Tue, 25 Mar 2025 15:33:10 +0100 Subject: [PATCH] dskfjhdskfhbdfsdkjhfkdjhfjkshd --- .../myfirstapplication/EditUserFragment.java | 31 +++++++++++++++++-- .../myfirstapplication/MapsFragment.java | 3 -- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/fr/imt_atlantique/myfirstapplication/EditUserFragment.java b/app/src/main/java/fr/imt_atlantique/myfirstapplication/EditUserFragment.java index 15760fb..5a4447a 100644 --- a/app/src/main/java/fr/imt_atlantique/myfirstapplication/EditUserFragment.java +++ b/app/src/main/java/fr/imt_atlantique/myfirstapplication/EditUserFragment.java @@ -1,14 +1,19 @@ package fr.imt_atlantique.myfirstapplication; +import android.Manifest; +import android.app.AlertDialog; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; +import android.content.pm.PackageManager; import android.net.Uri; import android.os.Bundle; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.widget.Toolbar; import androidx.constraintlayout.widget.ConstraintLayout; +import androidx.core.app.ActivityCompat; +import androidx.core.content.ContextCompat; import androidx.fragment.app.Fragment; import android.text.Layout; @@ -21,6 +26,8 @@ import android.widget.EditText; import android.widget.LinearLayout; import android.widget.Spinner; import android.widget.TextView; +import android.widget.Toast; + import com.google.android.material.snackbar.Snackbar; import java.util.ArrayList; import java.util.Date; @@ -163,8 +170,16 @@ public class EditUserFragment extends Fragment { resetAllFields(); return true; } else if (item.getItemId() == R.id.showMaps) { - callback.showMaps(); - return true; + if (ContextCompat.checkSelfPermission(requireContext(), + Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { + grantPermissionAlertDialog(); + return true; + }else { + callback.showMaps(); + return true; + } + + } return false; }); @@ -211,6 +226,18 @@ public class EditUserFragment extends Fragment { validateButton.setOnClickListener(v -> validateAction()); } + + private void grantPermissionAlertDialog() { + new AlertDialog.Builder(requireContext()) + .setTitle(getString(R.string.position_permission_title)) + .setMessage(getString(R.string.position_permission_message)) + .setNegativeButton(getString(R.string.cancel), (dialog, which) -> Toast.makeText(requireContext(), getString(R.string.permission_denied), Toast.LENGTH_SHORT) + .show()) + .setPositiveButton("Ok", (dialog, which) -> ActivityCompat.requestPermissions(requireActivity(), new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 3)) + .create() + .show(); + } + private void shareAction() { Intent shareIntent = new Intent(Intent.ACTION_SEND); shareIntent.setType("text/plain"); diff --git a/app/src/main/java/fr/imt_atlantique/myfirstapplication/MapsFragment.java b/app/src/main/java/fr/imt_atlantique/myfirstapplication/MapsFragment.java index f5c9ae9..57c67db 100644 --- a/app/src/main/java/fr/imt_atlantique/myfirstapplication/MapsFragment.java +++ b/app/src/main/java/fr/imt_atlantique/myfirstapplication/MapsFragment.java @@ -53,9 +53,6 @@ public class MapsFragment extends Fragment { if (ContextCompat.checkSelfPermission(requireContext(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { grantPermissionAlertDialog(); - // if the permission is granted, we can restart the map - //restart the fragment - requireFragmentManager().beginTransaction().detach(MapsFragment.this).attach(MapsFragment.this).commit(); return; } try { -- GitLab