Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9cd5ba5a authored by Matt Casey's avatar Matt Casey Committed by Android (Google) Code Review
Browse files

Merge "Honor system insets in EditTextActivity" into main

parents 74301400 ddb166f4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/editor_root"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

+24 −0
Original line number Diff line number Diff line
@@ -23,14 +23,20 @@ import android.content.ClipData;
import android.content.ClipDescription;
import android.content.ClipboardManager;
import android.content.pm.PackageManager;
import android.graphics.Insets;
import android.os.Bundle;
import android.os.PersistableBundle;
import android.text.Editable;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowInsets;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.TextView;

import androidx.annotation.NonNull;

import com.android.systemui.res.R;

/**
@@ -53,6 +59,24 @@ public class EditTextActivity extends Activity
        mEditText = findViewById(R.id.edit_text);
        mAttribution = findViewById(R.id.attribution);
        mClipboardManager = requireNonNull(getSystemService(ClipboardManager.class));

        findViewById(R.id.editor_root).setOnApplyWindowInsetsListener(
                new View.OnApplyWindowInsetsListener() {
                    @NonNull
                    @Override
                    public WindowInsets onApplyWindowInsets(@NonNull View view,
                            @NonNull WindowInsets windowInsets) {
                        Insets insets = windowInsets.getInsets(WindowInsets.Type.systemBars());
                        ViewGroup.MarginLayoutParams layoutParams =
                                (ViewGroup.MarginLayoutParams) view.getLayoutParams();
                        layoutParams.leftMargin = insets.left;
                        layoutParams.bottomMargin = insets.bottom;
                        layoutParams.rightMargin = insets.right;
                        layoutParams.topMargin = insets.top;
                        view.setLayoutParams(layoutParams);
                        return WindowInsets.CONSUMED;
                    }
                });
    }

    @Override