Loading core/java/android/widget/Editor.java +5 −5 Original line number Diff line number Diff line Loading @@ -2345,7 +2345,7 @@ public class Editor { } mCorrectionHighlighter.highlight(info); mUndoInputFilter.onCommitCorrection(); mUndoInputFilter.freezeLastEdit(); } void onScrollChanged() { Loading Loading @@ -2477,6 +2477,7 @@ public class Editor { } mTextView.beginBatchEdit(); mUndoInputFilter.freezeLastEdit(); try { final int offset = mTextView.getOffsetForPosition(event.getX(), event.getY()); Object localState = event.getLocalState(); Loading Loading @@ -2526,6 +2527,7 @@ public class Editor { } } finally { mTextView.endBatchEdit(); mUndoInputFilter.freezeLastEdit(); } } Loading Loading @@ -5845,7 +5847,7 @@ public class Editor { return null; } void onCommitCorrection() { void freezeLastEdit() { mEditor.mUndoManager.beginUpdate("Edit text"); EditOperation lastEdit = getLastEdit(); if (lastEdit != null) { Loading Loading @@ -5906,7 +5908,6 @@ public class Editor { // Add this as the first edit. if (DEBUG_UNDO) Log.d(TAG, "filter: adding first op " + edit); um.addOperation(edit, UndoManager.MERGE_MODE_NONE); mPreviousOperationWasInSameBatchEdit = mIsUserEdit; } else if (mergeMode == MERGE_EDIT_MODE_FORCE_MERGE) { // Forced merges take priority because they could be the result of a non-user-edit // change and this case should not create a new undo operation. Loading @@ -5918,7 +5919,6 @@ public class Editor { if (DEBUG_UNDO) Log.d(TAG, "non-user edit, new op " + edit); um.commitState(mEditor.mUndoOwner); um.addOperation(edit, UndoManager.MERGE_MODE_NONE); mPreviousOperationWasInSameBatchEdit = mIsUserEdit; } else if (mergeMode == MERGE_EDIT_MODE_NORMAL && lastEdit.mergeWith(edit)) { // Merge succeeded, nothing else to do. if (DEBUG_UNDO) Log.d(TAG, "filter: merge succeeded, created " + lastEdit); Loading @@ -5927,8 +5927,8 @@ public class Editor { if (DEBUG_UNDO) Log.d(TAG, "filter: merge failed, adding " + edit); um.commitState(mEditor.mUndoOwner); um.addOperation(edit, UndoManager.MERGE_MODE_NONE); mPreviousOperationWasInSameBatchEdit = mIsUserEdit; } mPreviousOperationWasInSameBatchEdit = mIsUserEdit; um.endUpdate(); } Loading Loading
core/java/android/widget/Editor.java +5 −5 Original line number Diff line number Diff line Loading @@ -2345,7 +2345,7 @@ public class Editor { } mCorrectionHighlighter.highlight(info); mUndoInputFilter.onCommitCorrection(); mUndoInputFilter.freezeLastEdit(); } void onScrollChanged() { Loading Loading @@ -2477,6 +2477,7 @@ public class Editor { } mTextView.beginBatchEdit(); mUndoInputFilter.freezeLastEdit(); try { final int offset = mTextView.getOffsetForPosition(event.getX(), event.getY()); Object localState = event.getLocalState(); Loading Loading @@ -2526,6 +2527,7 @@ public class Editor { } } finally { mTextView.endBatchEdit(); mUndoInputFilter.freezeLastEdit(); } } Loading Loading @@ -5845,7 +5847,7 @@ public class Editor { return null; } void onCommitCorrection() { void freezeLastEdit() { mEditor.mUndoManager.beginUpdate("Edit text"); EditOperation lastEdit = getLastEdit(); if (lastEdit != null) { Loading Loading @@ -5906,7 +5908,6 @@ public class Editor { // Add this as the first edit. if (DEBUG_UNDO) Log.d(TAG, "filter: adding first op " + edit); um.addOperation(edit, UndoManager.MERGE_MODE_NONE); mPreviousOperationWasInSameBatchEdit = mIsUserEdit; } else if (mergeMode == MERGE_EDIT_MODE_FORCE_MERGE) { // Forced merges take priority because they could be the result of a non-user-edit // change and this case should not create a new undo operation. Loading @@ -5918,7 +5919,6 @@ public class Editor { if (DEBUG_UNDO) Log.d(TAG, "non-user edit, new op " + edit); um.commitState(mEditor.mUndoOwner); um.addOperation(edit, UndoManager.MERGE_MODE_NONE); mPreviousOperationWasInSameBatchEdit = mIsUserEdit; } else if (mergeMode == MERGE_EDIT_MODE_NORMAL && lastEdit.mergeWith(edit)) { // Merge succeeded, nothing else to do. if (DEBUG_UNDO) Log.d(TAG, "filter: merge succeeded, created " + lastEdit); Loading @@ -5927,8 +5927,8 @@ public class Editor { if (DEBUG_UNDO) Log.d(TAG, "filter: merge failed, adding " + edit); um.commitState(mEditor.mUndoOwner); um.addOperation(edit, UndoManager.MERGE_MODE_NONE); mPreviousOperationWasInSameBatchEdit = mIsUserEdit; } mPreviousOperationWasInSameBatchEdit = mIsUserEdit; um.endUpdate(); } Loading