diff --git a/app/src/main/java/com/geeksville/mesh/model/Channel.kt b/app/src/main/java/com/geeksville/mesh/model/Channel.kt index 06855b66a..b07c383f4 100644 --- a/app/src/main/java/com/geeksville/mesh/model/Channel.kt +++ b/app/src/main/java/com/geeksville/mesh/model/Channel.kt @@ -78,6 +78,10 @@ data class Channel( return "#${name}-${suffix}" } + + override fun equals(o: Any?): Boolean = (o is Channel) + && psk.toByteArray() contentEquals o.psk.toByteArray() + && name == o.name } fun xorHash(b: ByteArray) = b.fold(0, { acc, x -> acc xor (x.toInt() and 0xff) }) \ No newline at end of file diff --git a/app/src/main/java/com/geeksville/mesh/ui/ChannelFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/ChannelFragment.kt index a8f5457b1..8caa6b9d6 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/ChannelFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/ChannelFragment.kt @@ -85,7 +85,7 @@ class ChannelFragment : ScreenFragment("Channel"), Logging { // Only let buttons work if we are connected to the radio binding.shareButton.isEnabled = connected - binding.resetButton.isEnabled = connected + binding.resetButton.isEnabled = connected && Channel.defaultChannel != channel binding.editableCheckbox.isChecked = false // start locked if (channel != null) { @@ -185,7 +185,7 @@ class ChannelFragment : ScreenFragment("Channel"), Logging { .setNeutralButton(R.string.cancel) { _, _ -> setGUIfromModel() // throw away any edits } - .setPositiveButton(getString(R.string.accept)) { _, _ -> + .setPositiveButton(R.string.apply) { _, _ -> debug("Switching back to default channel") installSettings(Channel.defaultChannel.settings) } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c91839d96..8e2d4774d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -101,4 +101,5 @@ Reset Are you sure you want to change to the default channel? Reset to defaults + Apply