public static Intent getAppSwitchIntent(ContextInspector contextInspector, ConfigManager configManager,
Request request, Recipe recipe) {
Intent intent = createBaseIntent(recipe.getTargetIntentAction(), WALLET_APP_PACKAGE)
.putExtra("version", recipe.getProtocol().getVersion())
.putExtra("app_guid", InstallationIdentifier.getInstallationGUID(contextInspector.getContext()))
.putExtra("client_metadata_id", request.getClientMetadataId())
.putExtra("client_id", request.getClientId())
.putExtra("app_name", DeviceInspector.getApplicationInfoName(contextInspector.getContext()))
.putExtra("environment", request.getEnvironment())
.putExtra("environment_url", EnvironmentManager.getEnvironmentUrl(request.getEnvironment()));
if (request instanceof AuthorizationRequest) {
AuthorizationRequest authorizationRequest = (AuthorizationRequest) request;
intent.putExtra("scope", authorizationRequest.getScopeString())
.putExtra("response_type", "code")
.putExtra("privacy_url", authorizationRequest.getPrivacyUrl())
.putExtra("agreement_url", authorizationRequest.getUserAgreementUrl());
} else {
CheckoutRequest checkoutRequest = (CheckoutRequest) request;
String webURL = checkoutRequest.getBrowserSwitchUrl(contextInspector.getContext(),
configManager.getConfig());
intent.putExtra("response_type", "web")
.putExtra("webURL", webURL);
}
return intent;
}