Check for theme purchase

pull/848/head
Alex Baker 7 years ago
parent 12f803e3de
commit f3d2a3323e

@ -1,6 +1,5 @@
package com.todoroo.astrid.adapter; package com.todoroo.astrid.adapter;
import static androidx.core.content.ContextCompat.getColor;
import static com.todoroo.andlib.utility.AndroidUtilities.preLollipop; import static com.todoroo.andlib.utility.AndroidUtilities.preLollipop;
import android.app.Activity; import android.app.Activity;
@ -32,6 +31,7 @@ import org.tasks.sync.SynchronizationPreferences;
import org.tasks.themes.CustomIcons; import org.tasks.themes.CustomIcons;
import org.tasks.themes.ThemeAccent; import org.tasks.themes.ThemeAccent;
import org.tasks.themes.ThemeCache; import org.tasks.themes.ThemeCache;
import org.tasks.themes.ThemeColor;
public class FilterViewHolder extends RecyclerView.ViewHolder { public class FilterViewHolder extends RecyclerView.ViewHolder {
@ -119,11 +119,7 @@ public class FilterViewHolder extends RecyclerView.ViewHolder {
} }
icon.setImageResource(getIcon(filter)); icon.setImageResource(getIcon(filter));
icon.setColorFilter( icon.setColorFilter(getColor(filter));
filter.tint >= 0
? themeCache.getThemeColor(filter.tint).getPrimaryColor()
: getColor(activity, R.color.text_primary));
text.setText(filter.listingTitle); text.setText(filter.listingTitle);
if (count == null || count == 0) { if (count == null || count == 0) {
@ -138,6 +134,16 @@ public class FilterViewHolder extends RecyclerView.ViewHolder {
} }
} }
private int getColor(FilterListItem filter) {
if (filter.tint >= 0) {
ThemeColor color = themeCache.getThemeColor(filter.tint);
if (color.isFree() || inventory.purchasedThemes()) {
return color.getPrimaryColor();
}
}
return ContextCompat.getColor(activity, R.color.text_primary);
}
private int getIcon(FilterListItem filter) { private int getIcon(FilterListItem filter) {
if (filter.icon < 1000 || inventory.hasPro()) { if (filter.icon < 1000 || inventory.hasPro()) {
Integer icon = CustomIcons.getIconResId(filter.icon); Integer icon = CustomIcons.getIconResId(filter.icon);

@ -24,6 +24,7 @@ import java.util.Map;
import javax.inject.Inject; import javax.inject.Inject;
import org.tasks.LocalBroadcastManager; import org.tasks.LocalBroadcastManager;
import org.tasks.R; import org.tasks.R;
import org.tasks.billing.Inventory;
import org.tasks.data.CaldavCalendar; import org.tasks.data.CaldavCalendar;
import org.tasks.data.CaldavDao; import org.tasks.data.CaldavDao;
import org.tasks.data.GoogleTaskList; import org.tasks.data.GoogleTaskList;
@ -41,6 +42,7 @@ public class ChipProvider {
private final Map<String, GtasksFilter> googleTaskLists = new HashMap<>(); private final Map<String, GtasksFilter> googleTaskLists = new HashMap<>();
private final Map<String, CaldavFilter> caldavCalendars = new HashMap<>(); private final Map<String, CaldavFilter> caldavCalendars = new HashMap<>();
private final Map<String, TagFilter> tagDatas = new HashMap<>(); private final Map<String, TagFilter> tagDatas = new HashMap<>();
private final Inventory inventory;
private final ThemeCache themeCache; private final ThemeCache themeCache;
private final int iconAlpha; private final int iconAlpha;
private final LocalBroadcastManager localBroadcastManager; private final LocalBroadcastManager localBroadcastManager;
@ -55,11 +57,13 @@ public class ChipProvider {
@Inject @Inject
public ChipProvider( public ChipProvider(
@ForApplication Context context, @ForApplication Context context,
Inventory inventory,
ThemeCache themeCache, ThemeCache themeCache,
GoogleTaskListDao googleTaskListDao, GoogleTaskListDao googleTaskListDao,
CaldavDao caldavDao, CaldavDao caldavDao,
TagDataDao tagDataDao, TagDataDao tagDataDao,
LocalBroadcastManager localBroadcastManager) { LocalBroadcastManager localBroadcastManager) {
this.inventory = inventory;
this.themeCache = themeCache; this.themeCache = themeCache;
this.localBroadcastManager = localBroadcastManager; this.localBroadcastManager = localBroadcastManager;
iconAlpha = (int) (255 * getDimen(context, R.dimen.alpha_secondary)); iconAlpha = (int) (255 * getDimen(context, R.dimen.alpha_secondary));
@ -145,7 +149,7 @@ public class ChipProvider {
} }
private void apply(Chip chip, String name, int theme) { private void apply(Chip chip, String name, int theme) {
ThemeColor color = theme >= 0 ? themeCache.getThemeColor(theme) : themeCache.getUntaggedColor(); ThemeColor color = getColor(theme);
chip.setText(name); chip.setText(name);
chip.setCloseIconTint( chip.setCloseIconTint(
new ColorStateList(new int[][] {new int[] {}}, new int[] {color.getActionBarTint()})); new ColorStateList(new int[][] {new int[] {}}, new int[] {color.getActionBarTint()}));
@ -158,4 +162,14 @@ public class ChipProvider {
}, },
new int[] {color.getPrimaryColor(), color.getPrimaryColor()})); new int[] {color.getPrimaryColor(), color.getPrimaryColor()}));
} }
private ThemeColor getColor(int theme) {
if (theme >= 0) {
ThemeColor color = themeCache.getThemeColor(theme);
if (color.isFree() || inventory.purchasedThemes()) {
return color;
}
}
return themeCache.getUntaggedColor();
}
} }

Loading…
Cancel
Save