1414import android .widget .EditText ;
1515import android .widget .LinearLayout ;
1616
17+ import androidx .annotation .NonNull ;
18+
1719import java .util .HashMap ;
1820import java .util .Map ;
1921
20- import androidx .annotation .NonNull ;
21-
2222public class CustomViewGroup extends LinearLayout
2323{
2424 private static final String PUNCTUATIONS = ".,?!'\" (){}-:;«»„¡¿”•_;·჻՛՜՞՝՚。、~〈〉《》「」〖〗・·…๏๚๛ฯๆ" ;
25- private static final String SPACE = "\u0020 " ;
25+ private static final String SPACE = " " ;
2626 private static final String NEW_LINE = "\n " ;
2727
2828 /** Interface definition for callbacks invoked when EditText status changed. */
@@ -34,13 +34,13 @@ public interface OnChangedListener
3434
3535 private OnChangedListener mOnChangedListener = null ;
3636
37- private EditText mEditText = null ;
37+ private EditText mFocusedEditText = null ;
3838 private final Map <Integer , Integer > mIndexMap = new HashMap <>();
3939
4040 /** Event Listener for selection changed and focus changed of EditText. */
4141 final private View .AccessibilityDelegate mViewDelegate = new View .AccessibilityDelegate () {
4242 @ Override
43- public void sendAccessibilityEvent (View host , int eventType )
43+ public void sendAccessibilityEvent (@ NonNull View host , int eventType )
4444 {
4545 super .sendAccessibilityEvent (host , eventType );
4646
@@ -55,7 +55,7 @@ public void sendAccessibilityEvent(View host, int eventType)
5555
5656 if (eventType == AccessibilityEvent .TYPE_VIEW_FOCUSED )
5757 {
58- if ((mOnChangedListener != null ) && (host == mEditText ))
58+ if ((mOnChangedListener != null ) && (host == mFocusedEditText ))
5959 {
6060 mOnChangedListener .onFocusChanged ((EditText ) host );
6161 }
@@ -175,17 +175,17 @@ public EditText setFocus(final int index)
175175
176176 public void setFocus (EditText editText )
177177 {
178- if (editText != mEditText )
178+ if (editText != mFocusedEditText )
179179 {
180- mEditText = editText ;
180+ mFocusedEditText = editText ;
181181 editText .setAccessibilityDelegate (mViewDelegate );
182182 editText .requestFocus ();
183183 }
184184 }
185185
186186 public void setSelection (EditText editText , final float x , final float y , final boolean range , final int color )
187187 {
188- if (editText == mEditText )
188+ if (editText == mFocusedEditText )
189189 {
190190 int position = findCursorByPosition (editText , x , y );
191191 String text = editText .getText ().toString ();
@@ -235,7 +235,7 @@ else if (PUNCTUATIONS.contains(charAtPosition))
235235
236236 public void setSelection (EditText editText , @ NonNull final RectF selectionRect , final int color )
237237 {
238- if (editText == mEditText )
238+ if (editText == mFocusedEditText )
239239 {
240240 editText .setHighlightColor (color );
241241
@@ -248,7 +248,7 @@ public void setSelection(EditText editText, @NonNull final RectF selectionRect,
248248
249249 public void setText (EditText editText , @ NonNull final String label )
250250 {
251- if (editText == mEditText )
251+ if (editText == mFocusedEditText )
252252 {
253253 int start = editText .getSelectionStart ();
254254 int end = editText .getSelectionEnd ();
@@ -277,23 +277,9 @@ public void setText(EditText editText, @NonNull final String label)
277277 }
278278 }
279279
280- public void eraseText (EditText editText , @ NonNull final RectF eraseRect )
281- {
282- if (editText == mEditText )
283- {
284- int start = findCursorByPosition (editText , eraseRect .left , eraseRect .centerY ());
285- int end = findCursorByPosition (editText , eraseRect .right , eraseRect .centerY ());
286-
287- editText .setSelection (start );
288-
289- Editable editable = editText .getEditableText ();
290- editable .delete (start , end );
291- }
292- }
293-
294280 public void setSpace (EditText editText , final float x , final float y )
295281 {
296- if (editText == mEditText )
282+ if (editText == mFocusedEditText )
297283 {
298284 int position = findCursorByPosition (editText , x , y );
299285
@@ -321,7 +307,7 @@ else if (isMultiLine(editText))
321307
322308 public void eraseSpace (EditText editText , final float x , final float y )
323309 {
324- if (editText == mEditText )
310+ if (editText == mFocusedEditText )
325311 {
326312 int position = findCursorByPosition (editText , x , y );
327313
@@ -346,7 +332,7 @@ else if (isMultiLine(editText))
346332
347333 public void forwardCursor (EditText editText )
348334 {
349- if (editText == mEditText )
335+ if (editText == mFocusedEditText )
350336 {
351337 int start = editText .getSelectionStart ();
352338 int end = editText .getSelectionEnd ();
@@ -366,7 +352,7 @@ else if (end < text.length())
366352
367353 public void backwardDelete (EditText editText )
368354 {
369- if (editText == mEditText )
355+ if (editText == mFocusedEditText )
370356 {
371357 int start = editText .getSelectionStart ();
372358 int end = editText .getSelectionEnd ();
0 commit comments