Merge "Perform haptic feedback on nav button key press" into tm-qpr-dev

This commit is contained in:
Tracy Zhou
2022-06-27 22:55:42 +00:00
committed by Android (Google) Code Review
3 changed files with 40 additions and 31 deletions

View File

@@ -420,7 +420,7 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
return recentsCoords;
}, new Handler());
recentsButton.setOnClickListener(v -> {
navButtonController.onButtonClick(BUTTON_RECENTS);
navButtonController.onButtonClick(BUTTON_RECENTS, v);
mHitboxExtender.onRecentsButtonClicked();
});
mPropertyHolders.add(new StatePropertyHolder(recentsButton,
@@ -634,9 +634,9 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
buttonView.setImageResource(drawableId);
buttonView.setContentDescription(parent.getContext().getString(
navButtonController.getButtonContentDescription(buttonType)));
buttonView.setOnClickListener(view -> navButtonController.onButtonClick(buttonType));
buttonView.setOnClickListener(view -> navButtonController.onButtonClick(buttonType, view));
buttonView.setOnLongClickListener(view ->
navButtonController.onButtonLongClick(buttonType));
navButtonController.onButtonLongClick(buttonType, view));
return buttonView;
}

View File

@@ -33,6 +33,8 @@ import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_S
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.HapticFeedbackConstants;
import android.view.View;
import androidx.annotation.IntDef;
import androidx.annotation.Nullable;
@@ -113,7 +115,9 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa
mHandler = handler;
}
public void onButtonClick(@TaskbarButton int buttonType) {
public void onButtonClick(@TaskbarButton int buttonType, View view) {
// Provide the same haptic feedback that the system offers for virtual keys.
view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY);
switch (buttonType) {
case BUTTON_BACK:
logEvent(LAUNCHER_TASKBAR_BACK_BUTTON_TAP);
@@ -144,7 +148,9 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa
}
}
public boolean onButtonLongClick(@TaskbarButton int buttonType) {
public boolean onButtonLongClick(@TaskbarButton int buttonType, View view) {
// Provide the same haptic feedback that the system offers for virtual keys.
view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY);
switch (buttonType) {
case BUTTON_HOME:
logEvent(LAUNCHER_TASKBAR_HOME_BUTTON_LONGPRESS);