Expected behavior
It sets the clientDatabasePrefix on the builder, that prefix is used, and the library doesn't throw an error.
Environment(please complete the following information):
AppSync SDK Version: 3.1.0
Device Information (please complete the following information):
Device: Pixel 3, Simulator
Android Version: 10
Additional context
The issue is here. If you set the clientDatabasePrefix using the Builder.clientDatabasePrefix() method, but have a config, then it overrides your previously set value with null instead of checking if one is already set programmatically.
Caused by: java.lang.RuntimeException: Please check the AppSync configuration in awsconfiguration.json.
at com.amazonaws.mobileconnectors.appsync.AWSAppSyncClient$Builder.build(AWSAppSyncClient.java:589)
at com.godaddy.leka.appsync.AppSyncRegistrationCoordinator$registerAppSyncClient$$inlined$registerWithOverride$1$1.invoke(DependencyService.kt:361)
at com.godaddy.leka.appsync.AppSyncRegistrationCoordinator$registerAppSyncClient$$inlined$registerWithOverride$1$1.invoke(DependencyService.kt:115)
at org.koin.core.instance.DefinitionInstance.create(DefinitionInstance.kt:54)
... 44 more
Caused by: java.lang.RuntimeException: ClientDatabasePrefix is not present in AppSync configuration in awsconfiguration.json however .useClientDatabasePrefix(true) is passed in.
at com.amazonaws.mobileconnectors.appsync.AWSAppSyncClient$Builder.build(AWSAppSyncClient.java:564)
Describe the bug Setting a
clientDatabasePrefix
programmatically causes a crash if there is a configurationTo Reproduce Steps to reproduce the behavior:
Expected behavior It sets the
clientDatabasePrefix
on the builder, that prefix is used, and the library doesn't throw an error.Environment(please complete the following information):
Device Information (please complete the following information):
Additional context The issue is here. If you set the
clientDatabasePrefix
using theBuilder.clientDatabasePrefix()
method, but have a config, then it overrides your previously set value withnull
instead of checking if one is already set programmatically.