mirror of
https://github.com/awfixers-stuff/OwnDroid.git
synced 2026-03-23 11:05:59 +00:00
fix material color problems
This commit is contained in:
@@ -6,6 +6,7 @@ import android.content.Context
|
|||||||
import android.os.Build.VERSION
|
import android.os.Build.VERSION
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.activity.ComponentActivity
|
import androidx.activity.ComponentActivity
|
||||||
|
import androidx.compose.foundation.isSystemInDarkTheme
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
@@ -166,7 +167,9 @@ fun DeviceControl(){
|
|||||||
if(isDeviceOwner(myDpm)){
|
if(isDeviceOwner(myDpm)){
|
||||||
SysUpdatePolicy(myDpm,myComponent,myContext)
|
SysUpdatePolicy(myDpm,myComponent,myContext)
|
||||||
}
|
}
|
||||||
Column(modifier = sections(MaterialTheme.colorScheme.errorContainer)) {
|
Column(modifier = sections(if(isSystemInDarkTheme())
|
||||||
|
{MaterialTheme.colorScheme.errorContainer}else{MaterialTheme.colorScheme.errorContainer.copy(alpha = 0.6F)})
|
||||||
|
) {
|
||||||
var flag by remember{ mutableIntStateOf(0) }
|
var flag by remember{ mutableIntStateOf(0) }
|
||||||
var confirmed by remember{ mutableStateOf(false) }
|
var confirmed by remember{ mutableStateOf(false) }
|
||||||
Text(text = "清除数据",style = typography.titleLarge,modifier = Modifier.padding(6.dp),color = MaterialTheme.colorScheme.onErrorContainer)
|
Text(text = "清除数据",style = typography.titleLarge,modifier = Modifier.padding(6.dp),color = MaterialTheme.colorScheme.onErrorContainer)
|
||||||
@@ -187,7 +190,7 @@ fun DeviceControl(){
|
|||||||
) {
|
) {
|
||||||
Text(text = if(confirmed){"取消"}else{"确定"})
|
Text(text = if(confirmed){"取消"}else{"确定"})
|
||||||
}
|
}
|
||||||
Row(horizontalArrangement = Arrangement.SpaceBetween) {
|
Row(modifier = Modifier.fillMaxWidth(),horizontalArrangement = Arrangement.SpaceBetween) {
|
||||||
Button(
|
Button(
|
||||||
onClick = {myDpm.wipeData(flag)},
|
onClick = {myDpm.wipeData(flag)},
|
||||||
colors = ButtonDefaults.buttonColors(
|
colors = ButtonDefaults.buttonColors(
|
||||||
|
|||||||
@@ -172,10 +172,7 @@ fun HomePage(navCtrl:NavHostController){
|
|||||||
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)
|
val myComponent = ComponentName(myContext,MyDeviceAdminReceiver::class.java)
|
||||||
val isda = myDpm.isAdminActive(myComponent)
|
val activateType = if(isDeviceOwner(myDpm)){"Device Owner"}else if(isProfileOwner(myDpm)){"Profile Owner"}else if(myDpm.isAdminActive(myComponent)){"Device Admin"}else{""}
|
||||||
val isdo = myDpm.isDeviceOwnerApp("com.binbin.androidowner")
|
|
||||||
val activateType = if(isDeviceOwner(myDpm)){"Device Owner"}else if(isProfileOwner(myDpm)){"Profile Owner"}else if(isda){"Device Admin"}else{""}
|
|
||||||
val isActivated = if(isdo||isda){"已激活"}else{"未激活"}
|
|
||||||
val sharedPref = LocalContext.current.getSharedPreferences("data", Context.MODE_PRIVATE)
|
val sharedPref = LocalContext.current.getSharedPreferences("data", Context.MODE_PRIVATE)
|
||||||
Column(modifier = Modifier.verticalScroll(rememberScrollState()), horizontalAlignment = Alignment.CenterHorizontally) {
|
Column(modifier = Modifier.verticalScroll(rememberScrollState()), horizontalAlignment = Alignment.CenterHorizontally) {
|
||||||
if(sharedPref.getBoolean("isWear",false)){
|
if(sharedPref.getBoolean("isWear",false)){
|
||||||
@@ -186,7 +183,7 @@ fun HomePage(navCtrl:NavHostController){
|
|||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.padding(vertical = if (!sharedPref.getBoolean("isWear", false)) { 5.dp } else { 2.dp }, horizontal = if (!sharedPref.getBoolean("isWear", false)) { 8.dp } else { 4.dp })
|
.padding(vertical = if (!sharedPref.getBoolean("isWear", false)) { 5.dp } else { 2.dp }, horizontal = if (!sharedPref.getBoolean("isWear", false)) { 8.dp } else { 4.dp })
|
||||||
.clip(RoundedCornerShape(15))
|
.clip(RoundedCornerShape(15))
|
||||||
.background(color = MaterialTheme.colorScheme.tertiaryContainer)
|
.background(color = MaterialTheme.colorScheme.tertiaryContainer.copy(alpha = 0.8F))
|
||||||
.clickable(onClick = { navCtrl.navigate("Permissions") })
|
.clickable(onClick = { navCtrl.navigate("Permissions") })
|
||||||
.padding(
|
.padding(
|
||||||
horizontal = 5.dp,
|
horizontal = 5.dp,
|
||||||
@@ -195,7 +192,7 @@ fun HomePage(navCtrl:NavHostController){
|
|||||||
verticalAlignment = Alignment.CenterVertically
|
verticalAlignment = Alignment.CenterVertically
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = if(isda){
|
painter = if(myDpm.isAdminActive(myComponent)){
|
||||||
painterResource(R.drawable.check_fill0)
|
painterResource(R.drawable.check_fill0)
|
||||||
}else{
|
}else{
|
||||||
painterResource(R.drawable.block_fill0)
|
painterResource(R.drawable.block_fill0)
|
||||||
@@ -206,14 +203,13 @@ fun HomePage(navCtrl:NavHostController){
|
|||||||
)
|
)
|
||||||
Column {
|
Column {
|
||||||
Text(
|
Text(
|
||||||
text = isActivated,
|
text = if(isDeviceOwner(myDpm)||myDpm.isAdminActive(myComponent)||isProfileOwner(myDpm)){"已激活"}else{"未激活"},
|
||||||
style = MaterialTheme.typography.headlineSmall,
|
style = MaterialTheme.typography.headlineSmall,
|
||||||
color = MaterialTheme.colorScheme.onTertiaryContainer
|
color = MaterialTheme.colorScheme.onTertiaryContainer
|
||||||
)
|
)
|
||||||
if(activateType!=""){
|
if(activateType!=""){
|
||||||
Text(
|
Text(
|
||||||
text = activateType,
|
text = activateType
|
||||||
color = MaterialTheme.colorScheme.onTertiaryContainer
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -234,9 +230,9 @@ fun HomePageItem(name:Int, imgVector:Int, description:Int, navTo:String, myNav:N
|
|||||||
Row(
|
Row(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.padding(vertical = if (!sharedPref.getBoolean("isWear", false)) { 5.dp } else { 2.dp }, horizontal = if (!sharedPref.getBoolean("isWear", false)) { 8.dp } else { 4.dp })
|
.padding(vertical = if (!sharedPref.getBoolean("isWear", false)) { 4.dp } else { 2.dp }, horizontal = if (!sharedPref.getBoolean("isWear", false)) { 7.dp } else { 4.dp })
|
||||||
.clip(RoundedCornerShape(15))
|
.clip(RoundedCornerShape(15))
|
||||||
.background(color = MaterialTheme.colorScheme.primaryContainer)
|
.background(color = MaterialTheme.colorScheme.primaryContainer.copy(alpha = 0.8F))
|
||||||
.clickable(onClick = { myNav.navigate(navTo) })
|
.clickable(onClick = { myNav.navigate(navTo) })
|
||||||
.padding(6.dp),
|
.padding(6.dp),
|
||||||
verticalAlignment = Alignment.CenterVertically
|
verticalAlignment = Alignment.CenterVertically
|
||||||
@@ -256,8 +252,7 @@ fun HomePageItem(name:Int, imgVector:Int, description:Int, navTo:String, myNav:N
|
|||||||
)
|
)
|
||||||
if(!sharedPref.getBoolean("isWear",false)){
|
if(!sharedPref.getBoolean("isWear",false)){
|
||||||
Text(
|
Text(
|
||||||
text = stringResource(description),
|
text = stringResource(description)
|
||||||
color = MaterialTheme.colorScheme.onPrimaryContainer
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -295,19 +290,20 @@ fun isProfileOwner(dpm:DevicePolicyManager): Boolean {
|
|||||||
@SuppressLint("ModifierFactoryExtensionFunction")
|
@SuppressLint("ModifierFactoryExtensionFunction")
|
||||||
@Composable
|
@Composable
|
||||||
fun sections(bgColor:Color=MaterialTheme.colorScheme.primaryContainer):Modifier{
|
fun sections(bgColor:Color=MaterialTheme.colorScheme.primaryContainer):Modifier{
|
||||||
|
val backgroundColor = if(isSystemInDarkTheme()){bgColor.copy(0.4F)}else{bgColor.copy(0.6F)}
|
||||||
return if(!LocalContext.current.getSharedPreferences("data", Context.MODE_PRIVATE).getBoolean("isWear",false)){
|
return if(!LocalContext.current.getSharedPreferences("data", Context.MODE_PRIVATE).getBoolean("isWear",false)){
|
||||||
Modifier
|
Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.padding(horizontal = 8.dp, vertical = 4.dp)
|
.padding(horizontal = 8.dp, vertical = 4.dp)
|
||||||
.clip(RoundedCornerShape(14.dp))
|
.clip(RoundedCornerShape(14.dp))
|
||||||
.background(color = bgColor)
|
.background(color = backgroundColor)
|
||||||
.padding(vertical = 10.dp, horizontal = 10.dp)
|
.padding(vertical = 10.dp, horizontal = 10.dp)
|
||||||
}else{
|
}else{
|
||||||
Modifier
|
Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.padding(horizontal = 3.dp, vertical = 3.dp)
|
.padding(horizontal = 3.dp, vertical = 3.dp)
|
||||||
.clip(RoundedCornerShape(10.dp))
|
.clip(RoundedCornerShape(10.dp))
|
||||||
.background(color = bgColor)
|
.background(color = backgroundColor)
|
||||||
.padding(vertical = 2.dp, horizontal = 3.dp)
|
.padding(vertical = 2.dp, horizontal = 3.dp)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ fun Password(){
|
|||||||
var newPwd by remember{ mutableStateOf("") }
|
var newPwd by remember{ mutableStateOf("") }
|
||||||
val focusMgr = LocalFocusManager.current
|
val focusMgr = LocalFocusManager.current
|
||||||
val isWear = sharedPref.getBoolean("isWear",false)
|
val isWear = sharedPref.getBoolean("isWear",false)
|
||||||
|
val titleColor = MaterialTheme.colorScheme.onPrimaryContainer
|
||||||
Column(
|
Column(
|
||||||
horizontalAlignment = Alignment.CenterHorizontally,
|
horizontalAlignment = Alignment.CenterHorizontally,
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
@@ -110,7 +111,7 @@ fun Password(){
|
|||||||
horizontalAlignment = Alignment.Start,
|
horizontalAlignment = Alignment.Start,
|
||||||
modifier = sections()
|
modifier = sections()
|
||||||
) {
|
) {
|
||||||
Text(text = "密码重置令牌", style = typography.titleLarge,color = MaterialTheme.colorScheme.onPrimaryContainer)
|
Text(text = "密码重置令牌", style = typography.titleLarge,color = titleColor)
|
||||||
Row(
|
Row(
|
||||||
modifier = if(!isWear){Modifier.fillMaxWidth()}else{Modifier.horizontalScroll(rememberScrollState())},
|
modifier = if(!isWear){Modifier.fillMaxWidth()}else{Modifier.horizontalScroll(rememberScrollState())},
|
||||||
horizontalArrangement = Arrangement.SpaceBetween
|
horizontalArrangement = Arrangement.SpaceBetween
|
||||||
@@ -159,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 = MaterialTheme.colorScheme.onPrimaryContainer)
|
Text(text = "修改密码",style = MaterialTheme.typography.titleLarge,color = titleColor)
|
||||||
TextField(
|
TextField(
|
||||||
value = newPwd,
|
value = newPwd,
|
||||||
onValueChange = {newPwd=it},
|
onValueChange = {newPwd=it},
|
||||||
@@ -238,7 +239,7 @@ fun Password(){
|
|||||||
if(isDeviceOwner(myDpm) || isProfileOwner(myDpm)){
|
if(isDeviceOwner(myDpm) || isProfileOwner(myDpm)){
|
||||||
selectedItem=myDpm.requiredPasswordComplexity
|
selectedItem=myDpm.requiredPasswordComplexity
|
||||||
}
|
}
|
||||||
Text(text = "密码复杂度要求", style = typography.titleLarge,color = MaterialTheme.colorScheme.onPrimaryContainer)
|
Text(text = "密码复杂度要求", style = typography.titleLarge,color = titleColor)
|
||||||
Text(text = "不是实际密码复杂度",
|
Text(text = "不是实际密码复杂度",
|
||||||
style = if(!isWear){typography.bodyLarge}else{typography.bodyMedium})
|
style = if(!isWear){typography.bodyLarge}else{typography.bodyMedium})
|
||||||
Text(text = "设置密码复杂度将会取代密码质量",
|
Text(text = "设置密码复杂度将会取代密码质量",
|
||||||
@@ -299,7 +300,7 @@ fun Password(){
|
|||||||
if(isDeviceOwner(myDpm) || isProfileOwner(myDpm)){
|
if(isDeviceOwner(myDpm) || isProfileOwner(myDpm)){
|
||||||
selectedItem=myDpm.getPasswordQuality(myComponent)
|
selectedItem=myDpm.getPasswordQuality(myComponent)
|
||||||
}
|
}
|
||||||
Text(text = "密码质量要求", style = typography.titleLarge,color = MaterialTheme.colorScheme.onPrimaryContainer)
|
Text(text = "密码质量要求", style = typography.titleLarge,color = titleColor)
|
||||||
if(expanded){
|
if(expanded){
|
||||||
Text(text = "不是实际密码质量",
|
Text(text = "不是实际密码质量",
|
||||||
style = if(!isWear){typography.bodyLarge}else{typography.bodyMedium})}
|
style = if(!isWear){typography.bodyLarge}else{typography.bodyMedium})}
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ fun DpmPermissions(navCtrl:NavHostController){
|
|||||||
val focusManager = LocalFocusManager.current
|
val focusManager = LocalFocusManager.current
|
||||||
val sharedPref = LocalContext.current.getSharedPreferences("data", Context.MODE_PRIVATE)
|
val sharedPref = LocalContext.current.getSharedPreferences("data", Context.MODE_PRIVATE)
|
||||||
val isWear = sharedPref.getBoolean("isWear",false)
|
val isWear = sharedPref.getBoolean("isWear",false)
|
||||||
|
val titleColor = MaterialTheme.colorScheme.onPrimaryContainer
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier.verticalScroll(rememberScrollState()),
|
modifier = Modifier.verticalScroll(rememberScrollState()),
|
||||||
horizontalAlignment = Alignment.CenterHorizontally
|
horizontalAlignment = Alignment.CenterHorizontally
|
||||||
@@ -69,7 +70,7 @@ fun DpmPermissions(navCtrl:NavHostController){
|
|||||||
verticalAlignment = Alignment.CenterVertically
|
verticalAlignment = Alignment.CenterVertically
|
||||||
) {
|
) {
|
||||||
Column {
|
Column {
|
||||||
Text(text = "Device Admin", fontSize = if(!isWear){22.sp}else{20.sp},color = MaterialTheme.colorScheme.onPrimaryContainer)
|
Text(text = "Device Admin", fontSize = if(!isWear){22.sp}else{20.sp},color = titleColor)
|
||||||
Text(text = if(isda){"已激活"}else{"未激活"})
|
Text(text = if(isda){"已激活"}else{"未激活"})
|
||||||
}
|
}
|
||||||
if(!isWear)
|
if(!isWear)
|
||||||
@@ -94,7 +95,7 @@ fun DpmPermissions(navCtrl:NavHostController){
|
|||||||
}
|
}
|
||||||
if(!isda){
|
if(!isda){
|
||||||
Column(
|
Column(
|
||||||
modifier = sections(MaterialTheme.colorScheme.tertiaryContainer),
|
modifier = sections(MaterialTheme.colorScheme.tertiaryContainer.copy(alpha = 0.8F)),
|
||||||
horizontalAlignment = Alignment.Start
|
horizontalAlignment = Alignment.Start
|
||||||
) {
|
) {
|
||||||
SelectionContainer {
|
SelectionContainer {
|
||||||
@@ -112,7 +113,7 @@ fun DpmPermissions(navCtrl:NavHostController){
|
|||||||
verticalAlignment = Alignment.CenterVertically
|
verticalAlignment = Alignment.CenterVertically
|
||||||
) {
|
) {
|
||||||
Column {
|
Column {
|
||||||
Text(text = "Profile Owner", fontSize = if(!isWear){22.sp}else{20.sp},color = MaterialTheme.colorScheme.onPrimaryContainer)
|
Text(text = "Profile Owner", fontSize = if(!isWear){22.sp}else{20.sp},color = titleColor)
|
||||||
Text(if(isProfileOwner(myDpm)){"已激活"}else{"未激活"})
|
Text(if(isProfileOwner(myDpm)){"已激活"}else{"未激活"})
|
||||||
}
|
}
|
||||||
if(isProfileOwner(myDpm)&&VERSION.SDK_INT>=24&&!isWear){
|
if(isProfileOwner(myDpm)&&VERSION.SDK_INT>=24&&!isWear){
|
||||||
@@ -132,7 +133,7 @@ fun DpmPermissions(navCtrl:NavHostController){
|
|||||||
}
|
}
|
||||||
if(!isProfileOwner(myDpm)){
|
if(!isProfileOwner(myDpm)){
|
||||||
Column(
|
Column(
|
||||||
modifier = sections(MaterialTheme.colorScheme.tertiaryContainer),
|
modifier = sections(MaterialTheme.colorScheme.tertiaryContainer.copy(alpha = 0.8F)),
|
||||||
horizontalAlignment = Alignment.Start
|
horizontalAlignment = Alignment.Start
|
||||||
) {
|
) {
|
||||||
if(!isDeviceOwner(myDpm)){
|
if(!isDeviceOwner(myDpm)){
|
||||||
@@ -156,7 +157,7 @@ fun DpmPermissions(navCtrl:NavHostController){
|
|||||||
verticalAlignment = Alignment.CenterVertically
|
verticalAlignment = Alignment.CenterVertically
|
||||||
) {
|
) {
|
||||||
Column {
|
Column {
|
||||||
Text(text = "Device Owner", fontSize = if(!isWear){22.sp}else{20.sp},color = MaterialTheme.colorScheme.onPrimaryContainer)
|
Text(text = "Device Owner", fontSize = if(!isWear){22.sp}else{20.sp},color = titleColor)
|
||||||
Text(if(isDeviceOwner(myDpm)){"已激活"}else{"未激活"})
|
Text(if(isDeviceOwner(myDpm)){"已激活"}else{"未激活"})
|
||||||
}
|
}
|
||||||
if(isDeviceOwner(myDpm)&&!isWear){
|
if(isDeviceOwner(myDpm)&&!isWear){
|
||||||
@@ -176,7 +177,7 @@ fun DpmPermissions(navCtrl:NavHostController){
|
|||||||
}
|
}
|
||||||
if(!isDeviceOwner(myDpm)&&!isProfileOwner(myDpm)){
|
if(!isDeviceOwner(myDpm)&&!isProfileOwner(myDpm)){
|
||||||
Column(
|
Column(
|
||||||
modifier = sections(MaterialTheme.colorScheme.tertiaryContainer),
|
modifier = sections(MaterialTheme.colorScheme.tertiaryContainer.copy(alpha = 0.8F)),
|
||||||
horizontalAlignment = Alignment.Start
|
horizontalAlignment = Alignment.Start
|
||||||
) {
|
) {
|
||||||
SelectionContainer {
|
SelectionContainer {
|
||||||
@@ -194,7 +195,7 @@ fun DpmPermissions(navCtrl:NavHostController){
|
|||||||
Text(
|
Text(
|
||||||
text = "注意!在这里撤销权限不会清除配置。比如:被停用的应用会保持停用状态",
|
text = "注意!在这里撤销权限不会清除配置。比如:被停用的应用会保持停用状态",
|
||||||
color = MaterialTheme.colorScheme.onErrorContainer,
|
color = MaterialTheme.colorScheme.onErrorContainer,
|
||||||
modifier = sections(MaterialTheme.colorScheme.errorContainer),
|
modifier = sections(MaterialTheme.colorScheme.errorContainer.copy(alpha = 0.8F)),
|
||||||
style = if(!isWear){typography.bodyLarge}else{typography.bodyMedium}
|
style = if(!isWear){typography.bodyLarge}else{typography.bodyMedium}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -202,7 +203,7 @@ fun DpmPermissions(navCtrl:NavHostController){
|
|||||||
Column(
|
Column(
|
||||||
modifier = sections()
|
modifier = sections()
|
||||||
) {
|
) {
|
||||||
Text(text = "设备信息", style = typography.titleLarge,color = MaterialTheme.colorScheme.onPrimaryContainer)
|
Text(text = "设备信息", style = typography.titleLarge,color = titleColor)
|
||||||
val orgDevice = myDpm.isOrganizationOwnedDeviceWithManagedProfile
|
val orgDevice = myDpm.isOrganizationOwnedDeviceWithManagedProfile
|
||||||
Text("由组织拥有的受管理资料设备:$orgDevice",style=if(!isWear){typography.bodyLarge}else{typography.bodyMedium})
|
Text("由组织拥有的受管理资料设备:$orgDevice",style=if(!isWear){typography.bodyLarge}else{typography.bodyMedium})
|
||||||
if(isDeviceOwner(myDpm)|| isProfileOwner(myDpm)){
|
if(isDeviceOwner(myDpm)|| isProfileOwner(myDpm)){
|
||||||
@@ -233,7 +234,7 @@ fun DpmPermissions(navCtrl:NavHostController){
|
|||||||
if(VERSION.SDK_INT>=31&&(isProfileOwner(myDpm)|| isDeviceOwner(myDpm))){
|
if(VERSION.SDK_INT>=31&&(isProfileOwner(myDpm)|| isDeviceOwner(myDpm))){
|
||||||
Column(modifier = sections()) {
|
Column(modifier = sections()) {
|
||||||
val specificId:String = myDpm.enrollmentSpecificId
|
val specificId:String = myDpm.enrollmentSpecificId
|
||||||
Text(text = "设备唯一标识码", style = typography.titleLarge,color = MaterialTheme.colorScheme.onPrimaryContainer)
|
Text(text = "设备唯一标识码", style = typography.titleLarge,color = titleColor)
|
||||||
Text("(恢复出厂设置不变)",style=if(!isWear){typography.bodyLarge}else{typography.bodyMedium})
|
Text("(恢复出厂设置不变)",style=if(!isWear){typography.bodyLarge}else{typography.bodyMedium})
|
||||||
if(specificId!=""){
|
if(specificId!=""){
|
||||||
Text(specificId)
|
Text(specificId)
|
||||||
@@ -247,7 +248,7 @@ fun DpmPermissions(navCtrl:NavHostController){
|
|||||||
}
|
}
|
||||||
if(isDeviceOwner(myDpm) || isProfileOwner(myDpm)){
|
if(isDeviceOwner(myDpm) || isProfileOwner(myDpm)){
|
||||||
Column(modifier = sections()) {
|
Column(modifier = sections()) {
|
||||||
Text(text = "不受控制的账号类型", style = typography.titleLarge,color = MaterialTheme.colorScheme.onPrimaryContainer)
|
Text(text = "不受控制的账号类型", style = typography.titleLarge,color = titleColor)
|
||||||
Text("作用未知",style=if(!isWear){typography.bodyLarge}else{typography.bodyMedium})
|
Text("作用未知",style=if(!isWear){typography.bodyLarge}else{typography.bodyMedium})
|
||||||
var noManageAccount = myDpm.accountTypesWithManagementDisabled?.toMutableList()
|
var noManageAccount = myDpm.accountTypesWithManagementDisabled?.toMutableList()
|
||||||
var accountlist by remember{ mutableStateOf("") }
|
var accountlist by remember{ mutableStateOf("") }
|
||||||
@@ -382,7 +383,7 @@ fun DeviceOwnerInfo(
|
|||||||
Column(modifier = sections()) {
|
Column(modifier = sections()) {
|
||||||
val sharedPref = LocalContext.current.getSharedPreferences("data", Context.MODE_PRIVATE)
|
val sharedPref = LocalContext.current.getSharedPreferences("data", Context.MODE_PRIVATE)
|
||||||
val isWear = sharedPref.getBoolean("isWear",false)
|
val isWear = sharedPref.getBoolean("isWear",false)
|
||||||
Text(text = stringResource(name), style = typography.titleLarge, softWrap = false)
|
Text(text = stringResource(name), style = typography.titleLarge, softWrap = false, color = MaterialTheme.colorScheme.onPrimaryContainer)
|
||||||
if(desc!=R.string.place_holder){
|
if(desc!=R.string.place_holder){
|
||||||
Text(
|
Text(
|
||||||
text = stringResource(desc),modifier = Modifier.padding(top = 6.dp),
|
text = stringResource(desc),modifier = Modifier.padding(top = 6.dp),
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package com.binbin.androidowner
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
|
import android.os.Build.VERSION
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
@@ -47,6 +48,21 @@ fun AppSetting(navCtrl:NavHostController){
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
if(VERSION.SDK_INT>=32){
|
||||||
|
Row(modifier = Modifier.fillMaxWidth().padding(horizontal = 3.dp),horizontalArrangement = Arrangement.SpaceBetween, verticalAlignment = Alignment.CenterVertically) {
|
||||||
|
Text(text = "动态取色", style = MaterialTheme.typography.titleLarge)
|
||||||
|
Switch(
|
||||||
|
checked = sharedPref.getBoolean("dynamicColor",false),
|
||||||
|
onCheckedChange = {
|
||||||
|
sharedPref.edit().putBoolean("dynamicColor",!sharedPref.getBoolean("dynamicColor",false)).apply()
|
||||||
|
navCtrl.navigate("HomePage") {
|
||||||
|
popUpTo(navCtrl.graph.findStartDestination().id) { saveState = true }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
Text("打开或关闭动态取色需要重启应用")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Column(modifier = sections()) {
|
Column(modifier = sections()) {
|
||||||
Column(
|
Column(
|
||||||
|
|||||||
@@ -76,8 +76,7 @@ fun UserRestriction(){
|
|||||||
style = if(!isWear){typography.bodyLarge}else{typography.bodyMedium})
|
style = if(!isWear){typography.bodyLarge}else{typography.bodyMedium})
|
||||||
}
|
}
|
||||||
if(isWear){
|
if(isWear){
|
||||||
Text(text = "部分功能在手表上无效",
|
Text(text = "部分功能在手表上无效", style = typography.bodyMedium)
|
||||||
style = if(!isWear){typography.bodyLarge}else{typography.bodyMedium})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -157,13 +156,13 @@ fun SectionTab(txt:String,getSection:()->Boolean,setSection:()->Unit){
|
|||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.padding(horizontal = if(!sharedPref.getBoolean("isWear",false)){8.dp}else{4.dp},
|
.padding(horizontal = if(!sharedPref.getBoolean("isWear",false)){8.dp}else{4.dp},
|
||||||
vertical = if(!sharedPref.getBoolean("isWear",false)){6.dp}else{3.dp})
|
vertical = if(!sharedPref.getBoolean("isWear",false)){5.dp}else{2.dp})
|
||||||
.clip(RoundedCornerShape(15.dp))
|
.clip(RoundedCornerShape(15.dp))
|
||||||
.background(
|
.background(
|
||||||
color = if (getSection()) {
|
color = if (getSection()) {
|
||||||
MaterialTheme.colorScheme.tertiaryContainer
|
MaterialTheme.colorScheme.tertiaryContainer.copy(alpha = 0.8F)
|
||||||
} else {
|
} else {
|
||||||
MaterialTheme.colorScheme.primaryContainer
|
MaterialTheme.colorScheme.primaryContainer.copy(alpha = 0.8F)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
.clickable(onClick = setSection)
|
.clickable(onClick = setSection)
|
||||||
@@ -338,7 +337,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.android_fill0)
|
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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
package com.binbin.androidowner.ui.theme
|
package com.binbin.androidowner.ui.theme
|
||||||
|
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
|
import android.content.Context
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
|
import android.os.Build.VERSION
|
||||||
import androidx.compose.foundation.isSystemInDarkTheme
|
import androidx.compose.foundation.isSystemInDarkTheme
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.darkColorScheme
|
import androidx.compose.material3.darkColorScheme
|
||||||
@@ -82,13 +84,16 @@ private val LightColorScheme = lightColorScheme(
|
|||||||
@Composable
|
@Composable
|
||||||
fun AndroidOwnerTheme(
|
fun AndroidOwnerTheme(
|
||||||
darkTheme: Boolean = isSystemInDarkTheme(),
|
darkTheme: Boolean = isSystemInDarkTheme(),
|
||||||
// Dynamic color is available on Android 12+
|
|
||||||
dynamicColor: Boolean = true,
|
|
||||||
content: @Composable () -> Unit
|
content: @Composable () -> Unit
|
||||||
) {
|
) {
|
||||||
val colorScheme = when {
|
|
||||||
dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> {
|
|
||||||
val context = LocalContext.current
|
val context = LocalContext.current
|
||||||
|
val sharedPref = context.getSharedPreferences("data", Context.MODE_PRIVATE)
|
||||||
|
if(!sharedPref.contains("dynamicColor")&&VERSION.SDK_INT>=32){
|
||||||
|
sharedPref.edit().putBoolean("dynamicColor",true).apply()
|
||||||
|
}
|
||||||
|
val dynamicColor = sharedPref.getBoolean("dynamicColor",false)
|
||||||
|
val colorScheme = when {
|
||||||
|
dynamicColor && VERSION.SDK_INT >= Build.VERSION_CODES.S -> {
|
||||||
if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
|
if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user