From a3dbce41e3b0549959dd431bd7bc65b7729ed057 Mon Sep 17 00:00:00 2001 From: fbaron Date: Wed, 5 Apr 2023 12:50:07 -0700 Subject: [PATCH] Prevent two pane widget picker code from reaching foldables Currently, there's a few sections of the code that are intended to only be reached by tablets in landscape mode that can be reached by unfolded foldables. Here, we fix this so it no longer occurs. Bug: 277102339 Test: Verify widget picker works correctly on tablet Change-Id: I1f2bc99072aff6d852f9ce658ab00fa33b9e02b5 --- src/com/android/launcher3/widget/BaseWidgetSheet.java | 4 +++- .../android/launcher3/widget/picker/WidgetsFullSheet.java | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/com/android/launcher3/widget/BaseWidgetSheet.java b/src/com/android/launcher3/widget/BaseWidgetSheet.java index 07c6ba4628..2c51b813d2 100644 --- a/src/com/android/launcher3/widget/BaseWidgetSheet.java +++ b/src/com/android/launcher3/widget/BaseWidgetSheet.java @@ -186,7 +186,9 @@ public abstract class BaseWidgetSheet extends AbstractSlideInView int widthUsed; if (deviceProfile.isTablet) { int margin = deviceProfile.allAppsLeftRightMargin; - if (deviceProfile.isLandscape && LARGE_SCREEN_WIDGET_PICKER.get()) { + if (deviceProfile.isLandscape + && LARGE_SCREEN_WIDGET_PICKER.get() + && !deviceProfile.isTwoPanels) { margin = getResources().getDimensionPixelSize( R.dimen.widget_picker_landscape_tablet_left_right_margin); } diff --git a/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java b/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java index 5e165dff9c..49f3fe9f84 100644 --- a/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java +++ b/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java @@ -183,7 +183,7 @@ public class WidgetsFullSheet extends BaseWidgetSheet super(context, attrs, defStyleAttr); mDeviceProfile = Launcher.getLauncher(context).getDeviceProfile(); mHasWorkProfile = context.getSystemService(LauncherApps.class).getProfiles().size() > 1; - mOrientation = Launcher.getLauncher(context).getOrientation(); + mOrientation = context.getResources().getConfiguration().orientation; mAdapters.put(AdapterHolder.PRIMARY, new AdapterHolder(AdapterHolder.PRIMARY)); mAdapters.put(AdapterHolder.WORK, new AdapterHolder(AdapterHolder.WORK)); mAdapters.put(AdapterHolder.SEARCH, new AdapterHolder(AdapterHolder.SEARCH)); @@ -799,7 +799,8 @@ public class WidgetsFullSheet extends BaseWidgetSheet // Checks the orientation of the screen if (LARGE_SCREEN_WIDGET_PICKER.get() && mOrientation != newConfig.orientation - && mDeviceProfile.isTablet) { + && mDeviceProfile.isTablet + && !mDeviceProfile.isTwoPanels) { mOrientation = newConfig.orientation; handleClose(false); show(Launcher.getLauncher(getContext()), false);