Only register long press when required

Otherwise Talkback would anoounce an action that's invalid.

Test: long press on emergency dialer button
Fixes: 149452415
Change-Id: I50f68c7281a9ed97825bbbac00db329a51fd905e
This commit is contained in:
Lucas Dupin
2020-02-20 21:39:41 -08:00
parent 9dfa86c5ce
commit 1fb49c8190

View File

@@ -116,17 +116,16 @@ public class EmergencyButton extends Button {
mLockPatternUtils = new LockPatternUtils(mContext);
mPowerManager = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
setOnClickListener(v -> takeEmergencyCallAction());
setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
if (mEmergencyAffordanceManager.needsEmergencyAffordance()) {
setOnLongClickListener(v -> {
if (!mLongPressWasDragged
&& mEmergencyAffordanceManager.needsEmergencyAffordance()) {
mEmergencyAffordanceManager.performEmergencyCall();
return true;
}
return false;
}
});
});
}
whitelistIpcs(this::updateEmergencyCallButton);
}