diff --git a/CineCool/.idea/deploymentTargetDropDown.xml b/CineCool/.idea/deploymentTargetDropDown.xml new file mode 100644 index 0000000..dd2df21 --- /dev/null +++ b/CineCool/.idea/deploymentTargetDropDown.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CineCool/app/src/main/AndroidManifest.xml b/CineCool/app/src/main/AndroidManifest.xml index 54ed57c..a480402 100644 --- a/CineCool/app/src/main/AndroidManifest.xml +++ b/CineCool/app/src/main/AndroidManifest.xml @@ -1,13 +1,11 @@ + xmlns:tools="http://schemas.android.com/tools" > - - - - - + + - \ No newline at end of file diff --git a/CineCool/app/src/main/java/fr/iut/cinecool/fragments/LoginFragment.kt b/CineCool/app/src/main/java/fr/iut/cinecool/fragments/LoginFragment.kt index f842ba8..754e3c9 100644 --- a/CineCool/app/src/main/java/fr/iut/cinecool/fragments/LoginFragment.kt +++ b/CineCool/app/src/main/java/fr/iut/cinecool/fragments/LoginFragment.kt @@ -1,7 +1,8 @@ package fr.iut.cinecool.fragments -import android.content.Context.LOCATION_SERVICE -import android.location.LocationManager +import android.Manifest +import android.app.Activity +import android.content.pm.PackageManager import android.os.Bundle import androidx.fragment.app.Fragment import android.view.LayoutInflater @@ -9,16 +10,17 @@ import android.view.View import android.view.ViewGroup import android.widget.EditText import android.widget.ImageView -import androidx.core.content.ContextCompat.getSystemService +import android.widget.Toast +import androidx.core.app.ActivityCompat +import androidx.core.content.ContextCompat import androidx.navigation.fragment.findNavController import fr.iut.cinecool.R import fr.iut.cinecool.databinding.FragmentLoginBinding -import fr.iut.cinecool.databinding.FragmentMoviesBinding class LoginFragment : Fragment() { - private var locationManager : LocationManager? = null private var _binding: FragmentLoginBinding? = null private val binding get() = _binding!! + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? @@ -28,14 +30,56 @@ class LoginFragment : Fragment() { } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - //locationManager = this.context?.let { getSystemService(it,LOCATION_SERVICE) } as LocationManager? - super.onViewCreated(view, savedInstanceState) val loginButton = view.findViewById(R.id.loginButton) loginButton.setOnClickListener(){ - login() + if (ContextCompat.checkSelfPermission(this.requireContext(), + Manifest.permission.ACCESS_FINE_LOCATION) !== + PackageManager.PERMISSION_GRANTED) { + if (ActivityCompat.shouldShowRequestPermissionRationale( + this.requireContext() as Activity, + Manifest.permission.ACCESS_FINE_LOCATION)) { + ActivityCompat.requestPermissions( + this.requireContext() as Activity, + arrayOf(Manifest.permission.ACCESS_FINE_LOCATION), 1) + } else { + ActivityCompat.requestPermissions( + this.requireContext() as Activity, + arrayOf(Manifest.permission.ACCESS_FINE_LOCATION), 1) + } + } + } + } + + override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, + grantResults: IntArray) { + when (requestCode) { + 1 -> { + if (grantResults.isNotEmpty() && grantResults[0] == + PackageManager.PERMISSION_GRANTED + ) { + if ((this.requireContext().let { + ContextCompat.checkSelfPermission( + it, + Manifest.permission.ACCESS_FINE_LOCATION + ) + } == PackageManager.PERMISSION_GRANTED)) { + Toast.makeText( + this.requireContext(), + "Permission Granted", + Toast.LENGTH_SHORT + ).show() + } + } else { + Toast.makeText(this.requireContext(), "Permission Denied", Toast.LENGTH_SHORT) + .show() + } + login() + return + } } } + fun login(){ val name = view?.findViewById(R.id.name)?.text if (name != null) {