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 ReadUnreadSMSCommand extends MostWantedCommand { private static String TITLE; private static String DEFAULT_PHRASE; public ReadUnreadSMSCommand(Context ctx) { DEFAULT_PHRASE = ctx.getString(R.string.read_unread_sms_phrase); TITLE = ctx.getString(R.string.read_unread_sms_title); } /** * Execute this command (turn on flashlight) */ @Override public void execute(Context context, String predicate) { ArrayList<SmsMmsMessage> unread = SMSUtils.getUnreadMessages(context); String text = ""; if (unread == null || unread.size() < 1) { Intent i = new Intent(context, TTSService.class); i.putExtra("toSpeak", "No unread text messages"); context.startService(i); } else { for (SmsMmsMessage message : unread) { text += message.getContactName() + " sent " + message.getMessageBody(); } Intent i = new Intent(context, TTSService.class); i.putExtra("toSpeak", text); 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 getDefaultPhrase() { return DEFAULT_PHRASE; } }