StandardTaskQueries.java :  » UnTagged » android-shuffle » org » dodgybits » shuffle » android » list » config » Android Open Source

Android Open Source » UnTagged » android shuffle 
android shuffle » org » dodgybits » shuffle » android » list » config » StandardTaskQueries.java
package org.dodgybits.shuffle.android.list.config;

import static org.dodgybits.shuffle.android.core.model.persistence.selector.Flag.yes;

import java.util.HashMap;

import org.dodgybits.shuffle.android.core.model.persistence.selector.TaskSelector;
import org.dodgybits.shuffle.android.core.model.persistence.selector.TaskSelector.PredefinedQuery;
import org.dodgybits.shuffle.android.list.activity.task.InboxActivity;
import org.dodgybits.shuffle.android.list.activity.task.TabbedDueActionsActivity;
import org.dodgybits.shuffle.android.list.activity.task.TicklerActivity;
import org.dodgybits.shuffle.android.list.activity.task.TopTasksActivity;

import android.content.Context;
import android.content.Intent;

public class StandardTaskQueries {

    public static final String cInbox = "inbox";
    public static final String cDueToday = "due_today";
    public static final String cDueNextWeek = "due_next_week";
    public static final String cDueNextMonth = "due_next_month";
    public static final String cNextTasks = "next_tasks";
    public static final String cTickler = "tickler";


    public static final String cDueTasksFilterPrefs = "due_tasks";
    public static final String cProjectFilterPrefs = "project";
    public static final String cContextFilterPrefs = "context";

    private static final TaskSelector cInboxQuery = 
        TaskSelector.newBuilder().setPredefined(PredefinedQuery.inbox).build();
        
    private static final TaskSelector cDueTodayQuery = 
        TaskSelector.newBuilder().setPredefined(PredefinedQuery.dueToday).build();

    private static final TaskSelector cDueNextWeekQuery = 
        TaskSelector.newBuilder().setPredefined(PredefinedQuery.dueNextWeek).build();

    private static final TaskSelector cDueNextMonthQuery = 
        TaskSelector.newBuilder().setPredefined(PredefinedQuery.dueNextMonth).build();
    
    private static final TaskSelector cNextTasksQuery = 
        TaskSelector.newBuilder().setPredefined(PredefinedQuery.nextTasks).build();

    private static final TaskSelector cTicklerQuery = 
        TaskSelector.newBuilder().setPredefined(PredefinedQuery.tickler).build();
    

    private static final HashMap<String,TaskSelector> cQueryMap = new HashMap<String,TaskSelector>();
    static {
        cQueryMap.put(cInbox, cInboxQuery);
        cQueryMap.put(cDueToday, cDueTodayQuery);
        cQueryMap.put(cDueNextWeek, cDueNextWeekQuery);
        cQueryMap.put(cDueNextMonth, cDueNextMonthQuery);
        cQueryMap.put(cNextTasks, cNextTasksQuery);
        cQueryMap.put(cTickler, cTicklerQuery);
    }

    private static final HashMap<String,String> cFilterPrefsMap = new HashMap<String,String>();
    static {
        cFilterPrefsMap.put(cInbox, cInbox);
        cFilterPrefsMap.put(cDueToday, cDueTasksFilterPrefs);
        cFilterPrefsMap.put(cDueNextWeek, cDueTasksFilterPrefs);
        cFilterPrefsMap.put(cDueNextMonth, cDueTasksFilterPrefs);
        cFilterPrefsMap.put(cNextTasks, cNextTasks);
        cFilterPrefsMap.put(cTickler, cTickler);
    }

    public static TaskSelector getQuery(String name) {
        return cQueryMap.get(name);
    }

    public static String getFilterPrefsKey(String name) {
        return cFilterPrefsMap.get(name);
    }

    public static Intent getActivityIntent(Context context, String name) {
        if (cInbox.equals(name)) {
            return new Intent(context, InboxActivity.class);
        }
        if (cNextTasks.equals(name)) {
            return new Intent(context, TopTasksActivity.class);
        }
        if (cTickler.equals(name)) {
            return new Intent(context, TicklerActivity.class);
        }

        PredefinedQuery query = PredefinedQuery.dueToday;
        if (cDueNextWeek.equals(name)) {
            query = PredefinedQuery.dueNextWeek;
        } else if (cDueNextMonth.equals(name)) {
            query = PredefinedQuery.dueNextMonth;
        }
        Intent intent = new Intent(context, TabbedDueActionsActivity.class);
        intent.putExtra(TabbedDueActionsActivity.DUE_MODE, query.name());
        return intent;
    }
    
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.