mirror of
https://github.com/awfixers-stuff/OwnDroid.git
synced 2026-03-23 11:05:59 +00:00
Create managed user: select mutiple flags
Fix App manager TopAppBar color Optimize some strings Create managed profile: Offline provisioning and Migrate account
This commit is contained in:
@@ -6,8 +6,6 @@
|
|||||||
|
|
||||||
Use Device admin and Device owner privilege to take full control of your device.
|
Use Device admin and Device owner privilege to take full control of your device.
|
||||||
|
|
||||||
This app is renamed to "OwnDroid" from "Android Owner".
|
|
||||||
|
|
||||||
### Docs
|
### Docs
|
||||||
|
|
||||||
A renewed OwnDroid docs are available on [owndroid.pages.dev](https://owndroid.pages.dev)
|
A renewed OwnDroid docs are available on [owndroid.pages.dev](https://owndroid.pages.dev)
|
||||||
|
|||||||
@@ -6,8 +6,6 @@
|
|||||||
|
|
||||||
使用安卓的Device Admin和Device Owner特权,完全掌控你的设备。
|
使用安卓的Device Admin和Device Owner特权,完全掌控你的设备。
|
||||||
|
|
||||||
这个APP已经改名为"OwnDroid",原名"Android Owner"
|
|
||||||
|
|
||||||
### 文档
|
### 文档
|
||||||
|
|
||||||
全新的OwnDroid文档:[owndroid.pages.dev](https://owndroid.pages.dev/zh_CN)
|
全新的OwnDroid文档:[owndroid.pages.dev](https://owndroid.pages.dev/zh_CN)
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ import androidx.compose.material3.Text
|
|||||||
import androidx.compose.material3.TextButton
|
import androidx.compose.material3.TextButton
|
||||||
import androidx.compose.material3.TextField
|
import androidx.compose.material3.TextField
|
||||||
import androidx.compose.material3.TopAppBar
|
import androidx.compose.material3.TopAppBar
|
||||||
|
import androidx.compose.material3.TopAppBarDefaults
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.LaunchedEffect
|
import androidx.compose.runtime.LaunchedEffect
|
||||||
import androidx.compose.runtime.MutableIntState
|
import androidx.compose.runtime.MutableIntState
|
||||||
@@ -131,7 +132,8 @@ fun ApplicationManage(navCtrl:NavHostController, dialogStatus: MutableIntState)
|
|||||||
singleLine = true
|
singleLine = true
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
navigationIcon = { NavIcon { navCtrl.navigateUp() } }
|
navigationIcon = { NavIcon { navCtrl.navigateUp() } },
|
||||||
|
colors = TopAppBarDefaults.topAppBarColors(containerColor = colorScheme.background)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
) { paddingValues->
|
) { paddingValues->
|
||||||
|
|||||||
@@ -1,10 +1,13 @@
|
|||||||
package com.bintianqi.owndroid.dpm
|
package com.bintianqi.owndroid.dpm
|
||||||
|
|
||||||
|
import android.accounts.Account
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE
|
import android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE
|
||||||
|
import android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE
|
||||||
import android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ALLOW_OFFLINE
|
import android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ALLOW_OFFLINE
|
||||||
import android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME
|
import android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME
|
||||||
import android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME
|
import android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME
|
||||||
|
import android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_KEEP_ACCOUNT_ON_MIGRATION
|
||||||
import android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_SKIP_ENCRYPTION
|
import android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_SKIP_ENCRYPTION
|
||||||
import android.app.admin.DevicePolicyManager.FLAG_MANAGED_CAN_ACCESS_PARENT
|
import android.app.admin.DevicePolicyManager.FLAG_MANAGED_CAN_ACCESS_PARENT
|
||||||
import android.app.admin.DevicePolicyManager.FLAG_PARENT_CAN_ACCESS_MANAGED
|
import android.app.admin.DevicePolicyManager.FLAG_PARENT_CAN_ACCESS_MANAGED
|
||||||
@@ -43,6 +46,8 @@ import androidx.compose.runtime.mutableStateOf
|
|||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.runtime.setValue
|
import androidx.compose.runtime.setValue
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.focus.FocusRequester
|
||||||
|
import androidx.compose.ui.focus.focusRequester
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.platform.LocalFocusManager
|
import androidx.compose.ui.platform.LocalFocusManager
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
@@ -126,14 +131,48 @@ private fun Home(navCtrl: NavHostController) {
|
|||||||
private fun CreateWorkProfile() {
|
private fun CreateWorkProfile() {
|
||||||
val context = LocalContext.current
|
val context = LocalContext.current
|
||||||
val receiver = context.getReceiver()
|
val receiver = context.getReceiver()
|
||||||
|
val focusMgr = LocalFocusManager.current
|
||||||
Column(modifier = Modifier.fillMaxSize().padding(horizontal = 8.dp).verticalScroll(rememberScrollState())) {
|
Column(modifier = Modifier.fillMaxSize().padding(horizontal = 8.dp).verticalScroll(rememberScrollState())) {
|
||||||
Spacer(Modifier.padding(vertical = 10.dp))
|
Spacer(Modifier.padding(vertical = 10.dp))
|
||||||
Text(text = stringResource(R.string.create_work_profile), style = typography.headlineLarge)
|
Text(text = stringResource(R.string.create_work_profile), style = typography.headlineLarge)
|
||||||
Spacer(Modifier.padding(vertical = 5.dp))
|
Spacer(Modifier.padding(vertical = 5.dp))
|
||||||
var skipEncrypt by remember { mutableStateOf(false) }
|
var skipEncrypt by remember { mutableStateOf(false) }
|
||||||
if(VERSION.SDK_INT>=24) {
|
var offlineProvisioning by remember { mutableStateOf(true) }
|
||||||
|
var migrateAccount by remember { mutableStateOf(false) }
|
||||||
|
var migrateAccountName by remember { mutableStateOf("") }
|
||||||
|
var migrateAccountType by remember { mutableStateOf("") }
|
||||||
|
var keepAccount by remember { mutableStateOf(true) }
|
||||||
|
if(VERSION.SDK_INT >= 22) {
|
||||||
|
CheckBoxItem(R.string.migrate_account, migrateAccount, { migrateAccount = it })
|
||||||
|
AnimatedVisibility(migrateAccount) {
|
||||||
|
val fr = FocusRequester()
|
||||||
|
Column(modifier = Modifier.padding(start = 10.dp)) {
|
||||||
|
OutlinedTextField(
|
||||||
|
value = migrateAccountName, onValueChange = { migrateAccountName = it },
|
||||||
|
label = { Text(stringResource(R.string.account_name)) },
|
||||||
|
keyboardOptions = KeyboardOptions(imeAction = ImeAction.Next),
|
||||||
|
keyboardActions = KeyboardActions { fr.requestFocus() },
|
||||||
|
modifier = Modifier.fillMaxWidth()
|
||||||
|
)
|
||||||
|
OutlinedTextField(
|
||||||
|
value = migrateAccountType, onValueChange = { migrateAccountType = it },
|
||||||
|
label = { Text(stringResource(R.string.account_type)) },
|
||||||
|
keyboardOptions = KeyboardOptions(imeAction = ImeAction.Done),
|
||||||
|
keyboardActions = KeyboardActions { focusMgr.clearFocus() },
|
||||||
|
modifier = Modifier.fillMaxWidth().focusRequester(fr)
|
||||||
|
)
|
||||||
|
if(VERSION.SDK_INT >= 26) {
|
||||||
|
CheckBoxItem(R.string.keep_account, keepAccount, { keepAccount = it })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(VERSION.SDK_INT >= 24) {
|
||||||
CheckBoxItem(R.string.skip_encryption, skipEncrypt, { skipEncrypt = it })
|
CheckBoxItem(R.string.skip_encryption, skipEncrypt, { skipEncrypt = it })
|
||||||
}
|
}
|
||||||
|
if(VERSION.SDK_INT >= 33) {
|
||||||
|
CheckBoxItem(R.string.offline_provisioning, offlineProvisioning, { offlineProvisioning = it })
|
||||||
|
}
|
||||||
Spacer(Modifier.padding(vertical = 5.dp))
|
Spacer(Modifier.padding(vertical = 5.dp))
|
||||||
Button(
|
Button(
|
||||||
onClick = {
|
onClick = {
|
||||||
@@ -141,13 +180,19 @@ private fun CreateWorkProfile() {
|
|||||||
val intent = Intent(ACTION_PROVISION_MANAGED_PROFILE)
|
val intent = Intent(ACTION_PROVISION_MANAGED_PROFILE)
|
||||||
if(VERSION.SDK_INT>=23) {
|
if(VERSION.SDK_INT>=23) {
|
||||||
intent.putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME,receiver)
|
intent.putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME,receiver)
|
||||||
}else{
|
} else {
|
||||||
intent.putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME, context.packageName)
|
intent.putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME, context.packageName)
|
||||||
}
|
}
|
||||||
if(VERSION.SDK_INT>=24) { intent.putExtra(EXTRA_PROVISIONING_SKIP_ENCRYPTION,skipEncrypt) }
|
if(migrateAccount && VERSION.SDK_INT >= 22) {
|
||||||
if(VERSION.SDK_INT>=33) { intent.putExtra(EXTRA_PROVISIONING_ALLOW_OFFLINE,true) }
|
intent.putExtra(EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE, Account(migrateAccountName, migrateAccountType))
|
||||||
|
if(VERSION.SDK_INT >= 26) {
|
||||||
|
intent.putExtra(EXTRA_PROVISIONING_KEEP_ACCOUNT_ON_MIGRATION, keepAccount)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(VERSION.SDK_INT >= 24) { intent.putExtra(EXTRA_PROVISIONING_SKIP_ENCRYPTION, skipEncrypt) }
|
||||||
|
if(VERSION.SDK_INT >= 33) { intent.putExtra(EXTRA_PROVISIONING_ALLOW_OFFLINE, offlineProvisioning) }
|
||||||
createManagedProfile.launch(intent)
|
createManagedProfile.launch(intent)
|
||||||
}catch(e:ActivityNotFoundException) {
|
} catch(e:ActivityNotFoundException) {
|
||||||
Toast.makeText(context, R.string.unsupported, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, R.string.unsupported, Toast.LENGTH_SHORT).show()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -546,7 +546,11 @@ private fun MaxFailedPasswordForWipe() {
|
|||||||
)
|
)
|
||||||
Spacer(Modifier.padding(vertical = 5.dp))
|
Spacer(Modifier.padding(vertical = 5.dp))
|
||||||
Button(
|
Button(
|
||||||
onClick = { focusMgr.clearFocus(); dpm.setMaximumFailedPasswordsForWipe(receiver,inputContent.toInt()) },
|
onClick = {
|
||||||
|
focusMgr.clearFocus()
|
||||||
|
dpm.setMaximumFailedPasswordsForWipe(receiver, inputContent.toInt())
|
||||||
|
Toast.makeText(context, R.string.success, Toast.LENGTH_SHORT).show()
|
||||||
|
},
|
||||||
modifier = Modifier.fillMaxWidth(),
|
modifier = Modifier.fillMaxWidth(),
|
||||||
enabled = inputContent != ""
|
enabled = inputContent != ""
|
||||||
) {
|
) {
|
||||||
|
|||||||
@@ -454,14 +454,14 @@ fun DeviceInfo() {
|
|||||||
)
|
)
|
||||||
if(VERSION.SDK_INT >= 23) { encryptionStatus[DevicePolicyManager.ENCRYPTION_STATUS_ACTIVE_DEFAULT_KEY] = stringResource(R.string.es_active_default_key) }
|
if(VERSION.SDK_INT >= 23) { encryptionStatus[DevicePolicyManager.ENCRYPTION_STATUS_ACTIVE_DEFAULT_KEY] = stringResource(R.string.es_active_default_key) }
|
||||||
if(VERSION.SDK_INT >= 24) { encryptionStatus[DevicePolicyManager.ENCRYPTION_STATUS_ACTIVE_PER_USER] = stringResource(R.string.es_active_per_user) }
|
if(VERSION.SDK_INT >= 24) { encryptionStatus[DevicePolicyManager.ENCRYPTION_STATUS_ACTIVE_PER_USER] = stringResource(R.string.es_active_per_user) }
|
||||||
Text(stringResource(R.string.encrypt_status_is)+encryptionStatus[dpm.storageEncryptionStatus])
|
Text(stringResource(R.string.encrypt_status_is, encryptionStatus[dpm.storageEncryptionStatus] ?: ""))
|
||||||
Spacer(Modifier.padding(vertical = 2.dp))
|
Spacer(Modifier.padding(vertical = 2.dp))
|
||||||
if(VERSION.SDK_INT >= 28) {
|
if(VERSION.SDK_INT >= 28) {
|
||||||
Text(stringResource(R.string.support_device_id_attestation) + dpm.isDeviceIdAttestationSupported)
|
Text(stringResource(R.string.support_device_id_attestation, dpm.isDeviceIdAttestationSupported))
|
||||||
}
|
}
|
||||||
Spacer(Modifier.padding(vertical = 2.dp))
|
Spacer(Modifier.padding(vertical = 2.dp))
|
||||||
if (VERSION.SDK_INT >= 30) {
|
if (VERSION.SDK_INT >= 30) {
|
||||||
Text(stringResource(R.string.support_unique_device_attestation) + dpm.isUniqueDeviceAttestationSupported)
|
Text(stringResource(R.string.support_unique_device_attestation, dpm.isUniqueDeviceAttestationSupported))
|
||||||
}
|
}
|
||||||
Spacer(Modifier.padding(vertical = 2.dp))
|
Spacer(Modifier.padding(vertical = 2.dp))
|
||||||
val adminList = dpm.activeAdmins
|
val adminList = dpm.activeAdmins
|
||||||
@@ -658,7 +658,7 @@ private fun DisableAccountManagement() {
|
|||||||
OutlinedTextField(
|
OutlinedTextField(
|
||||||
value = inputText,
|
value = inputText,
|
||||||
onValueChange = { inputText = it },
|
onValueChange = { inputText = it },
|
||||||
label = { Text(stringResource(R.string.account_types_are)) },
|
label = { Text(stringResource(R.string.account_type)) },
|
||||||
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() })
|
||||||
|
|||||||
@@ -1112,7 +1112,7 @@ fun FactoryResetProtection() {
|
|||||||
AnimatedVisibility(usePolicy) {
|
AnimatedVisibility(usePolicy) {
|
||||||
Column {
|
Column {
|
||||||
CheckBoxItem(R.string.enable_frp, enabled, { enabled = it })
|
CheckBoxItem(R.string.enable_frp, enabled, { enabled = it })
|
||||||
Text(stringResource(R.string.account_list_is))
|
Text(stringResource(R.string.account_list_is) + "\n")
|
||||||
Text(
|
Text(
|
||||||
text = if(accountList.isEmpty()) stringResource(R.string.none) else accountList.joinToString(separator = "\n"),
|
text = if(accountList.isEmpty()) stringResource(R.string.none) else accountList.joinToString(separator = "\n"),
|
||||||
modifier = Modifier.animateContentSize()
|
modifier = Modifier.animateContentSize()
|
||||||
|
|||||||
@@ -41,7 +41,6 @@ import androidx.compose.runtime.Composable
|
|||||||
import androidx.compose.runtime.LaunchedEffect
|
import androidx.compose.runtime.LaunchedEffect
|
||||||
import androidx.compose.runtime.collectAsState
|
import androidx.compose.runtime.collectAsState
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.runtime.mutableIntStateOf
|
|
||||||
import androidx.compose.runtime.mutableStateListOf
|
import androidx.compose.runtime.mutableStateListOf
|
||||||
import androidx.compose.runtime.mutableStateOf
|
import androidx.compose.runtime.mutableStateOf
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
@@ -66,9 +65,9 @@ import androidx.navigation.compose.rememberNavController
|
|||||||
import com.bintianqi.owndroid.R
|
import com.bintianqi.owndroid.R
|
||||||
import com.bintianqi.owndroid.fileUriFlow
|
import com.bintianqi.owndroid.fileUriFlow
|
||||||
import com.bintianqi.owndroid.getFile
|
import com.bintianqi.owndroid.getFile
|
||||||
|
import com.bintianqi.owndroid.toggle
|
||||||
import com.bintianqi.owndroid.ui.Animations
|
import com.bintianqi.owndroid.ui.Animations
|
||||||
import com.bintianqi.owndroid.ui.CheckBoxItem
|
import com.bintianqi.owndroid.ui.CheckBoxItem
|
||||||
import com.bintianqi.owndroid.ui.RadioButtonItem
|
|
||||||
import com.bintianqi.owndroid.ui.SubPageItem
|
import com.bintianqi.owndroid.ui.SubPageItem
|
||||||
import com.bintianqi.owndroid.ui.TopBar
|
import com.bintianqi.owndroid.ui.TopBar
|
||||||
import com.bintianqi.owndroid.uriToStream
|
import com.bintianqi.owndroid.uriToStream
|
||||||
@@ -290,6 +289,7 @@ private fun CreateUser() {
|
|||||||
val receiver = context.getReceiver()
|
val receiver = context.getReceiver()
|
||||||
val focusMgr = LocalFocusManager.current
|
val focusMgr = LocalFocusManager.current
|
||||||
var userName by remember { mutableStateOf("") }
|
var userName by remember { mutableStateOf("") }
|
||||||
|
val flags = remember { mutableStateListOf<Int>() }
|
||||||
Column(modifier = Modifier.fillMaxSize().padding(horizontal = 8.dp).verticalScroll(rememberScrollState())) {
|
Column(modifier = Modifier.fillMaxSize().padding(horizontal = 8.dp).verticalScroll(rememberScrollState())) {
|
||||||
Spacer(Modifier.padding(vertical = 10.dp))
|
Spacer(Modifier.padding(vertical = 10.dp))
|
||||||
Text(text = stringResource(R.string.create_user), style = typography.headlineLarge)
|
Text(text = stringResource(R.string.create_user), style = typography.headlineLarge)
|
||||||
@@ -303,31 +303,29 @@ private fun CreateUser() {
|
|||||||
keyboardActions = KeyboardActions(onDone = { focusMgr.clearFocus() })
|
keyboardActions = KeyboardActions(onDone = { focusMgr.clearFocus() })
|
||||||
)
|
)
|
||||||
Spacer(Modifier.padding(vertical = 5.dp))
|
Spacer(Modifier.padding(vertical = 5.dp))
|
||||||
var selectedFlag by remember { mutableIntStateOf(0) }
|
CheckBoxItem(
|
||||||
RadioButtonItem(R.string.none, selectedFlag == 0, { selectedFlag = 0 })
|
|
||||||
RadioButtonItem(
|
|
||||||
R.string.create_user_skip_wizard,
|
R.string.create_user_skip_wizard,
|
||||||
selectedFlag == DevicePolicyManager.SKIP_SETUP_WIZARD,
|
DevicePolicyManager.SKIP_SETUP_WIZARD in flags,
|
||||||
{ selectedFlag = DevicePolicyManager.SKIP_SETUP_WIZARD }
|
{ flags.toggle(it, DevicePolicyManager.SKIP_SETUP_WIZARD) }
|
||||||
)
|
)
|
||||||
if(VERSION.SDK_INT >= 28) {
|
if(VERSION.SDK_INT >= 28) {
|
||||||
RadioButtonItem(
|
CheckBoxItem(
|
||||||
R.string.create_user_ephemeral_user,
|
R.string.create_user_ephemeral_user,
|
||||||
selectedFlag == DevicePolicyManager.MAKE_USER_EPHEMERAL,
|
DevicePolicyManager.MAKE_USER_EPHEMERAL in flags,
|
||||||
{ selectedFlag = DevicePolicyManager.MAKE_USER_EPHEMERAL }
|
{ flags.toggle(it, DevicePolicyManager.MAKE_USER_EPHEMERAL) }
|
||||||
)
|
)
|
||||||
RadioButtonItem(
|
CheckBoxItem(
|
||||||
R.string.create_user_enable_all_system_app,
|
R.string.create_user_enable_all_system_app,
|
||||||
selectedFlag == DevicePolicyManager.LEAVE_ALL_SYSTEM_APPS_ENABLED,
|
DevicePolicyManager.LEAVE_ALL_SYSTEM_APPS_ENABLED in flags,
|
||||||
{ selectedFlag = DevicePolicyManager.LEAVE_ALL_SYSTEM_APPS_ENABLED }
|
{ flags.toggle(it, DevicePolicyManager.LEAVE_ALL_SYSTEM_APPS_ENABLED) }
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
var newUserHandle: UserHandle? by remember { mutableStateOf(null) }
|
var newUserHandle: UserHandle? by remember { mutableStateOf(null) }
|
||||||
Spacer(Modifier.padding(vertical = 5.dp))
|
Spacer(Modifier.padding(vertical = 5.dp))
|
||||||
Button(
|
Button(
|
||||||
onClick = {
|
onClick = {
|
||||||
newUserHandle = dpm.createAndManageUser(receiver, userName, receiver, null, selectedFlag)
|
|
||||||
focusMgr.clearFocus()
|
focusMgr.clearFocus()
|
||||||
|
newUserHandle = dpm.createAndManageUser(receiver, userName, receiver, null, flags.sum())
|
||||||
Toast.makeText(context, if(newUserHandle!=null) R.string.success else R.string.failed, 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()
|
||||||
|
|||||||
@@ -66,8 +66,8 @@
|
|||||||
<string name="reset_device_policy">Reset device policy</string> <!--TODO-->
|
<string name="reset_device_policy">Reset device policy</string> <!--TODO-->
|
||||||
<string name="activate_device_admin">Cihaz Yöneticisini Etkinleştir</string>
|
<string name="activate_device_admin">Cihaz Yöneticisini Etkinleştir</string>
|
||||||
<string name="device_info">Cihaz Bilgisi</string>
|
<string name="device_info">Cihaz Bilgisi</string>
|
||||||
<string name="support_device_id_attestation">Cihaz Kimliği Doğrulama Desteği: </string>
|
<string name="support_device_id_attestation">Cihaz Kimliği Doğrulama Desteği: %1$s</string>
|
||||||
<string name="support_unique_device_attestation">Benzersiz Cihaz Doğrulama Desteği: </string>
|
<string name="support_unique_device_attestation">Benzersiz Cihaz Doğrulama Desteği: %1$s</string>
|
||||||
<string name="is_device_financed">Finansmanlı Cihaz: %1$s</string>
|
<string name="is_device_financed">Finansmanlı Cihaz: %1$s</string>
|
||||||
<string name="dpmrh">Cihaz Politikası Yönetim Rolü: %1$s</string>
|
<string name="dpmrh">Cihaz Politikası Yönetim Rolü: %1$s</string>
|
||||||
|
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
<string name="enrollment_specific_id">Kayıt Özel Kimliği</string>
|
<string name="enrollment_specific_id">Kayıt Özel Kimliği</string>
|
||||||
<string name="org_name">Organizasyon Adı</string>
|
<string name="org_name">Organizasyon Adı</string>
|
||||||
<string name="disable_account_management">Hesap Yönetimini Devre Dışı Bırak</string>
|
<string name="disable_account_management">Hesap Yönetimini Devre Dışı Bırak</string>
|
||||||
<string name="account_types_are">Hesap Türleri: </string>
|
<string name="account_type">Hesap Türleri</string>
|
||||||
<string name="transfer_ownership">Sahipliği Devret</string>
|
<string name="transfer_ownership">Sahipliği Devret</string>
|
||||||
<string name="transfer_ownership_desc">Cihaz sahibi veya profil sahibi ayrıcalığını başka bir uygulamaya devredin.</string>
|
<string name="transfer_ownership_desc">Cihaz sahibi veya profil sahibi ayrıcalığını başka bir uygulamaya devredin.</string>
|
||||||
<string name="target_package_name">Hedef Paket Adı</string>
|
<string name="target_package_name">Hedef Paket Adı</string>
|
||||||
@@ -89,7 +89,6 @@
|
|||||||
<string name="device_owner_lock_screen_info">Ekran Kilidi Bilgisi</string>
|
<string name="device_owner_lock_screen_info">Ekran Kilidi Bilgisi</string>
|
||||||
<string name="support_msg">Destek Mesajı</string>
|
<string name="support_msg">Destek Mesajı</string>
|
||||||
<string name="short_support_msg">Kısa Mesaj</string>
|
<string name="short_support_msg">Kısa Mesaj</string>
|
||||||
<string name="support_msg_desc">Bu uygulama tarafından devre dışı bırakılan işlevleri kullanmaya çalışan kullanıcılara destek mesajı gösterilir. (Çok satırlı izin verilir) </string>
|
|
||||||
<string name="long_support_msg">Uzun Mesaj</string>
|
<string name="long_support_msg">Uzun Mesaj</string>
|
||||||
<string name="transfer">Transfer</string>
|
<string name="transfer">Transfer</string>
|
||||||
<string name="activate_device_admin_here">Cihaz Yöneticisini Burada Etkinleştir.</string>
|
<string name="activate_device_admin_here">Cihaz Yöneticisini Burada Etkinleştir.</string>
|
||||||
@@ -186,12 +185,12 @@
|
|||||||
<string name="wipe_silently">Sessizce sil</string>
|
<string name="wipe_silently">Sessizce sil</string>
|
||||||
<string name="wipe_data_warning">All data on your device will be ERASED</string> <!--TODO-->
|
<string name="wipe_data_warning">All data on your device will be ERASED</string> <!--TODO-->
|
||||||
<string name="wipe_work_profile_warning">Your work profile will be DELETED</string> <!--TODO-->
|
<string name="wipe_work_profile_warning">Your work profile will be DELETED</string> <!--TODO-->
|
||||||
<string name="encrypt_status_is">Şifreleme durumu: </string>
|
<string name="encrypt_status_is">Şifreleme durumu: %1$s</string>
|
||||||
<string name="frp_policy">FRP politikası</string>
|
<string name="frp_policy">FRP politikası</string>
|
||||||
<string name="factory_reset_protection_policy">Fabrika ayarlarına sıfırlama koruma politikası</string>
|
<string name="factory_reset_protection_policy">Fabrika ayarlarına sıfırlama koruma politikası</string>
|
||||||
<string name="frp_policy_not_supported">FRP politikası bu cihazda desteklenmiyor</string>
|
<string name="frp_policy_not_supported">FRP politikası bu cihazda desteklenmiyor</string>
|
||||||
<string name="enable_frp">FRP\'yi etkinleştir</string>
|
<string name="enable_frp">FRP\'yi etkinleştir</string>
|
||||||
<string name="account_list_is">Hesap listesi: </string>
|
<string name="account_list_is">"Hesap listesi: "</string>
|
||||||
|
|
||||||
<!--SystemUpdatePolicy-->
|
<!--SystemUpdatePolicy-->
|
||||||
<string name="is_security_patch">Güvenlik yaması: %1$s</string>
|
<string name="is_security_patch">Güvenlik yaması: %1$s</string>
|
||||||
@@ -207,7 +206,7 @@
|
|||||||
<string name="install_system_update">Sistem güncellemesini yükle</string>
|
<string name="install_system_update">Sistem güncellemesini yükle</string>
|
||||||
<string name="select_ota_package" tools:ignore="TypographyEllipsis">OTA paketini seç...</string>
|
<string name="select_ota_package" tools:ignore="TypographyEllipsis">OTA paketini seç...</string>
|
||||||
<string name="start_install_system_update">Sistem güncellemesi yüklemeye başla</string>
|
<string name="start_install_system_update">Sistem güncellemesi yüklemeye başla</string>
|
||||||
<string name="install_system_update_failed">Sistem güncellemesi yükleme başarısız: </string>
|
<string name="install_system_update_failed">"Sistem güncellemesi yükleme başarısız: "</string>
|
||||||
<string name="battery_low">Pil zayıf</string>
|
<string name="battery_low">Pil zayıf</string>
|
||||||
<string name="update_file_invalid">Güncelleme dosyası geçersiz</string>
|
<string name="update_file_invalid">Güncelleme dosyası geçersiz</string>
|
||||||
<string name="incorrect_os_ver">Yanlış işletim sistemi sürümü</string>
|
<string name="incorrect_os_ver">Yanlış işletim sistemi sürümü</string>
|
||||||
@@ -221,7 +220,7 @@
|
|||||||
<string name="preferential_network_service">Tercihli ağ hizmeti</string>
|
<string name="preferential_network_service">Tercihli ağ hizmeti</string>
|
||||||
<string name="lockdown_admin_configured_network">Yönetici tarafından yapılandırılmış ağı kilitle</string>
|
<string name="lockdown_admin_configured_network">Yönetici tarafından yapılandırılmış ağı kilitle</string>
|
||||||
<string name="wifi_ssid_policy">WiFi SSID politikası</string>
|
<string name="wifi_ssid_policy">WiFi SSID politikası</string>
|
||||||
<string name="ssid_list_is">SSID listesi: </string>
|
<string name="ssid_list_is">SSID listesi:</string>
|
||||||
<string name="cannot_be_empty">Boş olamaz</string>
|
<string name="cannot_be_empty">Boş olamaz</string>
|
||||||
<string name="already_exist">Zaten mevcut</string>
|
<string name="already_exist">Zaten mevcut</string>
|
||||||
<string name="private_dns">Özel DNS</string>
|
<string name="private_dns">Özel DNS</string>
|
||||||
@@ -273,6 +272,10 @@
|
|||||||
<string name="work_profile_owner">Profil sahibi (İş profili)</string>
|
<string name="work_profile_owner">Profil sahibi (İş profili)</string>
|
||||||
<string name="work_profile_activated">İş profili etkinleştirildi</string>
|
<string name="work_profile_activated">İş profili etkinleştirildi</string>
|
||||||
<string name="create_work_profile">İş profili oluştur</string>
|
<string name="create_work_profile">İş profili oluştur</string>
|
||||||
|
<string name="offline_provisioning">Offline mode</string> <!--TODO-->
|
||||||
|
<string name="migrate_account">Migrate account</string> <!--TODO-->
|
||||||
|
<string name="account_name">Account name</string> <!--TODO-->
|
||||||
|
<string name="keep_account">Keep account</string> <!--TODO-->
|
||||||
<string name="is_org_owned_profile">Kuruluşa ait iş profili: %1$s</string>
|
<string name="is_org_owned_profile">Kuruluşa ait iş profili: %1$s</string>
|
||||||
<string name="org_owned_work_profile">Kuruluş iş profili</string>
|
<string name="org_owned_work_profile">Kuruluş iş profili</string>
|
||||||
<string name="skip_encryption">Şifrelemeyi atla</string>
|
<string name="skip_encryption">Şifrelemeyi atla</string>
|
||||||
@@ -313,7 +316,7 @@
|
|||||||
<!--ucd: user control disabled-->
|
<!--ucd: user control disabled-->
|
||||||
<string name="ucd">Kullanıcı kontrolünü devre dışı bırak</string>
|
<string name="ucd">Kullanıcı kontrolünü devre dışı bırak</string>
|
||||||
<string name="ucd_desc">Bunu ayarlarsanız, bu uygulamaların depolama alanını temizleyemez veya zorla durduramazsınız. </string>
|
<string name="ucd_desc">Bunu ayarlarsanız, bu uygulamaların depolama alanını temizleyemez veya zorla durduramazsınız. </string>
|
||||||
<string name="app_list_is">Uygulama listesi: </string>
|
<string name="app_list_is">Uygulama listesi:</string>
|
||||||
<string name="clear_list">Listeyi temizle</string>
|
<string name="clear_list">Listeyi temizle</string>
|
||||||
<string name="permission_manage">İzin yönetimi</string>
|
<string name="permission_manage">İzin yönetimi</string>
|
||||||
<string name="cross_profile_package">Profil geçişli paket</string>
|
<string name="cross_profile_package">Profil geçişli paket</string>
|
||||||
@@ -463,7 +466,6 @@
|
|||||||
<string name="affiliation_id">Bağlılık ID</string>
|
<string name="affiliation_id">Bağlılık ID</string>
|
||||||
<string name="include_empty_string">Boş string dahil et</string>
|
<string name="include_empty_string">Boş string dahil et</string>
|
||||||
<string name="change_user_icon">Kullanıcı simgesini değiştir</string>
|
<string name="change_user_icon">Kullanıcı simgesini değiştir</string>
|
||||||
<string name="pick_a_square_image">Kare bir resim seçmelisiniz</string>
|
|
||||||
<string name="file_picker_instead_gallery">Galeri yerine dosya seçici kullan</string>
|
<string name="file_picker_instead_gallery">Galeri yerine dosya seçici kullan</string>
|
||||||
<string name="select_picture" tools:ignore="TypographyEllipsis">Resim seç...</string>
|
<string name="select_picture" tools:ignore="TypographyEllipsis">Resim seç...</string>
|
||||||
<string name="unknown_result">Bilinmeyen sonuç (başarısız olabilir)</string>
|
<string name="unknown_result">Bilinmeyen sonuç (başarısız olabilir)</string>
|
||||||
|
|||||||
@@ -63,8 +63,8 @@
|
|||||||
<string name="dhizuku_will_be_deactivated">Dhizuku将被停用</string>
|
<string name="dhizuku_will_be_deactivated">Dhizuku将被停用</string>
|
||||||
<string name="activate_device_admin">激活Device admin</string>
|
<string name="activate_device_admin">激活Device admin</string>
|
||||||
<string name="device_info">设备信息</string>
|
<string name="device_info">设备信息</string>
|
||||||
<string name="support_device_id_attestation">支持设备ID认证:</string>
|
<string name="support_device_id_attestation">支持设备ID认证:%1$s</string>
|
||||||
<string name="support_unique_device_attestation">支持唯一设备认证:</string>
|
<string name="support_unique_device_attestation">支持唯一设备认证:%1$s</string>
|
||||||
<string name="is_device_financed">Financed device: %1$s</string>
|
<string name="is_device_financed">Financed device: %1$s</string>
|
||||||
<string name="dpmrh">设备策略管理器角色(DPMRH):%1$s</string>
|
<string name="dpmrh">设备策略管理器角色(DPMRH):%1$s</string>
|
||||||
<string name="es_inactive">未使用</string>
|
<string name="es_inactive">未使用</string>
|
||||||
@@ -76,7 +76,7 @@
|
|||||||
<string name="enrollment_specific_id">设备注册专用ID</string>
|
<string name="enrollment_specific_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_are">账号类型:</string>
|
<string name="account_type">账号类型</string>
|
||||||
<string name="transfer_ownership">转移所有权</string>
|
<string name="transfer_ownership">转移所有权</string>
|
||||||
<string name="transfer_ownership_desc">把Device owner或Profile owner权限转移到另一个应用</string>
|
<string name="transfer_ownership_desc">把Device owner或Profile owner权限转移到另一个应用</string>
|
||||||
<string name="target_package_name">目标包名</string>
|
<string name="target_package_name">目标包名</string>
|
||||||
@@ -84,7 +84,6 @@
|
|||||||
<string name="device_owner_lock_screen_info">锁屏提示信息</string>
|
<string name="device_owner_lock_screen_info">锁屏提示信息</string>
|
||||||
<string name="support_msg">提供支持的消息</string>
|
<string name="support_msg">提供支持的消息</string>
|
||||||
<string name="short_support_msg">提供支持的短消息</string>
|
<string name="short_support_msg">提供支持的短消息</string>
|
||||||
<string name="support_msg_desc">如果你禁用了某个功能,用户尝试使用这个功能时会看见这个消息(可多行)</string>
|
|
||||||
<string name="long_support_msg">提供支持的长消息</string>
|
<string name="long_support_msg">提供支持的长消息</string>
|
||||||
<string name="transfer">转移</string>
|
<string name="transfer">转移</string>
|
||||||
<string name="activate_device_admin_here">在这里激活Device admin</string>
|
<string name="activate_device_admin_here">在这里激活Device admin</string>
|
||||||
@@ -181,7 +180,7 @@
|
|||||||
<string name="wipe_silently">静默清除</string>
|
<string name="wipe_silently">静默清除</string>
|
||||||
<string name="wipe_data_warning">你的设备上的所有数据将会被清除</string>
|
<string name="wipe_data_warning">你的设备上的所有数据将会被清除</string>
|
||||||
<string name="wipe_work_profile_warning">你的工作资料将会被删除</string>
|
<string name="wipe_work_profile_warning">你的工作资料将会被删除</string>
|
||||||
<string name="encrypt_status_is">加密状态:</string>
|
<string name="encrypt_status_is">加密状态:%1$s</string>
|
||||||
<string name="frp_policy">FRP策略</string>
|
<string name="frp_policy">FRP策略</string>
|
||||||
<string name="factory_reset_protection_policy">恢复出厂设置保护策略</string>
|
<string name="factory_reset_protection_policy">恢复出厂设置保护策略</string>
|
||||||
<string name="frp_policy_not_supported">这个设备不支持恢复出厂设置保护策略</string>
|
<string name="frp_policy_not_supported">这个设备不支持恢复出厂设置保护策略</string>
|
||||||
@@ -268,6 +267,10 @@
|
|||||||
<string name="work_profile_owner">Profile owner(工作资料)</string>
|
<string name="work_profile_owner">Profile owner(工作资料)</string>
|
||||||
<string name="work_profile_activated">工作资料已激活</string>
|
<string name="work_profile_activated">工作资料已激活</string>
|
||||||
<string name="create_work_profile">创建工作资料</string>
|
<string name="create_work_profile">创建工作资料</string>
|
||||||
|
<string name="offline_provisioning">离线模式</string>
|
||||||
|
<string name="migrate_account">迁移账号</string>
|
||||||
|
<string name="account_name">账号名</string>
|
||||||
|
<string name="keep_account">保留账号</string>
|
||||||
<string name="is_org_owned_profile">由组织拥有的工作资料:%1$s</string>
|
<string name="is_org_owned_profile">由组织拥有的工作资料:%1$s</string>
|
||||||
<string name="org_owned_work_profile">组织拥有的工作资料</string>
|
<string name="org_owned_work_profile">组织拥有的工作资料</string>
|
||||||
<string name="skip_encryption">跳过加密</string>
|
<string name="skip_encryption">跳过加密</string>
|
||||||
@@ -455,7 +458,6 @@
|
|||||||
<string name="affiliation_id">附属用户ID</string>
|
<string name="affiliation_id">附属用户ID</string>
|
||||||
<string name="include_empty_string">有空字符串</string>
|
<string name="include_empty_string">有空字符串</string>
|
||||||
<string name="change_user_icon">更换用户头像</string>
|
<string name="change_user_icon">更换用户头像</string>
|
||||||
<string name="pick_a_square_image">尽量选择正方形的图片,以免产生问题</string>
|
|
||||||
<string name="file_picker_instead_gallery">使用文件选择器而不是相册</string>
|
<string name="file_picker_instead_gallery">使用文件选择器而不是相册</string>
|
||||||
<string name="select_picture" tools:ignore="TypographyEllipsis">选择图片...</string>
|
<string name="select_picture" tools:ignore="TypographyEllipsis">选择图片...</string>
|
||||||
<string name="unknown_result">未知结果(失败)</string>
|
<string name="unknown_result">未知结果(失败)</string>
|
||||||
|
|||||||
@@ -68,8 +68,8 @@
|
|||||||
<string name="activate_device_admin_command" translatable="false">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_device_owner_command" translatable="false">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: %1$s</string>
|
||||||
<string name="support_unique_device_attestation">Support unique device attestation: </string>
|
<string name="support_unique_device_attestation">Support unique device attestation: %1$s</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 management role holder: %1$s</string>
|
<string name="dpmrh">Device policy management role holder: %1$s</string>
|
||||||
<!--es: encryption status-->
|
<!--es: encryption status-->
|
||||||
@@ -82,7 +82,7 @@
|
|||||||
<string name="enrollment_specific_id">Enrollment specific ID</string>
|
<string name="enrollment_specific_id">Enrollment specific ID</string>
|
||||||
<string name="org_name">Organization name</string>
|
<string name="org_name">Organization name</string>
|
||||||
<string name="disable_account_management">Disable account management</string>
|
<string name="disable_account_management">Disable account management</string>
|
||||||
<string name="account_types_are">Account types: </string>
|
<string name="account_type">Account type</string>
|
||||||
<string name="transfer_ownership">Transfer Ownership</string>
|
<string name="transfer_ownership">Transfer Ownership</string>
|
||||||
<string name="transfer_ownership_desc">Transfer device owner or profile owner privilege to another app.</string>
|
<string name="transfer_ownership_desc">Transfer device owner or profile owner privilege to another app.</string>
|
||||||
<string name="target_package_name">Target package name</string>
|
<string name="target_package_name">Target package name</string>
|
||||||
@@ -90,7 +90,6 @@
|
|||||||
<string name="device_owner_lock_screen_info">Lockscreen info</string>
|
<string name="device_owner_lock_screen_info">Lockscreen info</string>
|
||||||
<string name="support_msg">Support Message</string>
|
<string name="support_msg">Support Message</string>
|
||||||
<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="long_support_msg">Long message</string>
|
<string name="long_support_msg">Long message</string>
|
||||||
<string name="transfer">Transfer</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>
|
||||||
@@ -189,12 +188,12 @@
|
|||||||
<string name="wipe_silently">Wipe silently</string>
|
<string name="wipe_silently">Wipe silently</string>
|
||||||
<string name="wipe_data_warning">All data on your device will be ERASED</string>
|
<string name="wipe_data_warning">All data on your device will be ERASED</string>
|
||||||
<string name="wipe_work_profile_warning">Your work profile will be DELETED</string>
|
<string name="wipe_work_profile_warning">Your work profile will be DELETED</string>
|
||||||
<string name="encrypt_status_is">Encrypt status: </string>
|
<string name="encrypt_status_is">Encrypt status: %1$s</string>
|
||||||
<string name="frp_policy">FRP policy</string>
|
<string name="frp_policy">FRP policy</string>
|
||||||
<string name="factory_reset_protection_policy">Factory reset protection policy</string>
|
<string name="factory_reset_protection_policy">Factory reset protection policy</string>
|
||||||
<string name="frp_policy_not_supported">FRP policy is not supported on this device</string>
|
<string name="frp_policy_not_supported">FRP policy is not supported on this device</string>
|
||||||
<string name="enable_frp">Enable FRP</string>
|
<string name="enable_frp">Enable FRP</string>
|
||||||
<string name="account_list_is">Account list: </string>
|
<string name="account_list_is">"Account list: "</string>
|
||||||
|
|
||||||
<!--SystemUpdatePolicy-->
|
<!--SystemUpdatePolicy-->
|
||||||
<string name="is_security_patch">Security patch: %1$s</string>
|
<string name="is_security_patch">Security patch: %1$s</string>
|
||||||
@@ -211,7 +210,7 @@
|
|||||||
<string name="install_system_update">Install system update</string>
|
<string name="install_system_update">Install system update</string>
|
||||||
<string name="select_ota_package" tools:ignore="TypographyEllipsis">Select OTA package...</string>
|
<string name="select_ota_package" tools:ignore="TypographyEllipsis">Select OTA package...</string>
|
||||||
<string name="start_install_system_update">Start installing system update</string>
|
<string name="start_install_system_update">Start installing system update</string>
|
||||||
<string name="install_system_update_failed">Install system update failed: </string>
|
<string name="install_system_update_failed">"Install system update failed: "</string>
|
||||||
<string name="battery_low">Battery is low</string>
|
<string name="battery_low">Battery is low</string>
|
||||||
<string name="update_file_invalid">Update file is invalid</string>
|
<string name="update_file_invalid">Update file is invalid</string>
|
||||||
<string name="incorrect_os_ver">Incorrect OS version</string>
|
<string name="incorrect_os_ver">Incorrect OS version</string>
|
||||||
@@ -225,7 +224,7 @@
|
|||||||
<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>
|
||||||
<string name="wifi_ssid_policy">WiFi SSID policy</string>
|
<string name="wifi_ssid_policy">WiFi SSID policy</string>
|
||||||
<string name="ssid_list_is">SSID list: </string>
|
<string name="ssid_list_is">SSID list:</string>
|
||||||
<string name="cannot_be_empty">Cannot be empty</string>
|
<string name="cannot_be_empty">Cannot be empty</string>
|
||||||
<string name="already_exist">Already exist</string>
|
<string name="already_exist">Already exist</string>
|
||||||
<string name="private_dns">Private DNS</string>
|
<string name="private_dns">Private DNS</string>
|
||||||
@@ -277,6 +276,10 @@
|
|||||||
<string name="work_profile_owner">Profile owner (Work profile)</string>
|
<string name="work_profile_owner">Profile owner (Work profile)</string>
|
||||||
<string name="work_profile_activated">Work profile activated</string>
|
<string name="work_profile_activated">Work profile activated</string>
|
||||||
<string name="create_work_profile">Create work profile</string>
|
<string name="create_work_profile">Create work profile</string>
|
||||||
|
<string name="offline_provisioning">Offline mode</string>
|
||||||
|
<string name="migrate_account">Migrate account</string>
|
||||||
|
<string name="account_name">Account name</string>
|
||||||
|
<string name="keep_account">Keep account</string>
|
||||||
<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">
|
||||||
@@ -319,7 +322,7 @@
|
|||||||
<!--ucd: user control disabled-->
|
<!--ucd: user control disabled-->
|
||||||
<string name="ucd">Disable user control</string>
|
<string name="ucd">Disable user control</string>
|
||||||
<string name="ucd_desc">If you set this, you cannot clear these apps\' storage or force stop them. </string>
|
<string name="ucd_desc">If you set this, you cannot clear these apps\' storage or force stop them. </string>
|
||||||
<string name="app_list_is">App list: </string>
|
<string name="app_list_is">App list:</string>
|
||||||
<string name="clear_list">Clear list</string>
|
<string name="clear_list">Clear list</string>
|
||||||
<string name="permission_manage">Permission manage</string>
|
<string name="permission_manage">Permission manage</string>
|
||||||
<string name="cross_profile_package">Cross profile package</string>
|
<string name="cross_profile_package">Cross profile package</string>
|
||||||
@@ -468,7 +471,6 @@
|
|||||||
<string name="affiliation_id">Affiliation ID</string>
|
<string name="affiliation_id">Affiliation ID</string>
|
||||||
<string name="include_empty_string">Include empty string</string>
|
<string name="include_empty_string">Include empty string</string>
|
||||||
<string name="change_user_icon">Change user icon</string>
|
<string name="change_user_icon">Change user icon</string>
|
||||||
<string name="pick_a_square_image">You should pick a square image</string>
|
|
||||||
<string name="file_picker_instead_gallery">Use file picker instead of gallery</string>
|
<string name="file_picker_instead_gallery">Use file picker instead of gallery</string>
|
||||||
<string name="select_picture" tools:ignore="TypographyEllipsis">Select image...</string>
|
<string name="select_picture" tools:ignore="TypographyEllipsis">Select image...</string>
|
||||||
<string name="unknown_result">Unknown result(may failed)</string>
|
<string name="unknown_result">Unknown result(may failed)</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user