Merge "[LE Audio] To add the vibrate when the scan is successful" am: d7e16c22f6 am: c985a6d47d am: fb8a7a3b55

Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2385039

Change-Id: I3126d4c3a15ce813abb28c2bf6ce38394f5aa570
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Betty Chang
2023-01-13 21:59:35 +00:00
committed by Automerger Merge Worker

View File

@@ -26,6 +26,8 @@ import android.graphics.SurfaceTexture;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.VibrationEffect;
import android.os.Vibrator;
import android.util.Log;
import android.util.Size;
import android.view.LayoutInflater;
@@ -45,6 +47,8 @@ import com.android.settingslib.bluetooth.BluetoothBroadcastUtils;
import com.android.settingslib.bluetooth.BluetoothUtils;
import com.android.settingslib.qrcode.QrCamera;
import java.time.Duration;
public class QrCodeScanModeFragment extends InstrumentedFragment implements
TextureView.SurfaceTextureListener,
QrCamera.ScannerCallback {
@@ -61,6 +65,8 @@ public class QrCodeScanModeFragment extends InstrumentedFragment implements
private static final long SHOW_ERROR_MESSAGE_INTERVAL = 10000;
private static final long SHOW_SUCCESS_SQUARE_INTERVAL = 1000;
private static final Duration VIBRATE_DURATION_QR_CODE_RECOGNITION = Duration.ofMillis(3);
private boolean mIsGroupOp;
private int mCornerRadius;
private BluetoothDevice mSink;
@@ -209,16 +215,39 @@ public class QrCodeScanModeFragment extends InstrumentedFragment implements
break;
case MESSAGE_SCAN_BROADCAST_SUCCESS:
/* TODO(b/265281156) : Move the logic to BluetoothFindBroadcastsFragment.
* We only pass the QR code string to the previous page.
*/
mController.addSource(mSink, mBroadcastMetadata, mIsGroupOp);
updateSummary();
mSummary.sendAccessibilityEvent(
AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
notifyUserForQrCodeRecognition();
break;
default:
}
}
};
private void notifyUserForQrCodeRecognition() {
if (mCamera != null) {
mCamera.stop();
}
mErrorMessage.setVisibility(View.INVISIBLE);
triggerVibrationForQrCodeRecognition(getContext());
getActivity().finish();
}
private static void triggerVibrationForQrCodeRecognition(Context context) {
Vibrator vibrator = context.getSystemService(Vibrator.class);
if (vibrator == null) {
return;
}
vibrator.vibrate(VibrationEffect.createOneShot(
VIBRATE_DURATION_QR_CODE_RECOGNITION.toMillis(),
VibrationEffect.DEFAULT_AMPLITUDE));
}
private void showErrorMessage(@StringRes int messageResId) {
final Message message = mHandler.obtainMessage(MESSAGE_SHOW_ERROR_MESSAGE,
getString(messageResId));