Don't check for purchases on app launch

pull/795/head
Alex Baker 7 years ago
parent 55f6a75d8c
commit 52c22cd253

@ -1,18 +1,11 @@
package org.tasks;
import javax.inject.Inject;
import org.tasks.billing.BillingClient;
public class FlavorSetup {
private final BillingClient billingClient;
@Inject
public FlavorSetup(BillingClient billingClient) {
this.billingClient = billingClient;
}
public FlavorSetup() {}
public void setup() {
billingClient.initialize();
}
public void setup() {}
}

@ -81,10 +81,6 @@ public class BillingClient implements PurchasesUpdatedListener {
}
}
public void initialize() {
startServiceConnection(this::queryPurchases);
}
/**
* Query purchases across various use cases and deliver the result in a formalized way through a
* listener

@ -30,6 +30,7 @@ import org.tasks.analytics.Tracking;
import org.tasks.analytics.Tracking.Events;
import org.tasks.billing.BillingClient;
import org.tasks.billing.Inventory;
import org.tasks.billing.PurchaseActivity;
import org.tasks.dialogs.DialogBuilder;
import org.tasks.drive.DriveLoginActivity;
import org.tasks.files.FileHelper;
@ -188,6 +189,32 @@ public class BasicPreferences extends InjectingPreferenceActivity
}
});
Preference upgradeToPro = findPreference(R.string.upgrade_to_pro);
if (inventory.hasPro()) {
upgradeToPro.setTitle(R.string.manage_subscription);
upgradeToPro.setOnPreferenceClickListener(
p -> {
startActivity(
new Intent(
Intent.ACTION_VIEW,
Uri.parse(
"https://play.google.com/store/account/subscriptions?sku=annual_499&package=org.tasks")));
return false;
});
} else {
upgradeToPro.setOnPreferenceClickListener(
p -> {
startActivity(new Intent(this, PurchaseActivity.class));
return false;
});
}
findPreference(R.string.refresh_purchases).setOnPreferenceClickListener(
preference -> {
billingClient.queryPurchases();
return false;
});
requires(
R.string.settings_localization,
atLeastJellybeanMR1(),
@ -199,7 +226,12 @@ public class BasicPreferences extends InjectingPreferenceActivity
//noinspection ConstantConditions
if (!BuildConfig.FLAVOR.equals("googleplay")) {
requires(R.string.backup_BPr_header, false, R.string.p_google_drive_backup);
requires(R.string.about, false, R.string.rate_tasks);
requires(
R.string.about,
false,
R.string.rate_tasks,
R.string.upgrade_to_pro,
R.string.refresh_purchases);
requires(R.string.privacy, false, R.string.p_collect_statistics);
}
}

@ -843,6 +843,7 @@ File %1$s contained %2$s.\n\n
<string name="background_sync_unmetered_only">Only on unmetered connections</string>
<string name="upgrade">Upgrade</string>
<string name="upgrade_to_pro">Upgrade to pro</string>
<string name="manage_subscription">Manage subscription</string>
<string name="refresh_purchases">Refresh purchases</string>
<string name="button_subscribed">Subscribed</string>
<string name="button_subscribe">Subscribe</string>

@ -17,7 +17,7 @@
<Preference
android:key="@string/p_theme_launcher"
android:title="@string/launcher_icon" />
android:title="@string/launcher_icon"/>
</PreferenceCategory>
@ -74,9 +74,9 @@
android:title="@string/backup_directory"/>
<CheckBoxPreference
android:defaultValue="false"
android:key="@string/p_google_drive_backup"
android:title="@string/google_drive_backup" />
android:defaultValue="false"
android:key="@string/p_google_drive_backup"
android:title="@string/google_drive_backup"/>
<Preference
android:key="@string/backup_BAc_import"
@ -131,6 +131,14 @@
android:data="market://details?id=org.tasks"/>
</Preference>
<Preference
android:key="@string/upgrade_to_pro"
android:title="@string/upgrade_to_pro"/>
<Preference
android:key="@string/refresh_purchases"
android:title="@string/refresh_purchases"/>
</PreferenceCategory>
<PreferenceCategory

Loading…
Cancel
Save