Java源码示例:com.google.android.gms.wallet.fragment.WalletFragmentMode
示例1
private void createAndAddWalletFragment() {
WalletFragmentStyle walletFragmentStyle = new WalletFragmentStyle()
.setMaskedWalletDetailsTextAppearance(
R.style.BikestoreWalletFragmentDetailsTextAppearance)
.setMaskedWalletDetailsHeaderTextAppearance(
R.style.BikestoreWalletFragmentDetailsHeaderTextAppearance)
.setMaskedWalletDetailsBackgroundColor(
getResources().getColor(R.color.bikestore_white))
.setMaskedWalletDetailsButtonBackgroundResource(
R.drawable.bikestore_btn_default_holo_light);
// [START wallet_fragment_options]
WalletFragmentOptions walletFragmentOptions = WalletFragmentOptions.newBuilder()
.setEnvironment(Constants.WALLET_ENVIRONMENT)
.setFragmentStyle(walletFragmentStyle)
.setTheme(WalletConstants.THEME_LIGHT)
.setMode(WalletFragmentMode.SELECTION_DETAILS)
.build();
mWalletFragment = SupportWalletFragment.newInstance(walletFragmentOptions);
// [END wallet_fragment_options]
// Now initialize the Wallet Fragment
String accountName = ((BikestoreApplication) getApplication()).getAccountName();
WalletFragmentInitParams.Builder startParamsBuilder = WalletFragmentInitParams.newBuilder()
.setMaskedWallet(mMaskedWallet)
.setMaskedWalletRequestCode(REQUEST_CODE_CHANGE_MASKED_WALLET)
.setAccountName(accountName);
mWalletFragment.initialize(startParamsBuilder.build());
// add Wallet fragment to the UI
getSupportFragmentManager().beginTransaction()
.replace(R.id.dynamic_wallet_masked_wallet_fragment, mWalletFragment)
.commit();
}
示例2
private void showAndroidPay() {
if (getParentActivity() == null || androidPayContainer == null) {
return;
}
WalletFragmentOptions.Builder optionsBuilder = WalletFragmentOptions.newBuilder();
optionsBuilder.setEnvironment(paymentForm.invoice.test ? WalletConstants.ENVIRONMENT_TEST : WalletConstants.ENVIRONMENT_PRODUCTION);
optionsBuilder.setMode(WalletFragmentMode.BUY_BUTTON);
WalletFragmentStyle walletFragmentStyle;
if (androidPayPublicKey != null) {
androidPayContainer.setBackgroundColor(androidPayBackgroundColor);
walletFragmentStyle = new WalletFragmentStyle()
.setBuyButtonText(WalletFragmentStyle.BuyButtonText.BUY_WITH)
.setBuyButtonAppearance(androidPayBlackTheme ? WalletFragmentStyle.BuyButtonAppearance.ANDROID_PAY_LIGHT_WITH_BORDER : WalletFragmentStyle.BuyButtonAppearance.ANDROID_PAY_DARK)
.setBuyButtonWidth(WalletFragmentStyle.Dimension.MATCH_PARENT);
} else {
walletFragmentStyle = new WalletFragmentStyle()
.setBuyButtonText(WalletFragmentStyle.BuyButtonText.LOGO_ONLY)
.setBuyButtonAppearance(WalletFragmentStyle.BuyButtonAppearance.ANDROID_PAY_LIGHT_WITH_BORDER)
.setBuyButtonWidth(WalletFragmentStyle.Dimension.WRAP_CONTENT);
}
optionsBuilder.setFragmentStyle(walletFragmentStyle);
WalletFragment walletFragment = WalletFragment.newInstance(optionsBuilder.build());
FragmentManager fragmentManager = getParentActivity().getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(fragment_container_id, walletFragment);
fragmentTransaction.commit();
ArrayList<TLRPC.TL_labeledPrice> arrayList = new ArrayList<>(paymentForm.invoice.prices);
if (shippingOption != null) {
arrayList.addAll(shippingOption.prices);
}
totalPriceDecimal = getTotalPriceDecimalString(arrayList);
PaymentMethodTokenizationParameters parameters;
if (androidPayPublicKey != null) {
parameters = PaymentMethodTokenizationParameters.newBuilder()
.setPaymentMethodTokenizationType(PaymentMethodTokenizationType.NETWORK_TOKEN)
.addParameter("publicKey", androidPayPublicKey)
.build();
} else {
parameters = PaymentMethodTokenizationParameters.newBuilder()
.setPaymentMethodTokenizationType(PaymentMethodTokenizationType.PAYMENT_GATEWAY)
.addParameter("gateway", "stripe")
.addParameter("stripe:publishableKey", stripeApiKey)
.addParameter("stripe:version", StripeApiHandler.VERSION)
.build();
}
MaskedWalletRequest maskedWalletRequest = MaskedWalletRequest.newBuilder()
.setPaymentMethodTokenizationParameters(parameters)
.setEstimatedTotalPrice(totalPriceDecimal)
.setCurrencyCode(paymentForm.invoice.currency)
.build();
WalletFragmentInitParams initParams = WalletFragmentInitParams.newBuilder()
.setMaskedWalletRequest(maskedWalletRequest)
.setMaskedWalletRequestCode(LOAD_MASKED_WALLET_REQUEST_CODE)
.build();
walletFragment.initialize(initParams);
androidPayContainer.setVisibility(View.VISIBLE);
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.playTogether(ObjectAnimator.ofFloat(androidPayContainer, "alpha", 0.0f, 1.0f));
animatorSet.setInterpolator(new DecelerateInterpolator());
animatorSet.setDuration(180);
animatorSet.start();
}
示例3
private void showAndroidPay() {
if (getParentActivity() == null || androidPayContainer == null) {
return;
}
WalletFragmentOptions.Builder optionsBuilder = WalletFragmentOptions.newBuilder();
optionsBuilder.setEnvironment(paymentForm.invoice.test ? WalletConstants.ENVIRONMENT_TEST : WalletConstants.ENVIRONMENT_PRODUCTION);
optionsBuilder.setMode(WalletFragmentMode.BUY_BUTTON);
WalletFragmentStyle walletFragmentStyle;
if (androidPayPublicKey != null) {
androidPayContainer.setBackgroundColor(androidPayBackgroundColor);
walletFragmentStyle = new WalletFragmentStyle()
.setBuyButtonText(WalletFragmentStyle.BuyButtonText.BUY_WITH)
.setBuyButtonAppearance(androidPayBlackTheme ? WalletFragmentStyle.BuyButtonAppearance.ANDROID_PAY_LIGHT_WITH_BORDER : WalletFragmentStyle.BuyButtonAppearance.ANDROID_PAY_DARK)
.setBuyButtonWidth(WalletFragmentStyle.Dimension.MATCH_PARENT);
} else {
walletFragmentStyle = new WalletFragmentStyle()
.setBuyButtonText(WalletFragmentStyle.BuyButtonText.LOGO_ONLY)
.setBuyButtonAppearance(WalletFragmentStyle.BuyButtonAppearance.ANDROID_PAY_LIGHT_WITH_BORDER)
.setBuyButtonWidth(WalletFragmentStyle.Dimension.WRAP_CONTENT);
}
optionsBuilder.setFragmentStyle(walletFragmentStyle);
WalletFragment walletFragment = WalletFragment.newInstance(optionsBuilder.build());
FragmentManager fragmentManager = getParentActivity().getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(fragment_container_id, walletFragment);
fragmentTransaction.commit();
ArrayList<TLRPC.TL_labeledPrice> arrayList = new ArrayList<>(paymentForm.invoice.prices);
if (shippingOption != null) {
arrayList.addAll(shippingOption.prices);
}
totalPriceDecimal = getTotalPriceDecimalString(arrayList);
PaymentMethodTokenizationParameters parameters;
if (androidPayPublicKey != null) {
parameters = PaymentMethodTokenizationParameters.newBuilder()
.setPaymentMethodTokenizationType(PaymentMethodTokenizationType.NETWORK_TOKEN)
.addParameter("publicKey", androidPayPublicKey)
.build();
} else {
parameters = PaymentMethodTokenizationParameters.newBuilder()
.setPaymentMethodTokenizationType(PaymentMethodTokenizationType.PAYMENT_GATEWAY)
.addParameter("gateway", "stripe")
.addParameter("stripe:publishableKey", stripeApiKey)
.addParameter("stripe:version", StripeApiHandler.VERSION)
.build();
}
MaskedWalletRequest maskedWalletRequest = MaskedWalletRequest.newBuilder()
.setPaymentMethodTokenizationParameters(parameters)
.setEstimatedTotalPrice(totalPriceDecimal)
.setCurrencyCode(paymentForm.invoice.currency)
.build();
WalletFragmentInitParams initParams = WalletFragmentInitParams.newBuilder()
.setMaskedWalletRequest(maskedWalletRequest)
.setMaskedWalletRequestCode(LOAD_MASKED_WALLET_REQUEST_CODE)
.build();
walletFragment.initialize(initParams);
androidPayContainer.setVisibility(View.VISIBLE);
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.playTogether(ObjectAnimator.ofFloat(androidPayContainer, "alpha", 0.0f, 1.0f));
animatorSet.setInterpolator(new DecelerateInterpolator());
animatorSet.setDuration(180);
animatorSet.start();
}
示例4
private void createAndAddWalletFragment() {
// [START fragment_style_and_options]
WalletFragmentStyle walletFragmentStyle = new WalletFragmentStyle()
.setBuyButtonText(WalletFragmentStyle.BuyButtonText.BUY_WITH)
.setBuyButtonAppearance(WalletFragmentStyle.BuyButtonAppearance.ANDROID_PAY_DARK)
.setBuyButtonWidth(WalletFragmentStyle.Dimension.MATCH_PARENT);
WalletFragmentOptions walletFragmentOptions = WalletFragmentOptions.newBuilder()
.setEnvironment(Constants.WALLET_ENVIRONMENT)
.setFragmentStyle(walletFragmentStyle)
.setTheme(WalletConstants.THEME_LIGHT)
.setMode(WalletFragmentMode.BUY_BUTTON)
.build();
mWalletFragment = SupportWalletFragment.newInstance(walletFragmentOptions);
// [END fragment_style_and_options]
// Now initialize the Wallet Fragment
String accountName = ((BikestoreApplication) getApplication()).getAccountName();
MaskedWalletRequest maskedWalletRequest;
if (mUseStripe) {
// Stripe integration
maskedWalletRequest = WalletUtil.createStripeMaskedWalletRequest(
Constants.ITEMS_FOR_SALE[mItemId],
getString(R.string.stripe_publishable_key),
getString(R.string.stripe_version));
} else {
// Direct integration
maskedWalletRequest = WalletUtil.createMaskedWalletRequest(
Constants.ITEMS_FOR_SALE[mItemId],
getString(R.string.public_key));
}
// [START params_builder]
WalletFragmentInitParams.Builder startParamsBuilder = WalletFragmentInitParams.newBuilder()
.setMaskedWalletRequest(maskedWalletRequest)
.setMaskedWalletRequestCode(REQUEST_CODE_MASKED_WALLET)
.setAccountName(accountName);
mWalletFragment.initialize(startParamsBuilder.build());
// add Wallet fragment to the UI
getSupportFragmentManager().beginTransaction()
.replace(R.id.dynamic_wallet_button_fragment, mWalletFragment)
.commit();
// [END params_builder]
}
示例5
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mWalletFragment = (SupportWalletFragment) getSupportFragmentManager().findFragmentByTag(WALLET_FRAGMENT_ID);
WalletFragmentInitParams startParams;
WalletFragmentInitParams.Builder startParamsBuilder = WalletFragmentInitParams.newBuilder()
.setMaskedWalletRequest(generateMaskedWalletRequest())
.setMaskedWalletRequestCode(MASKED_WALLET_REQUEST_CODE);
startParams = startParamsBuilder.build();
if(mWalletFragment == null) {
WalletFragmentStyle walletFragmentStyle = new WalletFragmentStyle()
.setBuyButtonText(BuyButtonText.BUY_WITH_GOOGLE)
.setBuyButtonWidth(Dimension.MATCH_PARENT);
WalletFragmentOptions walletFragmentOptions = WalletFragmentOptions.newBuilder()
.setEnvironment(WalletConstants.ENVIRONMENT_SANDBOX)
.setFragmentStyle(walletFragmentStyle)
.setTheme(WalletConstants.THEME_HOLO_LIGHT)
.setMode(WalletFragmentMode.BUY_BUTTON)
.build();
mWalletFragment = SupportWalletFragment.newInstance(walletFragmentOptions);
mWalletFragment.initialize(startParams);
}
getSupportFragmentManager().beginTransaction()
.replace(R.id.wallet_button_holder, mWalletFragment, WALLET_FRAGMENT_ID)
.commit();
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(Wallet.API, new Wallet.WalletOptions.Builder()
.setEnvironment(WalletConstants.ENVIRONMENT_SANDBOX)
.setTheme(WalletConstants.THEME_HOLO_LIGHT)
.build())
.build();
setContentView(R.layout.activity_main);
}