title: Set editText text to upper case on addTextChangedListener making app hang
body: <p>I want to make upper case even if the user write lowercase in <code>edittext</code>.So I am setting <code>ediText</code> text to upper case on <code>addTextChangedListener</code> as per below.</p>
  <pre><code>  editText.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) {
                      editText.setText(s.toString().toUpperCase())
              }
  
              override fun afterTextChanged(s : Editable?) {
  
              }
      })
  </code></pre>
  <p>But doing this when I type something in <code>editText</code>, app is hanging and I have to kill the app and restart it again.As I want to use this in binding adapter I can't use AllCaps method of xml</p>