public static DecryptionResultHandler getHandler(@NonNull ReactApplicationContext reactContext,
                                                   @NonNull final CipherStorage storage,
                                                   @NonNull final BiometricPrompt.PromptInfo promptInfo) {
    if (storage.isBiometrySupported()) {
      if (hasOnePlusBiometricBug()) {
        return new DecryptionResultHandlerInteractiveBiometricManualRetry(reactContext, storage, promptInfo);
      }

      return new DecryptionResultHandlerInteractiveBiometric(reactContext, storage, promptInfo);
    }

    return new DecryptionResultHandlerNonInteractive();
  }
@Test
  @Config(sdk = Build.VERSION_CODES.M)
  public void testBiometryWithoutBug() {
    // GIVEN
    ReflectionHelpers.setStaticField(android.os.Build.class, "BRAND", "OnePlus");
    ReflectionHelpers.setStaticField(android.os.Build.class, "MODEL", "ONEPLUS A6000"); // OnePlus 6

    final ReactApplicationContext mockContext = mock(ReactApplicationContext.class);
    final CipherStorage storage = mock(CipherStorageBase.class);
    when(storage.isBiometrySupported()).thenReturn(true);

    final BiometricPrompt.PromptInfo promptInfo = mock(BiometricPrompt.PromptInfo.class);

    // WHEN
    DecryptionResultHandler handler = DecryptionResultHandlerProvider.getHandler(mockContext, storage, promptInfo);

    //THEN
    assertThat(handler, instanceOf(DecryptionResultHandlerInteractiveBiometric.class));
  }