fix: Window Insets crashes on less than Android 11 (#6060)

* fix: Window Insets crashes on less than Android 11

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>

* Apply suggestion from @validcube

---------

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
This commit is contained in:
Pun Butrach
2025-11-10 04:38:13 +07:00
committed by GitHub
parent 5a863fb700
commit bc6d92f454

View File

@@ -26,10 +26,12 @@ import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.view.WindowInsets;
import android.view.WindowInsets.Type;
import android.widget.ScrollView;
import com.android.launcher3.DeviceProfile;
import com.android.launcher3.R;
import com.android.launcher3.Utilities;
import com.android.launcher3.dragndrop.AddItemActivity;
import com.android.launcher3.views.AbstractSlideInView;
@@ -153,11 +155,18 @@ public class AddItemWidgetsBottomSheet extends AbstractSlideInView<AddItemActivi
@SuppressLint("NewApi") // Already added API check.
@Override
public WindowInsets onApplyWindowInsets(View view, WindowInsets windowInsets) {
Insets insets = windowInsets.getInsets(WindowInsets.Type.systemBars());
mInsets.set(insets.left, insets.top, insets.right, insets.bottom);
mContent.setPadding(mContent.getPaddingStart(), mContent.getPaddingTop(),
mContent.getPaddingEnd(), mInsets.bottom);
Insets insets;
if (Utilities.ATLEAST_R) {
insets = windowInsets.getInsets(Type.systemBars());
mInsets.set(insets.left, insets.top, insets.right, insets.bottom);
mContent.setPadding(mContent.getPaddingStart(), mContent.getPaddingTop(),
mContent.getPaddingEnd(), mInsets.bottom);
} else {
mInsets.set(windowInsets.getSystemWindowInsetLeft(),
windowInsets.getSystemWindowInsetTop(),
windowInsets.getSystemWindowInsetRight(),
windowInsets.getSystemWindowInsetBottom());
}
int contentHorizontalMarginInPx = getResources().getDimensionPixelSize(
R.dimen.widget_list_horizontal_margin);
if (contentHorizontalMarginInPx != mContentHorizontalMarginInPx) {