mirror of
https://github.com/awfixers-stuff/OwnDroid.git
synced 2026-03-23 11:05:59 +00:00
add animations to UserRestriction page
This commit is contained in:
@@ -330,8 +330,9 @@ fun ApplicationManage(){
|
||||
if(count>0) { listText += "\n" }
|
||||
}
|
||||
}
|
||||
refreshList()
|
||||
Text(text = listText, style = bodyTextStyle)
|
||||
var inited by remember{mutableStateOf(false)}
|
||||
if(!inited){refreshList(); inited=true}
|
||||
Text(text = if(listText!=""){listText}else{"无"}, style = bodyTextStyle)
|
||||
Row(modifier = Modifier.fillMaxWidth(),horizontalArrangement = Arrangement.SpaceBetween){
|
||||
Button(
|
||||
onClick = {
|
||||
@@ -372,8 +373,9 @@ fun ApplicationManage(){
|
||||
imeListText = ""
|
||||
for(eachIme in imeList){ imeListText += "$eachIme \n" }
|
||||
}
|
||||
refreshList()
|
||||
Text(text = imeListText, style = bodyTextStyle)
|
||||
var inited by remember{mutableStateOf(false)}
|
||||
if(!inited){refreshList();inited=true}
|
||||
Text(text = if(imeListText!=""){imeListText}else{"无"}, style = bodyTextStyle)
|
||||
Row(modifier = Modifier.fillMaxWidth(),horizontalArrangement = Arrangement.SpaceBetween){
|
||||
Button(
|
||||
onClick = {
|
||||
|
||||
@@ -121,29 +121,50 @@ fun DeviceControl(){
|
||||
Button(
|
||||
onClick = { Toast.makeText(myContext, if(myDpm.setKeyguardDisabled(myComponent,true)){"成功"}else{"失败"}, Toast.LENGTH_SHORT).show() },
|
||||
enabled = isDeviceOwner(myDpm)|| (isProfileOwner(myDpm)&&myDpm.isAffiliatedUser),
|
||||
modifier = if(isWear){Modifier}else{Modifier.fillMaxWidth(0.48F)}
|
||||
modifier = if(isWear){Modifier}else{Modifier.fillMaxWidth(0.49F)}
|
||||
) {
|
||||
Text("禁用")
|
||||
}
|
||||
Button(
|
||||
onClick = { Toast.makeText(myContext, if(myDpm.setKeyguardDisabled(myComponent,false)){"成功"}else{"失败"}, Toast.LENGTH_SHORT).show() },
|
||||
enabled = isDeviceOwner(myDpm)|| (isProfileOwner(myDpm)&&myDpm.isAffiliatedUser),
|
||||
modifier = if(isWear){Modifier}else{Modifier.fillMaxWidth(0.92F)}
|
||||
modifier = if(isWear){Modifier}else{Modifier.fillMaxWidth(0.96F)}
|
||||
) {
|
||||
Text("启用")
|
||||
}
|
||||
}}
|
||||
}
|
||||
|
||||
Row(horizontalArrangement = Arrangement.SpaceBetween, modifier = sections()) {
|
||||
if(VERSION.SDK_INT>=24){
|
||||
Button(onClick = {myDpm.reboot(myComponent)}, enabled = isDeviceOwner(myDpm),
|
||||
modifier = if(isWear){Modifier}else{Modifier.fillMaxWidth(0.48F)}) {
|
||||
Text("重启")
|
||||
Column(modifier = sections()){
|
||||
Text(text = "锁屏", style = typography.titleLarge)
|
||||
var flag by remember{mutableIntStateOf(0)}
|
||||
if(VERSION.SDK_INT>=26){ CheckBoxItem("需要重新输入密码",{flag==FLAG_EVICT_CREDENTIAL_ENCRYPTION_KEY},{flag = if(flag==0){1}else{0} }) }
|
||||
Button(
|
||||
onClick = {myDpm.lockNow()},
|
||||
enabled = myDpm.isAdminActive(myComponent),
|
||||
modifier = Modifier.fillMaxWidth()
|
||||
) {
|
||||
Text("立即锁屏")
|
||||
}
|
||||
Button(onClick = {myDpm.lockNow()}, enabled = myDpm.isAdminActive(myComponent),
|
||||
modifier = if(isWear){Modifier}else{Modifier.fillMaxWidth(0.92F)}) {
|
||||
Text("锁屏")
|
||||
}
|
||||
|
||||
if(VERSION.SDK_INT>=24){
|
||||
Column(modifier = sections()){
|
||||
Button(
|
||||
onClick = {
|
||||
val result = myDpm.requestBugreport(myComponent)
|
||||
Toast.makeText(myContext, if(result){"成功"}else{"失败"}, Toast.LENGTH_SHORT).show()
|
||||
},
|
||||
modifier = Modifier.fillMaxWidth()
|
||||
) {
|
||||
Text("请求错误报告")
|
||||
}
|
||||
Button(
|
||||
onClick = {myDpm.reboot(myComponent)},
|
||||
enabled = isDeviceOwner(myDpm),
|
||||
modifier = Modifier.fillMaxWidth()
|
||||
) {
|
||||
Text("重启")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.os.Build.VERSION
|
||||
import android.os.Bundle
|
||||
import android.os.UserManager
|
||||
import android.widget.Toast
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.activity.compose.setContent
|
||||
@@ -43,6 +44,7 @@ import java.io.FileNotFoundException
|
||||
import java.io.IOException
|
||||
|
||||
lateinit var getCaCert: ActivityResultLauncher<Intent>
|
||||
lateinit var createUser:ActivityResultLauncher<Intent>
|
||||
var caCert = byteArrayOf()
|
||||
|
||||
@ExperimentalMaterial3Api
|
||||
@@ -65,6 +67,13 @@ class MainActivity : ComponentActivity() {
|
||||
catch(e:IOException){ Toast.makeText(applicationContext, "IO异常", Toast.LENGTH_SHORT).show() }
|
||||
}else{ Toast.makeText(applicationContext, "空URI", Toast.LENGTH_SHORT).show() }
|
||||
}
|
||||
createUser = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
|
||||
when(it.resultCode){
|
||||
UserManager.USER_CREATION_FAILED_NO_MORE_USERS->Toast.makeText(applicationContext, "用户太多了", Toast.LENGTH_SHORT).show();
|
||||
UserManager.USER_CREATION_FAILED_NOT_PERMITTED->Toast.makeText(applicationContext, "不是管理员用户", Toast.LENGTH_SHORT).show();
|
||||
else->Toast.makeText(applicationContext, "成功", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
}
|
||||
setContent {
|
||||
AndroidOwnerTheme {
|
||||
MyScaffold()
|
||||
|
||||
@@ -10,7 +10,6 @@ import android.net.wifi.WifiSsid
|
||||
import android.os.Build.VERSION
|
||||
import android.telephony.TelephonyManager
|
||||
import android.telephony.TelephonyManager.UNKNOWN_CARRIER_ID
|
||||
import android.telephony.data.ApnSetting
|
||||
import android.telephony.data.ApnSetting.*
|
||||
import android.widget.Toast
|
||||
import androidx.activity.ComponentActivity
|
||||
@@ -316,7 +315,7 @@ fun Network(){
|
||||
var persistent by remember{mutableStateOf(false)}
|
||||
var protocol by remember{mutableIntStateOf(-1)}
|
||||
var roamingProtocol by remember{mutableIntStateOf(-1)}
|
||||
var id by remember{mutableStateOf(0)}
|
||||
var id by remember{mutableIntStateOf(0)}
|
||||
|
||||
if(inputNum!="0"){
|
||||
val current = setting[inputNum.toInt()-1]
|
||||
|
||||
@@ -269,40 +269,27 @@ fun DpmPermissions(navCtrl:NavHostController){
|
||||
keyboardOptions = KeyboardOptions(imeAction = ImeAction.Done),
|
||||
keyboardActions = KeyboardActions(onDone = {focusManager.clearFocus()})
|
||||
)
|
||||
if(isWear){
|
||||
Button(onClick={focusManager.clearFocus()
|
||||
myDpm.setAccountManagementDisabled(myComponent,inputText,true)
|
||||
noManageAccount=myDpm.accountTypesWithManagementDisabled
|
||||
refreshList()
|
||||
},modifier = Modifier.fillMaxWidth()){
|
||||
Text("添加至列表")
|
||||
}
|
||||
Button(onClick={focusManager.clearFocus()
|
||||
myDpm.setAccountManagementDisabled(myComponent,inputText,false)
|
||||
noManageAccount=myDpm.accountTypesWithManagementDisabled
|
||||
refreshList()
|
||||
},modifier = Modifier.fillMaxWidth()){
|
||||
Text("从列表中移除")
|
||||
}}else{
|
||||
Row(modifier = Modifier.fillMaxWidth(),horizontalArrangement = Arrangement.SpaceBetween){
|
||||
Button(onClick={focusManager.clearFocus()
|
||||
myDpm.setAccountManagementDisabled(myComponent,inputText,true)
|
||||
noManageAccount=myDpm.accountTypesWithManagementDisabled
|
||||
refreshList()
|
||||
},modifier = Modifier.fillMaxWidth(0.48f)){
|
||||
Text("添加至列表")
|
||||
},modifier = Modifier.fillMaxWidth(0.49f)){
|
||||
Text("列表")
|
||||
}
|
||||
Button(onClick={focusManager.clearFocus()
|
||||
Button(
|
||||
onClick={focusManager.clearFocus()
|
||||
myDpm.setAccountManagementDisabled(myComponent,inputText,false)
|
||||
noManageAccount=myDpm.accountTypesWithManagementDisabled
|
||||
refreshList()
|
||||
},modifier = Modifier.fillMaxWidth(0.92F)){
|
||||
},
|
||||
modifier = Modifier.fillMaxWidth(0.96F)
|
||||
){
|
||||
Text("从列表中移除")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(isDeviceOwner(myDpm)&&VERSION.SDK_INT>=24){
|
||||
DeviceOwnerInfo(R.string.owner_lockscr_info,R.string.place_holder,R.string.owner_lockscr_info,focusManager,myContext,
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
package com.binbin.androidowner
|
||||
|
||||
import android.app.admin.DevicePolicyManager
|
||||
import android.app.admin.DevicePolicyManager.InstallSystemUpdateCallback
|
||||
import android.app.admin.SystemUpdateInfo
|
||||
import android.app.admin.SystemUpdatePolicy
|
||||
import android.content.ComponentName
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.os.Build.VERSION
|
||||
import android.widget.Toast
|
||||
import androidx.activity.ComponentActivity
|
||||
@@ -26,7 +24,6 @@ import androidx.compose.ui.text.input.ImeAction
|
||||
import androidx.compose.ui.text.input.KeyboardType
|
||||
import androidx.compose.ui.unit.dp
|
||||
import java.util.Date
|
||||
import java.util.concurrent.Executors
|
||||
|
||||
@Composable
|
||||
fun SysUpdatePolicy(){
|
||||
|
||||
@@ -10,13 +10,7 @@ import android.os.UserManager
|
||||
import android.widget.Toast
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.horizontalScroll
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.foundation.text.KeyboardActions
|
||||
@@ -28,12 +22,7 @@ import androidx.compose.material3.MaterialTheme.colorScheme
|
||||
import androidx.compose.material3.MaterialTheme.typography
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TextField
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableIntStateOf
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.runtime.*
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.clip
|
||||
@@ -144,7 +133,7 @@ fun UserManage(navCtrl:NavHostController){
|
||||
}
|
||||
},
|
||||
enabled = isDeviceOwner(myDpm)&&VERSION.SDK_INT>=28,
|
||||
modifier = Modifier.fillMaxWidth(0.48F)
|
||||
modifier = Modifier.fillMaxWidth(0.49F)
|
||||
){
|
||||
Text(if(isWear){"启动"}else{"在后台启动"})
|
||||
}
|
||||
@@ -159,7 +148,7 @@ fun UserManage(navCtrl:NavHostController){
|
||||
}
|
||||
},
|
||||
enabled = isDeviceOwner(myDpm),
|
||||
modifier = Modifier.fillMaxWidth(0.92F)
|
||||
modifier = Modifier.fillMaxWidth(0.96F)
|
||||
) {
|
||||
Text("切换")
|
||||
}
|
||||
@@ -178,7 +167,7 @@ fun UserManage(navCtrl:NavHostController){
|
||||
}
|
||||
},
|
||||
enabled = isDeviceOwner(myDpm)&&VERSION.SDK_INT>=28,
|
||||
modifier = Modifier.fillMaxWidth(0.48F)
|
||||
modifier = Modifier.fillMaxWidth(0.49F)
|
||||
) {
|
||||
Text("停止")
|
||||
}
|
||||
@@ -193,7 +182,7 @@ fun UserManage(navCtrl:NavHostController){
|
||||
}
|
||||
},
|
||||
enabled = isDeviceOwner(myDpm),
|
||||
modifier = Modifier.fillMaxWidth(0.92F)
|
||||
modifier = Modifier.fillMaxWidth(0.96F)
|
||||
) {
|
||||
Text("移除")
|
||||
}
|
||||
@@ -205,13 +194,10 @@ fun UserManage(navCtrl:NavHostController){
|
||||
|
||||
Column(modifier = sections()) {
|
||||
Text(text = "工作资料", style = typography.titleLarge)
|
||||
Row(
|
||||
modifier = if(isWear){ Modifier.fillMaxWidth().horizontalScroll(rememberScrollState())}else{Modifier.fillMaxWidth()},
|
||||
horizontalArrangement = Arrangement.SpaceBetween
|
||||
){
|
||||
Row(modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.SpaceBetween){
|
||||
Button(
|
||||
onClick = { createWorkProfile(myContext)},
|
||||
modifier = Modifier.fillMaxWidth(0.48F)
|
||||
modifier = Modifier.fillMaxWidth(0.49F)
|
||||
) {
|
||||
Text("创建")
|
||||
}
|
||||
@@ -224,7 +210,7 @@ fun UserManage(navCtrl:NavHostController){
|
||||
}
|
||||
},
|
||||
enabled = isProfileOwner(myDpm)||isDeviceOwner(myDpm),
|
||||
modifier = Modifier.fillMaxWidth(0.95F)
|
||||
modifier = Modifier.fillMaxWidth(0.96F)
|
||||
) {
|
||||
Text(text = "启用")
|
||||
}
|
||||
@@ -253,13 +239,6 @@ fun UserManage(navCtrl:NavHostController){
|
||||
RadioButtonItem("启用所有系统应用",{selectedFlag==DevicePolicyManager.LEAVE_ALL_SYSTEM_APPS_ENABLED},{selectedFlag=DevicePolicyManager.LEAVE_ALL_SYSTEM_APPS_ENABLED})
|
||||
}
|
||||
var newUserHandle: UserHandle? by remember{ mutableStateOf(null) }
|
||||
Row(
|
||||
modifier = if(isWear){ if(newUserHandle==null){Modifier.fillMaxWidth()}else{
|
||||
Modifier
|
||||
.fillMaxWidth()
|
||||
.horizontalScroll(rememberScrollState())} }else{Modifier.fillMaxWidth()},
|
||||
horizontalArrangement = Arrangement.SpaceBetween
|
||||
) {
|
||||
Button(
|
||||
onClick = {
|
||||
newUserHandle=myDpm.createAndManageUser(myComponent,userName,myComponent,null,selectedFlag)
|
||||
@@ -267,35 +246,22 @@ fun UserManage(navCtrl:NavHostController){
|
||||
Toast.makeText(myContext, if(newUserHandle!=null){"成功"}else{"失败"}, Toast.LENGTH_SHORT).show()
|
||||
},
|
||||
enabled = isDeviceOwner(myDpm),
|
||||
modifier = if(isWear){
|
||||
if(newUserHandle==null){Modifier.fillMaxWidth()}else{Modifier}
|
||||
}else{
|
||||
if(newUserHandle==null){Modifier.fillMaxWidth()}else{Modifier.fillMaxWidth(0.4F)}
|
||||
}
|
||||
modifier = Modifier.fillMaxWidth()
|
||||
) {
|
||||
Text("创建")
|
||||
Text("创建(Owner)")
|
||||
}
|
||||
if(newUserHandle!=null){
|
||||
Spacer(Modifier.padding(horizontal = 4.dp))
|
||||
Button(
|
||||
onClick = {
|
||||
if(myDpm.switchUser(myComponent,newUserHandle)){
|
||||
Toast.makeText(myContext, "成功", Toast.LENGTH_SHORT).show()
|
||||
navCtrl.navigate("HomePage")
|
||||
} else{
|
||||
Toast.makeText(myContext, "失败", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
val intent = UserManager.createUserCreationIntent(userName,null,null,null)
|
||||
createUser.launch(intent)
|
||||
},
|
||||
modifier = if(isWear){Modifier}else{Modifier.fillMaxWidth(0.97F)}
|
||||
modifier = Modifier.fillMaxWidth()
|
||||
) {
|
||||
Text("切换至新用户")
|
||||
}
|
||||
}
|
||||
Text("创建(Intent)")
|
||||
}
|
||||
Text(text = "尽量用Device owner模式创建,Intent模式可能没有效果", style = bodyTextStyle)
|
||||
if(newUserHandle!=null){ Text(text = "新用户的序列号:${userManager.getSerialNumberForUser(newUserHandle)}", style = bodyTextStyle) }
|
||||
}
|
||||
}else{
|
||||
Text(text = "创建用户需安卓7", style = bodyTextStyle)
|
||||
}
|
||||
UserSessionMessage("用户名","用户名",true,myDpm,myContext,{null},{msg -> myDpm.setProfileName(myComponent, msg.toString())})
|
||||
if(VERSION.SDK_INT>=28){
|
||||
|
||||
@@ -9,12 +9,13 @@ import android.widget.Toast
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.annotation.StringRes
|
||||
import androidx.compose.animation.AnimatedVisibility
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.lazy.items
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.foundation.verticalScroll
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.MaterialTheme.colorScheme
|
||||
import androidx.compose.material3.MaterialTheme.typography
|
||||
@@ -38,7 +39,6 @@ private data class Restriction(
|
||||
@DrawableRes val ico:Int
|
||||
)
|
||||
|
||||
|
||||
@Composable
|
||||
fun UserRestriction(){
|
||||
val myContext = LocalContext.current
|
||||
@@ -52,8 +52,7 @@ fun UserRestriction(){
|
||||
val sharedPref = LocalContext.current.getSharedPreferences("data", Context.MODE_PRIVATE)
|
||||
val isWear = sharedPref.getBoolean("isWear",false)
|
||||
val bodyTextStyle = if(isWear){typography.bodyMedium}else{typography.bodyLarge}
|
||||
LazyColumn(horizontalAlignment = Alignment.CenterHorizontally){
|
||||
items(1){
|
||||
Column(modifier = Modifier.verticalScroll(rememberScrollState()), horizontalAlignment = Alignment.CenterHorizontally){
|
||||
Text(text = "打开开关后会禁用对应的功能",modifier = Modifier.padding(3.dp), style = bodyTextStyle)
|
||||
if(VERSION.SDK_INT<24){
|
||||
Text(text = "所有的用户限制都需要API24,你的设备低于API24,无法使用。", style = bodyTextStyle, color = colorScheme.error)
|
||||
@@ -64,64 +63,56 @@ fun UserRestriction(){
|
||||
if(isWear){
|
||||
Text(text = "部分功能在手表上无效", style = typography.bodyMedium)
|
||||
}
|
||||
}
|
||||
|
||||
items(1){ SectionTab("网络和互联网",{internetVisible}, { internetVisible=!internetVisible}) }
|
||||
items(RestrictionData().internet()){data->
|
||||
if(internetVisible){
|
||||
UserRestrictionItem(data.restriction,data.name,data.desc,data.ico)
|
||||
SectionTab("网络和互联网",{internetVisible}, { internetVisible=!internetVisible})
|
||||
AnimatedVisibility(internetVisible) {
|
||||
Column {
|
||||
for(internetItem in RestrictionData().internet()){
|
||||
UserRestrictionItem(internetItem.restriction,internetItem.name,internetItem.desc,internetItem.ico)
|
||||
}
|
||||
}
|
||||
|
||||
items(1){ SectionTab("更多连接",{connectivityVisible}) { connectivityVisible=!connectivityVisible } }
|
||||
items(RestrictionData().connectivity()){data->
|
||||
if(connectivityVisible){
|
||||
UserRestrictionItem(data.restriction,data.name,data.desc,data.ico)
|
||||
}
|
||||
SectionTab("更多连接",{connectivityVisible}) { connectivityVisible=!connectivityVisible }
|
||||
AnimatedVisibility(connectivityVisible) {
|
||||
Column {
|
||||
for(connectivityItem in RestrictionData().connectivity()){
|
||||
UserRestrictionItem(connectivityItem.restriction,connectivityItem.name,connectivityItem.desc,connectivityItem.ico)
|
||||
}
|
||||
}
|
||||
|
||||
items(1){ SectionTab("应用",{applicationVisible}) { applicationVisible=!applicationVisible } }
|
||||
items(RestrictionData().application()){data->
|
||||
if(applicationVisible){
|
||||
UserRestrictionItem(data.restriction,data.name,data.desc,data.ico)
|
||||
}
|
||||
SectionTab("应用",{applicationVisible}) { applicationVisible=!applicationVisible }
|
||||
AnimatedVisibility(applicationVisible) {
|
||||
Column {
|
||||
for(applicationItem in RestrictionData().application()){
|
||||
UserRestrictionItem(applicationItem.restriction,applicationItem.name,applicationItem.desc,applicationItem.ico)
|
||||
}
|
||||
}
|
||||
|
||||
items(1){ SectionTab("用户",{userVisible}) { userVisible=!userVisible } }
|
||||
items(RestrictionData().user()){data->
|
||||
if(userVisible){
|
||||
UserRestrictionItem(data.restriction,data.name,data.desc,data.ico)
|
||||
}
|
||||
SectionTab("用户",{userVisible}) { userVisible=!userVisible }
|
||||
AnimatedVisibility(userVisible) {
|
||||
Column {
|
||||
for(userItem in RestrictionData().user()){
|
||||
UserRestrictionItem(userItem.restriction,userItem.name,userItem.desc,userItem.ico)
|
||||
}
|
||||
}
|
||||
|
||||
items(1){ SectionTab("媒体",{mediaVisible}) { mediaVisible=!mediaVisible } }
|
||||
items(RestrictionData().media()){data->
|
||||
if(mediaVisible){
|
||||
UserRestrictionItem(data.restriction,data.name,data.desc,data.ico)
|
||||
}
|
||||
SectionTab("媒体",{mediaVisible}) { mediaVisible=!mediaVisible }
|
||||
AnimatedVisibility(mediaVisible) {
|
||||
Column {
|
||||
for(mediaItem in RestrictionData().media()){
|
||||
UserRestrictionItem(mediaItem.restriction,mediaItem.name,mediaItem.desc,mediaItem.ico)
|
||||
}
|
||||
}
|
||||
|
||||
items(1){ SectionTab("其他",{otherVisible}) { otherVisible=!otherVisible } }
|
||||
items(RestrictionData().other()){data->
|
||||
if(otherVisible){
|
||||
UserRestrictionItem(data.restriction,data.name,data.desc,data.ico)
|
||||
}
|
||||
SectionTab("其他",{otherVisible}) { otherVisible=!otherVisible }
|
||||
AnimatedVisibility(otherVisible) {
|
||||
Column {
|
||||
for(otherItem in RestrictionData().other()){
|
||||
UserRestrictionItem(otherItem.restriction,otherItem.name,otherItem.desc,otherItem.ico)
|
||||
}
|
||||
}
|
||||
|
||||
items(1){
|
||||
Spacer(Modifier.padding(vertical = 5.dp))
|
||||
Column(modifier = Modifier.padding(horizontal = if(!isWear){10.dp}else{3.dp})) {
|
||||
if(VERSION.SDK_INT<24){ Text(text = "以下功能需要安卓7或以上:数据漫游、修改用户头像、更换壁纸", style = bodyTextStyle) }
|
||||
if(VERSION.SDK_INT<26){ Text(text = "以下功能需要安卓8或以上:蓝牙、自动填充服务、添加/移除工作资料", style = bodyTextStyle) }
|
||||
if(VERSION.SDK_INT<28){ Text(text = "以下功能需要安卓9或以上:飞行模式、位置信息、调整亮度、修改语言、修改日期时间、修改屏幕超时、打印、分享至工作应用、切换用户", style = bodyTextStyle) }
|
||||
if(VERSION.SDK_INT<29){ Text(text = "以下功能需要安卓10或以上:配置私人DNS、内容捕获、内容建议", style = bodyTextStyle) }
|
||||
if(VERSION.SDK_INT<31){ Text(text = "以下功能需要安卓12或以上:切换摄像头使用权限、切换麦克风使用权限", style = bodyTextStyle) }
|
||||
if(VERSION.SDK_INT<33){ Text(text = "以下功能需要安卓13或以上:添加WiFi配置、分享设备管理器配置的WiFi、WiFi共享", style = bodyTextStyle) }
|
||||
if(VERSION.SDK_INT<34){ Text(text = "以下功能需要安卓14或以上:2G信号、启用设备管理器、超宽频段无线电", style = bodyTextStyle) }
|
||||
}
|
||||
Spacer(Modifier.padding(vertical = 30.dp))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
@@ -129,9 +120,7 @@ fun SectionTab(txt:String,getSection:()->Boolean,setSection:()->Unit){
|
||||
val sharedPref = LocalContext.current.getSharedPreferences("data", Context.MODE_PRIVATE)
|
||||
Text(
|
||||
text = txt,
|
||||
color = if(getSection()){
|
||||
colorScheme.onTertiaryContainer}else{
|
||||
colorScheme.onPrimaryContainer},
|
||||
color = if(getSection()){ colorScheme.onTertiaryContainer }else{ colorScheme.onPrimaryContainer },
|
||||
textAlign = TextAlign.Center,
|
||||
style = if(!sharedPref.getBoolean("isWear",false)){typography.headlineMedium}else{typography.titleLarge},
|
||||
modifier = Modifier
|
||||
@@ -139,13 +128,7 @@ fun SectionTab(txt:String,getSection:()->Boolean,setSection:()->Unit){
|
||||
.padding(horizontal = if(!sharedPref.getBoolean("isWear",false)){8.dp}else{4.dp},
|
||||
vertical = if(!sharedPref.getBoolean("isWear",false)){5.dp}else{2.dp})
|
||||
.clip(RoundedCornerShape(15.dp))
|
||||
.background(
|
||||
color = if (getSection()) {
|
||||
colorScheme.tertiaryContainer.copy(alpha = 0.8F)
|
||||
} else {
|
||||
colorScheme.primaryContainer.copy(alpha = 0.8F)
|
||||
}
|
||||
)
|
||||
.background(color = if (getSection()){ colorScheme.tertiaryContainer }else{ colorScheme.primaryContainer }.copy(0.8F))
|
||||
.clickable(onClick = setSection)
|
||||
.padding(vertical = if(!sharedPref.getBoolean("isWear",false)){8.dp}else{3.dp})
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user