1414public final class TextEditingDelta {
1515 private CharSequence oldText ;
1616 private CharSequence deltaText ;
17- private CharSequence deltaType ;
1817 private int deltaStart ;
1918 private int deltaEnd ;
2019 private int newSelectionStart ;
@@ -26,12 +25,9 @@ public final class TextEditingDelta {
2625
2726 public TextEditingDelta (
2827 CharSequence oldEditable ,
29- CharSequence newEditable ,
3028 int start ,
3129 int end ,
3230 CharSequence tb ,
33- int tbstart ,
34- int tbend ,
3531 int selectionStart ,
3632 int selectionEnd ,
3733 int composingStart ,
@@ -40,72 +36,14 @@ public TextEditingDelta(
4036 newSelectionEnd = selectionEnd ;
4137 newComposingStart = composingStart ;
4238 newComposingEnd = composingEnd ;
43- final boolean isDeletionGreaterThanOne = end - (start + tbend ) > 1 ;
44- final boolean isCalledFromDelete = tb == "" && tbstart == 0 && tbstart == tbend ;
45-
46- final boolean isReplacedByShorter = isDeletionGreaterThanOne && (tbend - tbstart < end - start );
47- final boolean isReplacedByLonger = tbend - tbstart > end - start ;
48- final boolean isReplacedBySame = tbend - tbstart == end - start ;
49-
50- // Is deleting/inserting at the end of a composing region.
51- final boolean isDeletingInsideComposingRegion = !isReplacedByShorter && start + tbend < end ;
52- final boolean isInsertingInsideComposingRegion = start + tbend > end ;
53-
54- // To consider the cases when autocorrect increases the length of the text being composed by
55- // one, but changes more than one character.
56- final boolean isOriginalComposingRegionTextChanged =
57- (isCalledFromDelete || isDeletingInsideComposingRegion || isReplacedByShorter )
58- || !oldEditable
59- .subSequence (start , end )
60- .toString ()
61- .equals (tb .subSequence (tbstart , end - start ).toString ());
62-
63- final boolean isEqual = oldEditable .equals (newEditable );
64-
65- // A replacement means the original composing region has changed, anything else will be
66- // considered an insertion.
67- final boolean isReplaced =
68- isOriginalComposingRegionTextChanged
69- && (isReplacedByLonger || isReplacedBySame || isReplacedByShorter );
70-
71- if (isEqual ) {
72- Log .v (TAG , "A TextEditingDelta for an TextEditingDeltaType.nonTextUpdate has been created." );
73- setDeltas (oldEditable , "" , "TextEditingDeltaType.nonTextUpdate" , -1 , -1 );
74- } else if (isCalledFromDelete || isDeletingInsideComposingRegion ) {
75- Log .v (TAG , "A TextEditingDelta for a TextEditingDeltaType.deletion has been created." );
76- final int startOfDelete ;
77- if (isDeletionGreaterThanOne ) {
78- startOfDelete = start ;
79- } else {
80- startOfDelete = end - 1 ;
81- }
82-
83- setDeltas (oldEditable , "" , "TextEditingDeltaType.deletion" , startOfDelete , end );
84- } else if ((start == end || isInsertingInsideComposingRegion )
85- && !isOriginalComposingRegionTextChanged ) {
86- Log .v (TAG , "A TextEditingDelta for an TextEditingDeltaType.insertion has been created." );
87- setDeltas (
88- oldEditable ,
89- tb .subSequence (end - start , tbend ).toString (),
90- "TextEditingDeltaType.insertion" ,
91- end ,
92- end );
93- } else if (isReplaced ) {
94- Log .v (TAG , "A TextEditingDelta for a TextEditingDeltaType.replacement has been created." );
95- setDeltas (
96- oldEditable ,
97- tb .subSequence (tbstart , tbend ).toString (),
98- "TextEditingDeltaType.replacement" ,
99- start ,
100- end );
101- }
39+
40+ setDeltas (oldEditable , tb .toString (), start , end );
10241 }
10342
10443 @ VisibleForTesting
10544 public TextEditingDelta (
10645 CharSequence oldText ,
10746 CharSequence deltaText ,
108- CharSequence deltaType ,
10947 int deltaStart ,
11048 int deltaEnd ,
11149 int selectionStart ,
@@ -117,7 +55,7 @@ public TextEditingDelta(
11755 newComposingStart = composingStart ;
11856 newComposingEnd = composingEnd ;
11957
120- setDeltas (oldText , deltaText , deltaType , deltaStart , deltaEnd );
58+ setDeltas (oldText , deltaText , deltaStart , deltaEnd );
12159 }
12260
12361 public CharSequence getOldText () {
@@ -128,10 +66,6 @@ public CharSequence getDeltaText() {
12866 return deltaText ;
12967 }
13068
131- public CharSequence getDeltaType () {
132- return deltaType ;
133- }
134-
13569 public int getDeltaStart () {
13670 return deltaStart ;
13771 }
@@ -156,13 +90,11 @@ public int getNewComposingEnd() {
15690 return newComposingEnd ;
15791 }
15892
159- private void setDeltas (
160- CharSequence oldTxt , CharSequence newTxt , CharSequence type , int newStart , int newExtent ) {
93+ private void setDeltas (CharSequence oldTxt , CharSequence newTxt , int newStart , int newExtent ) {
16194 oldText = oldTxt ;
16295 deltaText = newTxt ;
16396 deltaStart = newStart ;
16497 deltaEnd = newExtent ;
165- deltaType = type ;
16698 }
16799
168100 public JSONObject toJSON () {
@@ -171,7 +103,6 @@ public JSONObject toJSON() {
171103 try {
172104 delta .put ("oldText" , oldText .toString ());
173105 delta .put ("deltaText" , deltaText .toString ());
174- delta .put ("deltaType" , deltaType .toString ());
175106 delta .put ("deltaStart" , deltaStart );
176107 delta .put ("deltaEnd" , deltaEnd );
177108 delta .put ("selectionBase" , newSelectionStart );
0 commit comments