in ClassyTaxiJava/app/src/main/java/com/sample/android/classytaxijava/ui/SubscriptionBindingAdapter.java [284:341]
public static void updateSettingsViews(View view, List<SubscriptionStatus> subscriptions) {
TextView premiumBtn = view.findViewById(R.id.subscription_option_premium_button);
TextView basicBtn = view.findViewById(R.id.subscription_option_basic_button);
View transferMsg = view.findViewById(R.id.settings_transfer_message);
TextView transferMsgText = view.findViewById(R.id.settings_transfer_message_text);
// Set default button text: it might be overridden based on the subscription state.
premiumBtn.setText(view.getResources()
.getString(R.string.subscription_option_premium_message));
basicBtn.setText(view.getResources()
.getString(R.string.subscription_option_basic_message));
transferMsg.setVisibility(View.GONE);
// Update based on subscription information.
boolean basicRequiresTransfer = false;
boolean premiumRequiresTransfer = false;
if (subscriptions != null) {
for (SubscriptionStatus subscription : subscriptions) {
String sku = subscription.getSku();
if (sku != null) {
if (Constants.BASIC_SKU.equals(sku)) {
basicBtn.setText(SubscriptionUtilities
.basicTextForSubscription(view.getResources(), subscription));
if (BillingUtilities.isTransferRequired(subscription)) {
basicRequiresTransfer = true;
}
} else if (Constants.PREMIUM_SKU.equals(sku)) {
premiumBtn.setText(SubscriptionUtilities
.premiumTextForSubscription(view.getResources(), subscription));
if (BillingUtilities.isTransferRequired(subscription)) {
premiumRequiresTransfer = true;
}
}
}
}
}
String message = null;
if (basicRequiresTransfer && premiumRequiresTransfer) {
String basicName = view.getResources().getString(R.string.basic_button_text);
String premiumName = view.getResources().getString(R.string.premium_button_text);
message = view.getResources().getString(
R.string.transfer_message_with_two_skus, basicName, premiumName);
} else if (basicRequiresTransfer) {
String basicName = view.getResources().getString(R.string.basic_button_text);
message = view.getResources().getString(R.string.transfer_message_with_sku, basicName);
} else if (premiumRequiresTransfer) {
String premiumName = view.getResources().getString(R.string.premium_button_text);
message = view.getResources()
.getString(R.string.transfer_message_with_sku, premiumName);
}
if (message != null) {
Log.d(TAG, "transfer VISIBLE");
transferMsg.setVisibility(View.VISIBLE);
transferMsgText.setText(message);
} else {
transferMsgText.setText(view.getResources().getString(R.string.transfer_message));
}
}