tv: account for broken TVs with no file picker
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
parent
a978aac129
commit
c536bbb7e9
@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
package com.wireguard.android.activity
|
package com.wireguard.android.activity
|
||||||
|
|
||||||
|
import android.content.ActivityNotFoundException
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import android.view.View
|
import android.view.View
|
||||||
@ -31,6 +32,7 @@ import kotlinx.coroutines.launch
|
|||||||
|
|
||||||
class TvMainActivity : AppCompatActivity() {
|
class TvMainActivity : AppCompatActivity() {
|
||||||
private val tunnelFileImportResultLauncher = registerForActivityResult(ActivityResultContracts.GetContent()) { data ->
|
private val tunnelFileImportResultLauncher = registerForActivityResult(ActivityResultContracts.GetContent()) { data ->
|
||||||
|
if (data == null) return@registerForActivityResult
|
||||||
lifecycleScope.launch {
|
lifecycleScope.launch {
|
||||||
TunnelImporter.importTunnel(contentResolver, data) {
|
TunnelImporter.importTunnel(contentResolver, data) {
|
||||||
Toast.makeText(this@TvMainActivity, it, Toast.LENGTH_LONG).show()
|
Toast.makeText(this@TvMainActivity, it, Toast.LENGTH_LONG).show()
|
||||||
@ -98,7 +100,11 @@ class TvMainActivity : AppCompatActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
binding.importButton.setOnClickListener {
|
binding.importButton.setOnClickListener {
|
||||||
tunnelFileImportResultLauncher.launch("*/*")
|
try {
|
||||||
|
tunnelFileImportResultLauncher.launch("*/*")
|
||||||
|
} catch (e: ActivityNotFoundException) {
|
||||||
|
Toast.makeText(this@TvMainActivity, getString(R.string.tv_error), Toast.LENGTH_LONG).show()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
binding.deleteButton.setOnClickListener {
|
binding.deleteButton.setOnClickListener {
|
||||||
isDeleting.set(!isDeleting.get())
|
isDeleting.set(!isDeleting.get())
|
||||||
|
@ -102,6 +102,7 @@
|
|||||||
<string name="dark_theme_title">Use dark theme</string>
|
<string name="dark_theme_title">Use dark theme</string>
|
||||||
<string name="delete">Delete</string>
|
<string name="delete">Delete</string>
|
||||||
<string name="tv_delete">Select tunnel to delete</string>
|
<string name="tv_delete">Select tunnel to delete</string>
|
||||||
|
<string name="tv_error">Your TV does not have a file picker</string>
|
||||||
<string name="disable_config_export_title">Disable config exporting</string>
|
<string name="disable_config_export_title">Disable config exporting</string>
|
||||||
<string name="disable_config_export_description">Disabling config exporting makes private keys less accessible</string>
|
<string name="disable_config_export_description">Disabling config exporting makes private keys less accessible</string>
|
||||||
<string name="dns_servers">DNS servers</string>
|
<string name="dns_servers">DNS servers</string>
|
||||||
|
Loading…
Reference in New Issue
Block a user