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