mirror of
https://github.com/yggdrasil-network/yggdrasil-android.git
synced 2025-04-28 22:25:09 +03:00
Fixed UI for Android TV (for d-pad usage). (#47)
This commit is contained in:
parent
ce50b01781
commit
9df80c0612
7 changed files with 70 additions and 42 deletions
|
@ -6,11 +6,11 @@ import android.graphics.Color
|
|||
import android.net.VpnService
|
||||
import android.os.Bundle
|
||||
import android.widget.Switch
|
||||
import android.widget.TableRow
|
||||
import android.widget.TextView
|
||||
import android.widget.Toast
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.appcompat.widget.LinearLayoutCompat
|
||||
import androidx.core.content.edit
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager
|
||||
import androidx.preference.PreferenceManager
|
||||
|
@ -26,10 +26,10 @@ class MainActivity : AppCompatActivity() {
|
|||
private lateinit var subnetLabel: TextView
|
||||
private lateinit var coordinatesLabel: TextView
|
||||
private lateinit var peersLabel: TextView
|
||||
private lateinit var peersRow: TableRow
|
||||
private lateinit var peersRow: LinearLayoutCompat
|
||||
private lateinit var dnsLabel: TextView
|
||||
private lateinit var dnsRow: TableRow
|
||||
private lateinit var settingsRow: TableRow
|
||||
private lateinit var dnsRow: LinearLayoutCompat
|
||||
private lateinit var settingsRow: LinearLayoutCompat
|
||||
|
||||
private fun start() {
|
||||
val intent = Intent(this, PacketTunnelProvider::class.java)
|
||||
|
@ -82,7 +82,7 @@ class MainActivity : AppCompatActivity() {
|
|||
preferences.edit(commit = true) { putBoolean(PREF_KEY_ENABLED, isChecked) }
|
||||
}
|
||||
|
||||
val enableYggdrasilPanel = findViewById<TableRow>(R.id.enableYggdrasilPanel)
|
||||
val enableYggdrasilPanel = findViewById<LinearLayoutCompat>(R.id.enableYggdrasilPanel)
|
||||
enableYggdrasilPanel.setOnClickListener {
|
||||
enabledSwitch.toggle()
|
||||
}
|
||||
|
|
|
@ -121,7 +121,7 @@ class PeersActivity : AppCompatActivity() {
|
|||
view.findViewById<ImageButton>(R.id.deletePeerButton).tag = i
|
||||
|
||||
view.findViewById<ImageButton>(R.id.deletePeerButton).setOnClickListener { button ->
|
||||
val builder: AlertDialog.Builder = AlertDialog.Builder(this)
|
||||
val builder: AlertDialog.Builder = AlertDialog.Builder(ContextThemeWrapper(this, R.style.Theme_MaterialComponents_DayNight_Dialog))
|
||||
builder.setTitle(getString(R.string.peers_remove_title, peer))
|
||||
builder.setPositiveButton(getString(R.string.peers_remove)) { dialog, _ ->
|
||||
config.updateJSON { json ->
|
||||
|
|
|
@ -5,10 +5,13 @@ import android.content.ClipData
|
|||
import android.content.ClipboardManager
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.view.ContextThemeWrapper
|
||||
import android.view.KeyEvent
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.widget.*
|
||||
import androidx.appcompat.widget.LinearLayoutCompat
|
||||
import androidx.core.widget.doOnTextChanged
|
||||
import org.json.JSONObject
|
||||
|
||||
|
@ -18,7 +21,7 @@ class SettingsActivity : AppCompatActivity() {
|
|||
|
||||
private lateinit var deviceNameEntry: EditText
|
||||
private lateinit var publicKeyLabel: TextView
|
||||
private lateinit var resetConfigurationRow: TableRow
|
||||
private lateinit var resetConfigurationRow: LinearLayoutCompat
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
@ -41,6 +44,24 @@ class SettingsActivity : AppCompatActivity() {
|
|||
}
|
||||
}
|
||||
|
||||
deviceNameEntry.setOnKeyListener { view, keyCode, event ->
|
||||
(keyCode == KeyEvent.KEYCODE_DPAD_CENTER || keyCode == KeyEvent.KEYCODE_ENTER)
|
||||
}
|
||||
|
||||
findViewById<View>(R.id.deviceNameTableRow).setOnKeyListener { view, keyCode, event ->
|
||||
Log.i("Key", keyCode.toString())
|
||||
if (event.action == KeyEvent.ACTION_DOWN) {
|
||||
if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER || keyCode == KeyEvent.KEYCODE_ENTER) {
|
||||
deviceNameEntry.requestFocus()
|
||||
true
|
||||
} else {
|
||||
false
|
||||
}
|
||||
} else {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
resetConfigurationRow.setOnClickListener {
|
||||
val view = inflater.inflate(R.layout.dialog_resetconfig, null)
|
||||
val builder: AlertDialog.Builder = AlertDialog.Builder(ContextThemeWrapper(this, R.style.Theme_MaterialComponents_DayNight_Dialog))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue