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