@@ -34,38 +34,38 @@ private NewPipeTextViewHelper() {
3434 * deselecting it, otherwise an exception
3535 */
3636 public static boolean shareSelectedTextWithShareUtils (@ NonNull final TextView textView ) {
37- if (textView instanceof NewPipeTextView ) {
38- final NewPipeTextView newPipeTextView = (NewPipeTextView ) textView ;
39- final CharSequence text = newPipeTextView .getText ();
40- final CharSequence selectedText = getSelectedText (newPipeTextView , text );
37+ if (!(textView instanceof NewPipeEditText )) {
38+ final CharSequence textViewText ;
39+ if (textView instanceof NewPipeTextView ) {
40+ final NewPipeTextView newPipeTextView = (NewPipeTextView ) textView ;
41+ textViewText = newPipeTextView .getText ();
42+ } else {
43+ textViewText = textView .getText ();
44+ }
4145
42- shareSelectedTextIfNotNullAndNotEmpty (newPipeTextView , selectedText );
46+ final CharSequence selectedText = getSelectedText (textView , textViewText );
47+ shareSelectedTextIfNotNullAndNotEmpty (textView , selectedText );
4348
44- final Spannable spannable = (text instanceof Spannable ) ? (Spannable ) text : null ;
45- Selection .setSelection (spannable , newPipeTextView .getSelectionEnd ());
46- } else if (textView instanceof NewPipeEditText ) {
49+ final Spannable spannable = (textViewText instanceof Spannable )
50+ ? (Spannable ) textViewText : null ;
51+ if (spannable != null ) {
52+ Selection .setSelection (spannable , textView .getSelectionEnd ());
53+ }
54+ } else {
4755 final NewPipeEditText editText = (NewPipeEditText ) textView ;
4856 final Spannable text = editText .getText ();
4957
5058 final CharSequence selectedText = getSelectedText (textView , text );
5159 shareSelectedTextIfNotNullAndNotEmpty (textView , selectedText );
5260 Selection .setSelection (text , editText .getSelectionEnd ());
53- } else {
54- final CharSequence text = textView .getText ();
55- final CharSequence selectedText = getSelectedText (textView , text );
56-
57- shareSelectedTextIfNotNullAndNotEmpty (textView , selectedText );
58-
59- final Spannable spannable = (text instanceof Spannable ) ? (Spannable ) text : null ;
60- Selection .setSelection (spannable , textView .getSelectionEnd ());
6161 }
6262
6363 return true ;
6464 }
6565
6666 @ Nullable
6767 private static CharSequence getSelectedText (@ NonNull final TextView textView ,
68- @ Nullable final CharSequence text ) {
68+ @ Nullable final CharSequence text ) {
6969 if (!textView .hasSelection () || text == null ) {
7070 return null ;
7171 }
0 commit comments