Merge "Add variable to check if button should apply keyboard insets" into tm-qpr-dev am: 926d04ec14

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/20129357

Change-Id: I894d3ff753468847ad3f0af8d560d82400aae343
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Brandon Dayauon
2022-10-08 12:50:53 +00:00
committed by Automerger Merge Worker
2 changed files with 17 additions and 1 deletions
@@ -799,6 +799,17 @@ public abstract class BaseAllAppsContainerView<T extends Context & ActivityConte
return mActivityContext.getDeviceProfile().isTablet ? mBottomSheetBackground : this;
}
/**
* Sets whether the view or its children should react to the window inset.
* Used for when exiting all apps -> workspace and determines if window inset
* should be applied.. ex) the work mode switch.
*/
public void setApplyWindowInset(boolean shouldApplyWindowInset) {
if (mWorkManager.getWorkModeSwitch() != null) {
mWorkManager.getWorkModeSwitch().setApplyWindowInset(shouldApplyWindowInset);
}
}
/** Holds a {@link BaseAllAppsAdapter} and related fields. */
public class AdapterHolder {
public static final int MAIN = 0;
@@ -52,6 +52,7 @@ public class WorkModeSwitch extends Button implements Insettable, View.OnClickLi
private int mFlags;
private boolean mWorkEnabled;
private boolean mOnWorkTab;
private boolean mApplyWindowInset;
public WorkModeSwitch(Context context) {
this(context, null, 0);
@@ -168,7 +169,7 @@ public class WorkModeSwitch extends Button implements Insettable, View.OnClickLi
@Override
public WindowInsets onApplyWindowInsets(WindowInsets insets) {
if (!Utilities.ATLEAST_R) {
if (!Utilities.ATLEAST_R || !mApplyWindowInset) {
return insets;
}
if (insets.isVisible(WindowInsets.Type.ime())) {
@@ -197,4 +198,8 @@ public class WorkModeSwitch extends Button implements Insettable, View.OnClickLi
private void removeFlag(int flag) {
mFlags &= ~flag;
}
public void setApplyWindowInset(boolean applyWindowInset){
mApplyWindowInset = applyWindowInset;
}
}