clean up unused resources

This commit is contained in:
BinTianqi
2024-01-30 19:44:11 +08:00
parent 46820e0f6c
commit ca46a775c8
11 changed files with 42 additions and 248 deletions

View File

@@ -50,7 +50,7 @@
### 许可证 ### 许可证
> Copyright (C) 2023 BinTianqi > Copyright (C) 2024 BinTianqi
> >
> This program is free software: you can redistribute it and/or modifyit under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. > This program is free software: you can redistribute it and/or modifyit under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
> >

View File

@@ -9,10 +9,10 @@ android {
defaultConfig { defaultConfig {
applicationId = "com.binbin.androidowner" applicationId = "com.binbin.androidowner"
minSdk = 23 minSdk = 21
targetSdk = 34 targetSdk = 34
versionCode = 7 versionCode = 8
versionName = "2.0" versionName = "2.1"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables { vectorDrawables {

View File

@@ -68,7 +68,7 @@ fun DeviceControl(){
if(VERSION.SDK_INT>=26&&(isDeviceOwner(myDpm)|| isProfileOwner(myDpm))){ if(VERSION.SDK_INT>=26&&(isDeviceOwner(myDpm)|| isProfileOwner(myDpm))){
DeviceCtrlItem(R.string.backup_service,R.string.place_holder,R.drawable.backup_fill0,myDpm,{myDpm.isBackupServiceEnabled(myComponent)},{b -> myDpm.setBackupServiceEnabled(myComponent,b) }) DeviceCtrlItem(R.string.backup_service,R.string.place_holder,R.drawable.backup_fill0,myDpm,{myDpm.isBackupServiceEnabled(myComponent)},{b -> myDpm.setBackupServiceEnabled(myComponent,b) })
} }
if(isDeviceOwner(myDpm)|| isProfileOwner(myDpm)){ if(VERSION.SDK_INT>=23&&(isDeviceOwner(myDpm)|| isProfileOwner(myDpm))){
DeviceCtrlItem(R.string.disable_bt_contact_share,R.string.place_holder,R.drawable.account_circle_fill0,myDpm,{myDpm.getBluetoothContactSharingDisabled(myComponent)},{b -> myDpm.setBluetoothContactSharingDisabled(myComponent,b)}) DeviceCtrlItem(R.string.disable_bt_contact_share,R.string.place_holder,R.drawable.account_circle_fill0,myDpm,{myDpm.getBluetoothContactSharingDisabled(myComponent)},{b -> myDpm.setBluetoothContactSharingDisabled(myComponent,b)})
} }
if(VERSION.SDK_INT>=31&&isDeviceOwner(myDpm)){ if(VERSION.SDK_INT>=31&&isDeviceOwner(myDpm)){

View File

@@ -214,34 +214,35 @@ fun HomePage(navCtrl:NavHostController){
} }
} }
} }
HomePageItem(R.string.device_ctrl, R.drawable.mobile_phone_fill0, R.string.device_ctrl_desc, "DeviceControl", navCtrl) HomePageItem(R.string.device_ctrl, R.drawable.mobile_phone_fill0, "DeviceControl", navCtrl)
HomePageItem(R.string.app_manage, R.drawable.apps_fill0, R.string.apps_ctrl_description, "ApplicationManage", navCtrl) HomePageItem(R.string.app_manage, R.drawable.apps_fill0, "ApplicationManage", navCtrl)
HomePageItem(R.string.user_restrict, R.drawable.manage_accounts_fill0, R.string.user_restrict_desc, "UserRestriction", navCtrl) HomePageItem(R.string.user_restrict, R.drawable.manage_accounts_fill0, "UserRestriction", navCtrl)
HomePageItem(R.string.user_manage,R.drawable.account_circle_fill0,R.string.user_manage_desc,"UserManage",navCtrl) HomePageItem(R.string.user_manage,R.drawable.account_circle_fill0,"UserManage",navCtrl)
HomePageItem(R.string.password, R.drawable.password_fill0,R.string.security_desc, "Password",navCtrl) HomePageItem(R.string.password, R.drawable.password_fill0, "Password",navCtrl)
HomePageItem(R.string.setting, R.drawable.info_fill0, R.string.setting_desc, "AppSetting",navCtrl) HomePageItem(R.string.setting, R.drawable.info_fill0, "AppSetting",navCtrl)
Spacer(Modifier.padding(vertical = 20.dp)) Spacer(Modifier.padding(vertical = 20.dp))
} }
} }
@Composable @Composable
fun HomePageItem(name:Int, imgVector:Int, description:Int, navTo:String, myNav:NavHostController){ fun HomePageItem(name:Int, imgVector:Int, navTo:String, myNav:NavHostController){
val sharedPref = LocalContext.current.getSharedPreferences("data", Context.MODE_PRIVATE) val sharedPref = LocalContext.current.getSharedPreferences("data", Context.MODE_PRIVATE)
val isWear = sharedPref.getBoolean("isWear", false)
Row( Row(
modifier = Modifier modifier = Modifier
.fillMaxWidth() .fillMaxWidth()
.padding(vertical = if (!sharedPref.getBoolean("isWear", false)) { 4.dp } else { 2.dp }, horizontal = if (!sharedPref.getBoolean("isWear", false)) { 7.dp } else { 4.dp }) .padding(vertical = if (!isWear) { 4.dp } else { 2.dp }, horizontal = if (!isWear) { 7.dp } else { 4.dp })
.clip(RoundedCornerShape(15)) .clip(RoundedCornerShape(15))
.background(color = MaterialTheme.colorScheme.primaryContainer.copy(alpha = 0.8F)) .background(color = MaterialTheme.colorScheme.primaryContainer.copy(alpha = 0.8F))
.clickable(onClick = { myNav.navigate(navTo) }) .clickable(onClick = { myNav.navigate(navTo) })
.padding(6.dp), .padding(vertical = if(isWear){6.dp}else{10.dp}, horizontal = 6.dp),
verticalAlignment = Alignment.CenterVertically verticalAlignment = Alignment.CenterVertically
) { ) {
Icon( Icon(
painter = painterResource(imgVector), painter = painterResource(imgVector),
contentDescription = null, contentDescription = null,
modifier = Modifier.padding(horizontal = if(!sharedPref.getBoolean("isWear",false)){10.dp}else{6.dp}), modifier = Modifier.padding(horizontal = if(!sharedPref.getBoolean("isWear",false)){12.dp}else{6.dp}),
tint = MaterialTheme.colorScheme.primary tint = MaterialTheme.colorScheme.primary
) )
Column { Column {
@@ -250,11 +251,7 @@ fun HomePageItem(name:Int, imgVector:Int, description:Int, navTo:String, myNav:N
style = MaterialTheme.typography.headlineSmall, style = MaterialTheme.typography.headlineSmall,
color = MaterialTheme.colorScheme.onPrimaryContainer color = MaterialTheme.colorScheme.onPrimaryContainer
) )
if(!sharedPref.getBoolean("isWear",false)){ Spacer(Modifier.padding(top = 2.dp))
Text(
text = stringResource(description)
)
}
} }
} }
} }

View File

@@ -160,7 +160,7 @@ fun Password(){
modifier = sections() modifier = sections()
) { ) {
var confirmed by remember{ mutableStateOf(false) } var confirmed by remember{ mutableStateOf(false) }
Text(text = "修改密码",style = MaterialTheme.typography.titleLarge,color = titleColor) Text(text = "修改密码",style = typography.titleLarge,color = titleColor)
TextField( TextField(
value = newPwd, value = newPwd,
onValueChange = {newPwd=it}, onValueChange = {newPwd=it},
@@ -172,9 +172,11 @@ fun Password(){
) )
Text(text = stringResource(R.string.reset_pwd_desc), modifier = Modifier.padding(vertical = 3.dp),style=if(!isWear){typography.bodyLarge}else{typography.bodyMedium}) Text(text = stringResource(R.string.reset_pwd_desc), modifier = Modifier.padding(vertical = 3.dp),style=if(!isWear){typography.bodyLarge}else{typography.bodyMedium})
var resetPwdFlag by remember{ mutableIntStateOf(0) } var resetPwdFlag by remember{ mutableIntStateOf(0) }
RadioButtonItem("开机时不要求密码(如果有指纹等其他解锁方式)", if(VERSION.SDK_INT>=23){
{resetPwdFlag==DevicePolicyManager.RESET_PASSWORD_DO_NOT_ASK_CREDENTIALS_ON_BOOT}, RadioButtonItem("开机时不要求密码(如果有指纹等其他解锁方式)",
{resetPwdFlag=DevicePolicyManager.RESET_PASSWORD_DO_NOT_ASK_CREDENTIALS_ON_BOOT}) {resetPwdFlag==DevicePolicyManager.RESET_PASSWORD_DO_NOT_ASK_CREDENTIALS_ON_BOOT},
{resetPwdFlag=DevicePolicyManager.RESET_PASSWORD_DO_NOT_ASK_CREDENTIALS_ON_BOOT})
}
RadioButtonItem("要求立即输入新密码",{resetPwdFlag==DevicePolicyManager.RESET_PASSWORD_REQUIRE_ENTRY}, RadioButtonItem("要求立即输入新密码",{resetPwdFlag==DevicePolicyManager.RESET_PASSWORD_REQUIRE_ENTRY},
{resetPwdFlag=DevicePolicyManager.RESET_PASSWORD_REQUIRE_ENTRY}) {resetPwdFlag=DevicePolicyManager.RESET_PASSWORD_REQUIRE_ENTRY})
RadioButtonItem("",{resetPwdFlag==0},{resetPwdFlag=0}) RadioButtonItem("",{resetPwdFlag==0},{resetPwdFlag=0})

View File

@@ -54,6 +54,7 @@ fun SysUpdatePolicy(myDpm:DevicePolicyManager,myComponent:ComponentName,myContex
} }
} }
} }
if(VERSION.SDK_INT>=23){
Column(modifier = sections()) { Column(modifier = sections()) {
var selectedPolicy by remember{ mutableStateOf(myDpm.systemUpdatePolicy?.policyType) } var selectedPolicy by remember{ mutableStateOf(myDpm.systemUpdatePolicy?.policyType) }
Text(text = "系统更新策略", style = MaterialTheme.typography.titleLarge) Text(text = "系统更新策略", style = MaterialTheme.typography.titleLarge)
@@ -101,7 +102,7 @@ fun SysUpdatePolicy(myDpm:DevicePolicyManager,myComponent:ComponentName,myContex
) { ) {
Text("应用") Text("应用")
} }
} }}
/*val policy = myDpm.systemUpdatePolicy /*val policy = myDpm.systemUpdatePolicy
if(VERSION.SDK_INT>=28&&policy!=null){ if(VERSION.SDK_INT>=28&&policy!=null){
Column { Column {

View File

@@ -253,15 +253,11 @@ fun userOperationResultCode(result:Int): String {
private fun createWorkProfile(myContext: Context) { private fun createWorkProfile(myContext: Context) {
val intent = Intent(DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE) val intent = Intent(DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE)
intent.putExtra(DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME, ComponentName(myContext,MyDeviceAdminReceiver::class.java)) if(VERSION.SDK_INT>=23){
intent.putExtra(DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME, ComponentName(myContext,MyDeviceAdminReceiver::class.java))
}
intent.putExtra(DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME, myContext.packageName) intent.putExtra(DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME, myContext.packageName)
if (VERSION.SDK_INT >= 33) { intent.putExtra(DevicePolicyManager.EXTRA_PROVISIONING_ALLOW_OFFLINE,true) } if (VERSION.SDK_INT >= 33) { intent.putExtra(DevicePolicyManager.EXTRA_PROVISIONING_ALLOW_OFFLINE,true) }
intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,"hello") intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,"hello")
myContext.startActivity(intent) myContext.startActivity(intent)
} }
private fun createManagedDevice(myContext: Context) {
val intent = Intent(DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE)
intent.putExtra(DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME, ComponentName(myContext,MyDeviceAdminReceiver::class.java))
myContext.startActivity(intent)
}

View File

@@ -51,7 +51,6 @@ private data class Restriction(
fun UserRestriction(){ fun UserRestriction(){
val myContext = LocalContext.current val myContext = LocalContext.current
val myDpm = myContext.getSystemService(ComponentActivity.DEVICE_POLICY_SERVICE) as DevicePolicyManager val myDpm = myContext.getSystemService(ComponentActivity.DEVICE_POLICY_SERVICE) as DevicePolicyManager
val myComponent = ComponentName(myContext,MyDeviceAdminReceiver::class.java)
var internetVisible by remember{ mutableStateOf(false) } var internetVisible by remember{ mutableStateOf(false) }
var connectivityVisible by remember{ mutableStateOf(false) } var connectivityVisible by remember{ mutableStateOf(false) }
var applicationVisible by remember{ mutableStateOf(false) } var applicationVisible by remember{ mutableStateOf(false) }
@@ -83,42 +82,42 @@ fun UserRestriction(){
items(1){ SectionTab("网络和互联网",{internetVisible}, { internetVisible=!internetVisible}) } items(1){ SectionTab("网络和互联网",{internetVisible}, { internetVisible=!internetVisible}) }
items(restrictionData().internet()){data-> items(restrictionData().internet()){data->
if(internetVisible){ if(internetVisible){
UserRestrictionItem(data.restriction,data.name,data.desc,data.ico,myContext,myComponent, myDpm) UserRestrictionItem(data.restriction,data.name,data.desc,data.ico)
} }
} }
items(1){ SectionTab("更多连接",{connectivityVisible}) { connectivityVisible=!connectivityVisible } } items(1){ SectionTab("更多连接",{connectivityVisible}) { connectivityVisible=!connectivityVisible } }
items(restrictionData().connectivity()){data-> items(restrictionData().connectivity()){data->
if(connectivityVisible){ if(connectivityVisible){
UserRestrictionItem(data.restriction,data.name,data.desc,data.ico,myContext,myComponent, myDpm) UserRestrictionItem(data.restriction,data.name,data.desc,data.ico)
} }
} }
items(1){ SectionTab("应用",{applicationVisible}) { applicationVisible=!applicationVisible } } items(1){ SectionTab("应用",{applicationVisible}) { applicationVisible=!applicationVisible } }
items(restrictionData().application()){data-> items(restrictionData().application()){data->
if(applicationVisible){ if(applicationVisible){
UserRestrictionItem(data.restriction,data.name,data.desc,data.ico,myContext,myComponent, myDpm) UserRestrictionItem(data.restriction,data.name,data.desc,data.ico)
} }
} }
items(1){ SectionTab("用户",{userVisible}) { userVisible=!userVisible } } items(1){ SectionTab("用户",{userVisible}) { userVisible=!userVisible } }
items(restrictionData().user()){data-> items(restrictionData().user()){data->
if(userVisible){ if(userVisible){
UserRestrictionItem(data.restriction,data.name,data.desc,data.ico,myContext,myComponent, myDpm) UserRestrictionItem(data.restriction,data.name,data.desc,data.ico)
} }
} }
items(1){ SectionTab("媒体",{mediaVisible}) { mediaVisible=!mediaVisible } } items(1){ SectionTab("媒体",{mediaVisible}) { mediaVisible=!mediaVisible } }
items(restrictionData().media()){data-> items(restrictionData().media()){data->
if(mediaVisible){ if(mediaVisible){
UserRestrictionItem(data.restriction,data.name,data.desc,data.ico,myContext,myComponent, myDpm) UserRestrictionItem(data.restriction,data.name,data.desc,data.ico)
} }
} }
items(1){ SectionTab("其他",{otherVisible}) { otherVisible=!otherVisible } } items(1){ SectionTab("其他",{otherVisible}) { otherVisible=!otherVisible } }
items(restrictionData().other()){data-> items(restrictionData().other()){data->
if(otherVisible){ if(otherVisible){
UserRestrictionItem(data.restriction,data.name,data.desc,data.ico,myContext,myComponent, myDpm) UserRestrictionItem(data.restriction,data.name,data.desc,data.ico)
} }
} }
@@ -174,11 +173,11 @@ fun SectionTab(txt:String,getSection:()->Boolean,setSection:()->Unit){
private fun UserRestrictionItem( private fun UserRestrictionItem(
restriction:String, itemName:Int, restriction:String, itemName:Int,
restrictionDescription:String, restrictionDescription:String,
leadIcon:Int, leadIcon:Int
myContext: Context,
myComponent: ComponentName,
myDpm: DevicePolicyManager
){ ){
val myContext = LocalContext.current
val myDpm = myContext.getSystemService(ComponentActivity.DEVICE_POLICY_SERVICE) as DevicePolicyManager
val myComponent = ComponentName(myContext,MyDeviceAdminReceiver::class.java)
var strictState by remember{ mutableStateOf(false) } var strictState by remember{ mutableStateOf(false) }
val sharedPref = LocalContext.current.getSharedPreferences("data", Context.MODE_PRIVATE) val sharedPref = LocalContext.current.getSharedPreferences("data", Context.MODE_PRIVATE)
Row( Row(
@@ -252,7 +251,7 @@ private class restrictionData{
list += Restriction(UserManager.DISALLOW_WIFI_TETHERING,R.string.wifi_tethering,"",R.drawable.wifi_tethering_fill0) list += Restriction(UserManager.DISALLOW_WIFI_TETHERING,R.string.wifi_tethering,"",R.drawable.wifi_tethering_fill0)
list += Restriction(UserManager.DISALLOW_SHARING_ADMIN_CONFIGURED_WIFI,R.string.share_admin_wifi,"",R.drawable.share_fill0) list += Restriction(UserManager.DISALLOW_SHARING_ADMIN_CONFIGURED_WIFI,R.string.share_admin_wifi,"",R.drawable.share_fill0)
} }
list += Restriction(UserManager.DISALLOW_NETWORK_RESET,R.string.network_reset,"",R.drawable.reset_wrench_fill0) if(VERSION.SDK_INT>=23){ list += Restriction(UserManager.DISALLOW_NETWORK_RESET,R.string.network_reset,"",R.drawable.reset_wrench_fill0) }
list += Restriction(UserManager.DISALLOW_CONFIG_TETHERING,R.string.config_tethering,"",R.drawable.wifi_tethering_fill0) list += Restriction(UserManager.DISALLOW_CONFIG_TETHERING,R.string.config_tethering,"",R.drawable.wifi_tethering_fill0)
list += Restriction(UserManager.DISALLOW_CONFIG_VPN,R.string.config_vpn,"",R.drawable.vpn_key_fill0) list += Restriction(UserManager.DISALLOW_CONFIG_VPN,R.string.config_vpn,"",R.drawable.vpn_key_fill0)
if(VERSION.SDK_INT>=29){list += Restriction(UserManager.DISALLOW_CONFIG_PRIVATE_DNS,R.string.config_private_dns,"",R.drawable.dns_fill0)} if(VERSION.SDK_INT>=29){list += Restriction(UserManager.DISALLOW_CONFIG_PRIVATE_DNS,R.string.config_private_dns,"",R.drawable.dns_fill0)}
@@ -270,7 +269,7 @@ private class restrictionData{
} }
list += Restriction(UserManager.DISALLOW_SHARE_LOCATION,R.string.share_location,"",R.drawable.location_on_fill0) list += Restriction(UserManager.DISALLOW_SHARE_LOCATION,R.string.share_location,"",R.drawable.location_on_fill0)
if(VERSION.SDK_INT>=28){list += Restriction(UserManager.DISALLOW_CONFIG_LOCATION,R.string.config_location,"",R.drawable.location_on_fill0)} if(VERSION.SDK_INT>=28){list += Restriction(UserManager.DISALLOW_CONFIG_LOCATION,R.string.config_location,"",R.drawable.location_on_fill0)}
list += Restriction(UserManager.DISALLOW_OUTGOING_BEAM,R.string.outgoing_beam,"",R.drawable.nfc_fill0) if(VERSION.SDK_INT>=22){list += Restriction(UserManager.DISALLOW_OUTGOING_BEAM,R.string.outgoing_beam,"",R.drawable.nfc_fill0)}
list += Restriction(UserManager.DISALLOW_USB_FILE_TRANSFER,R.string.usb_file_transfer,"",R.drawable.usb_fill0) list += Restriction(UserManager.DISALLOW_USB_FILE_TRANSFER,R.string.usb_file_transfer,"",R.drawable.usb_fill0)
list += Restriction(UserManager.DISALLOW_MOUNT_PHYSICAL_MEDIA,R.string.mount_physical_media, "包括TF卡和USB-OTG",R.drawable.sd_card_fill0) list += Restriction(UserManager.DISALLOW_MOUNT_PHYSICAL_MEDIA,R.string.mount_physical_media, "包括TF卡和USB-OTG",R.drawable.sd_card_fill0)
if(VERSION.SDK_INT>=28){list += Restriction(UserManager.DISALLOW_PRINTING,R.string.printing,"",R.drawable.print_fill0)} if(VERSION.SDK_INT>=28){list += Restriction(UserManager.DISALLOW_PRINTING,R.string.printing,"",R.drawable.print_fill0)}
@@ -329,7 +328,7 @@ private class restrictionData{
list += Restriction(UserManager.DISALLOW_CREATE_WINDOWS,R.string.create_windows, "可能包括Toast和浮动通知",R.drawable.web_asset) list += Restriction(UserManager.DISALLOW_CREATE_WINDOWS,R.string.create_windows, "可能包括Toast和浮动通知",R.drawable.web_asset)
if(VERSION.SDK_INT>=24){list += Restriction(UserManager.DISALLOW_SET_WALLPAPER,R.string.set_wallpaper,"",R.drawable.wallpaper_fill0)} if(VERSION.SDK_INT>=24){list += Restriction(UserManager.DISALLOW_SET_WALLPAPER,R.string.set_wallpaper,"",R.drawable.wallpaper_fill0)}
if(VERSION.SDK_INT>=34){ list += Restriction(UserManager.DISALLOW_GRANT_ADMIN,R.string.grant_admin,"",R.drawable.android_fill0) } if(VERSION.SDK_INT>=34){ list += Restriction(UserManager.DISALLOW_GRANT_ADMIN,R.string.grant_admin,"",R.drawable.android_fill0) }
list += Restriction(UserManager.DISALLOW_FUN,R.string.`fun`,"可能会影响谷歌商店的游戏",R.drawable.stadia_controller_fill0) if(VERSION.SDK_INT>=23){ list += Restriction(UserManager.DISALLOW_FUN,R.string.`fun`,"可能会影响谷歌商店的游戏",R.drawable.stadia_controller_fill0) }
list += Restriction(UserManager.DISALLOW_MODIFY_ACCOUNTS,R.string.modify_accounts,"",R.drawable.manage_accounts_fill0) list += Restriction(UserManager.DISALLOW_MODIFY_ACCOUNTS,R.string.modify_accounts,"",R.drawable.manage_accounts_fill0)
if(VERSION.SDK_INT>=28){ if(VERSION.SDK_INT>=28){
list += Restriction(UserManager.DISALLOW_CONFIG_LOCALE,R.string.config_locale,"",R.drawable.language_fill0) list += Restriction(UserManager.DISALLOW_CONFIG_LOCALE,R.string.config_locale,"",R.drawable.language_fill0)
@@ -337,7 +336,7 @@ private class restrictionData{
} }
if(VERSION.SDK_INT>=28){list += Restriction(UserManager.DISALLOW_SYSTEM_ERROR_DIALOGS,R.string.sys_err_dialog,"",R.drawable.android_fill0)} if(VERSION.SDK_INT>=28){list += Restriction(UserManager.DISALLOW_SYSTEM_ERROR_DIALOGS,R.string.sys_err_dialog,"",R.drawable.android_fill0)}
list += Restriction(UserManager.DISALLOW_FACTORY_RESET,R.string.factory_reset,"",R.drawable.android_fill0) list += Restriction(UserManager.DISALLOW_FACTORY_RESET,R.string.factory_reset,"",R.drawable.android_fill0)
list += Restriction(UserManager.DISALLOW_SAFE_BOOT,R.string.safe_boot,"",R.drawable.security_fill0) if(VERSION.SDK_INT>=23){ list += Restriction(UserManager.DISALLOW_SAFE_BOOT,R.string.safe_boot,"",R.drawable.security_fill0) }
list += Restriction(UserManager.DISALLOW_DEBUGGING_FEATURES,R.string.debug_features,"",R.drawable.adb_fill0) list += Restriction(UserManager.DISALLOW_DEBUGGING_FEATURES,R.string.debug_features,"",R.drawable.adb_fill0)
return list return list
} }

View File

@@ -1,170 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:fillColor="#3DDC84"
android:pathData="M0,0h108v108h-108z" />
<path
android:fillColor="#00000000"
android:pathData="M9,0L9,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,0L19,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,0L29,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,0L39,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,0L49,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,0L59,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,0L69,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,0L79,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M89,0L89,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M99,0L99,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,9L108,9"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,19L108,19"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,29L108,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,39L108,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,49L108,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,59L108,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,69L108,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,79L108,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,89L108,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,99L108,99"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,29L89,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,39L89,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,49L89,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,59L89,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,69L89,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,79L89,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,19L29,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,19L39,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,19L49,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,19L59,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,19L69,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,19L79,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
</vector>

View File

@@ -1,9 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960">
<path
android:fillColor="#FF000000"
android:pathData="M504,480 L320,296l56,-56 240,240 -240,240 -56,-56 184,-184Z"/>
</vector>

View File

@@ -18,20 +18,8 @@
<string name="isapphidden_desc">如果隐藏,有可能是没安装</string> <string name="isapphidden_desc">如果隐藏,有可能是没安装</string>
<string name="user_ctrl_disabled">禁止用户控制</string> <string name="user_ctrl_disabled">禁止用户控制</string>
<string name="user_ctrl_disabled_desc">阻止清除应用数据和缓存</string> <string name="user_ctrl_disabled_desc">阻止清除应用数据和缓存</string>
<string name="allow">允许</string>
<string name="disallow">禁止</string>
<string name="is_disallow">是否禁止:</string>
<string name="apps_ctrl_description">可以隐藏、停用应用</string>
<string name="create_windows_description">包括Toast和浮动通知</string>
<string name="permission">权限</string> <string name="permission">权限</string>
<string name="ui_ctrl">UI控制</string>
<string name="place_holder" /> <string name="place_holder" />
<string name="permission_desc">授权与取消授权DeviceAdmin或DeviceOwner</string>
<string name="device_ctrl_desc">锁屏和重启等</string>
<string name="app_manage_desc">非DeviceOwner勿入</string>
<string name="user_restrict_desc">管理当前用户可用的功能</string>
<string name="block_unins">防卸载</string>
<string name="sometimes_not_available">有时候不能用</string>
<string name="user_restrict">用户限制</string> <string name="user_restrict">用户限制</string>
<string name="config_mobile_network">配置移动数据</string> <string name="config_mobile_network">配置移动数据</string>
@@ -67,17 +55,14 @@
<string name="content_capture">内容捕获</string> <string name="content_capture">内容捕获</string>
<string name="content_suggestions">内容建议</string> <string name="content_suggestions">内容建议</string>
<string name="cross_profile_copy">跨用户复制</string> <string name="cross_profile_copy">跨用户复制</string>
<string name="cross_profile_copy_desc">在不同用户和工作资料之间复制粘贴</string>
<string name="data_roaming">数据漫游</string> <string name="data_roaming">数据漫游</string>
<string name="factory_reset">恢复出厂设置</string> <string name="factory_reset">恢复出厂设置</string>
<string name="fun">娱乐</string> <string name="fun">娱乐</string>
<string name="unknown_feature">作用未知</string>
<string name="grant_admin">启用设备管理器</string> <string name="grant_admin">启用设备管理器</string>
<string name="install_unknown_src_globally">安装未知来源应用(全局)</string> <string name="install_unknown_src_globally">安装未知来源应用(全局)</string>
<string name="microphone_toggle">切换麦克风使用权限</string> <string name="microphone_toggle">切换麦克风使用权限</string>
<string name="modify_accounts">修改账号设置</string> <string name="modify_accounts">修改账号设置</string>
<string name="mount_physical_media">挂载物理媒体</string> <string name="mount_physical_media">挂载物理媒体</string>
<string name="mount_phisical_media_desc">包括TF卡和USB-OTG</string>
<string name="network_reset">重置网络</string> <string name="network_reset">重置网络</string>
<string name="outgoing_beam">Beam发送</string> <string name="outgoing_beam">Beam发送</string>
<string name="outgoing_calls">拨打电话</string> <string name="outgoing_calls">拨打电话</string>
@@ -102,7 +87,6 @@
<string name="remove_managed_profile">移除工作资料</string> <string name="remove_managed_profile">移除工作资料</string>
<string name="password">密码</string> <string name="password">密码</string>
<string name="security_desc">更改锁屏密码,设置密码复杂度</string>
<string name="reset_pwd_desc">留空可以清除密码纯数字将使用PIN码</string> <string name="reset_pwd_desc">留空可以清除密码纯数字将使用PIN码</string>
<string name="max_pwd_fail">最大密码错误次数</string> <string name="max_pwd_fail">最大密码错误次数</string>
<string name="max_pwd_fail_desc">达到该限制会恢复出厂设置</string> <string name="max_pwd_fail_desc">达到该限制会恢复出厂设置</string>
@@ -119,15 +103,9 @@
<string name="support_msg">提供支持的短消息</string> <string name="support_msg">提供支持的短消息</string>
<string name="support_msg_desc">如果你禁用了某个功能,用户尝试使用这个功能时会看见这个消息(可多行)</string> <string name="support_msg_desc">如果你禁用了某个功能,用户尝试使用这个功能时会看见这个消息(可多行)</string>
<string name="message">消息</string> <string name="message">消息</string>
<string name="profile_name">用户名</string>
<string name="long_support_msg">提供支持的长消息</string> <string name="long_support_msg">提供支持的长消息</string>
<string name="long_support_msg_desc">都是显示短消息,长消息不知道在哪里显示</string> <string name="long_support_msg_desc">都是显示短消息,长消息不知道在哪里显示</string>
<string name="disable_bt_contact_share">禁止蓝牙分享联系人</string> <string name="disable_bt_contact_share">禁止蓝牙分享联系人</string>
<string name="sys_update_policy">系统更新策略</string>
<string name="sys_update_policy_desc">管理系统更新策略</string>
<string name="disable_keyguard">禁止锁屏(需无密码)</string>
<string name="user_manage">用户管理</string> <string name="user_manage">用户管理</string>
<string name="user_manage_desc">查看用户状态,添加用户</string>
<string name="setting">设置</string> <string name="setting">设置</string>
<string name="setting_desc">关于此应用</string>
</resources> </resources>