Prevent landscape text editing from taking over the screen.

It used to be that we let Android do the default behavior of
full-screening the EditText when in landscape, but honestly I
don't know who prefers that. So I've turned it off.

Fixes #8769
This commit is contained in:
Greyson Parrelli 2019-04-17 08:28:20 -04:00
parent ba46a9d81a
commit e67eca77ff
4 changed files with 5 additions and 5 deletions

View File

@ -89,6 +89,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_weight="1" android:layout_weight="1"
android:imeOptions="flagNoExtractUi"
android:nextFocusForward="@+id/send_button" android:nextFocusForward="@+id/send_button"
android:nextFocusRight="@+id/send_button" android:nextFocusRight="@+id/send_button"
tools:visibility="invisible" tools:visibility="invisible"

View File

@ -42,6 +42,7 @@
style="@style/Signal.Text.Body" style="@style/Signal.Text.Body"
android:maxLines="3" android:maxLines="3"
android:maxLength="240" android:maxLength="240"
android:imeOptions="flagNoExtractUi"
android:hint="@string/MediaSendActivity_add_a_caption" android:hint="@string/MediaSendActivity_add_a_caption"
android:autoText="true" android:autoText="true"
android:inputType="textAutoCorrect|textCapSentences|textMultiLine" android:inputType="textAutoCorrect|textCapSentences|textMultiLine"
@ -96,6 +97,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_weight="1" android:layout_weight="1"
android:imeOptions="flagNoExtractUi"
android:nextFocusForward="@+id/send_button" android:nextFocusForward="@+id/send_button"
android:nextFocusRight="@+id/send_button" android:nextFocusRight="@+id/send_button"
tools:hint="Send TextSecure message" > tools:hint="Send TextSecure message" >

View File

@ -93,11 +93,6 @@ public class KeyboardAwareLinearLayout extends LinearLayoutCompat {
} }
private void updateKeyboardState() { private void updateKeyboardState() {
if (isLandscape()) {
if (keyboardOpen) onKeyboardClose();
return;
}
if (viewInset == 0 && Build.VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) viewInset = getViewInset(); if (viewInset == 0 && Build.VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) viewInset = getViewInset();
getWindowVisibleDisplayFrame(rect); getWindowVisibleDisplayFrame(rect);

View File

@ -45,6 +45,7 @@ import android.view.Gravity;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.ScaleGestureDetector; import android.view.ScaleGestureDetector;
import android.view.View; import android.view.View;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodManager; import android.view.inputmethod.InputMethodManager;
import android.widget.EditText; import android.widget.EditText;
import android.widget.FrameLayout; import android.widget.FrameLayout;
@ -133,6 +134,7 @@ public class MotionView extends FrameLayout implements TextWatcher {
this.editText.setBackgroundColor(Color.TRANSPARENT); this.editText.setBackgroundColor(Color.TRANSPARENT);
this.editText.setTextSize(TypedValue.COMPLEX_UNIT_SP, 1); this.editText.setTextSize(TypedValue.COMPLEX_UNIT_SP, 1);
this.editText.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); this.editText.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
this.editText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);
this.addView(editText); this.addView(editText);
this.editText.clearFocus(); this.editText.clearFocus();
this.editText.addTextChangedListener(this); this.editText.addTextChangedListener(this);