Skip to content
Snippets Groups Projects
Unverified Commit 949d4a59 authored by harambasicluka's avatar harambasicluka Committed by GitHub
Browse files

Feature: IsBackgroundJob Enabled UI (#208)


* Background work quick fix

* Formatting

* Background work improved

* Formatting

* Refactoring

* Refactoring

* Allow background data usage

* Added isBackgroundRestricted

* removed unused import

Co-authored-by: default avatarAlexander Alferov <a.alferov@sap.com>
Co-authored-by: default avatarJakob Möller <jakob.moeller@sap.com>
Co-authored-by: default avatarAlexanderAlferov <64849422+AlexanderAlferov@users.noreply.github.com>
parent 927e1f9a
No related branches found
No related tags found
No related merge requests found
......@@ -2,7 +2,6 @@ package de.rki.coronawarnapp.ui.main
import android.content.Intent
import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
......@@ -69,8 +68,7 @@ class MainActivity : AppCompatActivity() {
super.onResume()
ConnectivityHelper.registerNetworkStatusCallback(this, callbackNetwork)
ConnectivityHelper.registerBluetoothStatusCallback(this, callbackBluetooth)
Log.d(TAG, "Background work is available: ${!ConnectivityHelper.isDataSaverEnabled(this)}")
settingsViewModel.updateBackgroundJobEnabled(!ConnectivityHelper.isDataSaverEnabled(this))
settingsViewModel.updateBackgroundJobEnabled(ConnectivityHelper.isBackgroundJobEnabled(this))
scheduleWork()
showDialogWithStacktraceIfPreviouslyCrashed()
}
......
package de.rki.coronawarnapp.util
import android.app.ActivityManager
import android.bluetooth.BluetoothAdapter
import android.content.BroadcastReceiver
import android.content.Context
......@@ -121,6 +122,20 @@ object ConnectivityHelper {
}
}
/**
* Checks if background jobs are enabled
*
* @param context the context
*
* @return Boolean
*
* @see isDataSaverEnabled
* @see isBackgroundRestricted
*/
fun isBackgroundJobEnabled(context: Context): Boolean {
return !(isDataSaverEnabled(context) || isBackgroundRestricted(context))
}
/**
* For API level 24+ check if data saver is enabled
* Else always return false
......@@ -131,13 +146,30 @@ object ConnectivityHelper {
*
* @see ConnectivityManager.RESTRICT_BACKGROUND_STATUS_DISABLED
*/
fun isDataSaverEnabled(context: Context): Boolean {
private fun isDataSaverEnabled(context: Context): Boolean {
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
connectivityManager.restrictBackgroundStatus != ConnectivityManager.RESTRICT_BACKGROUND_STATUS_DISABLED
} else false
}
/**
* For API level 28+ check if background is restricted
* Else always return false
*
* @param context the context
*
* @return Boolean
*
* @see isBackgroundRestricted
*/
private fun isBackgroundRestricted(context: Context): Boolean {
val activityManager = context.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
return activityManager.isBackgroundRestricted
} else return false
}
/**
* Get bluetooth enabled status.
*
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment