package com.RSen.Commandr.builtincommands; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import com.RSen.Commandr.R; import com.RSen.Commandr.core.MostWantedCommand; import com.RSen.Commandr.util.SMSUtils; import com.RSen.Commandr.util.SmsMmsMessage; import com.RSen.Commandr.util.TTSService; import java.util.ArrayList; /** * @author Ryan Senanayake * Commandr for Google Now * FlashlightCommand.java * @version 1.0 * 5/28/14 */ public class ReadLastSMSFromContactCommand extends MostWantedCommand { private static String TITLE; private static String DEFAULT_PHRASE; private static Context ctx; public ReadLastSMSFromContactCommand(Context ctx) { DEFAULT_PHRASE = ctx.getString(R.string.read_last_sms_phrase); TITLE = ctx.getString(R.string.last_sms_title); this.ctx = ctx; } /** * Execute this command (turn on flashlight) */ @Override public void execute(Context context, String predicate) { SmsMmsMessage message = SMSUtils.getRecentMessageFromSender(context, predicate.toLowerCase().trim()); if (message == null) { Intent i = new Intent(context, TTSService.class); i.putExtra("toSpeak", context.getString(R.string.no_messages_found)); context.startService(i); } else { Intent i = new Intent(context, TTSService.class); i.putExtra("toSpeak", message.getContactName() + " sent " + message.getMessageBody()); context.startService(i); } } /** * It is enabled if the phone has a flash feature */ @Override public boolean isAvailable(Context context) { return context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY); } @Override public String getTitle() { return TITLE; } @Override public String getPredicateHint() { return ctx.getString(R.string.sender_name); } @Override public String getDefaultPhrase() { return DEFAULT_PHRASE; } }