This commit is contained in:
Tommaso Berlose 2021-01-04 12:04:25 +01:00
parent b2a9b9fbb3
commit 0aec34dcd2
4 changed files with 8 additions and 5 deletions

Binary file not shown.

View File

@ -23,7 +23,7 @@ android {
applicationId "com.tommasoberlose.anotherwidget" applicationId "com.tommasoberlose.anotherwidget"
minSdkVersion 23 minSdkVersion 23
targetSdkVersion 30 targetSdkVersion 30
versionCode 112 versionCode 114
versionName "2.1.0" versionName "2.1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

Binary file not shown.

View File

@ -30,13 +30,15 @@ class LocationService : Service() {
override fun onCreate() { override fun onCreate() {
super.onCreate() super.onCreate()
startForeground(LOCATION_ACCESS_NOTIFICATION_ID, getLocationAccessNotification())
}
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
if (ActivityCompat.checkSelfPermission( if (ActivityCompat.checkSelfPermission(
this, this,
Manifest.permission.ACCESS_FINE_LOCATION Manifest.permission.ACCESS_FINE_LOCATION
) == PackageManager.PERMISSION_GRANTED ) == PackageManager.PERMISSION_GRANTED
) { ) {
startForeground(LOCATION_ACCESS_NOTIFICATION_ID, getLocationAccessNotification())
jobs += GlobalScope.launch(Dispatchers.IO) { jobs += GlobalScope.launch(Dispatchers.IO) {
LocationServices.getFusedLocationProviderClient(this@LocationService).lastLocation.addOnCompleteListener { task -> LocationServices.getFusedLocationProviderClient(this@LocationService).lastLocation.addOnCompleteListener { task ->
@ -51,7 +53,7 @@ class LocationService : Service() {
CoroutineScope(Dispatchers.IO).launch { CoroutineScope(Dispatchers.IO).launch {
networkApi.updateWeather() networkApi.updateWeather()
withContext(Dispatchers.Main) { withContext(Dispatchers.Main) {
stopForeground(true) stopSelf()
} }
} }
EventBus.getDefault().post(MainFragment.UpdateUiMessageEvent()) EventBus.getDefault().post(MainFragment.UpdateUiMessageEvent())
@ -59,7 +61,7 @@ class LocationService : Service() {
CoroutineScope(Dispatchers.IO).launch { CoroutineScope(Dispatchers.IO).launch {
networkApi.updateWeather() networkApi.updateWeather()
withContext(Dispatchers.Main) { withContext(Dispatchers.Main) {
stopForeground(true) stopSelf()
} }
} }
EventBus.getDefault().post(MainFragment.UpdateUiMessageEvent()) EventBus.getDefault().post(MainFragment.UpdateUiMessageEvent())
@ -67,8 +69,9 @@ class LocationService : Service() {
} }
} }
} else { } else {
stopForeground(true) stopSelf()
} }
return START_STICKY
} }
override fun onDestroy() { override fun onDestroy() {