Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.comtrade.aicapone.Services
- import android.app.Service
- import android.content.Context
- import android.content.Intent
- import android.content.res.Resources
- import android.location.Location
- import android.location.LocationManager
- import android.os.Bundle
- import android.support.v4.app.ActivityCompat
- import android.util.Log
- import com.comtrade.aicapone.Models.Job
- import com.comtrade.aicapone.Models.User
- import com.comtrade.aicapone.R
- import com.google.android.gms.common.api.GoogleApiClient
- import com.google.android.gms.maps.GoogleMap
- import android.os.IBinder
- import android.widget.Toast
- import com.comtrade.aicapone.Models.Coordinate
- import com.squareup.okhttp.Request
- import retrofit2.Call
- import retrofit2.Callback
- import retrofit2.Response
- class LocationService() : Service(){
- private var mLocationManager: LocationManager? = null
- var mLocationListeners = arrayOf(LocationListener(LocationManager.GPS_PROVIDER), LocationListener(LocationManager.NETWORK_PROVIDER))
- class LocationListener(provider: String) : android.location.LocationListener {
- internal var mLastLocation: Location
- private var userID:Long?=null
- private var token:String?=null
- private var mJobService:JobService?=null
- private var coordinate: Coordinate?=null
- init {
- Log.e(TAG, "LocationListener $provider")
- Log.d("Redosled izvrsavanja","INIT")
- mLastLocation = Location(provider)
- }
- override fun onLocationChanged(location: Location) {
- mJobService = JobService("http://10.0.2.2:52994/api/")
- Log.d("Redosled izvrsavanja","onLocationChanged")
- mLastLocation.set(location)
- // coordinate?.lat=mLastLocation.latitude
- // coordinate?.lng=mLastLocation.longitude
- coordinate = Coordinate(mLastLocation.latitude,mLastLocation.longitude)
- Log.d("mLastLocation","Koordinate: "+mLastLocation.latitude+", "+mLastLocation.longitude)
- Log.d("Location coos","LAT: "+location.latitude+" LONG: "+location.longitude)
- // coordinates?.lat = location.latitude
- // coordinates?.lng = location.longitude
- Log.d("Location coos","LAT: "+location.latitude+" LONG: "+location.longitude)
- Log.d("OnLOcationChangedDebug","userID: "+LocationService.Companion.getUserID()+" lat: "+coordinate?.lat+" long: "+coordinate?.lng)
- mJobService?.updateJobsLocation(coordinate!!,LocationService.Companion.getUserID(), LocationService.Companion.getToken())?.enqueue(object : Callback<Job> {
- //override fun onRequest
- override fun onFailure(call: Call<Job>?, t: Throwable?) {
- Log.d("retrofit failure", "message " + t!!.message)
- // Toast.makeText(applicationContext, "Something went wrong. Please, try again." , Toast.LENGTH_SHORT).show()
- }
- override fun onResponse(call: Call<Job>?, response: Response<Job>?) {
- if(response!=null) {
- Log.d("retrofit response", response.toString())
- if(response.isSuccessful) {
- // Toast.makeText(applicationContext, "Job taken", Toast.LENGTH_LONG).show()
- }
- else{
- Log.d("retrofit response", "Job update failed")
- }
- }
- }
- })
- Log.v("LastLocation", mLastLocation.latitude.toString() +" " + mLastLocation.longitude.toString())
- // Log.v("Rez testa",LocationService.Companion.getString())
- //Log.d("Intent params","userID: "+this.)
- }
- override fun onProviderDisabled(provider: String) {
- Log.e(TAG, "onProviderDisabled: $provider")
- }
- override fun onProviderEnabled(provider: String) {
- Log.e(TAG, "onProviderEnabled: $provider")
- }
- override fun onStatusChanged(provider: String, status: Int, extras: Bundle) {
- Log.e(TAG, "onStatusChanged: $provider")
- }
- }
- override fun onBind(arg0: Intent): IBinder? {
- Log.d("Redosled izvrsavanja","onBind")
- return null
- }
- override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
- Log.e(TAG, "onStartCommand")
- super.onStartCommand(intent, flags, startId)
- Log.d("Redosled izvrsavanja","onStartCommand")
- LocationService.Companion.setParams(intent?.extras?.get("userID") as Long, intent?.extras?.get("token") as String)
- Log.d("USERID DEBUG","userID: "+LocationService.Companion.getUserID()+" ONSTARTCMD")
- return Service.START_STICKY
- }
- override fun onCreate() {
- Log.e(TAG, "onCreate")
- initializeLocationManager()
- // LocationService.Companion.setString("TEST MORA BITI USPESAN!")
- //Log.d("INTENT SRANJA","userID:"+this.userID+" token:"+this.token+" onCreate")
- Log.d("Redosled izvrsavanja","onCreate")
- // Log.d("USERID DEBUG","userID: "+LocationService.Companion.getUserID())
- try {
- mLocationManager!!.requestLocationUpdates(
- LocationManager.NETWORK_PROVIDER, LOCATION_INTERVAL.toLong(), LOCATION_DISTANCE,
- mLocationListeners[1])
- } catch (ex: java.lang.SecurityException) {
- Log.i(TAG, "fail to request location update, ignore", ex)
- } catch (ex: IllegalArgumentException) {
- Log.d(TAG, "network provider does not exist, " + ex.message)
- }
- try {
- mLocationManager!!.requestLocationUpdates(
- LocationManager.GPS_PROVIDER, LOCATION_INTERVAL.toLong(), LOCATION_DISTANCE,
- mLocationListeners[0])
- } catch (ex: java.lang.SecurityException) {
- Log.i(TAG, "fail to request location update, ignore", ex)
- } catch (ex: IllegalArgumentException) {
- Log.d(TAG, "gps provider does not exist " + ex.message)
- }
- }
- override fun onDestroy() {
- Log.e(TAG, "onDestroy")
- super.onDestroy()
- if (mLocationManager != null) {
- for (i in mLocationListeners.indices) {
- try {
- mLocationManager!!.removeUpdates(mLocationListeners[i])
- } catch (ex: Exception) {
- Log.i(TAG, "fail to remove location listners, ignore", ex)
- }
- }
- }
- }
- private fun initializeLocationManager() {
- Log.e(TAG, "initializeLocationManager")
- if (mLocationManager == null) {
- Log.d("Redosled izvrsavanja","initializeLocationManager")
- mLocationManager = applicationContext.getSystemService(Context.LOCATION_SERVICE) as LocationManager
- // mJobService? = JobService("http://10.0.2.2:52994/api/")
- }
- }
- companion object {
- private val TAG = "BOOMBOOMTESTGPS"
- private val LOCATION_INTERVAL = 10000
- private val LOCATION_DISTANCE = 0f
- private var userID: Long ?= null
- private var token: String?= null
- fun setParams(userID: Long,token: String)
- {
- this.userID = userID
- this.token = token
- }
- fun getUserID():Long {return this.userID!!
- }
- fun getToken():String {return this.token!!
- }
- private lateinit var strproba:String
- }
- }
- //class LocationService(token: String?, user: User) : Runnable{
- //
- // override fun run(){
- // var jobService = JobService("http://10.0.2.2:52994/api/")
- // jobService!!.updateJobsLocation(user?.id,lastLocation.latitude,lastLocation.longitude, token).enqueue(object : Callback<Job> {
- // override fun onFailure(call: Call<Job>?, t: Throwable?) {
- // Log.d("retrofit failure", "message " + t!!.message)
- // //Toast.makeText(applicationContext, "Something went wrong. Please, try again." , Toast.LENGTH_SHORT).show()
- // }
- // override fun onResponse(call: Call<Job>?, response: Response<Job>?) {
- // if(response!=null) {
- // Log.d("retrofit response", response.toString())
- // if(response.isSuccessful) {
- // //Toast.makeText(applicationContext, "Job taken", Toast.LENGTH_LONG).show()
- // }
- // else{
- // Log.d("retrofit response", "Job update failed")
- // }
- // }
- // }
- // })
- // }
- //}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement