mirror of
https://codeberg.org/timelimit/timelimit-android.git
synced 2025-10-03 09:49:25 +02:00
Allow ForegroundApp without activtiyName
This commit is contained in:
parent
2824d18db6
commit
f4d3741289
4 changed files with 5 additions and 7 deletions
|
@ -95,7 +95,7 @@ abstract class PlatformIntegration(
|
||||||
var systemClockChangeListener: Runnable? = null
|
var systemClockChangeListener: Runnable? = null
|
||||||
}
|
}
|
||||||
|
|
||||||
data class ForegroundApp(val packageName: String, val activityName: String)
|
data class ForegroundApp(val packageName: String, val activityName: String?)
|
||||||
|
|
||||||
enum class ProtectionLevel {
|
enum class ProtectionLevel {
|
||||||
None, SimpleDeviceAdmin, PasswordDeviceAdmin, DeviceOwner
|
None, SimpleDeviceAdmin, PasswordDeviceAdmin, DeviceOwner
|
||||||
|
|
|
@ -248,7 +248,7 @@ class LollipopForegroundAppHelper(context: Context) : UsageStatsForegroundAppHel
|
||||||
// Android 9 (and maybe older versions too) do not report pausing Apps if they are disabled while running
|
// Android 9 (and maybe older versions too) do not report pausing Apps if they are disabled while running
|
||||||
private fun doesActivityExist(app: ForegroundApp) = doesActivityExistSimple(app) || doesActivityExistAsAlias(app)
|
private fun doesActivityExist(app: ForegroundApp) = doesActivityExistSimple(app) || doesActivityExistAsAlias(app)
|
||||||
|
|
||||||
private fun doesActivityExistSimple(app: ForegroundApp) = try {
|
private fun doesActivityExistSimple(app: ForegroundApp) = app.activityName != null && try {
|
||||||
packageManager.getActivityInfo(ComponentName(app.packageName, app.activityName), 0).isEnabled
|
packageManager.getActivityInfo(ComponentName(app.packageName, app.activityName), 0).isEnabled
|
||||||
} catch (ex: PackageManager.NameNotFoundException) {
|
} catch (ex: PackageManager.NameNotFoundException) {
|
||||||
false
|
false
|
||||||
|
|
|
@ -33,6 +33,7 @@ import io.timelimit.android.date.getMinuteOfWeek
|
||||||
import io.timelimit.android.extensions.MinuteOfDay
|
import io.timelimit.android.extensions.MinuteOfDay
|
||||||
import io.timelimit.android.extensions.nextBlockedMinuteOfWeek
|
import io.timelimit.android.extensions.nextBlockedMinuteOfWeek
|
||||||
import io.timelimit.android.integration.platform.AppStatusMessage
|
import io.timelimit.android.integration.platform.AppStatusMessage
|
||||||
|
import io.timelimit.android.integration.platform.ForegroundApp
|
||||||
import io.timelimit.android.integration.platform.NetworkId
|
import io.timelimit.android.integration.platform.NetworkId
|
||||||
import io.timelimit.android.integration.platform.ProtectionLevel
|
import io.timelimit.android.integration.platform.ProtectionLevel
|
||||||
import io.timelimit.android.integration.platform.android.AccessibilityService
|
import io.timelimit.android.integration.platform.android.AccessibilityService
|
||||||
|
@ -315,7 +316,7 @@ class BackgroundTaskLogic(val appLogic: AppLogic) {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
} else listOf(
|
} else listOf(
|
||||||
DummyApps.MISSING_PERMISSION_FG_APP to AppBaseHandling.SanctionCountEverything(
|
ForegroundApp(DummyApps.MISSING_PERMISSION_APP, null) to AppBaseHandling.SanctionCountEverything(
|
||||||
categoryIds = userRelatedData.categoryById.keys
|
categoryIds = userRelatedData.categoryById.keys
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
|
@ -21,14 +21,11 @@ import androidx.core.content.ContextCompat
|
||||||
import io.timelimit.android.R
|
import io.timelimit.android.R
|
||||||
import io.timelimit.android.data.model.App
|
import io.timelimit.android.data.model.App
|
||||||
import io.timelimit.android.data.model.AppRecommendation
|
import io.timelimit.android.data.model.AppRecommendation
|
||||||
import io.timelimit.android.integration.platform.ForegroundApp
|
|
||||||
|
|
||||||
object DummyApps {
|
object DummyApps {
|
||||||
const val NOT_ASSIGNED_SYSTEM_IMAGE_APP = ".dummy.system_image"
|
const val NOT_ASSIGNED_SYSTEM_IMAGE_APP = ".dummy.system_image"
|
||||||
private const val MISSING_PERMISSION_APP = ".dummy.missing_usage_stats_permission"
|
const val MISSING_PERMISSION_APP = ".dummy.missing_usage_stats_permission"
|
||||||
const val FEATURE_APP_PREFIX = ".feature."
|
const val FEATURE_APP_PREFIX = ".feature."
|
||||||
private const val DUMMY_ACTIVITY = ".activity.dummy"
|
|
||||||
val MISSING_PERMISSION_FG_APP = ForegroundApp(MISSING_PERMISSION_APP, DUMMY_ACTIVITY)
|
|
||||||
|
|
||||||
fun getTitle(packageName: String, context: Context): String? = when (packageName) {
|
fun getTitle(packageName: String, context: Context): String? = when (packageName) {
|
||||||
NOT_ASSIGNED_SYSTEM_IMAGE_APP -> context.getString(R.string.dummy_app_unassigned_system_image_app)
|
NOT_ASSIGNED_SYSTEM_IMAGE_APP -> context.getString(R.string.dummy_app_unassigned_system_image_app)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue