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 AudioCaptureCommand extends MostWantedCommand { private static String TITLE; private static String DEFAULT_PHRASE; private static String PREDICATE_HINT; public AudioCaptureCommand(Context ctx) { DEFAULT_PHRASE = ctx.getString(R.string.capture_audio_phras); TITLE = ctx.getString(R.string.audio_capture_title); PREDICATE_HINT = ctx.getString(R.string.seconds); } /** * Execute this command (turn on flashlight) */ @Override public void execute(final Context context, final String predicate) { GoogleNowUtil.resetGoogleNowOnly(context); Handler handler = new Handler(new Handler.Callback() { @Override public boolean handleMessage(Message message) { Intent i = new Intent(context, AudioCaptureActivity.class); int seconds = -1; try { seconds = Integer.parseInt(predicate); } catch (Exception e) {} i.putExtra("seconds", seconds); 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_MICROPHONE); } @Override public String getTitle() { return TITLE; } @Override public boolean isHandlingGoogleNowReset() { return true; } @Override public String getDefaultPhrase() { return DEFAULT_PHRASE; } @Override public String getPredicateHint() { return PREDICATE_HINT; } }