57 lines
2.7 KiB
Kotlin
57 lines
2.7 KiB
Kotlin
package org.thoughtcrime.securesms.onboarding
|
|
|
|
import android.content.Intent
|
|
import android.os.Bundle
|
|
import android.view.KeyEvent
|
|
import android.view.inputmethod.EditorInfo
|
|
import android.view.inputmethod.InputMethodManager
|
|
import android.widget.TextView.OnEditorActionListener
|
|
import android.widget.Toast
|
|
import network.loki.messenger.R
|
|
import network.loki.messenger.databinding.ActivityDisplayNameBinding
|
|
import org.session.libsession.utilities.SSKEnvironment.ProfileManagerProtocol
|
|
import org.thoughtcrime.securesms.BaseActionBarActivity
|
|
import org.thoughtcrime.securesms.util.push
|
|
import org.thoughtcrime.securesms.util.setUpActionBarSessionLogo
|
|
import org.session.libsession.utilities.TextSecurePreferences
|
|
|
|
class DisplayNameActivity : BaseActionBarActivity() {
|
|
private lateinit var binding: ActivityDisplayNameBinding
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
super.onCreate(savedInstanceState)
|
|
setUpActionBarSessionLogo()
|
|
binding = ActivityDisplayNameBinding.inflate(layoutInflater)
|
|
setContentView(binding.root)
|
|
with(binding) {
|
|
displayNameEditText.imeOptions = displayNameEditText.imeOptions or 16777216 // Always use incognito keyboard
|
|
displayNameEditText.setOnEditorActionListener(
|
|
OnEditorActionListener { _, actionID, event ->
|
|
if (actionID == EditorInfo.IME_ACTION_SEARCH ||
|
|
actionID == EditorInfo.IME_ACTION_DONE ||
|
|
(event.action == KeyEvent.ACTION_DOWN &&
|
|
event.keyCode == KeyEvent.KEYCODE_ENTER)) {
|
|
register()
|
|
return@OnEditorActionListener true
|
|
}
|
|
false
|
|
})
|
|
registerButton.setOnClickListener { register() }
|
|
}
|
|
}
|
|
|
|
private fun register() {
|
|
val displayName = binding.displayNameEditText.text.toString().trim()
|
|
if (displayName.isEmpty()) {
|
|
return Toast.makeText(this, R.string.activity_display_name_display_name_missing_error, Toast.LENGTH_SHORT).show()
|
|
}
|
|
if (displayName.toByteArray().size > ProfileManagerProtocol.Companion.NAME_PADDED_LENGTH) {
|
|
return Toast.makeText(this, R.string.activity_display_name_display_name_too_long_error, Toast.LENGTH_SHORT).show()
|
|
}
|
|
val inputMethodManager = getSystemService(INPUT_METHOD_SERVICE) as InputMethodManager
|
|
inputMethodManager.hideSoftInputFromWindow(binding.displayNameEditText.windowToken, 0)
|
|
TextSecurePreferences.setProfileName(this, displayName)
|
|
val intent = Intent(this, PNModeActivity::class.java)
|
|
push(intent)
|
|
}
|
|
} |