in rides-android/src/main/java/com/uber/sdk/android/rides/RideRequestButton.java [107:143]
private void init(final Context context, AttributeSet attrs, int defStyleAttr, UberStyle uberStyle) {
@StyleRes int styleRes = STYLES[uberStyle.getValue()];
inflate(context, R.layout.ub__ride_request_button, this);
requestButton = (UberButton) findViewById(R.id.request_button);
timeEstimateView = (TextView) findViewById(R.id.time_estimate);
priceEstimateView = (TextView) findViewById(R.id.price_estimate);
setBackgroundAttributes(context, attrs, defStyleAttr, styleRes);
setPaddingAttributes(context, attrs, defStyleAttr, styleRes);
setTextAttributes(context, attrs, defStyleAttr, styleRes);
showDefaultView();
deeplinkFallback = Deeplink.Fallback.APP_INSTALL;
setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
rideParameters.setUserAgent(USER_AGENT_BUTTON);
final SessionConfiguration config;
if (session != null) {
config = session.getAuthenticator().getSessionConfiguration();
} else {
config = UberSdk.getDefaultSessionConfiguration();
}
RideRequestDeeplink deeplink = new RideRequestDeeplink.Builder(context)
.setSessionConfiguration(config)
.setFallback(deeplinkFallback)
.setRideParameters(rideParameters)
.build();
deeplink.execute();
}
});
}