package com.RSen.Commandr.builtincommands; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.os.Handler; import android.os.Message; import com.RSen.Commandr.R; import com.RSen.Commandr.core.MostWantedCommand; import com.RSen.Commandr.util.GoogleNowUtil; /** * @author Ryan Senanayake * Commandr for Google Now * FlashlightCommand.java * @version 1.0 * 5/28/14 */ public class FlashlightCommand extends MostWantedCommand { private static String TITLE; private static String DEFAULT_PHRASE; public FlashlightCommand(Context ctx) { DEFAULT_PHRASE = ctx.getString(R.string.flashlight_phrases); TITLE = ctx.getString(R.string.flashlight_title); } /** * Execute this command (turn on flashlight) */ @Override public void execute(final Context context, String predicate) { GoogleNowUtil.resetGoogleNowOnly(context); Handler handler = new Handler(new Handler.Callback() { @Override public boolean handleMessage(Message message) { Intent i = new Intent(context, FlashlightActivity.class); i.putExtra("onOrOff", true); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); return true; } }); handler.sendEmptyMessageDelayed(0, 500); } /** * It is enabled if the phone has a flash feature */ @Override public boolean isAvailable(Context context) { return context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH); } @Override public String getTitle() { return TITLE; } @Override public boolean isHandlingGoogleNowReset() { return true; } @Override public String getDefaultPhrase() { return DEFAULT_PHRASE; } }