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

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