package com.glasstunes.cards;
import java.net.URISyntaxException;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import com.glasstunes.controller.MusicController;
import com.glasstunes.screenslide.BasicCardFragment;
public class ActionCard extends BasicCardFragment {
protected static final String ARG_INTENT_URI = null;
protected static Bundle generateArgs(String display_name, String intent_uri) {
Bundle args = BasicCardFragment.generateArgs(0, display_name);
args.putString(ARG_INTENT_URI, intent_uri);
return args;
}
public static ActionCard newInstance(String display_name, String intent_uri) {
ActionCard frag = new ActionCard();
Bundle args = generateArgs(display_name, intent_uri);
frag.setArguments(args);
return frag;
}
protected Intent mIntent;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle args = savedInstanceState == null ? getArguments()
: savedInstanceState;
try {
mIntent = Intent.parseUri(args.getString(ARG_INTENT_URI), 0);
} catch (URISyntaxException e) {
e.printStackTrace();
}
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString(ARG_INTENT_URI,
mIntent.toUri(Intent.URI_INTENT_SCHEME));
}
@Override
public void onSelect() {
super.onSelect();
if ("com.google.android.music.xdi.intent.PLAY".equals(mIntent
.getAction())) {
MusicController.getInstance().play(getActivity(), mIntent);
} else {
startActivity(mIntent);
}
getActivity().setResult(Activity.RESULT_OK);
getActivity().finish();
}
}