Loading packages/SystemUI/shared/src/com/android/systemui/shared/recents/IOverviewProxy.aidl +2 −1 Original line number Original line Diff line number Diff line Loading @@ -46,8 +46,9 @@ oneway interface IOverviewProxy { /** /** * Sent when device assistant changes its default assistant whether it is available or not. * Sent when device assistant changes its default assistant whether it is available or not. * @param longPressHomeEnabled if 3-button nav assistant can be invoked or not */ */ void onAssistantAvailable(boolean available) = 13; void onAssistantAvailable(boolean available, boolean longPressHomeEnabled) = 13; /** /** * Sent when the assistant changes how visible it is to the user. * Sent when the assistant changes how visible it is to the user. Loading packages/SystemUI/src/com/android/systemui/navigationbar/NavBarHelper.java +6 −5 Original line number Original line Diff line number Diff line Loading @@ -185,7 +185,7 @@ public final class NavBarHelper implements public void registerNavTaskStateUpdater(NavbarTaskbarStateUpdater listener) { public void registerNavTaskStateUpdater(NavbarTaskbarStateUpdater listener) { mA11yEventListeners.add(listener); mA11yEventListeners.add(listener); listener.updateAccessibilityServicesState(); listener.updateAccessibilityServicesState(); listener.updateAssistantAvailable(mAssistantAvailable); listener.updateAssistantAvailable(mAssistantAvailable, mLongPressHomeEnabled); } } public void removeNavTaskStateUpdater(NavbarTaskbarStateUpdater listener) { public void removeNavTaskStateUpdater(NavbarTaskbarStateUpdater listener) { Loading @@ -198,9 +198,10 @@ public final class NavBarHelper implements } } } } private void dispatchAssistantEventUpdate(boolean assistantAvailable) { private void dispatchAssistantEventUpdate(boolean assistantAvailable, boolean longPressHomeEnabled) { for (NavbarTaskbarStateUpdater listener : mA11yEventListeners) { for (NavbarTaskbarStateUpdater listener : mA11yEventListeners) { listener.updateAssistantAvailable(assistantAvailable); listener.updateAssistantAvailable(assistantAvailable, longPressHomeEnabled); } } } } Loading Loading @@ -311,7 +312,7 @@ public final class NavBarHelper implements mAssistantAvailable = assistantAvailableForUser mAssistantAvailable = assistantAvailableForUser && mAssistantTouchGestureEnabled && mAssistantTouchGestureEnabled && QuickStepContract.isGesturalMode(mNavBarMode); && QuickStepContract.isGesturalMode(mNavBarMode); dispatchAssistantEventUpdate(mAssistantAvailable); dispatchAssistantEventUpdate(mAssistantAvailable, mLongPressHomeEnabled); } } public boolean getLongPressHomeEnabled() { public boolean getLongPressHomeEnabled() { Loading Loading @@ -366,7 +367,7 @@ public final class NavBarHelper implements */ */ public interface NavbarTaskbarStateUpdater { public interface NavbarTaskbarStateUpdater { void updateAccessibilityServicesState(); void updateAccessibilityServicesState(); void updateAssistantAvailable(boolean available); void updateAssistantAvailable(boolean available, boolean longPressHomeEnabled); } } /** Data class to help Taskbar/Navbar initiate state correctly when switching between the two.*/ /** Data class to help Taskbar/Navbar initiate state correctly when switching between the two.*/ Loading packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java +8 −5 Original line number Original line Diff line number Diff line Loading @@ -335,15 +335,16 @@ public class NavigationBar extends ViewController<NavigationBarView> implements } } @Override @Override public void updateAssistantAvailable(boolean available) { public void updateAssistantAvailable(boolean available, boolean longPressHomeEnabled) { // TODO(b/198002034): Content observers currently can still be called back after // TODO(b/198002034): Content observers currently can still be called back after // being unregistered, and in this case we can ignore the change if the nav bar // being unregistered, and in this case we can ignore the change if the nav bar // has been destroyed already // has been destroyed already if (mView == null) { if (mView == null) { return; return; } } mLongPressHomeEnabled = mNavBarHelper.getLongPressHomeEnabled(); mLongPressHomeEnabled = longPressHomeEnabled; updateAssistantEntrypoints(available); updateAssistantEntrypoints(available, longPressHomeEnabled); } } }; }; Loading Loading @@ -1485,10 +1486,12 @@ public class NavigationBar extends ViewController<NavigationBarView> implements .commitUpdate(mDisplayId); .commitUpdate(mDisplayId); } } private void updateAssistantEntrypoints(boolean assistantAvailable) { private void updateAssistantEntrypoints(boolean assistantAvailable, boolean longPressHomeEnabled) { if (mOverviewProxyService.getProxy() != null) { if (mOverviewProxyService.getProxy() != null) { try { try { mOverviewProxyService.getProxy().onAssistantAvailable(assistantAvailable); mOverviewProxyService.getProxy().onAssistantAvailable(assistantAvailable, longPressHomeEnabled); } catch (RemoteException e) { } catch (RemoteException e) { Log.w(TAG, "Unable to send assistant availability data to launcher"); Log.w(TAG, "Unable to send assistant availability data to launcher"); } } Loading packages/SystemUI/src/com/android/systemui/navigationbar/TaskbarDelegate.java +7 −4 Original line number Original line Diff line number Diff line Loading @@ -112,8 +112,9 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, } } @Override @Override public void updateAssistantAvailable(boolean available) { public void updateAssistantAvailable(boolean available, updateAssistantAvailability(available); boolean longPressHomeEnabled) { updateAssistantAvailability(available, longPressHomeEnabled); } } }; }; private int mDisabledFlags; private int mDisabledFlags; Loading Loading @@ -309,13 +310,15 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, return (mSysUiState.getFlags() & View.STATUS_BAR_DISABLE_RECENT) == 0; return (mSysUiState.getFlags() & View.STATUS_BAR_DISABLE_RECENT) == 0; } } private void updateAssistantAvailability(boolean assistantAvailable) { private void updateAssistantAvailability(boolean assistantAvailable, boolean longPressHomeEnabled) { if (mOverviewProxyService.getProxy() == null) { if (mOverviewProxyService.getProxy() == null) { return; return; } } try { try { mOverviewProxyService.getProxy().onAssistantAvailable(assistantAvailable); mOverviewProxyService.getProxy().onAssistantAvailable(assistantAvailable, longPressHomeEnabled); } catch (RemoteException e) { } catch (RemoteException e) { Log.e(TAG, "onAssistantAvailable() failed, available: " + assistantAvailable, e); Log.e(TAG, "onAssistantAvailable() failed, available: " + assistantAvailable, e); } } Loading packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavBarHelperTest.java +6 −6 Original line number Original line Diff line number Diff line Loading @@ -146,7 +146,7 @@ public class NavBarHelperTest extends SysuiTestCase { verify(mNavbarTaskbarStateUpdater, times(1)) verify(mNavbarTaskbarStateUpdater, times(1)) .updateAccessibilityServicesState(); .updateAccessibilityServicesState(); verify(mNavbarTaskbarStateUpdater, times(1)) verify(mNavbarTaskbarStateUpdater, times(1)) .updateAssistantAvailable(anyBoolean()); .updateAssistantAvailable(anyBoolean(), anyBoolean()); } } @Test @Test Loading @@ -160,14 +160,14 @@ public class NavBarHelperTest extends SysuiTestCase { verify(mNavbarTaskbarStateUpdater, times(1)) verify(mNavbarTaskbarStateUpdater, times(1)) .updateAccessibilityServicesState(); .updateAccessibilityServicesState(); verify(mNavbarTaskbarStateUpdater, times(1)) verify(mNavbarTaskbarStateUpdater, times(1)) .updateAssistantAvailable(anyBoolean()); .updateAssistantAvailable(anyBoolean(), anyBoolean()); mNavBarHelper.onConnectionChanged(true); mNavBarHelper.onConnectionChanged(true); // assert no more callbacks fired // assert no more callbacks fired verify(mNavbarTaskbarStateUpdater, times(1)) verify(mNavbarTaskbarStateUpdater, times(1)) .updateAccessibilityServicesState(); .updateAccessibilityServicesState(); verify(mNavbarTaskbarStateUpdater, times(2)) verify(mNavbarTaskbarStateUpdater, times(2)) .updateAssistantAvailable(anyBoolean()); .updateAssistantAvailable(anyBoolean(), anyBoolean()); } } @Test @Test Loading @@ -180,7 +180,7 @@ public class NavBarHelperTest extends SysuiTestCase { verify(mNavbarTaskbarStateUpdater, times(2)) verify(mNavbarTaskbarStateUpdater, times(2)) .updateAccessibilityServicesState(); .updateAccessibilityServicesState(); verify(mNavbarTaskbarStateUpdater, times(1)) verify(mNavbarTaskbarStateUpdater, times(1)) .updateAssistantAvailable(anyBoolean()); .updateAssistantAvailable(anyBoolean(), anyBoolean()); } } @Test @Test Loading @@ -193,7 +193,7 @@ public class NavBarHelperTest extends SysuiTestCase { verify(mNavbarTaskbarStateUpdater, times(1)) verify(mNavbarTaskbarStateUpdater, times(1)) .updateAccessibilityServicesState(); .updateAccessibilityServicesState(); verify(mNavbarTaskbarStateUpdater, times(2)) verify(mNavbarTaskbarStateUpdater, times(2)) .updateAssistantAvailable(anyBoolean()); .updateAssistantAvailable(anyBoolean(), anyBoolean()); } } @Test @Test Loading @@ -212,7 +212,7 @@ public class NavBarHelperTest extends SysuiTestCase { verify(mNavbarTaskbarStateUpdater, times(1)) verify(mNavbarTaskbarStateUpdater, times(1)) .updateAccessibilityServicesState(); .updateAccessibilityServicesState(); verify(mNavbarTaskbarStateUpdater, times(1)) verify(mNavbarTaskbarStateUpdater, times(1)) .updateAssistantAvailable(anyBoolean()); .updateAssistantAvailable(anyBoolean(), anyBoolean()); } } @Test @Test Loading Loading
packages/SystemUI/shared/src/com/android/systemui/shared/recents/IOverviewProxy.aidl +2 −1 Original line number Original line Diff line number Diff line Loading @@ -46,8 +46,9 @@ oneway interface IOverviewProxy { /** /** * Sent when device assistant changes its default assistant whether it is available or not. * Sent when device assistant changes its default assistant whether it is available or not. * @param longPressHomeEnabled if 3-button nav assistant can be invoked or not */ */ void onAssistantAvailable(boolean available) = 13; void onAssistantAvailable(boolean available, boolean longPressHomeEnabled) = 13; /** /** * Sent when the assistant changes how visible it is to the user. * Sent when the assistant changes how visible it is to the user. Loading
packages/SystemUI/src/com/android/systemui/navigationbar/NavBarHelper.java +6 −5 Original line number Original line Diff line number Diff line Loading @@ -185,7 +185,7 @@ public final class NavBarHelper implements public void registerNavTaskStateUpdater(NavbarTaskbarStateUpdater listener) { public void registerNavTaskStateUpdater(NavbarTaskbarStateUpdater listener) { mA11yEventListeners.add(listener); mA11yEventListeners.add(listener); listener.updateAccessibilityServicesState(); listener.updateAccessibilityServicesState(); listener.updateAssistantAvailable(mAssistantAvailable); listener.updateAssistantAvailable(mAssistantAvailable, mLongPressHomeEnabled); } } public void removeNavTaskStateUpdater(NavbarTaskbarStateUpdater listener) { public void removeNavTaskStateUpdater(NavbarTaskbarStateUpdater listener) { Loading @@ -198,9 +198,10 @@ public final class NavBarHelper implements } } } } private void dispatchAssistantEventUpdate(boolean assistantAvailable) { private void dispatchAssistantEventUpdate(boolean assistantAvailable, boolean longPressHomeEnabled) { for (NavbarTaskbarStateUpdater listener : mA11yEventListeners) { for (NavbarTaskbarStateUpdater listener : mA11yEventListeners) { listener.updateAssistantAvailable(assistantAvailable); listener.updateAssistantAvailable(assistantAvailable, longPressHomeEnabled); } } } } Loading Loading @@ -311,7 +312,7 @@ public final class NavBarHelper implements mAssistantAvailable = assistantAvailableForUser mAssistantAvailable = assistantAvailableForUser && mAssistantTouchGestureEnabled && mAssistantTouchGestureEnabled && QuickStepContract.isGesturalMode(mNavBarMode); && QuickStepContract.isGesturalMode(mNavBarMode); dispatchAssistantEventUpdate(mAssistantAvailable); dispatchAssistantEventUpdate(mAssistantAvailable, mLongPressHomeEnabled); } } public boolean getLongPressHomeEnabled() { public boolean getLongPressHomeEnabled() { Loading Loading @@ -366,7 +367,7 @@ public final class NavBarHelper implements */ */ public interface NavbarTaskbarStateUpdater { public interface NavbarTaskbarStateUpdater { void updateAccessibilityServicesState(); void updateAccessibilityServicesState(); void updateAssistantAvailable(boolean available); void updateAssistantAvailable(boolean available, boolean longPressHomeEnabled); } } /** Data class to help Taskbar/Navbar initiate state correctly when switching between the two.*/ /** Data class to help Taskbar/Navbar initiate state correctly when switching between the two.*/ Loading
packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java +8 −5 Original line number Original line Diff line number Diff line Loading @@ -335,15 +335,16 @@ public class NavigationBar extends ViewController<NavigationBarView> implements } } @Override @Override public void updateAssistantAvailable(boolean available) { public void updateAssistantAvailable(boolean available, boolean longPressHomeEnabled) { // TODO(b/198002034): Content observers currently can still be called back after // TODO(b/198002034): Content observers currently can still be called back after // being unregistered, and in this case we can ignore the change if the nav bar // being unregistered, and in this case we can ignore the change if the nav bar // has been destroyed already // has been destroyed already if (mView == null) { if (mView == null) { return; return; } } mLongPressHomeEnabled = mNavBarHelper.getLongPressHomeEnabled(); mLongPressHomeEnabled = longPressHomeEnabled; updateAssistantEntrypoints(available); updateAssistantEntrypoints(available, longPressHomeEnabled); } } }; }; Loading Loading @@ -1485,10 +1486,12 @@ public class NavigationBar extends ViewController<NavigationBarView> implements .commitUpdate(mDisplayId); .commitUpdate(mDisplayId); } } private void updateAssistantEntrypoints(boolean assistantAvailable) { private void updateAssistantEntrypoints(boolean assistantAvailable, boolean longPressHomeEnabled) { if (mOverviewProxyService.getProxy() != null) { if (mOverviewProxyService.getProxy() != null) { try { try { mOverviewProxyService.getProxy().onAssistantAvailable(assistantAvailable); mOverviewProxyService.getProxy().onAssistantAvailable(assistantAvailable, longPressHomeEnabled); } catch (RemoteException e) { } catch (RemoteException e) { Log.w(TAG, "Unable to send assistant availability data to launcher"); Log.w(TAG, "Unable to send assistant availability data to launcher"); } } Loading
packages/SystemUI/src/com/android/systemui/navigationbar/TaskbarDelegate.java +7 −4 Original line number Original line Diff line number Diff line Loading @@ -112,8 +112,9 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, } } @Override @Override public void updateAssistantAvailable(boolean available) { public void updateAssistantAvailable(boolean available, updateAssistantAvailability(available); boolean longPressHomeEnabled) { updateAssistantAvailability(available, longPressHomeEnabled); } } }; }; private int mDisabledFlags; private int mDisabledFlags; Loading Loading @@ -309,13 +310,15 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, return (mSysUiState.getFlags() & View.STATUS_BAR_DISABLE_RECENT) == 0; return (mSysUiState.getFlags() & View.STATUS_BAR_DISABLE_RECENT) == 0; } } private void updateAssistantAvailability(boolean assistantAvailable) { private void updateAssistantAvailability(boolean assistantAvailable, boolean longPressHomeEnabled) { if (mOverviewProxyService.getProxy() == null) { if (mOverviewProxyService.getProxy() == null) { return; return; } } try { try { mOverviewProxyService.getProxy().onAssistantAvailable(assistantAvailable); mOverviewProxyService.getProxy().onAssistantAvailable(assistantAvailable, longPressHomeEnabled); } catch (RemoteException e) { } catch (RemoteException e) { Log.e(TAG, "onAssistantAvailable() failed, available: " + assistantAvailable, e); Log.e(TAG, "onAssistantAvailable() failed, available: " + assistantAvailable, e); } } Loading
packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavBarHelperTest.java +6 −6 Original line number Original line Diff line number Diff line Loading @@ -146,7 +146,7 @@ public class NavBarHelperTest extends SysuiTestCase { verify(mNavbarTaskbarStateUpdater, times(1)) verify(mNavbarTaskbarStateUpdater, times(1)) .updateAccessibilityServicesState(); .updateAccessibilityServicesState(); verify(mNavbarTaskbarStateUpdater, times(1)) verify(mNavbarTaskbarStateUpdater, times(1)) .updateAssistantAvailable(anyBoolean()); .updateAssistantAvailable(anyBoolean(), anyBoolean()); } } @Test @Test Loading @@ -160,14 +160,14 @@ public class NavBarHelperTest extends SysuiTestCase { verify(mNavbarTaskbarStateUpdater, times(1)) verify(mNavbarTaskbarStateUpdater, times(1)) .updateAccessibilityServicesState(); .updateAccessibilityServicesState(); verify(mNavbarTaskbarStateUpdater, times(1)) verify(mNavbarTaskbarStateUpdater, times(1)) .updateAssistantAvailable(anyBoolean()); .updateAssistantAvailable(anyBoolean(), anyBoolean()); mNavBarHelper.onConnectionChanged(true); mNavBarHelper.onConnectionChanged(true); // assert no more callbacks fired // assert no more callbacks fired verify(mNavbarTaskbarStateUpdater, times(1)) verify(mNavbarTaskbarStateUpdater, times(1)) .updateAccessibilityServicesState(); .updateAccessibilityServicesState(); verify(mNavbarTaskbarStateUpdater, times(2)) verify(mNavbarTaskbarStateUpdater, times(2)) .updateAssistantAvailable(anyBoolean()); .updateAssistantAvailable(anyBoolean(), anyBoolean()); } } @Test @Test Loading @@ -180,7 +180,7 @@ public class NavBarHelperTest extends SysuiTestCase { verify(mNavbarTaskbarStateUpdater, times(2)) verify(mNavbarTaskbarStateUpdater, times(2)) .updateAccessibilityServicesState(); .updateAccessibilityServicesState(); verify(mNavbarTaskbarStateUpdater, times(1)) verify(mNavbarTaskbarStateUpdater, times(1)) .updateAssistantAvailable(anyBoolean()); .updateAssistantAvailable(anyBoolean(), anyBoolean()); } } @Test @Test Loading @@ -193,7 +193,7 @@ public class NavBarHelperTest extends SysuiTestCase { verify(mNavbarTaskbarStateUpdater, times(1)) verify(mNavbarTaskbarStateUpdater, times(1)) .updateAccessibilityServicesState(); .updateAccessibilityServicesState(); verify(mNavbarTaskbarStateUpdater, times(2)) verify(mNavbarTaskbarStateUpdater, times(2)) .updateAssistantAvailable(anyBoolean()); .updateAssistantAvailable(anyBoolean(), anyBoolean()); } } @Test @Test Loading @@ -212,7 +212,7 @@ public class NavBarHelperTest extends SysuiTestCase { verify(mNavbarTaskbarStateUpdater, times(1)) verify(mNavbarTaskbarStateUpdater, times(1)) .updateAccessibilityServicesState(); .updateAccessibilityServicesState(); verify(mNavbarTaskbarStateUpdater, times(1)) verify(mNavbarTaskbarStateUpdater, times(1)) .updateAssistantAvailable(anyBoolean()); .updateAssistantAvailable(anyBoolean(), anyBoolean()); } } @Test @Test Loading