mirror of
https://codeberg.org/timelimit/timelimit-android.git
synced 2025-10-03 09:49:25 +02:00
Allow blocking the private dns settings
This commit is contained in:
parent
e6ad261ddc
commit
152e479d4c
3 changed files with 24 additions and 2 deletions
|
@ -18,16 +18,27 @@ package io.timelimit.android.integration.platform.android
|
||||||
import android.app.admin.DevicePolicyManager
|
import android.app.admin.DevicePolicyManager
|
||||||
import android.content.ComponentName
|
import android.content.ComponentName
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import android.os.Build.VERSION
|
||||||
|
import android.os.Build.VERSION_CODES
|
||||||
import android.os.UserManager
|
import android.os.UserManager
|
||||||
import io.timelimit.android.R
|
import io.timelimit.android.R
|
||||||
import io.timelimit.android.integration.platform.PlatformFeature
|
import io.timelimit.android.integration.platform.PlatformFeature
|
||||||
|
|
||||||
object AndroidFeatures {
|
object AndroidFeatures {
|
||||||
private const val FEATURE_ADB = "adb"
|
private const val FEATURE_ADB = "adb"
|
||||||
|
private const val FEATURE_CONFIG_PRIVATE_DNS = "dns"
|
||||||
|
|
||||||
fun applyBlockedFeatures(features: Set<String>, policyManager: DevicePolicyManager, admin: ComponentName): Boolean {
|
fun applyBlockedFeatures(features: Set<String>, policyManager: DevicePolicyManager, admin: ComponentName): Boolean {
|
||||||
if (features.contains(FEATURE_ADB)) policyManager.addUserRestriction(admin, UserManager.DISALLOW_DEBUGGING_FEATURES)
|
fun apply(feature: String, restriction: String) {
|
||||||
else policyManager.clearUserRestriction(admin, UserManager.DISALLOW_DEBUGGING_FEATURES)
|
if (features.contains(feature)) policyManager.addUserRestriction(admin, restriction)
|
||||||
|
else policyManager.clearUserRestriction(admin, restriction)
|
||||||
|
}
|
||||||
|
|
||||||
|
apply(FEATURE_ADB, UserManager.DISALLOW_DEBUGGING_FEATURES)
|
||||||
|
|
||||||
|
if (VERSION.SDK_INT >= VERSION_CODES.Q) {
|
||||||
|
apply(FEATURE_CONFIG_PRIVATE_DNS, UserManager.DISALLOW_CONFIG_PRIVATE_DNS)
|
||||||
|
}
|
||||||
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
@ -40,6 +51,15 @@ object AndroidFeatures {
|
||||||
title = context.getString(R.string.dummy_app_feature_adb)
|
title = context.getString(R.string.dummy_app_feature_adb)
|
||||||
))
|
))
|
||||||
|
|
||||||
|
if (VERSION.SDK_INT >= VERSION_CODES.Q) {
|
||||||
|
result.add(
|
||||||
|
PlatformFeature(
|
||||||
|
id = FEATURE_CONFIG_PRIVATE_DNS,
|
||||||
|
title = context.getString(R.string.dummy_app_feature_dns)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1665,6 +1665,7 @@
|
||||||
|
|
||||||
<string name="dummy_app_unassigned_system_image_app">nicht zugeordnete Apps von der Systempartition</string>
|
<string name="dummy_app_unassigned_system_image_app">nicht zugeordnete Apps von der Systempartition</string>
|
||||||
<string name="dummy_app_feature_adb">Entwickleroptionen</string>
|
<string name="dummy_app_feature_adb">Entwickleroptionen</string>
|
||||||
|
<string name="dummy_app_feature_dns">DNS-Einstellungen</string>
|
||||||
<string name="dummy_app_activity_audio">Hintergrundmusikwiedergabe</string>
|
<string name="dummy_app_activity_audio">Hintergrundmusikwiedergabe</string>
|
||||||
|
|
||||||
<string name="notify_permission_title">Benachrichtigungen</string>
|
<string name="notify_permission_title">Benachrichtigungen</string>
|
||||||
|
|
|
@ -1713,6 +1713,7 @@
|
||||||
|
|
||||||
<string name="dummy_app_unassigned_system_image_app">not assigned Apps from the system image</string>
|
<string name="dummy_app_unassigned_system_image_app">not assigned Apps from the system image</string>
|
||||||
<string name="dummy_app_feature_adb">Developer Options</string>
|
<string name="dummy_app_feature_adb">Developer Options</string>
|
||||||
|
<string name="dummy_app_feature_dns">DNS Settings</string>
|
||||||
<string name="dummy_app_activity_audio">Background Audio Playback</string>
|
<string name="dummy_app_activity_audio">Background Audio Playback</string>
|
||||||
|
|
||||||
<string name="notify_permission_title">Notifications</string>
|
<string name="notify_permission_title">Notifications</string>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue