nearby streaming policy

This commit is contained in:
BinTianqi
2024-02-06 20:42:34 +08:00
parent d91d638b3a
commit 6153b2ed71
2 changed files with 107 additions and 27 deletions

View File

@@ -232,6 +232,50 @@ fun ApplicationManage(){
} }
} }
if(isProfileOwner(myDpm)||isDeviceOwner(myDpm)){
Column(modifier = sections()) {
Text(text = "许可的无障碍应用", style = typography.titleLarge,color = colorScheme.onPrimaryContainer)
var list = mutableListOf("")
var listText by remember{ mutableStateOf("") }
val refreshList = {
list = myDpm.getPermittedAccessibilityServices(myComponent) ?: mutableListOf("")
listText = ""
var count = list.size
for(eachAccessibility in list) {
count -= 1
listText += eachAccessibility
if(count>0) { listText += "\n" }
}
}
refreshList()
Text(text = listText, style = bodyTextStyle)
Row(modifier = Modifier.fillMaxWidth(),horizontalArrangement = Arrangement.SpaceBetween){
Button(
onClick = {
focusMgr.clearFocus()
list.plus(pkgName)
Toast.makeText(myContext, if(myDpm.setPermittedAccessibilityServices(myComponent,list)){"成功"}else{"失败"}, Toast.LENGTH_SHORT).show()
refreshList()
},
modifier = Modifier.fillMaxWidth(0.49F)
) {
Text("添加")
}
Button(
onClick = {
focusMgr.clearFocus()
list.remove(pkgName)
Toast.makeText(myContext, if(myDpm.setPermittedAccessibilityServices(myComponent,list)){"成功"}else{"失败"}, Toast.LENGTH_SHORT).show()
refreshList()
},
modifier = Modifier.fillMaxWidth(0.96F)
) {
Text("移除")
}
}
}
}
Column(modifier = sections()) { Column(modifier = sections()) {
Text(text = "许可的输入法", style = typography.titleLarge,color = colorScheme.onPrimaryContainer) Text(text = "许可的输入法", style = typography.titleLarge,color = colorScheme.onPrimaryContainer)
var imeList = mutableListOf<String>() var imeList = mutableListOf<String>()
@@ -246,13 +290,13 @@ fun ApplicationManage(){
for(eachIme in imeList){ imeListText += "$eachIme \n" } for(eachIme in imeList){ imeListText += "$eachIme \n" }
} }
refreshList() refreshList()
Text(imeListText) Text(text = imeListText, style = bodyTextStyle)
Row(modifier = if(!isWear){Modifier.fillMaxWidth()}else{Modifier.fillMaxWidth().horizontalScroll(rememberScrollState())},horizontalArrangement = Arrangement.SpaceBetween){ Row(modifier = Modifier.fillMaxWidth(),horizontalArrangement = Arrangement.SpaceBetween){
Button( Button(
onClick = { onClick = {
imeList.plus(pkgName) imeList.plus(pkgName)
focusMgr.clearFocus() focusMgr.clearFocus()
myDpm.setPermittedInputMethods(myComponent, imeList) Toast.makeText(myContext, if(myDpm.setPermittedInputMethods(myComponent, imeList)){"成功"}else{"失败"}, Toast.LENGTH_SHORT).show()
refreshList() refreshList()
}, },
modifier = Modifier.fillMaxWidth(0.49F), modifier = Modifier.fillMaxWidth(0.49F),
@@ -260,20 +304,21 @@ fun ApplicationManage(){
) { ) {
Text("添加") Text("添加")
} }
if(isWear){Spacer(Modifier.padding(horizontal = 2.dp))}
Button( Button(
onClick = { onClick = {
imeList.remove(pkgName) imeList.remove(pkgName)
focusMgr.clearFocus() focusMgr.clearFocus()
myDpm.setPermittedInputMethods(myComponent,imeList) Toast.makeText(myContext, if(myDpm.setPermittedInputMethods(myComponent, imeList)){"成功"}else{"失败"}, Toast.LENGTH_SHORT).show()
refreshList() refreshList()
}, },
modifier = Modifier.fillMaxWidth(0.96F), modifier = Modifier.fillMaxWidth(0.96F),
enabled = isDeviceOwner(myDpm)||isProfileOwner(myDpm) enabled = isDeviceOwner(myDpm)||isProfileOwner(myDpm)
) { ) {
Text("移除") Text("移除")
}}
} }
}
}
Column(modifier = sections()){ Column(modifier = sections()){
Text(text = "清除应用存储", style = typography.titleLarge, color = colorScheme.onPrimaryContainer) Text(text = "清除应用存储", style = typography.titleLarge, color = colorScheme.onPrimaryContainer)
Row(modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.SpaceBetween){ Row(modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.SpaceBetween){

View File

@@ -6,7 +6,6 @@ import android.content.ComponentName
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Build.VERSION import android.os.Build.VERSION
import android.util.Log
import android.widget.Toast import android.widget.Toast
import androidx.activity.ComponentActivity import androidx.activity.ComponentActivity
import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.AnimatedVisibility
@@ -236,6 +235,42 @@ fun DeviceControl(){
} }
} }
if(VERSION.SDK_INT>=31&&(isDeviceOwner(myDpm)||isProfileOwner(myDpm))){
Column(modifier = sections()){
var appPolicy by remember{mutableIntStateOf(myDpm.nearbyAppStreamingPolicy)}
Text(text = "附近App共享", style = typography.titleLarge)
RadioButtonItem("由用户决定",{appPolicy == NEARBY_STREAMING_NOT_CONTROLLED_BY_POLICY},{appPolicy = NEARBY_STREAMING_NOT_CONTROLLED_BY_POLICY})
RadioButtonItem("启用",{appPolicy == NEARBY_STREAMING_ENABLED},{appPolicy = NEARBY_STREAMING_ENABLED})
RadioButtonItem("禁用",{appPolicy == NEARBY_STREAMING_DISABLED},{appPolicy = NEARBY_STREAMING_DISABLED})
RadioButtonItem("如果足够安全(默认)",{appPolicy == NEARBY_STREAMING_SAME_MANAGED_ACCOUNT_ONLY},{appPolicy = NEARBY_STREAMING_SAME_MANAGED_ACCOUNT_ONLY})
Button(
onClick = {
myDpm.nearbyAppStreamingPolicy = appPolicy
Toast.makeText(myContext, "成功", Toast.LENGTH_SHORT).show()
},
modifier = Modifier.fillMaxWidth()
) {
Text("应用")
}
Spacer(Modifier.padding(vertical = 3.dp))
var notificationPolicy by remember{mutableIntStateOf(myDpm.nearbyNotificationStreamingPolicy)}
Text(text = "附近通知共享", style = typography.titleLarge)
RadioButtonItem("由用户决定",{notificationPolicy == NEARBY_STREAMING_NOT_CONTROLLED_BY_POLICY},{notificationPolicy = NEARBY_STREAMING_NOT_CONTROLLED_BY_POLICY})
RadioButtonItem("启用",{notificationPolicy == NEARBY_STREAMING_ENABLED},{notificationPolicy = NEARBY_STREAMING_ENABLED})
RadioButtonItem("禁用",{notificationPolicy == NEARBY_STREAMING_DISABLED},{notificationPolicy = NEARBY_STREAMING_DISABLED})
RadioButtonItem("如果足够安全(默认)",{notificationPolicy == NEARBY_STREAMING_SAME_MANAGED_ACCOUNT_ONLY},{notificationPolicy = NEARBY_STREAMING_SAME_MANAGED_ACCOUNT_ONLY})
Button(
onClick = {
myDpm.nearbyNotificationStreamingPolicy = notificationPolicy
Toast.makeText(myContext, "成功", Toast.LENGTH_SHORT).show()
},
modifier = Modifier.fillMaxWidth()
) {
Text("应用")
}
}
}
if(VERSION.SDK_INT>=28&&isDeviceOwner(myDpm)){ if(VERSION.SDK_INT>=28&&isDeviceOwner(myDpm)){
Column(modifier = sections()){ Column(modifier = sections()){
val lockTaskPolicyList = mutableListOf( val lockTaskPolicyList = mutableListOf(