package com.RSen.Commandr.core; import android.content.Context; import android.preference.PreferenceManager; import com.RSen.Commandr.util.WearUtil; /** * Created by Ryan on 6/27/2014. */ public abstract class MostWantedCommand extends Command { @Override public abstract void execute(Context context, String predicate); protected boolean isOnByDefault() { return true; } @Override public boolean isEnabled(Context context) { return PreferenceManager.getDefaultSharedPreferences(context).getBoolean(getTitle(), isOnByDefault()) && isAvailable(context); } public abstract boolean isAvailable(Context context); public abstract String getTitle(); protected abstract String getDefaultPhrase(); public String getPhrase(Context context) { return PreferenceManager.getDefaultSharedPreferences(context).getString("phrase" + getTitle(), getDefaultPhrase()); } public void setPhrase(Context context, String phrase) { WearUtil.updateCommandList(context); PreferenceManager.getDefaultSharedPreferences(context).edit().putString("phrase" + getTitle(), phrase).commit(); } public boolean isRegex(Context context) { return PreferenceManager.getDefaultSharedPreferences(context).getBoolean("regex" + getTitle(), false); } public void setRegex(Context context, boolean is_regex) { WearUtil.updateCommandList(context); PreferenceManager.getDefaultSharedPreferences(context).edit().putBoolean("regex" + getTitle(), is_regex).commit(); } //commands that launch their own activity must handle resetting google now public boolean isHandlingGoogleNowReset() { return false; } //default behavior - don't allow predicates public String getPredicateHint() { return null; } }