Make dashclock extension free

pull/996/head
Alex Baker 4 years ago
parent fba0f1cfec
commit 1ccb6377d1

@ -43,7 +43,6 @@ class Debug : InjectingPreferenceFragment() {
setupIap(R.string.debug_themes, Inventory.SKU_THEMES)
setupIap(R.string.debug_tasker, Inventory.SKU_TASKER)
setupIap(R.string.debug_dashclock, Inventory.SKU_DASHCLOCK)
}
private fun setupIap(@StringRes prefId: Int, sku: String) {

@ -12,6 +12,5 @@
<string name="debug_consume">Consume %s</string>
<string name="debug_themes">debug_themes</string>
<string name="debug_tasker">debug_tasker</string>
<string name="debug_dashclock">debug_dashclock</string>
<string name="debug_reset_ssl">Reset SSL certificates</string>
</resources>

@ -31,8 +31,4 @@
<Preference
android:key="@string/debug_tasker"/>
<Preference
android:key="@string/debug_dashclock"/>
</PreferenceScreen>

@ -5,7 +5,6 @@ import static com.google.common.collect.Iterables.transform;
import static com.google.common.collect.Lists.newArrayList;
import static com.google.common.collect.Lists.transform;
import static com.todoroo.andlib.utility.AndroidUtilities.assertMainThread;
import static org.tasks.billing.Inventory.SKU_DASHCLOCK;
import static org.tasks.billing.Inventory.SKU_TASKER;
import static org.tasks.billing.Inventory.SKU_THEMES;
import static org.tasks.billing.Inventory.SKU_VIP;
@ -42,8 +41,7 @@ import timber.log.Timber;
@SuppressWarnings("all")
public class BillingClientImpl implements BillingClient, PurchasesUpdatedListener {
private static final List<String> DEBUG_SKUS =
ImmutableList.of(SKU_THEMES, SKU_TASKER, SKU_DASHCLOCK, SKU_VIP);
private static final List<String> DEBUG_SKUS = ImmutableList.of(SKU_THEMES, SKU_TASKER, SKU_VIP);
private final MutableLiveData<List<SkuDetails>> skuDetails = new MutableLiveData<>();
private final Inventory inventory;

@ -20,7 +20,6 @@ public class Inventory {
static final String SKU_VIP = "vip";
public static final String SKU_TASKER = "tasker";
public static final String SKU_THEMES = "themes";
public static final String SKU_DASHCLOCK = "dashclock";
private final Preferences preferences;
private final SignatureVerifier signatureVerifier;
@ -73,10 +72,6 @@ public class Inventory {
return hasPro() || purchases.containsKey(SKU_TASKER);
}
public boolean purchasedDashclock() {
return hasPro() || purchases.containsKey(SKU_DASHCLOCK);
}
public boolean purchasedThemes() {
return hasPro() || purchases.containsKey(SKU_THEMES);
}

@ -12,7 +12,6 @@ import java.util.List;
import javax.inject.Inject;
import org.tasks.LocalBroadcastManager;
import org.tasks.R;
import org.tasks.billing.Inventory;
import org.tasks.injection.InjectingApplication;
import org.tasks.preferences.DefaultFilterProvider;
import org.tasks.preferences.Preferences;
@ -24,7 +23,7 @@ public class DashClockExtension extends com.google.android.apps.dashclock.api.Da
@Inject TaskDao taskDao;
@Inject Preferences preferences;
@Inject LocalBroadcastManager localBroadcastManager;
@Inject Inventory inventory;
private final BroadcastReceiver refreshReceiver =
new BroadcastReceiver() {
@Override
@ -55,41 +54,31 @@ public class DashClockExtension extends com.google.android.apps.dashclock.api.Da
}
private void refresh() {
if (inventory.purchasedDashclock()) {
final String filterPreference = preferences.getStringValue(R.string.p_dashclock_filter);
Filter filter = defaultFilterProvider.getFilterFromPreference(filterPreference);
final String filterPreference = preferences.getStringValue(R.string.p_dashclock_filter);
Filter filter = defaultFilterProvider.getFilterFromPreference(filterPreference);
int count = taskDao.count(filter);
int count = taskDao.count(filter);
if (count == 0) {
publish(null);
} else {
Intent clickIntent = new Intent(this, MainActivity.class);
clickIntent.putExtra(MainActivity.OPEN_FILTER, filter);
ExtensionData extensionData =
new ExtensionData()
.visible(true)
.icon(R.drawable.ic_check_white_24dp)
.status(Integer.toString(count))
.expandedTitle(getResources().getQuantityString(R.plurals.task_count, count, count))
.expandedBody(filter.listingTitle)
.clickIntent(clickIntent);
if (count == 1) {
List<Task> tasks = taskDao.fetchFiltered(filter);
if (!tasks.isEmpty()) {
extensionData.expandedTitle(tasks.get(0).getTitle());
}
}
publish(extensionData);
}
if (count == 0) {
publish(null);
} else {
publish(
Intent clickIntent = new Intent(this, MainActivity.class);
clickIntent.putExtra(MainActivity.OPEN_FILTER, filter);
ExtensionData extensionData =
new ExtensionData()
.visible(true)
.icon(R.drawable.ic_check_white_24dp)
.status(getString(R.string.upgrade_to_pro))
.expandedTitle(getString(R.string.upgrade_to_pro))
.clickIntent(new Intent(this, DashClockSettings.class)));
.status(Integer.toString(count))
.expandedTitle(getResources().getQuantityString(R.plurals.task_count, count, count))
.expandedBody(filter.listingTitle)
.clickIntent(clickIntent);
if (count == 1) {
List<Task> tasks = taskDao.fetchFiltered(filter);
if (!tasks.isEmpty()) {
extensionData.expandedTitle(tasks.get(0).getTitle());
}
}
publish(extensionData);
}
}

@ -15,13 +15,11 @@ import org.tasks.preferences.DefaultFilterProvider
import javax.inject.Inject
private const val REQUEST_SELECT_FILTER = 1005
private const val REQUEST_SUBSCRIPTION = 1006
class DashClock : InjectingPreferenceFragment() {
@Inject lateinit var defaultFilterProvider: DefaultFilterProvider
@Inject lateinit var localBroadcastManager: LocalBroadcastManager
@Inject lateinit var inventory: Inventory
override fun getPreferenceXml() = R.xml.preferences_dashclock
@ -38,13 +36,6 @@ class DashClock : InjectingPreferenceFragment() {
}
refreshPreferences()
if (!inventory.purchasedDashclock()) {
startActivityForResult(
Intent(context, PurchaseActivity::class.java),
REQUEST_SUBSCRIPTION
)
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
@ -56,10 +47,6 @@ class DashClock : InjectingPreferenceFragment() {
refreshPreferences()
localBroadcastManager.broadcastRefresh()
}
} else if (requestCode == REQUEST_SUBSCRIPTION) {
if (!inventory.purchasedDashclock()) {
activity!!.finish()
}
} else {
super.onActivityResult(requestCode, resultCode, data)
}

Loading…
Cancel
Save