in LexSample/app/src/main/java/com/amazonaws/sample/lex/InteractiveVoiceActivity.java [57:96]
private void init() {
voiceView = findViewById(R.id.voiceInterface);
voiceView.setInteractiveVoiceListener(this);
AWSMobileClient.getInstance().initialize(this, new Callback<UserStateDetails>() {
@Override
public void onResult(UserStateDetails result) {
Log.d(TAG, "onResult: ");
voiceView.getViewAdapter().setCredentialProvider(AWSMobileClient.getInstance());
AWSMobileClient.getInstance().getCredentials();
String identityId = AWSMobileClient.getInstance().getIdentityId();
String botName = null;
String botAlias = null;
String botRegion = null;
JSONObject lexConfig;
try {
lexConfig = AWSMobileClient.getInstance().getConfiguration().optJsonObject("Lex");
lexConfig = lexConfig.getJSONObject(lexConfig.keys().next());
botName = lexConfig.getString("Name");
botAlias = lexConfig.getString("Alias");
botRegion = lexConfig.getString("Region");
} catch (JSONException e) {
Log.e(TAG, "onResult: Failed to read configuration", e);
}
InteractionConfig lexInteractionConfig = new InteractionConfig(
botName,
botAlias,
identityId);
voiceView.getViewAdapter().setInteractionConfig(lexInteractionConfig);
voiceView.getViewAdapter().setAwsRegion(botRegion);
}
@Override
public void onError(Exception e) {
Log.e(TAG, "onError: ", e);
}
});
}