diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 292fa7a..ea56320 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -67,11 +67,7 @@
-
-
-
+ android:permission="android.permission.BIND_DEVICE_ADMIN">
caCert = stream.readBytes()
- if(caCert.size>50000){ Toast.makeText(applicationContext, "太大了", Toast.LENGTH_SHORT).show(); caCert = byteArrayOf() }
+ if(caCert.size>5000){ Toast.makeText(applicationContext, R.string.file_too_large, Toast.LENGTH_SHORT).show(); caCert = byteArrayOf() }
}
}
- createManagedProfile = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
- if(it.resultCode==Activity.RESULT_CANCELED){Toast.makeText(applicationContext, "用户已取消", Toast.LENGTH_SHORT).show()}
- }
+ createManagedProfile = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {}
addDeviceAdmin = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
val myDpm = applicationContext.getSystemService(DEVICE_POLICY_SERVICE) as DevicePolicyManager
if(myDpm.isAdminActive(ComponentName(applicationContext, Receiver::class.java))){
diff --git a/app/src/main/java/com/bintianqi/owndroid/Receiver.kt b/app/src/main/java/com/bintianqi/owndroid/Receiver.kt
index 6bb6165..f3b7084 100644
--- a/app/src/main/java/com/bintianqi/owndroid/Receiver.kt
+++ b/app/src/main/java/com/bintianqi/owndroid/Receiver.kt
@@ -7,6 +7,7 @@ import android.content.ComponentName
import android.content.Context
import android.content.Intent
import android.content.pm.PackageInstaller.*
+import android.util.Log
import android.widget.Toast
import androidx.activity.ComponentActivity
import com.bintianqi.owndroid.dpm.isDeviceOwner
@@ -36,19 +37,20 @@ class Receiver : DeviceAdminReceiver() {
class PackageInstallerReceiver:BroadcastReceiver(){
override fun onReceive(context: Context, intent: Intent) {
- val toastText = when(intent.getIntExtra(EXTRA_STATUS,666)){
- STATUS_PENDING_USER_ACTION->"等待用户交互"
- STATUS_SUCCESS->context.getString(R.string.success)
- STATUS_FAILURE->context.getString(R.string.fail)
- STATUS_FAILURE_BLOCKED->"失败:被阻止"
- STATUS_FAILURE_ABORTED->"失败:被打断"
- STATUS_FAILURE_INVALID->"失败:无效"
- STATUS_FAILURE_CONFLICT->"失败:冲突"
- STATUS_FAILURE_STORAGE->"失败:空间不足"
- STATUS_FAILURE_INCOMPATIBLE->"失败:不兼容"
- STATUS_FAILURE_TIMEOUT->"失败:超时"
- else->context.getString(R.string.unknown)
+ val toastText = when(intent.getIntExtra(EXTRA_STATUS,999)){
+ STATUS_PENDING_USER_ACTION->R.string.status_pending_action
+ STATUS_SUCCESS->R.string.success
+ STATUS_FAILURE->R.string.fail
+ STATUS_FAILURE_BLOCKED->R.string.status_fail_blocked
+ STATUS_FAILURE_ABORTED->R.string.status_fail_aborted
+ STATUS_FAILURE_INVALID->R.string.status_fail_invalid
+ STATUS_FAILURE_CONFLICT->R.string.status_fail_conflict
+ STATUS_FAILURE_STORAGE->R.string.status_fail_storage
+ STATUS_FAILURE_INCOMPATIBLE->R.string.status_fail_incompatible
+ STATUS_FAILURE_TIMEOUT->R.string.status_fail_timeout
+ else->R.string.unknown
}
- Toast.makeText(context, toastText, Toast.LENGTH_SHORT).show()
+ Log.e("OwnDroid", intent.getIntExtra(EXTRA_STATUS,999).toString())
+ if(toastText!=999){Toast.makeText(context, toastText, Toast.LENGTH_SHORT).show()}
}
}
diff --git a/app/src/main/java/com/bintianqi/owndroid/Utils.kt b/app/src/main/java/com/bintianqi/owndroid/Utils.kt
index fa28348..f3ce70d 100644
--- a/app/src/main/java/com/bintianqi/owndroid/Utils.kt
+++ b/app/src/main/java/com/bintianqi/owndroid/Utils.kt
@@ -18,12 +18,11 @@ fun uriToStream(
try{
val stream = context.contentResolver.openInputStream(uri)
if(stream!=null) { operation(stream) }
- else{ Toast.makeText(context, "空的流", Toast.LENGTH_SHORT).show() }
stream?.close()
}
- catch(e: FileNotFoundException){ Toast.makeText(context, "文件不存在", Toast.LENGTH_SHORT).show() }
- catch(e: IOException){ Toast.makeText(context, "IO异常", Toast.LENGTH_SHORT).show() }
- }else{ Toast.makeText(context, "空URI", Toast.LENGTH_SHORT).show() }
+ catch(e: FileNotFoundException){ Toast.makeText(context, R.string.file_not_exist, Toast.LENGTH_SHORT).show() }
+ catch(e: IOException){ Toast.makeText(context, R.string.io_exception, Toast.LENGTH_SHORT).show() }
+ }
}
fun List.toText():String{
diff --git a/app/src/main/java/com/bintianqi/owndroid/dpm/ApplicationManage.kt b/app/src/main/java/com/bintianqi/owndroid/dpm/ApplicationManage.kt
index 5411008..5307148 100644
--- a/app/src/main/java/com/bintianqi/owndroid/dpm/ApplicationManage.kt
+++ b/app/src/main/java/com/bintianqi/owndroid/dpm/ApplicationManage.kt
@@ -632,7 +632,11 @@ private fun PermittedAccessibility(pkgName: String){
Button(
onClick = {
focusMgr.clearFocus()
- Toast.makeText(myContext, if(myDpm.setPermittedAccessibilityServices(myComponent, permittedAccessibility)){"成功"}else{"失败"}, Toast.LENGTH_SHORT).show()
+ Toast.makeText(
+ myContext,
+ if(myDpm.setPermittedAccessibilityServices(myComponent, permittedAccessibility)){R.string.success}else{R.string.fail},
+ Toast.LENGTH_SHORT
+ ).show()
val getList = myDpm.getPermittedAccessibilityServices(myComponent)
if(getList!=null){ permittedAccessibility = getList }
listText = permittedAccessibility.toText()
@@ -683,7 +687,11 @@ private fun PermittedIME(pkgName: String){
Button(
onClick = {
focusMgr.clearFocus()
- Toast.makeText(myContext, if(myDpm.setPermittedInputMethods(myComponent, permittedIme)){"成功"}else{"失败"}, Toast.LENGTH_SHORT).show()
+ Toast.makeText(
+ myContext,
+ if(myDpm.setPermittedInputMethods(myComponent, permittedIme)){R.string.success}else{R.string.fail},
+ Toast.LENGTH_SHORT
+ ).show()
val getList = myDpm.getPermittedInputMethods(myComponent)
if(getList!=null){ permittedIme = getList }
imeListText = permittedIme.toText()
@@ -901,6 +909,7 @@ private fun installPackage(context: Context, inputStream: InputStream){
session.fsync(out)
inputStream.close()
out.close()
- val pendingIntent = PendingIntent.getBroadcast(context, sessionId, Intent(context, PackageInstallerReceiver::class.java), PendingIntent.FLAG_IMMUTABLE).intentSender
+ val intent = Intent(context, PackageInstallerReceiver::class.java)
+ val pendingIntent = PendingIntent.getBroadcast(context, sessionId, intent, PendingIntent.FLAG_IMMUTABLE).intentSender
session.commit(pendingIntent)
}
diff --git a/app/src/main/java/com/bintianqi/owndroid/dpm/Network.kt b/app/src/main/java/com/bintianqi/owndroid/dpm/Network.kt
index dcffeaa..2793314 100644
--- a/app/src/main/java/com/bintianqi/owndroid/dpm/Network.kt
+++ b/app/src/main/java/com/bintianqi/owndroid/dpm/Network.kt
@@ -792,7 +792,7 @@ private fun APN(){
Button(
onClick = {
val success = myDpm.removeOverrideApn(myComponent,id)
- Toast.makeText(myContext, if(success){"成功"}else{"失败"}, Toast.LENGTH_SHORT).show()
+ Toast.makeText(myContext, if(success){R.string.success}else{R.string.fail}, Toast.LENGTH_SHORT).show()
},
Modifier.fillMaxWidth(0.96F)
){
diff --git a/app/src/main/java/com/bintianqi/owndroid/dpm/SystemManager.kt b/app/src/main/java/com/bintianqi/owndroid/dpm/SystemManager.kt
index 50a18e3..d4c831e 100644
--- a/app/src/main/java/com/bintianqi/owndroid/dpm/SystemManager.kt
+++ b/app/src/main/java/com/bintianqi/owndroid/dpm/SystemManager.kt
@@ -282,7 +282,7 @@ private fun BugReport(){
Button(
onClick = {
val result = myDpm.requestBugreport(myComponent)
- Toast.makeText(myContext, if(result){"成功"}else{"失败"}, Toast.LENGTH_SHORT).show()
+ Toast.makeText(myContext, if(result){R.string.success}else{R.string.fail}, Toast.LENGTH_SHORT).show()
},
modifier = Modifier.fillMaxWidth(),
enabled = isDeviceOwner(myDpm)
@@ -428,7 +428,7 @@ private fun NearbyStreamingPolicy(){
Button(
onClick = {
myDpm.nearbyAppStreamingPolicy = appPolicy
- Toast.makeText(myContext, "成功", Toast.LENGTH_SHORT).show()
+ Toast.makeText(myContext, R.string.success, Toast.LENGTH_SHORT).show()
},
modifier = Modifier.fillMaxWidth()
) {
@@ -844,7 +844,7 @@ private fun SysUpdatePolicy(){
else->null
}
myDpm.setSystemUpdatePolicy(myComponent,policy)
- Toast.makeText(myContext, "成功!", Toast.LENGTH_SHORT).show()
+ Toast.makeText(myContext, R.string.success, Toast.LENGTH_SHORT).show()
},
enabled = isDeviceOwner(myDpm),
modifier = Modifier.fillMaxWidth()
diff --git a/app/src/main/java/com/bintianqi/owndroid/dpm/UserManager.kt b/app/src/main/java/com/bintianqi/owndroid/dpm/UserManager.kt
index 6d2f89f..d793f57 100644
--- a/app/src/main/java/com/bintianqi/owndroid/dpm/UserManager.kt
+++ b/app/src/main/java/com/bintianqi/owndroid/dpm/UserManager.kt
@@ -302,7 +302,7 @@ private fun CreateUser(){
onClick = {
newUserHandle=myDpm.createAndManageUser(myComponent,userName,myComponent,null,selectedFlag)
focusMgr.clearFocus()
- Toast.makeText(myContext, if(newUserHandle!=null){"成功"}else{"失败"}, Toast.LENGTH_SHORT).show()
+ Toast.makeText(myContext, if(newUserHandle!=null){R.string.success}else{R.string.fail}, Toast.LENGTH_SHORT).show()
},
enabled = isDeviceOwner(myDpm),
modifier = Modifier.fillMaxWidth()
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 8e9e28e..e4f0538 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -43,6 +43,9 @@
复制代码
未知状态
复制
+ 文件太大了
+ 文件不存在
+ IO异常
点击以激活
@@ -277,6 +280,15 @@
选择APK...
静默安装
请求安装
+ 应用安装器:
+ 等待用户操作
+ 被阻止
+ 被打断
+ 无效APK
+ 冲突
+ 空间不足
+ 不兼容
+ 超时
用户限制
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index a583b55..9d6f5c3 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -46,6 +46,9 @@
Not exist
Unknown status
Copy
+ File too large
+ File not exist
+ IO Exception
Click to activate
@@ -291,6 +294,16 @@
Select APK...
Silent install
Request install
+
+ App installer:
+ Pending user action
+ Fail: blocked
+ Fail: aborted
+ Fail: invalid APK
+ Fail: conflict
+ Fail: no space
+ Fail: incompatible
+ Fail: timeout
User restriction