Fix workUtilityView receiving touch for pause work apps button.

bug: 382501851
Test manually video:
before: https://drive.google.com/file/d/1I6av4cFoYex6QhzYAdlzJWCBwd2ilgzT/view?usp=sharing
after: https://drive.google.com/file/d/1hMDELNTqUvoI7oI-lw0sLifcGyIalbS_/view?usp=sharing
Flag: com.android.launcher3.work_scheduler_in_work_profile

Change-Id: I9dfead6deac7f3dbcb66c961bea4a1828f20478d
This commit is contained in:
Brandon Dayauon
2024-12-05 10:46:11 -08:00
parent c4a90de0e9
commit 8143b69cec
3 changed files with 9 additions and 2 deletions
@@ -148,7 +148,7 @@ public class WorkProfileManager extends UserProfileManager
if (getAH() != null) {
getAH().applyPadding();
}
mWorkUtilityView.setOnClickListener(this::onWorkFabClicked);
mWorkUtilityView.getWorkFAB().setOnClickListener(this::onWorkFabClicked);
return true;
}
/**
@@ -25,6 +25,7 @@ import android.content.Intent;
import android.graphics.Rect;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowInsets;
import android.widget.ImageButton;
@@ -82,6 +83,7 @@ public class WorkUtilityView extends LinearLayout implements Insettable,
// Threshold when user scrolls up/down to determine when should button extend/collapse
private final int mScrollThreshold;
private ValueAnimator mPauseFABAnim;
private View mWorkFAB;
private TextView mPauseText;
private ImageView mWorkIcon;
private ImageButton mSchedulerButton;
@@ -116,6 +118,7 @@ public class WorkUtilityView extends LinearLayout implements Insettable,
mPauseText = findViewById(R.id.pause_text);
mWorkIcon = findViewById(R.id.work_icon);
mWorkFAB = findViewById(R.id.work_mode_toggle);
mSchedulerButton = findViewById(R.id.work_scheduler);
setSelected(true);
KeyboardInsetAnimationCallback keyboardInsetAnimationCallback =
@@ -386,6 +389,10 @@ public class WorkUtilityView extends LinearLayout implements Insettable,
return mScrollThreshold;
}
public View getWorkFAB() {
return mWorkFAB;
}
public void updateStringFromCache(){
StringCache cache = mActivityContext.getStringCache();
if (cache != null) {
@@ -146,7 +146,7 @@ public class WorkProfileTest extends BaseLauncherActivityTest<Launcher> {
executeOnLauncher(l -> {
// Ensure updates are not deferred so notification happens when apps pause.
l.getAppsView().getAppsStore().disableDeferUpdates(DEFER_UPDATES_TEST);
l.getAppsView().getWorkManager().getWorkUtilityView().performClick();
l.getAppsView().getWorkManager().getWorkUtilityView().getWorkFAB().performClick();
});
waitForLauncherCondition("Work profile toggle OFF failed", launcher -> {