package com.RSen.Commandr.builtincommands; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.widget.Toast; import com.RSen.Commandr.R; import com.RSen.Commandr.core.MostWantedCommand; import java.net.URLEncoder; /** * @author Aaron Disibio * @version 1.0 August 16th 14 */ public class WolframRedirectCommand extends MostWantedCommand { private static String TITLE; private static String DEFAULT_PHRASE; private Context context; // final static String WOLFRAM_QUERY = "wolfram_query"; public WolframRedirectCommand(Context ctx) { DEFAULT_PHRASE = ctx.getString(R.string.wolfram_phrases); TITLE = ctx.getString(R.string.wolfram_title); context = ctx; } /** * command shutdown NOW */ @Override public void execute(final Context context, String predicate) { Toast.makeText(context, context.getString(R.string.wolfram_redirect), Toast.LENGTH_SHORT).show(); try { try { String query = URLEncoder.encode(predicate, "utf-8"); String url = "wolframalpha://?i=" + query; Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse(url)); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } catch (Exception e) { String query = URLEncoder.encode(predicate, "utf-8"); String url = "http://www.wolframalpha.com/input/?i=" + query; Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse(url)); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } /* Intent i = new Intent(context, WolframRedirectActivity.class); i.putExtra(WOLFRAM_QUERY,predicate); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); */ } catch (Exception e) { e.printStackTrace(); Toast.makeText(context, context.getString(R.string.wolfram_redirect_failed), Toast.LENGTH_SHORT).show(); } } @Override public boolean isAvailable(Context context) { return true; } @Override public String getTitle() { return TITLE; } @Override public String getPredicateHint() { return context.getString(R.string.wolfram_hint); } @Override public String getDefaultPhrase() { return DEFAULT_PHRASE; } @Override public boolean isHandlingGoogleNowReset() { return true; } }