diff --git a/src/com/android/launcher3/allapps/BaseAllAppsAdapter.java b/src/com/android/launcher3/allapps/BaseAllAppsAdapter.java index a67a3624f8..98ca420eb9 100644 --- a/src/com/android/launcher3/allapps/BaseAllAppsAdapter.java +++ b/src/com/android/launcher3/allapps/BaseAllAppsAdapter.java @@ -300,7 +300,7 @@ public abstract class BaseAllAppsAdapter ex case VIEW_TYPE_PRIVATE_SPACE_HEADER: RelativeLayout psHeaderLayout = holder.itemView.findViewById( R.id.ps_header_layout); - mApps.getPrivateProfileManager().addPrivateSpaceHeaderViewElements(psHeaderLayout); + mApps.getPrivateProfileManager().bindPrivateSpaceHeaderViewElements(psHeaderLayout); AdapterItem adapterItem = mApps.getAdapterItems().get(position); int roundRegions = ROUND_TOP_LEFT | ROUND_TOP_RIGHT; if (mApps.getPrivateProfileManager().getCurrentState() == STATE_DISABLED) { diff --git a/src/com/android/launcher3/allapps/PrivateProfileManager.java b/src/com/android/launcher3/allapps/PrivateProfileManager.java index a620490e4e..b4a66d8fc7 100644 --- a/src/com/android/launcher3/allapps/PrivateProfileManager.java +++ b/src/com/android/launcher3/allapps/PrivateProfileManager.java @@ -196,23 +196,6 @@ public class PrivateProfileManager extends UserProfileManager { mAllApps.mAH.get(MAIN).mAdapter.notifyItemInserted(adapterItems.size() - 1); } - /** - * Disables quiet mode for Private Space User Profile. - * When called from search, a runnable is set and executed in the {@link #reset()} method, when - * Launcher receives update about profile availability. - * The runnable is only executed once, and reset after execution. - * In case the method is called again, before the previously set runnable was executed, - * the runnable will be updated. - */ - public void unlockPrivateProfile() { - setQuietMode(false); - } - - /** Enables quiet mode for Private Space User Profile. */ - void lockPrivateProfile() { - setQuietMode(true); - } - /** Whether private profile should be hidden on Launcher. */ public boolean isPrivateSpaceHidden() { return getCurrentState() == STATE_DISABLED && SettingsCache.INSTANCE @@ -377,7 +360,7 @@ public class PrivateProfileManager extends UserProfileManager { } /** Add Private Space Header view elements based upon {@link UserProfileState} */ - public void addPrivateSpaceHeaderViewElements(RelativeLayout parent) { + public void bindPrivateSpaceHeaderViewElements(RelativeLayout parent) { mPSHeader = parent; if (mOnPSHeaderAdded != null) { MAIN_EXECUTOR.execute(mOnPSHeaderAdded); @@ -395,27 +378,27 @@ public class PrivateProfileManager extends UserProfileManager { //Add quietMode image and action for lock/unlock button ViewGroup lockButton = mPSHeader.findViewById(R.id.ps_lock_unlock_button); assert lockButton != null; - addLockButton(lockButton); + updateLockButton(lockButton); //Trigger lock/unlock action from header. - addHeaderOnClickListener(mPSHeader); + updateHeaderOnClickListener(mPSHeader); //Add image and action for private space settings button ImageButton settingsButton = mPSHeader.findViewById(R.id.ps_settings_button); assert settingsButton != null; - addPrivateSpaceSettingsButton(settingsButton); + updatePrivateSpaceSettingsButton(settingsButton); //Add image for private space transitioning view ImageView transitionView = parent.findViewById(R.id.ps_transition_image); assert transitionView != null; - addTransitionImage(transitionView); + updateTransitionImage(transitionView); } /** * Adds the quietModeButton and attach onClickListener for the header to animate different * states when clicked. */ - private void addLockButton(ViewGroup lockButton) { + private void updateLockButton(ViewGroup lockButton) { TextView lockText = lockButton.findViewById(R.id.lock_text); switch (getCurrentState()) { case STATE_ENABLED -> { @@ -434,7 +417,7 @@ public class PrivateProfileManager extends UserProfileManager { } } - private void addHeaderOnClickListener(RelativeLayout header) { + private void updateHeaderOnClickListener(RelativeLayout header) { if (getCurrentState() == STATE_DISABLED) { header.setOnClickListener(view -> lockingAction(/* lock */ false)); header.setClickable(true); @@ -452,14 +435,10 @@ public class PrivateProfileManager extends UserProfileManager { /** Sets the enablement of the profile when header or button is clicked. */ private void lockingAction(boolean lock) { logEvents(lock ? LAUNCHER_PRIVATE_SPACE_LOCK_TAP : LAUNCHER_PRIVATE_SPACE_UNLOCK_TAP); - if (lock) { - lockPrivateProfile(); - } else { - unlockPrivateProfile(); - } + setQuietMode(lock); } - private void addPrivateSpaceSettingsButton(ImageButton settingsButton) { + private void updatePrivateSpaceSettingsButton(ImageButton settingsButton) { if (getCurrentState() == STATE_ENABLED && isPrivateSpaceSettingsAvailable()) { settingsButton.setVisibility(VISIBLE); @@ -473,7 +452,7 @@ public class PrivateProfileManager extends UserProfileManager { } } - private void addTransitionImage(ImageView transitionImage) { + private void updateTransitionImage(ImageView transitionImage) { if (getCurrentState() == STATE_TRANSITION) { transitionImage.setVisibility(VISIBLE); } else { diff --git a/tests/src/com/android/launcher3/allapps/PrivateProfileManagerTest.java b/tests/src/com/android/launcher3/allapps/PrivateProfileManagerTest.java index 4cd2a0755a..5c50e9788b 100644 --- a/tests/src/com/android/launcher3/allapps/PrivateProfileManagerTest.java +++ b/tests/src/com/android/launcher3/allapps/PrivateProfileManagerTest.java @@ -130,7 +130,7 @@ public class PrivateProfileManagerTest { public void lockPrivateProfile_requestsQuietModeAsTrue() throws Exception { when(mAllAppsStore.hasModelFlag(FLAG_PRIVATE_PROFILE_QUIET_MODE_ENABLED)).thenReturn(false); - mPrivateProfileManager.lockPrivateProfile(); + mPrivateProfileManager.setQuietMode(true /* lock */); awaitTasksCompleted(); Mockito.verify(mUserManager).requestQuietModeEnabled(true, PRIVATE_HANDLE); @@ -140,7 +140,7 @@ public class PrivateProfileManagerTest { public void unlockPrivateProfile_requestsQuietModeAsFalse() throws Exception { when(mAllAppsStore.hasModelFlag(FLAG_PRIVATE_PROFILE_QUIET_MODE_ENABLED)).thenReturn(true); - mPrivateProfileManager.unlockPrivateProfile(); + mPrivateProfileManager.setQuietMode(false /* unlock */); awaitTasksCompleted(); Mockito.verify(mUserManager).requestQuietModeEnabled(false, PRIVATE_HANDLE); @@ -176,7 +176,7 @@ public class PrivateProfileManagerTest { doNothing().when(privateProfileManager).expandPrivateSpace(); when(privateProfileManager.getCurrentState()).thenReturn(STATE_DISABLED); - privateProfileManager.unlockPrivateProfile(); + privateProfileManager.setQuietMode(false /* unlock */); privateProfileManager.reset(); awaitTasksCompleted(); @@ -194,7 +194,7 @@ public class PrivateProfileManagerTest { doNothing().when(privateProfileManager).expandPrivateSpace(); when(privateProfileManager.getCurrentState()).thenReturn(STATE_ENABLED); - privateProfileManager.lockPrivateProfile(); + privateProfileManager.setQuietMode(true /* lock */); privateProfileManager.reset(); awaitTasksCompleted(); diff --git a/tests/src/com/android/launcher3/allapps/PrivateSpaceHeaderViewTest.java b/tests/src/com/android/launcher3/allapps/PrivateSpaceHeaderViewTest.java index 512b2acc10..eac7f63fb9 100644 --- a/tests/src/com/android/launcher3/allapps/PrivateSpaceHeaderViewTest.java +++ b/tests/src/com/android/launcher3/allapps/PrivateSpaceHeaderViewTest.java @@ -133,7 +133,7 @@ public class PrivateSpaceHeaderViewTest { Bitmap unlockButton = getBitmap(mContext.getDrawable(R.drawable.ic_lock)); PrivateProfileManager privateProfileManager = spy(mPrivateProfileManager); when(privateProfileManager.getCurrentState()).thenReturn(STATE_DISABLED); - privateProfileManager.addPrivateSpaceHeaderViewElements(mPsHeaderLayout); + privateProfileManager.bindPrivateSpaceHeaderViewElements(mPsHeaderLayout); awaitTasksCompleted(); int totalContainerHeaderView = 0; @@ -168,7 +168,7 @@ public class PrivateSpaceHeaderViewTest { PrivateProfileManager privateProfileManager = spy(mPrivateProfileManager); when(privateProfileManager.getCurrentState()).thenReturn(STATE_ENABLED); when(privateProfileManager.isPrivateSpaceSettingsAvailable()).thenReturn(true); - privateProfileManager.addPrivateSpaceHeaderViewElements(mPsHeaderLayout); + privateProfileManager.bindPrivateSpaceHeaderViewElements(mPsHeaderLayout); awaitTasksCompleted(); int totalContainerHeaderView = 0; @@ -210,7 +210,7 @@ public class PrivateSpaceHeaderViewTest { PrivateProfileManager privateProfileManager = spy(mPrivateProfileManager); when(privateProfileManager.getCurrentState()).thenReturn(STATE_ENABLED); when(privateProfileManager.isPrivateSpaceSettingsAvailable()).thenReturn(false); - privateProfileManager.addPrivateSpaceHeaderViewElements(mPsHeaderLayout); + privateProfileManager.bindPrivateSpaceHeaderViewElements(mPsHeaderLayout); awaitTasksCompleted(); int totalContainerHeaderView = 0; @@ -248,7 +248,7 @@ public class PrivateSpaceHeaderViewTest { Bitmap transitionImage = getBitmap(mContext.getDrawable(R.drawable.bg_ps_transition_image)); PrivateProfileManager privateProfileManager = spy(mPrivateProfileManager); when(privateProfileManager.getCurrentState()).thenReturn(STATE_TRANSITION); - privateProfileManager.addPrivateSpaceHeaderViewElements(mPsHeaderLayout); + privateProfileManager.bindPrivateSpaceHeaderViewElements(mPsHeaderLayout); awaitTasksCompleted(); int totalContainerHeaderView = 0;