Q: Samsung Galaxy Note 2 Removes text from EditText I have an EditText on which I attached a TextWatcher. After each change the content is stripped from special characters such as ë and ä. The result I put back in the Editable to be shown on the UI. It works properly on all devices, except the Samsung Galaxy Note 2.  
So what happens on the Note is that the 1st character is accepted and displayed. Once the the second character is typed the onTextChanged and the beforeTextChanged both give a s.length() of 0
If you comment out Selection.setSelection(info, position); It works, but it set the cursor at the start.
TextWatcher
  editTextWatcher = new TextWatcher()
  {

     @Override
     public void onTextChanged(CharSequence s, int start, int before, int count)
     {

     }

     @Override
     public void beforeTextChanged(CharSequence s, int start, int count, int after)
     {

     }

     @Override
     public void afterTextChanged(Editable s)
     {

          // Prevent a stackoverflow
           editText.removeTextChangedListener(this);

           editText.setText(cleanDescription(s.toString()));
           editText.addTextChangedListener(this);
           editText.requestFocus();

           int position = editText.length();
           Editable info = editText.getText();
           // Set the cursor at the end
           Selection.setSelection(info, position);
     }

  };

Cleaning function
private String cleanDescription(String info)
   {
      Log.d(TAG, "cleanDescription()");
      if (info != null)
      {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD)
         {
            info = Normalizer.normalize(info, Normalizer.Form.NFD);
         }
         info = info.replaceAll("\\p{InCombiningDiacriticalMarks}+", "");
         info = info.replaceAll("[^a-zA-Z0-9\\s.,-]", "");
      }
      return info;
   }

Logcat does give warnings
09-23 16:22:24.865: W/IInputConnectionWrapper(5086): setComposingText on inactive InputConnection
09-23 16:22:24.865: W/IInputConnectionWrapper(5086): getExtractedText on inactive InputConnection
09-23 16:22:24.870: W/IInputConnectionWrapper(5086): finishComposingText on inactive InputConnection

