From c4c333be7cc849474939c3da467e324968f6278b Mon Sep 17 00:00:00 2001 From: Tim Su Date: Tue, 15 May 2012 15:59:13 -0700 Subject: [PATCH] Special handling for kindle fire - remove google tasks and addons tab --- .../todoroo/astrid/activity/EditPreferences.java | 6 ++++++ .../com/todoroo/astrid/helper/SyncActionHelper.java | 8 ++++++++ .../com/todoroo/astrid/service/MarketStrategy.java | 13 +++++++++++++ 3 files changed, 27 insertions(+) diff --git a/astrid/src/com/todoroo/astrid/activity/EditPreferences.java b/astrid/src/com/todoroo/astrid/activity/EditPreferences.java index a68221949..ab9f793c9 100644 --- a/astrid/src/com/todoroo/astrid/activity/EditPreferences.java +++ b/astrid/src/com/todoroo/astrid/activity/EditPreferences.java @@ -46,8 +46,10 @@ import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.core.LabsPreferences; import com.todoroo.astrid.dao.Database; import com.todoroo.astrid.data.Task; +import com.todoroo.astrid.gtasks.GtasksPreferences; import com.todoroo.astrid.helper.MetadataHelper; import com.todoroo.astrid.service.AddOnService; +import com.todoroo.astrid.service.MarketStrategy.AmazonMarketStrategy; import com.todoroo.astrid.service.StartupService; import com.todoroo.astrid.service.StatisticsConstants; import com.todoroo.astrid.service.StatisticsService; @@ -225,6 +227,10 @@ public class EditPreferences extends TodorooPreferenceActivity { !MilkUtilities.INSTANCE.isLoggedIn()) continue; + if (GtasksPreferences.class.getName().equals(resolveInfo.activityInfo.name) + && AmazonMarketStrategy.isKindleFire()) + continue; + Preference preference = new Preference(this); preference.setTitle(resolveInfo.activityInfo.loadLabel(pm)); if (labsTitle.equals(preference.getTitle())) diff --git a/astrid/src/com/todoroo/astrid/helper/SyncActionHelper.java b/astrid/src/com/todoroo/astrid/helper/SyncActionHelper.java index 31411f42e..ab43e2cc4 100644 --- a/astrid/src/com/todoroo/astrid/helper/SyncActionHelper.java +++ b/astrid/src/com/todoroo/astrid/helper/SyncActionHelper.java @@ -34,6 +34,8 @@ import com.todoroo.astrid.activity.TaskListFragment; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.SyncAction; +import com.todoroo.astrid.gtasks.GtasksPreferences; +import com.todoroo.astrid.service.MarketStrategy.AmazonMarketStrategy; import com.todoroo.astrid.service.SyncV2Service; import com.todoroo.astrid.sync.SyncResultCallback; import com.todoroo.astrid.sync.SyncV2Provider; @@ -192,11 +194,17 @@ public class SyncActionHelper { String category = MetadataHelper.resolveActivityCategoryName( resolveInfo, pm); + if (MilkPreferences.class.getName().equals( resolveInfo.activityInfo.name) && !MilkUtilities.INSTANCE.isLoggedIn()) continue; + if (GtasksPreferences.class.getName().equals( + resolveInfo.activityInfo.name) + && AmazonMarketStrategy.isKindleFire()) + continue; + if (category.equals(desiredCategory)) { syncIntents.add(new IntentWithLabel(intent, resolveInfo.activityInfo.loadLabel(pm).toString())); diff --git a/astrid/src/com/todoroo/astrid/service/MarketStrategy.java b/astrid/src/com/todoroo/astrid/service/MarketStrategy.java index 816e1b02c..61d95cf4c 100644 --- a/astrid/src/com/todoroo/astrid/service/MarketStrategy.java +++ b/astrid/src/com/todoroo/astrid/service/MarketStrategy.java @@ -57,6 +57,19 @@ public abstract class MarketStrategy { return false; } + @Override + public boolean showAddonMenu() { + return !isKindleFire(); + } + + /** + * @return true if the device is a kindle fire and needs special treatment + */ + public static boolean isKindleFire() { + return android.os.Build.MANUFACTURER.equals("Amazon") && //$NON-NLS-1$ + android.os.Build.MODEL.equals("Kindle Fire"); //$NON-NLS-1$ + } + } }