From 40fe1cbd8c61d921b1fb19cbbc7fcb6dc0f8a181 Mon Sep 17 00:00:00 2001 From: David Vacca Date: Fri, 29 Sep 2023 12:11:24 -0700 Subject: [PATCH] Remove support for Android API < 23 in ReactEditText (#39671) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/39671 Since minsdk version was increased to 23, we are deleting code using Android APIs < 23 for class ReactEditText changelog: [Android][Breaking] Remove support for Android API < 23 in ReactEditText Reviewed By: NickGerleman Differential Revision: D48545507 fbshipit-source-id: 98be52ba36248962864e99e80ff648bbb351ff61 --- .../react/views/textinput/ReactEditText.java | 33 +++---------------- 1 file changed, 4 insertions(+), 29 deletions(-) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java index 081f2b80160..ecc6165f724 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java @@ -9,8 +9,6 @@ package com.facebook.react.views.textinput; import static com.facebook.react.uimanager.UIManagerHelper.getReactContext; -import android.content.ClipData; -import android.content.ClipboardManager; import android.content.Context; import android.graphics.Color; import android.graphics.Paint; @@ -210,9 +208,7 @@ public class ReactEditText extends AppCompatEditText { public void onDestroyActionMode(ActionMode mode) {} }; setCustomSelectionActionModeCallback(customActionModeCallback); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - setCustomInsertionActionModeCallback(customActionModeCallback); - } + setCustomInsertionActionModeCallback(customActionModeCallback); } @Override @@ -308,26 +304,7 @@ public class ReactEditText extends AppCompatEditText { @Override public boolean onTextContextMenuItem(int id) { if (id == android.R.id.paste) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - id = android.R.id.pasteAsPlainText; - } else { - ClipboardManager clipboard = - (ClipboardManager) getContext().getSystemService(Context.CLIPBOARD_SERVICE); - ClipData previousClipData = clipboard.getPrimaryClip(); - if (previousClipData != null) { - for (int i = 0; i < previousClipData.getItemCount(); i++) { - final CharSequence text = previousClipData.getItemAt(i).coerceToText(getContext()); - final CharSequence paste = (text instanceof Spanned) ? text.toString() : text; - if (paste != null) { - ClipData clipData = ClipData.newPlainText(null, text); - clipboard.setPrimaryClip(clipData); - } - } - boolean actionPerformed = super.onTextContextMenuItem(id); - clipboard.setPrimaryClip(previousClipData); - return actionPerformed; - } - } + id = android.R.id.pasteAsPlainText; } return super.onTextContextMenuItem(id); } @@ -702,10 +679,8 @@ public class ReactEditText extends AppCompatEditText { } mDisableTextDiffing = false; - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - if (getBreakStrategy() != reactTextUpdate.getTextBreakStrategy()) { - setBreakStrategy(reactTextUpdate.getTextBreakStrategy()); - } + if (getBreakStrategy() != reactTextUpdate.getTextBreakStrategy()) { + setBreakStrategy(reactTextUpdate.getTextBreakStrategy()); } // Update cached spans (in Fabric only).