Merge "[Work profile] Fix flickering work mode switch" into sc-v2-dev am: 3aae069e2b

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

Change-Id: I0f5f794e716ab41505c3feb5536cb3be0b7e0095
This commit is contained in:
Samuel Fufa
2021-10-07 23:46:31 +00:00
committed by Automerger Merge Worker
3 changed files with 7 additions and 5 deletions

View File

@@ -491,6 +491,7 @@ public class AllAppsContainerView extends SpringRelativeLayout implements DragSo
mViewPager.initParentViews(this);
mViewPager.getPageIndicator().setOnActivePageChangedListener(this);
mWorkManager.attachWorkModeSwitch();
mWorkManager.getWorkModeSwitch().post(() -> mAH[AdapterHolder.WORK].applyPadding());
} else {
mWorkManager.detachWorkModeSwitch();
mViewPager = null;

View File

@@ -113,10 +113,12 @@ public class WorkModeSwitch extends Button implements Insettable, View.OnClickLi
/**
* Sets the enabled or disabled state of the button
*/
public void updateCurrentState(boolean active) {
public void updateCurrentState(boolean isEnabled) {
removeFlag(FLAG_PROFILE_TOGGLE_ONGOING);
mWorkEnabled = active;
updateVisibility();
if (mWorkEnabled != isEnabled) {
mWorkEnabled = isEnabled;
updateVisibility();
}
}
@@ -125,7 +127,6 @@ public class WorkModeSwitch extends Button implements Insettable, View.OnClickLi
if (mWorkEnabled && mOnWorkTab) {
setFlag(FLAG_FADE_ONGOING);
setVisibility(VISIBLE);
setAlpha(0);
animate().alpha(1).withEndAction(() -> removeFlag(FLAG_FADE_ONGOING)).start();
} else if (getVisibility() != GONE) {
setFlag(FLAG_FADE_ONGOING);

View File

@@ -36,7 +36,7 @@ public class UserManagerState {
* Initialises the state values for all users
*/
public void init(UserCache userCache, UserManager userManager) {
for (UserHandle user : userCache.getUserProfiles()) {
for (UserHandle user : userManager.getUserProfiles()) {
long serialNo = userCache.getSerialNumberForUser(user);
boolean isUserQuiet = userManager.isQuietModeEnabled(user);
allUsers.put(serialNo, user);