Merge "Refresh display bounds when display layout updated"
This commit is contained in:
@@ -277,6 +277,7 @@ public class OneHandedController implements RemoteCallable<OneHandedController>,
|
||||
registerSettingObservers(mUserId);
|
||||
setupTimeoutListener();
|
||||
updateSettings();
|
||||
updateDisplayLayout(mContext.getDisplayId());
|
||||
|
||||
mAccessibilityManager = AccessibilityManager.getInstance(context);
|
||||
mAccessibilityManager.addAccessibilityStateChangeListener(
|
||||
@@ -448,8 +449,13 @@ public class OneHandedController implements RemoteCallable<OneHandedController>,
|
||||
onShortcutEnabledChanged();
|
||||
}
|
||||
|
||||
private void updateDisplayLayout(int displayId) {
|
||||
@VisibleForTesting
|
||||
void updateDisplayLayout(int displayId) {
|
||||
final DisplayLayout newDisplayLayout = mDisplayController.getDisplayLayout(displayId);
|
||||
if (newDisplayLayout == null) {
|
||||
Slog.w(TAG, "Failed to get new DisplayLayout.");
|
||||
return;
|
||||
}
|
||||
mDisplayAreaOrganizer.setDisplayLayout(newDisplayLayout);
|
||||
mTutorialHandler.onDisplayChanged(newDisplayLayout);
|
||||
mBackgroundPanelOrganizer.onDisplayChanged(newDisplayLayout);
|
||||
|
||||
@@ -123,9 +123,8 @@ public class OneHandedDisplayAreaOrganizer extends DisplayAreaOrganizer {
|
||||
OneHandedBackgroundPanelOrganizer oneHandedBackgroundGradientOrganizer,
|
||||
ShellExecutor mainExecutor) {
|
||||
super(mainExecutor);
|
||||
mDisplayLayout.set(displayLayout);
|
||||
setDisplayLayout(displayLayout);
|
||||
mOneHandedSettingsUtil = oneHandedSettingsUtil;
|
||||
updateDisplayBounds();
|
||||
mAnimationController = animationController;
|
||||
final int animationDurationConfig = context.getResources().getInteger(
|
||||
R.integer.config_one_handed_translate_animation_duration);
|
||||
@@ -282,6 +281,7 @@ public class OneHandedDisplayAreaOrganizer extends DisplayAreaOrganizer {
|
||||
@VisibleForTesting
|
||||
void setDisplayLayout(@NonNull DisplayLayout displayLayout) {
|
||||
mDisplayLayout.set(displayLayout);
|
||||
updateDisplayBounds();
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
@@ -289,6 +289,7 @@ public class OneHandedDisplayAreaOrganizer extends DisplayAreaOrganizer {
|
||||
return mDisplayAreaTokenMap;
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
void updateDisplayBounds() {
|
||||
mDefaultDisplayBounds.set(0, 0, mDisplayLayout.width(), mDisplayLayout.height());
|
||||
mLastVisualDisplayBounds.set(mDefaultDisplayBounds);
|
||||
|
||||
@@ -109,6 +109,7 @@ public class OneHandedControllerTest extends OneHandedTestCase {
|
||||
mSpiedTransitionState = spy(new OneHandedState());
|
||||
|
||||
when(mMockDisplayController.getDisplay(anyInt())).thenReturn(mDisplay);
|
||||
when(mMockDisplayController.getDisplayLayout(anyInt())).thenReturn(null);
|
||||
when(mMockDisplayAreaOrganizer.getDisplayAreaTokenMap()).thenReturn(new ArrayMap<>());
|
||||
when(mMockDisplayAreaOrganizer.isReady()).thenReturn(true);
|
||||
when(mMockBackgroundOrganizer.isRegistered()).thenReturn(true);
|
||||
@@ -152,6 +153,13 @@ public class OneHandedControllerTest extends OneHandedTestCase {
|
||||
assertThat(mSpiedTransitionState.getState()).isEqualTo(STATE_NONE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNullDisplayLayout() {
|
||||
mSpiedOneHandedController.updateDisplayLayout(0);
|
||||
|
||||
verify(mMockDisplayAreaOrganizer, never()).setDisplayLayout(any());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStartOneHandedShouldTriggerScheduleOffset() {
|
||||
mSpiedTransitionState.setState(STATE_NONE);
|
||||
|
||||
@@ -432,4 +432,11 @@ public class OneHandedDisplayAreaOrganizerTest extends OneHandedTestCase {
|
||||
|
||||
assertThat(testSpiedDisplayAreaOrganizer.isReady()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDisplayArea_setDisplayLayout_should_updateDisplayBounds() {
|
||||
mSpiedDisplayAreaOrganizer.setDisplayLayout(mDisplayLayout);
|
||||
|
||||
verify(mSpiedDisplayAreaOrganizer).updateDisplayBounds();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user