More subscription changes

pull/848/head
Alex Baker 6 years ago
parent 1c94179adf
commit 4c3efa6763

@ -7,6 +7,7 @@ import static com.google.common.collect.Sets.newHashSet;
import android.app.Activity;
import android.content.Context;
import androidx.annotation.Nullable;
import androidx.lifecycle.LifecycleOwner;
import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.Observer;
@ -59,10 +60,16 @@ public class BillingClientImpl implements BillingClient, PurchasingListener {
}
@Override
public void initiatePurchaseFlow(Activity activity, String sku, String skuType) {
public void initiatePurchaseFlow(
Activity activity, String sku, String skuType, @Nullable String oldSku) {
PurchasingService.purchase(sku);
}
@Override
public void addPurchaseCallback(OnPurchasesUpdated onPurchasesUpdated) {
}
@Override
public int getErrorMessage() {
return 0;

@ -27,4 +27,20 @@ public class Purchase {
public String toString() {
return "Purchase{" + "receipt=" + receipt + '}';
}
public boolean isCanceled() {
return false;
}
public int getSubscriptionPrice() {
return 0;
}
public boolean isMonthly() {
return false;
}
public boolean isProSubscription() {
return true;
}
}

@ -2,6 +2,7 @@ package org.tasks.billing;
import android.app.Activity;
import android.content.Context;
import androidx.annotation.Nullable;
import androidx.lifecycle.LifecycleOwner;
import androidx.lifecycle.Observer;
import java.util.List;
@ -21,7 +22,13 @@ public class BillingClientImpl implements BillingClient {
}
@Override
public void initiatePurchaseFlow(Activity activity, String sku, String skuType) {}
public void initiatePurchaseFlow(
Activity activity, String sku, String skuType, @Nullable String oldSku) {}
@Override
public void addPurchaseCallback(OnPurchasesUpdated onPurchasesUpdated) {
}
@Override
public void querySkuDetails() {}

@ -11,4 +11,20 @@ public class Purchase {
public String toJson() {
return null;
}
public boolean isCanceled() {
return false;
}
public int getSubscriptionPrice() {
return 0;
}
public boolean isMonthly() {
return false;
}
public boolean isProSubscription() {
return false;
}
}

@ -4,6 +4,6 @@
<string name="market_url">https://f-droid.org/en/packages/org.tasks/</string>
<string name="p_purchases">purchases_fdroid</string>
<!--suppress CheckTagEmptyBody -->
<string name="manage_subscription_url"></string>
<string name="manage_subscription_url">%s</string>
<string name="support_email">support@tasks.org</string>
</resources>

@ -5,6 +5,5 @@
<string name="market_url">market://details?id=org.tasks</string>
<string name="p_purchases">purchases</string>
<string name="manage_subscription_url">https://play.google.com/store/account/subscriptions?sku=%s&amp;package=org.tasks</string>
<string name="subscription_help_url">https://tasks.org/subscribe</string>
<string name="support_email">play-support@tasks.org</string>
</resources>

@ -20,7 +20,6 @@ import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import com.android.billingclient.api.BillingClient.SkuType;
import com.google.android.material.button.MaterialButton;
import com.google.android.material.button.MaterialButtonToggleGroup;
import com.google.common.collect.ContiguousSet;
@ -137,12 +136,12 @@ public class NameYourPriceDialog extends InjectingDialogFragment implements OnPu
protected void subscribe() {
if (currentSubscriptionSelected() && currentSubscription.isCanceled()) {
billingClient.initiatePurchaseFlow(
(Activity) context, currentSubscription.getSku(), SkuType.SUBS, null);
(Activity) context, currentSubscription.getSku(), SkuDetails.TYPE_SUBS, null);
} else {
billingClient.initiatePurchaseFlow(
(Activity) context,
String.format("%s_%02d", isMonthly() ? "monthly" : "annual", adapter.getSelected()),
SkuType.SUBS,
SkuDetails.TYPE_SUBS,
currentSubscription == null ? null : currentSubscription.getSku());
}
billingClient.addPurchaseCallback(this);

@ -313,4 +313,5 @@
<string name="p_google_tasks_position_hack">google_tasks_position_hack</string>
<string name="google_tasks_position_hack">Custom order synchronization fix</string>
<string name="google_tasks_position_hack_summary">Always perform a full synchronization to workaround https://issuetracker.google.com/issues/132432317. This setting will disable itself after seven days.</string>
<string name="subscription_help_url">https://tasks.org/subscribe</string>
</resources>

Loading…
Cancel
Save