Remove textbox in linking dialog.

This commit is contained in:
Mikunj
2019-11-20 16:08:03 +11:00
parent c3bda57ac1
commit d96664cb6a
6 changed files with 24 additions and 82 deletions

View File

@@ -2,6 +2,7 @@ package org.thoughtcrime.securesms.loki
import org.whispersystems.signalservice.loki.api.PairingAuthorisation
// Loki - TODO: Remove this yucky delegate pattern for device linking dialog once we have the redesign
interface DeviceLinkingDelegate {
companion object {
fun combine(vararg delegates: DeviceLinkingDelegate?): DeviceLinkingDelegate {
@@ -18,10 +19,6 @@ interface DeviceLinkingDelegate {
override fun sendPairingAuthorizedMessage(pairingAuthorisation: PairingAuthorisation) {
for (delegate in validDelegates) { delegate.sendPairingAuthorizedMessage(pairingAuthorisation) }
}
override fun setDeviceDisplayName(hexEncodedPublicKey: String, displayName: String) {
for (delegate in validDelegates) { delegate.setDeviceDisplayName(hexEncodedPublicKey, displayName) }
}
}
}
}
@@ -29,5 +26,4 @@ interface DeviceLinkingDelegate {
fun handleDeviceLinkAuthorized(pairingAuthorisation: PairingAuthorisation) {}
fun handleDeviceLinkingDialogDismissed() {}
fun sendPairingAuthorizedMessage(pairingAuthorisation: PairingAuthorisation) {}
fun setDeviceDisplayName(hexEncodedPublicKey: String, displayName: String) {}
}

View File

@@ -56,30 +56,6 @@ class DeviceLinkingView private constructor(context: Context, attrs: AttributeSe
authorizeButton.visibility = View.GONE
authorizeButton.setOnClickListener { authorizePairing() }
cancelButton.setOnClickListener { cancel() }
deviceNameText.visibility = View.GONE
deviceNameText.input.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {}
override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {}
override fun afterTextChanged(s: Editable?) {
val string = s?.toString() ?: ""
when {
string.trim().length > 30 -> {
deviceNameText.input.error = "Too Long"
enableAuthorizeButton(false)
}
else -> {
deviceNameText.input.error = null
enableAuthorizeButton(true)
}
}
}
})
}
private fun enableAuthorizeButton(enabled: Boolean) {
authorizeButton.isEnabled = enabled
authorizeButton.alpha = if (enabled) 1f else 0.5f
}
// endregion
@@ -96,8 +72,6 @@ class DeviceLinkingView private constructor(context: Context, attrs: AttributeSe
mnemonicTextView.visibility = View.VISIBLE
mnemonicTextView.text = MnemonicUtilities.getFirst3Words(MnemonicCodec(languageFileDirectory), pairingAuthorisation.secondaryDevicePublicKey)
authorizeButton.visibility = View.VISIBLE
deviceNameText.visibility = View.VISIBLE
enableAuthorizeButton(true)
}
fun onDeviceLinkAuthorized(pairingAuthorisation: PairingAuthorisation) {
@@ -129,7 +103,6 @@ class DeviceLinkingView private constructor(context: Context, attrs: AttributeSe
if (mode != Mode.Master || pairingAuthorisation == null) { return; }
delegate.sendPairingAuthorizedMessage(pairingAuthorisation)
delegate.handleDeviceLinkAuthorized(pairingAuthorisation)
delegate.setDeviceDisplayName(pairingAuthorisation.secondaryDevicePublicKey, deviceNameText.text.toString().trim())
dismiss?.invoke()
}

View File

@@ -75,8 +75,4 @@ class LinkedDevicesActivity : PassphraseRequiredActionBarActivity(), DeviceLinki
Util.runOnMain { this.deviceListFragment.refresh() }
}
}
override fun setDeviceDisplayName(hexEncodedPublicKey: String, displayName: String) {
DatabaseFactory.getLokiUserDatabase(this).setDisplayName(hexEncodedPublicKey, displayName)
}
}