mirror of
https://github.com/awfixers-stuff/OwnDroid.git
synced 2026-03-23 11:05:59 +00:00
update some strings
This commit is contained in:
@@ -21,7 +21,8 @@
|
|||||||
|
|
||||||
### 缺点
|
### 缺点
|
||||||
|
|
||||||
功能没有谷歌官方的 [TestDPC](https://github.com/googlesamples/android-testdpc) 那么全
|
- 功能没有谷歌官方的 [TestDPC](https://github.com/googlesamples/android-testdpc) 那么全
|
||||||
|
- 在我中考完之前这个项目可能不会更新,因为电脑被没收了
|
||||||
|
|
||||||
### 功能
|
### 功能
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ class PackageInstallerReceiver:BroadcastReceiver(){
|
|||||||
val toastText = when(intent.getIntExtra(EXTRA_STATUS,999)){
|
val toastText = when(intent.getIntExtra(EXTRA_STATUS,999)){
|
||||||
STATUS_PENDING_USER_ACTION->R.string.status_pending_action
|
STATUS_PENDING_USER_ACTION->R.string.status_pending_action
|
||||||
STATUS_SUCCESS->R.string.success
|
STATUS_SUCCESS->R.string.success
|
||||||
STATUS_FAILURE->R.string.fail
|
STATUS_FAILURE->R.string.failed
|
||||||
STATUS_FAILURE_BLOCKED->R.string.status_fail_blocked
|
STATUS_FAILURE_BLOCKED->R.string.status_fail_blocked
|
||||||
STATUS_FAILURE_ABORTED->R.string.status_fail_aborted
|
STATUS_FAILURE_ABORTED->R.string.status_fail_aborted
|
||||||
STATUS_FAILURE_INVALID->R.string.status_fail_invalid
|
STATUS_FAILURE_INVALID->R.string.status_fail_invalid
|
||||||
|
|||||||
@@ -310,7 +310,7 @@ private fun Home(
|
|||||||
}
|
}
|
||||||
SubPageItem(R.string.install_app, "", R.drawable.install_mobile_fill0) { navCtrl.navigate("InstallApp") }
|
SubPageItem(R.string.install_app, "", R.drawable.install_mobile_fill0) { navCtrl.navigate("InstallApp") }
|
||||||
SubPageItem(R.string.uninstall_app, "", R.drawable.delete_fill0) { navCtrl.navigate("UninstallApp") }
|
SubPageItem(R.string.uninstall_app, "", R.drawable.delete_fill0) { navCtrl.navigate("UninstallApp") }
|
||||||
if(VERSION.SDK_INT >= 34 && (isDeviceOwner(dpm) || isProfileOwner(dpm))) {
|
if(VERSION.SDK_INT >= 34 && (isDeviceOwner(dpm) || dpm.isOrgProfile(receiver))) {
|
||||||
SubPageItem(R.string.set_default_dialer, "", R.drawable.call_fill0) { defaultDialerAppDialog.value = true }
|
SubPageItem(R.string.set_default_dialer, "", R.drawable.call_fill0) { defaultDialerAppDialog.value = true }
|
||||||
}
|
}
|
||||||
Spacer(Modifier.padding(vertical = 30.dp))
|
Spacer(Modifier.padding(vertical = 30.dp))
|
||||||
@@ -385,7 +385,7 @@ private fun PermissionManage(pkgName: String, navCtrl: NavHostController) {
|
|||||||
var inputPermission by remember { mutableStateOf("") }
|
var inputPermission by remember { mutableStateOf("") }
|
||||||
var currentState by remember { mutableStateOf(context.getString(R.string.unknown)) }
|
var currentState by remember { mutableStateOf(context.getString(R.string.unknown)) }
|
||||||
val grantState = mapOf(
|
val grantState = mapOf(
|
||||||
PERMISSION_GRANT_STATE_DEFAULT to stringResource(R.string.decide_by_user),
|
PERMISSION_GRANT_STATE_DEFAULT to stringResource(R.string.default_stringres),
|
||||||
PERMISSION_GRANT_STATE_GRANTED to stringResource(R.string.granted),
|
PERMISSION_GRANT_STATE_GRANTED to stringResource(R.string.granted),
|
||||||
PERMISSION_GRANT_STATE_DENIED to stringResource(R.string.denied)
|
PERMISSION_GRANT_STATE_DENIED to stringResource(R.string.denied)
|
||||||
)
|
)
|
||||||
@@ -451,7 +451,7 @@ private fun PermissionManage(pkgName: String, navCtrl: NavHostController) {
|
|||||||
},
|
},
|
||||||
modifier = Modifier.fillMaxWidth()
|
modifier = Modifier.fillMaxWidth()
|
||||||
) {
|
) {
|
||||||
Text(stringResource(R.string.decide_by_user))
|
Text(stringResource(R.string.default_stringres))
|
||||||
}
|
}
|
||||||
Spacer(Modifier.padding(vertical = 30.dp))
|
Spacer(Modifier.padding(vertical = 30.dp))
|
||||||
}
|
}
|
||||||
@@ -590,7 +590,7 @@ private fun CredentialManagePolicy(pkgName: String) {
|
|||||||
}
|
}
|
||||||
Toast.makeText(context, R.string.success, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, R.string.success, Toast.LENGTH_SHORT).show()
|
||||||
} catch(e:java.lang.IllegalArgumentException) {
|
} catch(e:java.lang.IllegalArgumentException) {
|
||||||
Toast.makeText(context, R.string.fail, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, R.string.failed, Toast.LENGTH_SHORT).show()
|
||||||
} finally {
|
} finally {
|
||||||
refreshPolicy()
|
refreshPolicy()
|
||||||
}
|
}
|
||||||
@@ -990,7 +990,7 @@ private fun ClearAppDataDialog(status: MutableState<Boolean>, pkgName: String) {
|
|||||||
val toastText =
|
val toastText =
|
||||||
if(pkg!="") { "$pkg\n" }else{ "" } +
|
if(pkg!="") { "$pkg\n" }else{ "" } +
|
||||||
context.getString(R.string.clear_data) +
|
context.getString(R.string.clear_data) +
|
||||||
context.getString(if(succeed) R.string.success else R.string.fail )
|
context.getString(if(succeed) R.string.success else R.string.failed )
|
||||||
Toast.makeText(context, toastText, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, toastText, Toast.LENGTH_SHORT).show()
|
||||||
Looper.loop()
|
Looper.loop()
|
||||||
}
|
}
|
||||||
@@ -1037,7 +1037,7 @@ private fun DefaultDialerAppDialog(status: MutableState<Boolean>, pkgName: Strin
|
|||||||
dpm.setDefaultDialerApplication(pkgName)
|
dpm.setDefaultDialerApplication(pkgName)
|
||||||
Toast.makeText(context, R.string.success, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, R.string.success, Toast.LENGTH_SHORT).show()
|
||||||
}catch(e:IllegalArgumentException) {
|
}catch(e:IllegalArgumentException) {
|
||||||
Toast.makeText(context, R.string.fail, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, R.string.failed, Toast.LENGTH_SHORT).show()
|
||||||
}
|
}
|
||||||
status.value = false
|
status.value = false
|
||||||
}
|
}
|
||||||
@@ -1072,7 +1072,7 @@ private fun EnableSystemAppDialog(status: MutableState<Boolean>, pkgName: String
|
|||||||
dpm.enableSystemApp(receiver, pkgName)
|
dpm.enableSystemApp(receiver, pkgName)
|
||||||
Toast.makeText(context, R.string.success, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, R.string.success, Toast.LENGTH_SHORT).show()
|
||||||
} catch(e: IllegalArgumentException) {
|
} catch(e: IllegalArgumentException) {
|
||||||
Toast.makeText(context, R.string.fail, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, R.string.failed, Toast.LENGTH_SHORT).show()
|
||||||
}
|
}
|
||||||
status.value = false
|
status.value = false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ import android.app.admin.DevicePolicyManager.WIFI_SECURITY_ENTERPRISE_192
|
|||||||
import android.app.admin.DevicePolicyManager.WIFI_SECURITY_ENTERPRISE_EAP
|
import android.app.admin.DevicePolicyManager.WIFI_SECURITY_ENTERPRISE_EAP
|
||||||
import android.app.admin.DevicePolicyManager.WIFI_SECURITY_OPEN
|
import android.app.admin.DevicePolicyManager.WIFI_SECURITY_OPEN
|
||||||
import android.app.admin.DevicePolicyManager.WIFI_SECURITY_PERSONAL
|
import android.app.admin.DevicePolicyManager.WIFI_SECURITY_PERSONAL
|
||||||
import android.app.admin.WifiSsidPolicy
|
|
||||||
import android.app.admin.WifiSsidPolicy.WIFI_SSID_POLICY_TYPE_ALLOWLIST
|
import android.app.admin.WifiSsidPolicy.WIFI_SSID_POLICY_TYPE_ALLOWLIST
|
||||||
import android.app.admin.WifiSsidPolicy.WIFI_SSID_POLICY_TYPE_DENYLIST
|
import android.app.admin.WifiSsidPolicy.WIFI_SSID_POLICY_TYPE_DENYLIST
|
||||||
import android.content.ComponentName
|
import android.content.ComponentName
|
||||||
@@ -378,7 +377,7 @@ private fun PrivateDNS() {
|
|||||||
val operationResult = mapOf(
|
val operationResult = mapOf(
|
||||||
PRIVATE_DNS_SET_NO_ERROR to stringResource(R.string.success),
|
PRIVATE_DNS_SET_NO_ERROR to stringResource(R.string.success),
|
||||||
PRIVATE_DNS_SET_ERROR_HOST_NOT_SERVING to stringResource(R.string.host_not_serving_dns_tls),
|
PRIVATE_DNS_SET_ERROR_HOST_NOT_SERVING to stringResource(R.string.host_not_serving_dns_tls),
|
||||||
PRIVATE_DNS_SET_ERROR_FAILURE_SETTING to stringResource(R.string.fail)
|
PRIVATE_DNS_SET_ERROR_FAILURE_SETTING to stringResource(R.string.failed)
|
||||||
)
|
)
|
||||||
var status by remember { mutableStateOf(dnsStatus[dpm.getGlobalPrivateDnsMode(receiver)]) }
|
var status by remember { mutableStateOf(dnsStatus[dpm.getGlobalPrivateDnsMode(receiver)]) }
|
||||||
Spacer(Modifier.padding(vertical = 5.dp))
|
Spacer(Modifier.padding(vertical = 5.dp))
|
||||||
@@ -488,7 +487,7 @@ private fun WifiAuthKeypair() {
|
|||||||
Button(
|
Button(
|
||||||
onClick = {
|
onClick = {
|
||||||
val result = dpm.grantKeyPairToWifiAuth(keyPair)
|
val result = dpm.grantKeyPairToWifiAuth(keyPair)
|
||||||
Toast.makeText(context, if(result) R.string.success else R.string.fail, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, if(result) R.string.success else R.string.failed, Toast.LENGTH_SHORT).show()
|
||||||
},
|
},
|
||||||
modifier = Modifier.fillMaxWidth(0.49F)
|
modifier = Modifier.fillMaxWidth(0.49F)
|
||||||
) {
|
) {
|
||||||
@@ -497,7 +496,7 @@ private fun WifiAuthKeypair() {
|
|||||||
Button(
|
Button(
|
||||||
onClick = {
|
onClick = {
|
||||||
val result = dpm.revokeKeyPairFromWifiAuth(keyPair)
|
val result = dpm.revokeKeyPairFromWifiAuth(keyPair)
|
||||||
Toast.makeText(context, if(result) R.string.success else R.string.fail, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, if(result) R.string.success else R.string.failed, Toast.LENGTH_SHORT).show()
|
||||||
},
|
},
|
||||||
modifier = Modifier.fillMaxWidth(0.96F)
|
modifier = Modifier.fillMaxWidth(0.96F)
|
||||||
) {
|
) {
|
||||||
@@ -863,7 +862,7 @@ private fun APN() {
|
|||||||
Button(
|
Button(
|
||||||
onClick = {
|
onClick = {
|
||||||
val success = dpm.updateOverrideApn(receiver,id,result)
|
val success = dpm.updateOverrideApn(receiver,id,result)
|
||||||
Toast.makeText(context, if(success) R.string.success else R.string.fail, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, if(success) R.string.success else R.string.failed, Toast.LENGTH_SHORT).show()
|
||||||
},
|
},
|
||||||
Modifier.fillMaxWidth(0.49F)
|
Modifier.fillMaxWidth(0.49F)
|
||||||
) {
|
) {
|
||||||
@@ -872,7 +871,7 @@ private fun APN() {
|
|||||||
Button(
|
Button(
|
||||||
onClick = {
|
onClick = {
|
||||||
val success = dpm.removeOverrideApn(receiver,id)
|
val success = dpm.removeOverrideApn(receiver,id)
|
||||||
Toast.makeText(context, if(success) R.string.success else R.string.fail, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, if(success) R.string.success else R.string.failed, Toast.LENGTH_SHORT).show()
|
||||||
},
|
},
|
||||||
Modifier.fillMaxWidth(0.96F)
|
Modifier.fillMaxWidth(0.96F)
|
||||||
) {
|
) {
|
||||||
|
|||||||
@@ -168,7 +168,7 @@ private fun ResetPasswordToken() {
|
|||||||
onClick = {
|
onClick = {
|
||||||
Toast.makeText(
|
Toast.makeText(
|
||||||
context,
|
context,
|
||||||
if(dpm.clearResetPasswordToken(receiver)) R.string.success else R.string.fail,
|
if(dpm.clearResetPasswordToken(receiver)) R.string.success else R.string.failed,
|
||||||
Toast.LENGTH_SHORT
|
Toast.LENGTH_SHORT
|
||||||
).show()
|
).show()
|
||||||
},
|
},
|
||||||
@@ -181,7 +181,7 @@ private fun ResetPasswordToken() {
|
|||||||
try {
|
try {
|
||||||
Toast.makeText(
|
Toast.makeText(
|
||||||
context,
|
context,
|
||||||
if(dpm.setResetPasswordToken(receiver, tokenByteArray)) R.string.success else R.string.fail,
|
if(dpm.setResetPasswordToken(receiver, tokenByteArray)) R.string.success else R.string.failed,
|
||||||
Toast.LENGTH_SHORT
|
Toast.LENGTH_SHORT
|
||||||
).show()
|
).show()
|
||||||
}catch(e:SecurityException) {
|
}catch(e:SecurityException) {
|
||||||
@@ -267,7 +267,7 @@ private fun ResetPassword() {
|
|||||||
onClick = {
|
onClick = {
|
||||||
val resetSuccess = dpm.resetPasswordWithToken(receiver,newPwd,tokenByteArray,resetPwdFlag)
|
val resetSuccess = dpm.resetPasswordWithToken(receiver,newPwd,tokenByteArray,resetPwdFlag)
|
||||||
if(resetSuccess) { Toast.makeText(context, R.string.success, Toast.LENGTH_SHORT).show(); newPwd=""}
|
if(resetSuccess) { Toast.makeText(context, R.string.success, Toast.LENGTH_SHORT).show(); newPwd=""}
|
||||||
else{ Toast.makeText(context, R.string.fail, Toast.LENGTH_SHORT).show() }
|
else{ Toast.makeText(context, R.string.failed, Toast.LENGTH_SHORT).show() }
|
||||||
confirmed=false
|
confirmed=false
|
||||||
},
|
},
|
||||||
colors = ButtonDefaults.buttonColors(containerColor = colorScheme.error, contentColor = colorScheme.onError),
|
colors = ButtonDefaults.buttonColors(containerColor = colorScheme.error, contentColor = colorScheme.onError),
|
||||||
@@ -281,7 +281,7 @@ private fun ResetPassword() {
|
|||||||
onClick = {
|
onClick = {
|
||||||
val resetSuccess = dpm.resetPassword(newPwd,resetPwdFlag)
|
val resetSuccess = dpm.resetPassword(newPwd,resetPwdFlag)
|
||||||
if(resetSuccess) { Toast.makeText(context, R.string.success, Toast.LENGTH_SHORT).show(); newPwd="" }
|
if(resetSuccess) { Toast.makeText(context, R.string.success, Toast.LENGTH_SHORT).show(); newPwd="" }
|
||||||
else{ Toast.makeText(context, R.string.fail, Toast.LENGTH_SHORT).show() }
|
else{ Toast.makeText(context, R.string.failed, Toast.LENGTH_SHORT).show() }
|
||||||
confirmed=false
|
confirmed=false
|
||||||
},
|
},
|
||||||
enabled = confirmed,
|
enabled = confirmed,
|
||||||
@@ -670,6 +670,6 @@ private fun activateToken(context: Context) {
|
|||||||
if (confirmIntent != null) {
|
if (confirmIntent != null) {
|
||||||
startActivity(context,confirmIntent, null)
|
startActivity(context,confirmIntent, null)
|
||||||
} else {
|
} else {
|
||||||
Toast.makeText(context, R.string.fail, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, R.string.failed, Toast.LENGTH_SHORT).show()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -118,14 +118,14 @@ private fun Home(localNavCtrl:NavHostController,listScrollState:ScrollState) {
|
|||||||
if(isDeviceOwner(dpm) || isProfileOwner(dpm)) {
|
if(isDeviceOwner(dpm) || isProfileOwner(dpm)) {
|
||||||
SubPageItem(R.string.disable_account_management, "", R.drawable.account_circle_fill0) { localNavCtrl.navigate("NoManagementAccount") }
|
SubPageItem(R.string.disable_account_management, "", R.drawable.account_circle_fill0) { localNavCtrl.navigate("NoManagementAccount") }
|
||||||
}
|
}
|
||||||
if(VERSION.SDK_INT >= 24&&isDeviceOwner(dpm)) {
|
if(VERSION.SDK_INT >= 24 && (isDeviceOwner(dpm) || dpm.isOrgProfile(receiver))) {
|
||||||
SubPageItem(R.string.device_owner_lock_screen_info, "", R.drawable.screen_lock_portrait_fill0) { localNavCtrl.navigate("LockScreenInfo") }
|
SubPageItem(R.string.device_owner_lock_screen_info, "", R.drawable.screen_lock_portrait_fill0) { localNavCtrl.navigate("LockScreenInfo") }
|
||||||
}
|
}
|
||||||
if(VERSION.SDK_INT >= 24 && (isDeviceOwner(dpm) || isProfileOwner(dpm))) {
|
if(VERSION.SDK_INT >= 24 && dpm.isAdminActive(receiver)) {
|
||||||
SubPageItem(R.string.support_msg, "", R.drawable.chat_fill0) { localNavCtrl.navigate("SupportMsg") }
|
SubPageItem(R.string.support_msg, "", R.drawable.chat_fill0) { localNavCtrl.navigate("SupportMsg") }
|
||||||
}
|
}
|
||||||
if(VERSION.SDK_INT >= 28 && (isDeviceOwner(dpm) || isProfileOwner(dpm))) {
|
if(VERSION.SDK_INT >= 28 && (isDeviceOwner(dpm) || isProfileOwner(dpm))) {
|
||||||
SubPageItem(R.string.transform_ownership, "", R.drawable.admin_panel_settings_fill0) { localNavCtrl.navigate("TransformOwnership") }
|
SubPageItem(R.string.transfer_ownership, "", R.drawable.admin_panel_settings_fill0) { localNavCtrl.navigate("TransformOwnership") }
|
||||||
}
|
}
|
||||||
Spacer(Modifier.padding(vertical = 30.dp))
|
Spacer(Modifier.padding(vertical = 30.dp))
|
||||||
}
|
}
|
||||||
@@ -475,7 +475,7 @@ private fun DisableAccountManagement() {
|
|||||||
OutlinedTextField(
|
OutlinedTextField(
|
||||||
value = inputText,
|
value = inputText,
|
||||||
onValueChange = { inputText = it },
|
onValueChange = { inputText = it },
|
||||||
label = { Text(stringResource(R.string.account_types_is)) },
|
label = { Text(stringResource(R.string.account_types_are)) },
|
||||||
modifier = Modifier.fillMaxWidth().padding(vertical = 4.dp),
|
modifier = Modifier.fillMaxWidth().padding(vertical = 4.dp),
|
||||||
keyboardOptions = KeyboardOptions(imeAction = ImeAction.Done),
|
keyboardOptions = KeyboardOptions(imeAction = ImeAction.Done),
|
||||||
keyboardActions = KeyboardActions(onDone = { focusMgr.clearFocus() })
|
keyboardActions = KeyboardActions(onDone = { focusMgr.clearFocus() })
|
||||||
@@ -513,9 +513,9 @@ private fun TransformOwnership() {
|
|||||||
var pkg by remember { mutableStateOf("") }
|
var pkg by remember { mutableStateOf("") }
|
||||||
var cls by remember { mutableStateOf("") }
|
var cls by remember { mutableStateOf("") }
|
||||||
Spacer(Modifier.padding(vertical = 10.dp))
|
Spacer(Modifier.padding(vertical = 10.dp))
|
||||||
Text(text = stringResource(R.string.transform_ownership), style = typography.headlineLarge)
|
Text(text = stringResource(R.string.transfer_ownership), style = typography.headlineLarge)
|
||||||
Spacer(Modifier.padding(vertical = 5.dp))
|
Spacer(Modifier.padding(vertical = 5.dp))
|
||||||
Text(text = stringResource(R.string.transform_ownership_desc))
|
Text(text = stringResource(R.string.transfer_ownership_desc))
|
||||||
Spacer(Modifier.padding(vertical = 5.dp))
|
Spacer(Modifier.padding(vertical = 5.dp))
|
||||||
OutlinedTextField(
|
OutlinedTextField(
|
||||||
value = pkg, onValueChange = { pkg = it }, label = { Text(stringResource(R.string.target_package_name)) },
|
value = pkg, onValueChange = { pkg = it }, label = { Text(stringResource(R.string.target_package_name)) },
|
||||||
@@ -537,12 +537,12 @@ private fun TransformOwnership() {
|
|||||||
dpm.transferOwnership(receiver,ComponentName(pkg, cls),null)
|
dpm.transferOwnership(receiver,ComponentName(pkg, cls),null)
|
||||||
Toast.makeText(context, R.string.success, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, R.string.success, Toast.LENGTH_SHORT).show()
|
||||||
}catch(e:IllegalArgumentException) {
|
}catch(e:IllegalArgumentException) {
|
||||||
Toast.makeText(context, R.string.fail, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, R.string.failed, Toast.LENGTH_SHORT).show()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
modifier = Modifier.fillMaxWidth()
|
modifier = Modifier.fillMaxWidth()
|
||||||
) {
|
) {
|
||||||
Text(stringResource(R.string.transform))
|
Text(stringResource(R.string.transfer))
|
||||||
}
|
}
|
||||||
Spacer(Modifier.padding(vertical = 30.dp))
|
Spacer(Modifier.padding(vertical = 30.dp))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -303,7 +303,7 @@ private fun Keyguard() {
|
|||||||
if(VERSION.SDK_INT >= 23) {
|
if(VERSION.SDK_INT >= 23) {
|
||||||
Button(
|
Button(
|
||||||
onClick = {
|
onClick = {
|
||||||
Toast.makeText(context, if(dpm.setKeyguardDisabled(receiver,true)) R.string.success else R.string.fail, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, if(dpm.setKeyguardDisabled(receiver,true)) R.string.success else R.string.failed, Toast.LENGTH_SHORT).show()
|
||||||
},
|
},
|
||||||
enabled = isDeviceOwner(dpm) || (VERSION.SDK_INT >= 28 && isProfileOwner(dpm) && dpm.isAffiliatedUser),
|
enabled = isDeviceOwner(dpm) || (VERSION.SDK_INT >= 28 && isProfileOwner(dpm) && dpm.isAffiliatedUser),
|
||||||
modifier = Modifier.fillMaxWidth()
|
modifier = Modifier.fillMaxWidth()
|
||||||
@@ -312,7 +312,7 @@ private fun Keyguard() {
|
|||||||
}
|
}
|
||||||
Button(
|
Button(
|
||||||
onClick = {
|
onClick = {
|
||||||
Toast.makeText(context, if(dpm.setKeyguardDisabled(receiver,false)) R.string.success else R.string.fail, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, if(dpm.setKeyguardDisabled(receiver,false)) R.string.success else R.string.failed, Toast.LENGTH_SHORT).show()
|
||||||
},
|
},
|
||||||
enabled = isDeviceOwner(dpm) || (VERSION.SDK_INT >= 28 && isProfileOwner(dpm) && dpm.isAffiliatedUser),
|
enabled = isDeviceOwner(dpm) || (VERSION.SDK_INT >= 28 && isProfileOwner(dpm) && dpm.isAffiliatedUser),
|
||||||
modifier = Modifier.fillMaxWidth()
|
modifier = Modifier.fillMaxWidth()
|
||||||
@@ -361,7 +361,7 @@ private fun BugReportDialog(status: MutableState<Boolean>) {
|
|||||||
TextButton(
|
TextButton(
|
||||||
onClick = {
|
onClick = {
|
||||||
val result = dpm.requestBugreport(receiver)
|
val result = dpm.requestBugreport(receiver)
|
||||||
Toast.makeText(context, if(result) R.string.success else R.string.fail, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, if(result) R.string.success else R.string.failed, Toast.LENGTH_SHORT).show()
|
||||||
status.value = false
|
status.value = false
|
||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
@@ -465,7 +465,7 @@ private fun EditTimeZone() {
|
|||||||
Button(
|
Button(
|
||||||
onClick = {
|
onClick = {
|
||||||
val result = dpm.setTimeZone(receiver, inputTimezone)
|
val result = dpm.setTimeZone(receiver, inputTimezone)
|
||||||
Toast.makeText(context, if(result) R.string.success else R.string.fail, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, if(result) R.string.success else R.string.failed, Toast.LENGTH_SHORT).show()
|
||||||
},
|
},
|
||||||
modifier = Modifier.width(100.dp)
|
modifier = Modifier.width(100.dp)
|
||||||
) {
|
) {
|
||||||
@@ -824,7 +824,7 @@ private fun CaCert() {
|
|||||||
Button(
|
Button(
|
||||||
onClick = {
|
onClick = {
|
||||||
val result = dpm.installCaCert(receiver, caCertByteArray)
|
val result = dpm.installCaCert(receiver, caCertByteArray)
|
||||||
Toast.makeText(context, if(result) R.string.success else R.string.fail, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, if(result) R.string.success else R.string.failed, Toast.LENGTH_SHORT).show()
|
||||||
exist = dpm.hasCaCertInstalled(receiver, caCertByteArray)
|
exist = dpm.hasCaCertInstalled(receiver, caCertByteArray)
|
||||||
},
|
},
|
||||||
modifier = Modifier.fillMaxWidth(0.49F)
|
modifier = Modifier.fillMaxWidth(0.49F)
|
||||||
@@ -836,7 +836,7 @@ private fun CaCert() {
|
|||||||
if(exist) {
|
if(exist) {
|
||||||
dpm.uninstallCaCert(receiver, caCertByteArray)
|
dpm.uninstallCaCert(receiver, caCertByteArray)
|
||||||
exist = dpm.hasCaCertInstalled(receiver, caCertByteArray)
|
exist = dpm.hasCaCertInstalled(receiver, caCertByteArray)
|
||||||
Toast.makeText(context, if(exist) R.string.fail else R.string.success, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, if(exist) R.string.failed else R.string.success, Toast.LENGTH_SHORT).show()
|
||||||
} else { Toast.makeText(context, R.string.not_exist, Toast.LENGTH_SHORT).show() }
|
} else { Toast.makeText(context, R.string.not_exist, Toast.LENGTH_SHORT).show() }
|
||||||
},
|
},
|
||||||
modifier = Modifier.fillMaxWidth(0.96F)
|
modifier = Modifier.fillMaxWidth(0.96F)
|
||||||
|
|||||||
@@ -236,7 +236,7 @@ private fun UserOperation() {
|
|||||||
Button(
|
Button(
|
||||||
onClick = {
|
onClick = {
|
||||||
focusMgr.clearFocus()
|
focusMgr.clearFocus()
|
||||||
Toast.makeText(context, if(dpm.switchUser(receiver,userHandleById)) R.string.success else R.string.fail, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, if(dpm.switchUser(receiver,userHandleById)) R.string.success else R.string.failed, Toast.LENGTH_SHORT).show()
|
||||||
},
|
},
|
||||||
modifier = Modifier.fillMaxWidth()
|
modifier = Modifier.fillMaxWidth()
|
||||||
) {
|
) {
|
||||||
@@ -250,7 +250,7 @@ private fun UserOperation() {
|
|||||||
val result = dpm.stopUser(receiver,userHandleById)
|
val result = dpm.stopUser(receiver,userHandleById)
|
||||||
Toast.makeText(context, userOperationResultCode(result,context), Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, userOperationResultCode(result,context), Toast.LENGTH_SHORT).show()
|
||||||
}catch(e:IllegalArgumentException) {
|
}catch(e:IllegalArgumentException) {
|
||||||
Toast.makeText(context, R.string.fail, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, R.string.failed, Toast.LENGTH_SHORT).show()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
modifier = Modifier.fillMaxWidth()
|
modifier = Modifier.fillMaxWidth()
|
||||||
@@ -265,7 +265,7 @@ private fun UserOperation() {
|
|||||||
Toast.makeText(context, R.string.success, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, R.string.success, Toast.LENGTH_SHORT).show()
|
||||||
idInput = ""
|
idInput = ""
|
||||||
}else{
|
}else{
|
||||||
Toast.makeText(context, R.string.fail, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, R.string.failed, Toast.LENGTH_SHORT).show()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
modifier = Modifier.fillMaxWidth()
|
modifier = Modifier.fillMaxWidth()
|
||||||
@@ -323,7 +323,7 @@ private fun CreateUser() {
|
|||||||
onClick = {
|
onClick = {
|
||||||
newUserHandle = dpm.createAndManageUser(receiver, userName, receiver, null, selectedFlag)
|
newUserHandle = dpm.createAndManageUser(receiver, userName, receiver, null, selectedFlag)
|
||||||
focusMgr.clearFocus()
|
focusMgr.clearFocus()
|
||||||
Toast.makeText(context, if(newUserHandle!=null) R.string.success else R.string.fail, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, if(newUserHandle!=null) R.string.success else R.string.failed, Toast.LENGTH_SHORT).show()
|
||||||
},
|
},
|
||||||
modifier = Modifier.fillMaxWidth()
|
modifier = Modifier.fillMaxWidth()
|
||||||
) {
|
) {
|
||||||
|
|||||||
@@ -186,7 +186,7 @@ fun CopyTextButton(@StringRes label: Int, content: String) {
|
|||||||
if(!ok) {
|
if(!ok) {
|
||||||
scope.launch {
|
scope.launch {
|
||||||
if(writeClipBoard(context,content)) { ok = true; delay(2000); ok = false }
|
if(writeClipBoard(context,content)) { ok = true; delay(2000); ok = false }
|
||||||
else{ Toast.makeText(context, R.string.fail, Toast.LENGTH_SHORT).show() }
|
else{ Toast.makeText(context, R.string.failed, Toast.LENGTH_SHORT).show() }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<string name="disable">禁用</string>
|
<string name="disable">禁用</string>
|
||||||
<string name="enable">启用</string>
|
<string name="enable">启用</string>
|
||||||
<string name="success">成功</string>
|
<string name="success">成功</string>
|
||||||
<string name="fail">失败</string>
|
<string name="failed">失败</string>
|
||||||
<string name="add">添加</string>
|
<string name="add">添加</string>
|
||||||
<string name="remove">移除</string>
|
<string name="remove">移除</string>
|
||||||
<string name="install">安装</string>
|
<string name="install">安装</string>
|
||||||
@@ -73,10 +73,10 @@
|
|||||||
<string name="enrollment_specific_id">设备唯一标识码</string>
|
<string name="enrollment_specific_id">设备唯一标识码</string>
|
||||||
<string name="require_set_org_id">需要设置组织ID</string>
|
<string name="require_set_org_id">需要设置组织ID</string>
|
||||||
<string name="org_name">组织名称</string>
|
<string name="org_name">组织名称</string>
|
||||||
<string name="disable_account_management">不受管理的账号</string>
|
<string name="disable_account_management">禁用账号管理</string>
|
||||||
<string name="account_types_is">账号类型</string>
|
<string name="account_types_are">账号类型:</string>
|
||||||
<string name="transform_ownership">转移所有权</string>
|
<string name="transfer_ownership">转移所有权</string>
|
||||||
<string name="transform_ownership_desc">把Device owner或Profile owner权限转移到另一个应用 (目标必须是Device admin)</string>
|
<string name="transfer_ownership_desc">把Device owner或Profile owner权限转移到另一个应用 (目标必须是Device admin)</string>
|
||||||
<string name="target_package_name">目标包名</string>
|
<string name="target_package_name">目标包名</string>
|
||||||
<string name="target_class_name">目标类名</string>
|
<string name="target_class_name">目标类名</string>
|
||||||
<string name="device_owner_lock_screen_info">锁屏提示信息</string>
|
<string name="device_owner_lock_screen_info">锁屏提示信息</string>
|
||||||
@@ -84,7 +84,7 @@
|
|||||||
<string name="short_support_msg">提供支持的短消息</string>
|
<string name="short_support_msg">提供支持的短消息</string>
|
||||||
<string name="support_msg_desc">如果你禁用了某个功能,用户尝试使用这个功能时会看见这个消息(可多行)</string>
|
<string name="support_msg_desc">如果你禁用了某个功能,用户尝试使用这个功能时会看见这个消息(可多行)</string>
|
||||||
<string name="long_support_msg">提供支持的长消息</string>
|
<string name="long_support_msg">提供支持的长消息</string>
|
||||||
<string name="transform">转移</string>
|
<string name="transfer">转移</string>
|
||||||
<string name="activate_device_admin_here">在这里激活Device admin</string>
|
<string name="activate_device_admin_here">在这里激活Device admin</string>
|
||||||
|
|
||||||
<!--Receiver-->
|
<!--Receiver-->
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<string name="disable">Disable</string>
|
<string name="disable">Disable</string>
|
||||||
<string name="enable">Enable</string>
|
<string name="enable">Enable</string>
|
||||||
<string name="success">Success</string>
|
<string name="success">Success</string>
|
||||||
<string name="fail">Fail</string>
|
<string name="failed">Failed</string>
|
||||||
<string name="add">Add</string>
|
<string name="add">Add</string>
|
||||||
<string name="remove">Remove</string>
|
<string name="remove">Remove</string>
|
||||||
<string name="install">Install</string>
|
<string name="install">Install</string>
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
<string name="copy">Copy</string>
|
<string name="copy">Copy</string>
|
||||||
<string name="file_not_exist">File not exist</string>
|
<string name="file_not_exist">File not exist</string>
|
||||||
<string name="io_exception">IO Exception</string>
|
<string name="io_exception">IO Exception</string>
|
||||||
<string name="current_status_is">Current status: </string>
|
<string name="current_status_is">Current status: </string>
|
||||||
<string name="start">Start</string>
|
<string name="start">Start</string>
|
||||||
<string name="unknown_error">Unknown error</string>
|
<string name="unknown_error">Unknown error</string>
|
||||||
<string name="allow_all">Allow all</string>
|
<string name="allow_all">Allow all</string>
|
||||||
@@ -62,14 +62,14 @@
|
|||||||
<string name="profile_owner">Profile owner</string>
|
<string name="profile_owner">Profile owner</string>
|
||||||
<string name="device_owner">Device owner</string>
|
<string name="device_owner">Device owner</string>
|
||||||
<string name="activate_device_admin">Activate Device admin</string>
|
<string name="activate_device_admin">Activate Device admin</string>
|
||||||
<string name="activate_device_admin_command" translatable="false">adb shell dpm set-active-admin com.bintianqi.owndroid/com.bintianqi.owndroid.Receiver</string>
|
<string name="activate_device_admin_command" translatable="false">dpm set-active-admin com.bintianqi.owndroid/com.bintianqi.owndroid.Receiver</string>
|
||||||
<string name="activate_profile_owner_command" translatable="false">adb shell dpm set-profile-owner com.bintianqi.owndroid/com.bintianqi.owndroid.Receiver</string>
|
<string name="activate_profile_owner_command" translatable="false">dpm set-profile-owner com.bintianqi.owndroid/com.bintianqi.owndroid.Receiver</string>
|
||||||
<string name="activate_device_owner_command" translatable="false">adb shell dpm set-device-owner com.bintianqi.owndroid/com.bintianqi.owndroid.Receiver</string>
|
<string name="activate_device_owner_command" translatable="false">dpm set-device-owner com.bintianqi.owndroid/com.bintianqi.owndroid.Receiver</string>
|
||||||
<string name="device_info">Device info</string>
|
<string name="device_info">Device info</string>
|
||||||
<string name="support_device_id_attestation">Support Device ID attestation: </string>
|
<string name="support_device_id_attestation">Support Device ID attestation: </string>
|
||||||
<string name="support_unique_device_attestation">Support unique device attestation: </string>
|
<string name="support_unique_device_attestation">Support unique device attestation: </string>
|
||||||
<string name="is_device_financed">Financed device: %1$s</string>
|
<string name="is_device_financed">Financed device: %1$s</string>
|
||||||
<string name="dpmrh">Device policy manager role holder: %1$s</string>
|
<string name="dpmrh">Device policy management role holder: %1$s</string>
|
||||||
<!--es: encryption status-->
|
<!--es: encryption status-->
|
||||||
<string name="es_inactive">Inactive</string>
|
<string name="es_inactive">Inactive</string>
|
||||||
<string name="es_active">Active</string>
|
<string name="es_active">Active</string>
|
||||||
@@ -80,10 +80,10 @@
|
|||||||
<string name="enrollment_specific_id">Enrollment specific ID</string>
|
<string name="enrollment_specific_id">Enrollment specific ID</string>
|
||||||
<string name="require_set_org_id">Require organization ID</string>
|
<string name="require_set_org_id">Require organization ID</string>
|
||||||
<string name="org_name">Organization name</string>
|
<string name="org_name">Organization name</string>
|
||||||
<string name="disable_account_management">Account types with management disabled</string>
|
<string name="disable_account_management">Disable account management</string>
|
||||||
<string name="account_types_is">Account types: </string>
|
<string name="account_types_are">Account types: </string>
|
||||||
<string name="transform_ownership">Transform Ownership</string>
|
<string name="transfer_ownership">Transfer Ownership</string>
|
||||||
<string name="transform_ownership_desc">Transform device owner or profile owner privilege to another app. The target app must be a device admin. </string>
|
<string name="transfer_ownership_desc">Transfer device owner or profile owner privilege to another app. The target app must be a device admin. </string>
|
||||||
<string name="target_package_name">Target package name</string>
|
<string name="target_package_name">Target package name</string>
|
||||||
<string name="target_class_name">Target class name</string>
|
<string name="target_class_name">Target class name</string>
|
||||||
<string name="device_owner_lock_screen_info">Lockscreen info</string>
|
<string name="device_owner_lock_screen_info">Lockscreen info</string>
|
||||||
@@ -91,8 +91,8 @@
|
|||||||
<string name="short_support_msg">Short message</string>
|
<string name="short_support_msg">Short message</string>
|
||||||
<string name="support_msg_desc">When users try to use functions disabled by this app, the support message will show. (Multi-line allowed) </string>
|
<string name="support_msg_desc">When users try to use functions disabled by this app, the support message will show. (Multi-line allowed) </string>
|
||||||
<string name="long_support_msg">Long message</string>
|
<string name="long_support_msg">Long message</string>
|
||||||
<string name="transform">Transform</string>
|
<string name="transfer">Transfer</string>
|
||||||
<string name="activate_device_admin_here">Activate Device admin here. </string>
|
<string name="activate_device_admin_here">Activate Device admin here.</string>
|
||||||
|
|
||||||
<!--Receiver-->
|
<!--Receiver-->
|
||||||
<string name="onEnabled">OwnDroid: Enabled</string>
|
<string name="onEnabled">OwnDroid: Enabled</string>
|
||||||
@@ -212,7 +212,7 @@
|
|||||||
<!--Network-->
|
<!--Network-->
|
||||||
<string name="network">Network</string>
|
<string name="network">Network</string>
|
||||||
<string name="wifi_mac_addr">Wi-Fi Mac address</string>
|
<string name="wifi_mac_addr">Wi-Fi Mac address</string>
|
||||||
<string name="min_wifi_security_level">Min WiFi security level</string>
|
<string name="min_wifi_security_level">Min Wi-Fi security level</string>
|
||||||
<string name="wifi_security_level_open">Open</string>
|
<string name="wifi_security_level_open">Open</string>
|
||||||
<string name="preferential_network_service">Preferential network service</string>
|
<string name="preferential_network_service">Preferential network service</string>
|
||||||
<string name="lockdown_admin_configured_network">Lockdown admin configured network</string>
|
<string name="lockdown_admin_configured_network">Lockdown admin configured network</string>
|
||||||
@@ -235,7 +235,7 @@
|
|||||||
<string name="keypair">Keypair</string>
|
<string name="keypair">Keypair</string>
|
||||||
<string name="apn_settings">APN settings</string>
|
<string name="apn_settings">APN settings</string>
|
||||||
<string name="total_apn_amount">APN settings amount: %1$s</string>
|
<string name="total_apn_amount">APN settings amount: %1$s</string>
|
||||||
<string name="select_a_apn_or_create">Select a APN setting you want to edit (1~%1$s) or enter 0 to create a new APN setting. </string>
|
<string name="select_a_apn_or_create">Select an APN setting you want to edit (1~%1$s) or enter 0 to create a new APN setting. </string>
|
||||||
<string name="no_apn_you_should_create_one">No APN settings. Will create a new one. </string>
|
<string name="no_apn_you_should_create_one">No APN settings. Will create a new one. </string>
|
||||||
<string name="previous_step">Previous step</string>
|
<string name="previous_step">Previous step</string>
|
||||||
<string name="next_step">Next step</string>
|
<string name="next_step">Next step</string>
|
||||||
@@ -264,7 +264,7 @@
|
|||||||
<string name="is_org_owned_profile">Organization owned work profile: %1$s</string>
|
<string name="is_org_owned_profile">Organization owned work profile: %1$s</string>
|
||||||
<string name="org_owned_work_profile">Organization work profile</string>
|
<string name="org_owned_work_profile">Organization work profile</string>
|
||||||
<string name="activate_org_profile_command" tools:ignore="TypographyDashes" translatable="false">
|
<string name="activate_org_profile_command" tools:ignore="TypographyDashes" translatable="false">
|
||||||
adb shell \"dpm mark-profile-owner-on-organization-owned-device --user %1$s com.bintianqi.owndroid/com.bintianqi.owndroid.Receiver\"
|
dpm mark-profile-owner-on-organization-owned-device --user %1$s com.bintianqi.owndroid/com.bintianqi.owndroid.Receiver
|
||||||
</string>
|
</string>
|
||||||
<string name="skip_encryption">Skip encryption</string>
|
<string name="skip_encryption">Skip encryption</string>
|
||||||
<string name="create">Create</string>
|
<string name="create">Create</string>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
[versions]
|
[versions]
|
||||||
agp = "8.4.0"
|
agp = "8.2.0"
|
||||||
kt-android = "1.9.23"
|
kt-android = "1.9.23"
|
||||||
|
|
||||||
androidx-activity-compose = "1.8.2"
|
androidx-activity-compose = "1.8.2"
|
||||||
|
|||||||
Reference in New Issue
Block a user