Merge "Pass button nav long press assistant availability to Launcher" into tm-qpr-dev
This commit is contained in:
@@ -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.
|
||||||
|
|||||||
@@ -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) {
|
||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -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() {
|
||||||
@@ -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.*/
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -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");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user