|
@@ -1,22 +1,30 @@
|
|
package com.flacksta.chef.journeygpstracker
|
|
package com.flacksta.chef.journeygpstracker
|
|
|
|
|
|
import android.Manifest
|
|
import android.Manifest
|
|
|
|
+import android.content.Intent
|
|
import android.content.pm.PackageManager
|
|
import android.content.pm.PackageManager
|
|
import android.os.Bundle
|
|
import android.os.Bundle
|
|
|
|
+import android.os.Looper
|
|
import android.util.Log
|
|
import android.util.Log
|
|
-import android.view.MenuItem
|
|
|
|
import androidx.activity.result.contract.ActivityResultContracts
|
|
import androidx.activity.result.contract.ActivityResultContracts
|
|
import androidx.appcompat.app.AppCompatActivity
|
|
import androidx.appcompat.app.AppCompatActivity
|
|
|
|
+import androidx.core.app.ActivityCompat
|
|
import androidx.core.content.ContextCompat
|
|
import androidx.core.content.ContextCompat
|
|
import androidx.fragment.app.Fragment
|
|
import androidx.fragment.app.Fragment
|
|
import com.flacksta.chef.journeygpstracker.databinding.ActivityMainScreenBinding
|
|
import com.flacksta.chef.journeygpstracker.databinding.ActivityMainScreenBinding
|
|
-import com.google.android.material.bottomnavigation.BottomNavigationView
|
|
|
|
|
|
+import com.google.android.gms.location.*
|
|
|
|
|
|
class MainScreenActivity : AppCompatActivity() {
|
|
class MainScreenActivity : AppCompatActivity() {
|
|
|
|
|
|
- //var mainBinding: ActivityMainBinding
|
|
|
|
private lateinit var binding: ActivityMainScreenBinding
|
|
private lateinit var binding: ActivityMainScreenBinding
|
|
- private val TAG: String = "MainScreenActivity"
|
|
|
|
|
|
+ private lateinit var locationCallback: LocationCallback
|
|
|
|
+ private lateinit var mLocationRequest: LocationRequest
|
|
|
|
+ //private var mTrackingService: TrackingService = TrackingService()
|
|
|
|
+ private var mPermApproved: Boolean = false
|
|
|
|
+
|
|
|
|
+ private val mTag: String = "MainScreenActivity"
|
|
|
|
+
|
|
|
|
+ private lateinit var mFusedLocationClient: FusedLocationProviderClient
|
|
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
super.onCreate(savedInstanceState)
|
|
super.onCreate(savedInstanceState)
|
|
@@ -46,12 +54,13 @@ class MainScreenActivity : AppCompatActivity() {
|
|
) { permissions ->
|
|
) { permissions ->
|
|
when {
|
|
when {
|
|
permissions.getOrDefault(Manifest.permission.ACCESS_FINE_LOCATION, false) -> {
|
|
permissions.getOrDefault(Manifest.permission.ACCESS_FINE_LOCATION, false) -> {
|
|
- Log.i(TAG,"Fine permission granted")
|
|
|
|
|
|
+ Log.i(mTag,"Fine permission granted")
|
|
|
|
+ mPermApproved = true
|
|
}
|
|
}
|
|
permissions.getOrDefault(Manifest.permission.ACCESS_COARSE_LOCATION, false) -> {
|
|
permissions.getOrDefault(Manifest.permission.ACCESS_COARSE_LOCATION, false) -> {
|
|
- Log.i(TAG,"Only Coarse permission granted")
|
|
|
|
|
|
+ Log.i(mTag,"Only Coarse permission granted")
|
|
} else -> {
|
|
} else -> {
|
|
- Log.i(TAG,"No Permission granted")
|
|
|
|
|
|
+ Log.i(mTag,"No Permission granted")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -64,9 +73,47 @@ class MainScreenActivity : AppCompatActivity() {
|
|
Manifest.permission.ACCESS_FINE_LOCATION,
|
|
Manifest.permission.ACCESS_FINE_LOCATION,
|
|
Manifest.permission.ACCESS_COARSE_LOCATION))
|
|
Manifest.permission.ACCESS_COARSE_LOCATION))
|
|
}
|
|
}
|
|
|
|
+ else {
|
|
|
|
+ mPermApproved = true
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /*mFusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
|
|
|
|
|
|
|
|
+ mLocationRequest = LocationRequest()
|
|
|
|
+ mLocationRequest.interval = 1000
|
|
|
|
+ mLocationRequest.fastestInterval = 1000
|
|
|
|
+ mLocationRequest.priority = LocationRequest.PRIORITY_HIGH_ACCURACY
|
|
|
|
+
|
|
|
|
+ locationCallback = object : LocationCallback() {
|
|
|
|
+ override fun onLocationResult(locationResult: LocationResult?) {
|
|
|
|
+ locationResult ?: return
|
|
|
|
+ for (location in locationResult.locations){
|
|
|
|
+ Log.i(TAG,"Got location.")
|
|
|
|
+ // Update UI with location data
|
|
|
|
+ // ...
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+ startLocationUpdates()*/
|
|
|
|
|
|
|
|
+ Intent(this, TrackingService::class.java).also { intent ->
|
|
|
|
+ startService(intent)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private fun startLocationUpdates() {
|
|
|
|
+
|
|
|
|
+ if (ActivityCompat.checkSelfPermission(
|
|
|
|
+ this,
|
|
|
|
+ Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED )
|
|
|
|
+ {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ mFusedLocationClient.requestLocationUpdates(mLocationRequest,
|
|
|
|
+ locationCallback,
|
|
|
|
+ Looper.getMainLooper())
|
|
}
|
|
}
|
|
|
|
|
|
private fun loadFragment(fragment: Fragment) {
|
|
private fun loadFragment(fragment: Fragment) {
|