Use the orientation from the config object not resources

Test: manual - reboot the device, rotate, drag stuff into split
             => verify that the orientation of split while dragging is
                correct
Bug: 216643100
Change-Id: I300ad7263bf2ac18575d92f057fdd9c13ef736a7
(cherry picked from commit 4a79d7cb97)
This commit is contained in:
Mady Mellor
2022-01-28 15:20:53 -08:00
parent 17456caf69
commit b73f1acdab

View File

@@ -103,7 +103,7 @@ public class DragLayout extends LinearLayout {
MATCH_PARENT)); MATCH_PARENT));
((LayoutParams) mDropZoneView1.getLayoutParams()).weight = 1; ((LayoutParams) mDropZoneView1.getLayoutParams()).weight = 1;
((LayoutParams) mDropZoneView2.getLayoutParams()).weight = 1; ((LayoutParams) mDropZoneView2.getLayoutParams()).weight = 1;
updateContainerMargins(); updateContainerMargins(getResources().getConfiguration().orientation);
} }
@Override @Override
@@ -128,20 +128,18 @@ public class DragLayout extends LinearLayout {
} }
public void onConfigChanged(Configuration newConfig) { public void onConfigChanged(Configuration newConfig) {
final int orientation = getResources().getConfiguration().orientation; if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE
if (orientation == Configuration.ORIENTATION_LANDSCAPE
&& getOrientation() != HORIZONTAL) { && getOrientation() != HORIZONTAL) {
setOrientation(LinearLayout.HORIZONTAL); setOrientation(LinearLayout.HORIZONTAL);
updateContainerMargins(); updateContainerMargins(newConfig.orientation);
} else if (orientation == Configuration.ORIENTATION_PORTRAIT } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT
&& getOrientation() != VERTICAL) { && getOrientation() != VERTICAL) {
setOrientation(LinearLayout.VERTICAL); setOrientation(LinearLayout.VERTICAL);
updateContainerMargins(); updateContainerMargins(newConfig.orientation);
} }
} }
private void updateContainerMargins() { private void updateContainerMargins(int orientation) {
final int orientation = getResources().getConfiguration().orientation;
final float halfMargin = mDisplayMargin / 2f; final float halfMargin = mDisplayMargin / 2f;
if (orientation == Configuration.ORIENTATION_LANDSCAPE) { if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
mDropZoneView1.setContainerMargin( mDropZoneView1.setContainerMargin(