Merge "Fix WidgetsBottomSheet inset bug after orientation change" into sc-dev am: 26524eced6

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/14328125

Change-Id: I1e0d2dbd2ac113a23baffda52a990b28dffe0c75
This commit is contained in:
Steven Ng
2021-04-28 09:34:44 +00:00
committed by Automerger Merge Worker
@@ -20,6 +20,7 @@ import static com.android.launcher3.anim.Interpolators.FAST_OUT_SLOW_IN;
import android.animation.PropertyValuesHolder;
import android.content.Context;
import android.content.res.Configuration;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.util.IntProperty;
@@ -71,6 +72,7 @@ public class WidgetsBottomSheet extends BaseWidgetSheet implements Insettable {
private Rect mInsets;
private final int mMaxTableHeight;
private int mMaxHorizontalSpan = 4;
private Configuration mCurrentConfiguration;
public WidgetsBottomSheet(Context context, AttributeSet attrs) {
this(context, attrs, 0);
@@ -85,6 +87,7 @@ public class WidgetsBottomSheet extends BaseWidgetSheet implements Insettable {
// Set the max table height to 2 / 3 of the grid height so that the bottom picker won't
// take over the entire view vertically.
mMaxTableHeight = deviceProfile.inv.numRows * 2 / 3 * deviceProfile.cellHeightPx;
mCurrentConfiguration = new Configuration(getResources().getConfiguration());
}
@Override
@@ -211,6 +214,14 @@ public class WidgetsBottomSheet extends BaseWidgetSheet implements Insettable {
setPadding(leftInset, getPaddingTop(), rightInset, bottomInset);
}
@Override
protected void onConfigurationChanged(Configuration newConfig) {
if (mCurrentConfiguration.orientation != newConfig.orientation) {
mInsets.setEmpty();
}
mCurrentConfiguration.updateFrom(newConfig);
}
@Override
protected Pair<View, String> getAccessibilityTarget() {
return Pair.create(findViewById(R.id.title), getContext().getString(