Merge "Ime in gestural mode will have ime switcher and down arrow" into qt-dev
am: 9ad8aa3ad6
Change-Id: Iff99ec432a7937ff0521a2329fe9349bd293608a
This commit is contained in:
@@ -37,16 +37,10 @@
|
|||||||
android:paddingStart="@dimen/navigation_key_padding"
|
android:paddingStart="@dimen/navigation_key_padding"
|
||||||
android:paddingEnd="@dimen/navigation_key_padding"
|
android:paddingEnd="@dimen/navigation_key_padding"
|
||||||
/>
|
/>
|
||||||
<com.android.systemui.statusbar.policy.KeyButtonView
|
<include layout="@layout/ime_switcher"
|
||||||
android:id="@+id/ime_switcher"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_weight="0"
|
|
||||||
android:scaleType="center"
|
|
||||||
android:visibility="invisible"
|
android:visibility="invisible"
|
||||||
android:contentDescription="@string/accessibility_ime_switch_button"
|
|
||||||
android:paddingStart="@dimen/navigation_key_padding"
|
|
||||||
android:paddingEnd="@dimen/navigation_key_padding"
|
|
||||||
/>
|
/>
|
||||||
<com.android.systemui.statusbar.policy.KeyButtonView
|
<com.android.systemui.statusbar.policy.KeyButtonView
|
||||||
android:id="@+id/rotate_suggestion"
|
android:id="@+id/rotate_suggestion"
|
||||||
|
|||||||
@@ -21,5 +21,7 @@
|
|||||||
android:layout_width="@dimen/navigation_home_handle_width"
|
android:layout_width="@dimen/navigation_home_handle_width"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_weight="0"
|
android:layout_weight="0"
|
||||||
|
android:paddingStart="@dimen/navigation_key_padding"
|
||||||
|
android:paddingEnd="@dimen/navigation_key_padding"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
|||||||
28
packages/SystemUI/res/layout/ime_switcher.xml
Normal file
28
packages/SystemUI/res/layout/ime_switcher.xml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
~ Copyright (C) 2019 The Android Open Source Project
|
||||||
|
~
|
||||||
|
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
~ you may not use this file except in compliance with the License.
|
||||||
|
~ You may obtain a copy of the License at
|
||||||
|
~
|
||||||
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
~
|
||||||
|
~ Unless required by applicable law or agreed to in writing, software
|
||||||
|
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
~ See the License for the specific language governing permissions and
|
||||||
|
~ limitations under the License
|
||||||
|
-->
|
||||||
|
|
||||||
|
<com.android.systemui.statusbar.policy.KeyButtonView
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:id="@+id/ime_switcher"
|
||||||
|
android:layout_width="@dimen/navigation_key_width"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_weight="0"
|
||||||
|
android:contentDescription="@string/accessibility_ime_switch_button"
|
||||||
|
android:scaleType="center"
|
||||||
|
android:paddingStart="@dimen/navigation_key_padding"
|
||||||
|
android:paddingEnd="@dimen/navigation_key_padding"
|
||||||
|
/>
|
||||||
@@ -35,13 +35,13 @@
|
|||||||
android:visibility="invisible"
|
android:visibility="invisible"
|
||||||
android:contentDescription="@string/accessibility_menu"
|
android:contentDescription="@string/accessibility_menu"
|
||||||
/>
|
/>
|
||||||
<com.android.systemui.statusbar.policy.KeyButtonView
|
<include layout="@layout/ime_switcher"
|
||||||
android:id="@+id/ime_switcher"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:visibility="invisible"
|
|
||||||
android:contentDescription="@string/accessibility_ime_switch_button"
|
|
||||||
android:scaleType="centerInside"
|
android:scaleType="centerInside"
|
||||||
|
android:visibility="invisible"
|
||||||
|
android:paddingStart="0dp"
|
||||||
|
android:paddingEnd="0dp"
|
||||||
/>
|
/>
|
||||||
<com.android.systemui.statusbar.policy.KeyButtonView
|
<com.android.systemui.statusbar.policy.KeyButtonView
|
||||||
android:id="@+id/rotate_suggestion"
|
android:id="@+id/rotate_suggestion"
|
||||||
|
|||||||
@@ -330,7 +330,7 @@
|
|||||||
<!-- Nav bar button default ordering/layout -->
|
<!-- Nav bar button default ordering/layout -->
|
||||||
<string name="config_navBarLayout" translatable="false">left[.5W],back[1WC];home;recent[1WC],right[.5W]</string>
|
<string name="config_navBarLayout" translatable="false">left[.5W],back[1WC];home;recent[1WC],right[.5W]</string>
|
||||||
<string name="config_navBarLayoutQuickstep" translatable="false">back[1.7WC];home;contextual[1.7WC]</string>
|
<string name="config_navBarLayoutQuickstep" translatable="false">back[1.7WC];home;contextual[1.7WC]</string>
|
||||||
<string name="config_navBarLayoutHandle" translatable="false">";home_handle;"</string>
|
<string name="config_navBarLayoutHandle" translatable="false">back[1.7WC];home_handle;ime_switcher[1.7WC]</string>
|
||||||
|
|
||||||
<bool name="quick_settings_show_full_alarm">false</bool>
|
<bool name="quick_settings_show_full_alarm">false</bool>
|
||||||
|
|
||||||
|
|||||||
@@ -51,6 +51,9 @@ public class ContextualButton extends ButtonDispatcher {
|
|||||||
* Reload the drawable from resource id, should reapply the previous dark intensity.
|
* Reload the drawable from resource id, should reapply the previous dark intensity.
|
||||||
*/
|
*/
|
||||||
public void updateIcon() {
|
public void updateIcon() {
|
||||||
|
if (getCurrentView() == null || !getCurrentView().isAttachedToWindow()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
final KeyButtonDrawable currentDrawable = getImageDrawable();
|
final KeyButtonDrawable currentDrawable = getImageDrawable();
|
||||||
KeyButtonDrawable drawable = getNewDrawable();
|
KeyButtonDrawable drawable = getNewDrawable();
|
||||||
if (currentDrawable != null) {
|
if (currentDrawable != null) {
|
||||||
|
|||||||
@@ -112,23 +112,24 @@ public class ContextualButtonGroup extends ButtonDispatcher {
|
|||||||
* their icons for their buttons.
|
* their icons for their buttons.
|
||||||
*/
|
*/
|
||||||
public void updateIcons() {
|
public void updateIcons() {
|
||||||
if (getCurrentView() == null || !getCurrentView().isAttachedToWindow()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
for (ButtonData data : mButtonData) {
|
for (ButtonData data : mButtonData) {
|
||||||
data.button.updateIcon();
|
data.button.updateIcon();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void dump(PrintWriter pw) {
|
public void dump(PrintWriter pw) {
|
||||||
|
View view = getCurrentView();
|
||||||
pw.println("ContextualButtonGroup {");
|
pw.println("ContextualButtonGroup {");
|
||||||
pw.println(" getVisibleContextButton(): " + getVisibleContextButton());
|
pw.println(" getVisibleContextButton(): " + getVisibleContextButton());
|
||||||
pw.println(" isVisible(): " + isVisible());
|
pw.println(" isVisible(): " + isVisible());
|
||||||
|
pw.println(" attached(): " + (view != null && view.isAttachedToWindow()));
|
||||||
pw.println(" mButtonData [ ");
|
pw.println(" mButtonData [ ");
|
||||||
for (int i = mButtonData.size() - 1; i >= 0; --i) {
|
for (int i = mButtonData.size() - 1; i >= 0; --i) {
|
||||||
final ButtonData data = mButtonData.get(i);
|
final ButtonData data = mButtonData.get(i);
|
||||||
|
view = data.button.getCurrentView();
|
||||||
pw.println(" " + i + ": markedVisible=" + data.markedVisible
|
pw.println(" " + i + ": markedVisible=" + data.markedVisible
|
||||||
+ " visible=" + data.button.getVisibility()
|
+ " visible=" + data.button.getVisibility()
|
||||||
|
+ " attached=" + (view != null && view.isAttachedToWindow())
|
||||||
+ " alpha=" + data.button.getAlpha());
|
+ " alpha=" + data.button.getAlpha());
|
||||||
}
|
}
|
||||||
pw.println(" ]");
|
pw.println(" ]");
|
||||||
|
|||||||
@@ -202,7 +202,9 @@ public class NavigationBarFragment extends LifecycleFragment implements Callback
|
|||||||
@Override
|
@Override
|
||||||
public void onBackButtonAlphaChanged(float alpha, boolean animate) {
|
public void onBackButtonAlphaChanged(float alpha, boolean animate) {
|
||||||
final ButtonDispatcher backButton = mNavigationBarView.getBackButton();
|
final ButtonDispatcher backButton = mNavigationBarView.getBackButton();
|
||||||
if (QuickStepContract.isGesturalMode(getContext())) {
|
final boolean useAltBack =
|
||||||
|
(mNavigationIconHints & StatusBarManager.NAVIGATION_HINT_BACK_ALT) != 0;
|
||||||
|
if (QuickStepContract.isGesturalMode(getContext()) && !useAltBack) {
|
||||||
// If property was changed to hide/show back button, going home will trigger
|
// If property was changed to hide/show back button, going home will trigger
|
||||||
// launcher to to change the back button alpha to reflect property change
|
// launcher to to change the back button alpha to reflect property change
|
||||||
backButton.setVisibility(View.GONE);
|
backButton.setVisibility(View.GONE);
|
||||||
|
|||||||
@@ -68,6 +68,7 @@ public class NavigationBarInflaterView extends FrameLayout
|
|||||||
public static final String LEFT = "left";
|
public static final String LEFT = "left";
|
||||||
public static final String RIGHT = "right";
|
public static final String RIGHT = "right";
|
||||||
public static final String CONTEXTUAL = "contextual";
|
public static final String CONTEXTUAL = "contextual";
|
||||||
|
public static final String IME_SWITCHER = "ime_switcher";
|
||||||
|
|
||||||
public static final String GRAVITY_SEPARATOR = ";";
|
public static final String GRAVITY_SEPARATOR = ";";
|
||||||
public static final String BUTTON_SEPARATOR = ",";
|
public static final String BUTTON_SEPARATOR = ",";
|
||||||
@@ -164,17 +165,21 @@ public class NavigationBarInflaterView extends FrameLayout
|
|||||||
@Override
|
@Override
|
||||||
public void onTuningChanged(String key, String newValue) {
|
public void onTuningChanged(String key, String newValue) {
|
||||||
if (NAV_BAR_VIEWS.equals(key)) {
|
if (NAV_BAR_VIEWS.equals(key)) {
|
||||||
if (!Objects.equals(mCurrentLayout, newValue)) {
|
setNavigationBarLayout(newValue);
|
||||||
mUsingCustomLayout = newValue != null;
|
|
||||||
clearViews();
|
|
||||||
inflateLayout(newValue);
|
|
||||||
}
|
|
||||||
} else if (NAV_BAR_LEFT.equals(key) || NAV_BAR_RIGHT.equals(key)) {
|
} else if (NAV_BAR_LEFT.equals(key) || NAV_BAR_RIGHT.equals(key)) {
|
||||||
clearViews();
|
clearViews();
|
||||||
inflateLayout(mCurrentLayout);
|
inflateLayout(mCurrentLayout);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setNavigationBarLayout(String layoutValue) {
|
||||||
|
if (!Objects.equals(mCurrentLayout, layoutValue)) {
|
||||||
|
mUsingCustomLayout = layoutValue != null;
|
||||||
|
clearViews();
|
||||||
|
inflateLayout(layoutValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void onLikelyDefaultLayoutChange() {
|
public void onLikelyDefaultLayoutChange() {
|
||||||
// Don't override custom layouts
|
// Don't override custom layouts
|
||||||
if (mUsingCustomLayout) return;
|
if (mUsingCustomLayout) return;
|
||||||
@@ -401,6 +406,8 @@ public class NavigationBarInflaterView extends FrameLayout
|
|||||||
v = inflater.inflate(R.layout.contextual, parent, false);
|
v = inflater.inflate(R.layout.contextual, parent, false);
|
||||||
} else if (HOME_HANDLE.equals(button)) {
|
} else if (HOME_HANDLE.equals(button)) {
|
||||||
v = inflater.inflate(R.layout.home_handle, parent, false);
|
v = inflater.inflate(R.layout.home_handle, parent, false);
|
||||||
|
} else if (IME_SWITCHER.equals(button)) {
|
||||||
|
v = inflater.inflate(R.layout.ime_switcher, parent, false);
|
||||||
} else if (button.startsWith(KEY)) {
|
} else if (button.startsWith(KEY)) {
|
||||||
String uri = extractImage(button);
|
String uri = extractImage(button);
|
||||||
int code = extractKeycode(button);
|
int code = extractKeycode(button);
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ import static android.view.WindowManagerPolicyConstants.NAV_BAR_INVALID;
|
|||||||
|
|
||||||
import static com.android.systemui.shared.system.NavigationBarCompat.FLAG_SHOW_OVERVIEW_BUTTON;
|
import static com.android.systemui.shared.system.NavigationBarCompat.FLAG_SHOW_OVERVIEW_BUTTON;
|
||||||
import static com.android.systemui.statusbar.phone.BarTransitions.MODE_OPAQUE;
|
import static com.android.systemui.statusbar.phone.BarTransitions.MODE_OPAQUE;
|
||||||
import static com.android.systemui.statusbar.phone.NavigationBarInflaterView.NAV_BAR_VIEWS;
|
|
||||||
|
|
||||||
import android.animation.LayoutTransition;
|
import android.animation.LayoutTransition;
|
||||||
import android.animation.LayoutTransition.TransitionListener;
|
import android.animation.LayoutTransition.TransitionListener;
|
||||||
@@ -35,6 +34,7 @@ import android.content.BroadcastReceiver;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
|
import android.content.pm.ParceledListSlice;
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
import android.graphics.Canvas;
|
import android.graphics.Canvas;
|
||||||
import android.graphics.Point;
|
import android.graphics.Point;
|
||||||
@@ -48,6 +48,8 @@ import android.util.Log;
|
|||||||
import android.util.Slog;
|
import android.util.Slog;
|
||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
import android.view.Display;
|
import android.view.Display;
|
||||||
|
import android.view.IPinnedStackController;
|
||||||
|
import android.view.IPinnedStackListener;
|
||||||
import android.view.MotionEvent;
|
import android.view.MotionEvent;
|
||||||
import android.view.Surface;
|
import android.view.Surface;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@@ -133,6 +135,7 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav
|
|||||||
private boolean mUseCarModeUi = false;
|
private boolean mUseCarModeUi = false;
|
||||||
private boolean mInCarMode = false;
|
private boolean mInCarMode = false;
|
||||||
private boolean mDockedStackExists;
|
private boolean mDockedStackExists;
|
||||||
|
private boolean mImeVisible;
|
||||||
|
|
||||||
private final SparseArray<ButtonDispatcher> mButtonDispatchers = new SparseArray<>();
|
private final SparseArray<ButtonDispatcher> mButtonDispatchers = new SparseArray<>();
|
||||||
private final ContextualButtonGroup mContextualButtonGroup;
|
private final ContextualButtonGroup mContextualButtonGroup;
|
||||||
@@ -234,6 +237,45 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
private final IPinnedStackListener.Stub mImeChangedListener = new IPinnedStackListener.Stub() {
|
||||||
|
@Override
|
||||||
|
public void onListenerRegistered(IPinnedStackController controller) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onImeVisibilityChanged(boolean imeVisible, int imeHeight) {
|
||||||
|
post(() -> {
|
||||||
|
// TODO remove this and do below when mNavigationIconHints changes
|
||||||
|
if (imeVisible) {
|
||||||
|
getBackButton().setVisibility(VISIBLE);
|
||||||
|
reloadNavIcons();
|
||||||
|
} else {
|
||||||
|
getImeSwitchButton().setVisibility(GONE);
|
||||||
|
}
|
||||||
|
mImeVisible = imeVisible;
|
||||||
|
updateWindowTouchable();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onShelfVisibilityChanged(boolean shelfVisible, int shelfHeight) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onMinimizedStateChanged(boolean isMinimized) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onMovementBoundsChanged(Rect insetBounds, Rect normalBounds,
|
||||||
|
Rect animatingBounds, boolean fromImeAdjustment, boolean fromShelfAdjustment,
|
||||||
|
int displayRotation) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onActionsChanged(ParceledListSlice actions) {
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
private BroadcastReceiver mOverlaysChangedReceiver = new BroadcastReceiver() {
|
private BroadcastReceiver mOverlaysChangedReceiver = new BroadcastReceiver() {
|
||||||
@Override
|
@Override
|
||||||
public void onReceive(Context context, Intent intent) {
|
public void onReceive(Context context, Intent intent) {
|
||||||
@@ -472,6 +514,11 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (QuickStepContract.isGesturalMode(getContext())) {
|
||||||
|
drawable.setRotation(degrees);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Animate the back button's rotation to the new degrees and only in portrait move up the
|
// Animate the back button's rotation to the new degrees and only in portrait move up the
|
||||||
// back button to line up with the other buttons
|
// back button to line up with the other buttons
|
||||||
float targetY = !mOverviewProxyService.shouldShowSwipeUpUI() && !mIsVertical && useAltBack
|
float targetY = !mOverviewProxyService.shouldShowSwipeUpUI() && !mIsVertical && useAltBack
|
||||||
@@ -574,8 +621,8 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav
|
|||||||
// Always disable recents when alternate car mode UI is active and for secondary displays.
|
// Always disable recents when alternate car mode UI is active and for secondary displays.
|
||||||
boolean disableRecent = isRecentsButtonDisabled();
|
boolean disableRecent = isRecentsButtonDisabled();
|
||||||
|
|
||||||
boolean disableBack = QuickStepContract.isGesturalMode(getContext())
|
boolean disableBack = !useAltBack && (QuickStepContract.isGesturalMode(getContext())
|
||||||
|| (((mDisabledFlags & View.STATUS_BAR_DISABLE_BACK) != 0) && !useAltBack);
|
|| ((mDisabledFlags & View.STATUS_BAR_DISABLE_BACK) != 0));
|
||||||
|
|
||||||
// When screen pinning, don't hide back and home when connected service or back and
|
// When screen pinning, don't hide back and home when connected service or back and
|
||||||
// recents buttons when disconnected from launcher service in screen pinning mode,
|
// recents buttons when disconnected from launcher service in screen pinning mode,
|
||||||
@@ -715,6 +762,11 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav
|
|||||||
setWindowFlag(WindowManager.LayoutParams.FLAG_SLIPPERY, slippery);
|
setWindowFlag(WindowManager.LayoutParams.FLAG_SLIPPERY, slippery);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void updateWindowTouchable() {
|
||||||
|
boolean touchable = mImeVisible || !QuickStepContract.isGesturalMode(getContext());
|
||||||
|
setWindowFlag(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE, !touchable);
|
||||||
|
}
|
||||||
|
|
||||||
private void setWindowFlag(int flags, boolean enable) {
|
private void setWindowFlag(int flags, boolean enable) {
|
||||||
final ViewGroup navbarView = ((ViewGroup) getParent());
|
final ViewGroup navbarView = ((ViewGroup) getParent());
|
||||||
if (navbarView == null) {
|
if (navbarView == null) {
|
||||||
@@ -734,7 +786,7 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void onOverlaysChanged() {
|
private void onOverlaysChanged() {
|
||||||
mNavigationInflaterView.onTuningChanged(NAV_BAR_VIEWS, null);
|
mNavigationInflaterView.setNavigationBarLayout(null);
|
||||||
|
|
||||||
// Color adaption is tied with showing home handle, only avaliable if visible
|
// Color adaption is tied with showing home handle, only avaliable if visible
|
||||||
if (QuickStepContract.isGesturalMode(getContext())) {
|
if (QuickStepContract.isGesturalMode(getContext())) {
|
||||||
@@ -1062,6 +1114,15 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav
|
|||||||
filter.addDataScheme("package");
|
filter.addDataScheme("package");
|
||||||
getContext().registerReceiver(mOverlaysChangedReceiver, filter);
|
getContext().registerReceiver(mOverlaysChangedReceiver, filter);
|
||||||
mEdgeBackGestureHandler.onNavBarAttached();
|
mEdgeBackGestureHandler.onNavBarAttached();
|
||||||
|
|
||||||
|
if (QuickStepContract.isGesturalMode(getContext())) {
|
||||||
|
try {
|
||||||
|
WindowManagerWrapper.getInstance().addPinnedStackListener(mImeChangedListener);
|
||||||
|
} catch (RemoteException e) {
|
||||||
|
Log.e(TAG, "Failed to register pinned stack listener", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
updateWindowTouchable();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -1078,6 +1139,8 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav
|
|||||||
|
|
||||||
getContext().unregisterReceiver(mOverlaysChangedReceiver);
|
getContext().unregisterReceiver(mOverlaysChangedReceiver);
|
||||||
mEdgeBackGestureHandler.onNavBarDetached();
|
mEdgeBackGestureHandler.onNavBarDetached();
|
||||||
|
|
||||||
|
WindowManagerWrapper.getInstance().removePinnedStackListener(mImeChangedListener);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setUpSwipeUpOnboarding(boolean connectedToOverviewProxy) {
|
private void setUpSwipeUpOnboarding(boolean connectedToOverviewProxy) {
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ import com.android.systemui.SysuiTestCase;
|
|||||||
import com.android.systemui.statusbar.policy.KeyButtonDrawable;
|
import com.android.systemui.statusbar.policy.KeyButtonDrawable;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
|
import org.junit.Ignore;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
|
|
||||||
@@ -173,6 +174,7 @@ public class NavigationBarContextTest extends SysuiTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Ignore("b/112934365")
|
||||||
public void testUpdateIconsDarkIntensity() throws Exception {
|
public void testUpdateIconsDarkIntensity() throws Exception {
|
||||||
final int unusedColor = 0;
|
final int unusedColor = 0;
|
||||||
final Drawable d = mock(Drawable.class);
|
final Drawable d = mock(Drawable.class);
|
||||||
|
|||||||
@@ -16,7 +16,6 @@
|
|||||||
|
|
||||||
package com.android.server.wm;
|
package com.android.server.wm;
|
||||||
|
|
||||||
import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME;
|
|
||||||
import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD;
|
import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD;
|
||||||
import static android.view.WindowManagerPolicyConstants.NAV_BAR_BOTTOM;
|
import static android.view.WindowManagerPolicyConstants.NAV_BAR_BOTTOM;
|
||||||
import static android.view.WindowManagerPolicyConstants.NAV_BAR_LEFT;
|
import static android.view.WindowManagerPolicyConstants.NAV_BAR_LEFT;
|
||||||
@@ -91,7 +90,7 @@ public class NavigationBarExperiments {
|
|||||||
* @param w the window that is being offset by experiment
|
* @param w the window that is being offset by experiment
|
||||||
*/
|
*/
|
||||||
public void offsetWindowFramesForNavBar(int navPosition, WindowState w) {
|
public void offsetWindowFramesForNavBar(int navPosition, WindowState w) {
|
||||||
if (w.getAttrs().type != TYPE_INPUT_METHOD && w.getActivityType() != ACTIVITY_TYPE_HOME) {
|
if (w.getAttrs().type != TYPE_INPUT_METHOD) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -102,6 +101,7 @@ public class NavigationBarExperiments {
|
|||||||
int navHeight = getNavigationBarFrameHeight() - getNavigationBarHeight();
|
int navHeight = getNavigationBarFrameHeight() - getNavigationBarHeight();
|
||||||
if (navHeight > 0) {
|
if (navHeight > 0) {
|
||||||
cf.bottom -= navHeight;
|
cf.bottom -= navHeight;
|
||||||
|
windowFrames.mStableFrame.bottom -= navHeight;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case NAV_BAR_LEFT:
|
case NAV_BAR_LEFT:
|
||||||
|
|||||||
Reference in New Issue
Block a user