package com.codefixia.drumcloud; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.content.Intent; import android.net.Uri; import android.view.View; import android.view.Window; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ImageView; import android.widget.Spinner; import android.widget.TextView; public class MenuDialogs{ private static float nextFrequency; public static float getNextFrequency() { return nextFrequency; } public static void setNextFrequency(float nextFrequency) { MenuDialogs.nextFrequency = nextFrequency; } public static void showHelpDialog(final DrumCloud drumCloud){ new AlertDialog.Builder(drumCloud) .setTitle(R.string.Tutorial) .setMessage(R.string.showTutorialMessage) .setNegativeButton(android.R.string.no, null) .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { drumCloud.startHelpShowCase(); } }).create().show(); } public static void showAboutDialog(final DrumCloud drumCloud){ final Dialog dialog = new Dialog(drumCloud); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(R.layout.about_dialog); //dialog.setTitle(R.string.about); dialog.setCancelable(true); //there are a lot of settings, for dialog, check them all out! //set up text TextView text = (TextView) dialog.findViewById(R.id.TextView01); text.setText(R.string.aboutDialogText); //set up image view ImageView img = (ImageView) dialog.findViewById(R.id.ImageView01); img.setImageResource(R.drawable.codefixia_logo); img.setOnClickListener(new OnClickListener() { public void onClick(View v) { String url = "http://www.codefixia.com"; Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse(url)); drumCloud.startActivity(i); } }); //set up button Button button = (Button) dialog.findViewById(R.id.Button01); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); //now that the dialog is set up, it's time to show it dialog.show(); } public static void showChangeFrequencyDialog(final DrumCloud drumCloud){ final Dialog dialog = new Dialog(drumCloud); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(R.layout.changefrequency); dialog.setCancelable(true); final Button restartButton = (Button) dialog.findViewById(R.id.setButton); final Button cancelButton = (Button) dialog.findViewById(R.id.cancelButton); Spinner spinner = (Spinner) dialog.findViewById(R.id.Spinner01); String[] frequencies = {"44100Hz","22050Hz","11025Hz"}; ArrayAdapter<CharSequence> adapter = new ArrayAdapter(dialog.getContext(), android.R.layout.simple_spinner_item, frequencies); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); if(DrumCloud.mainFrequency==44100){ spinner.setSelection(0); }else if(DrumCloud.mainFrequency==22050){ spinner.setSelection(1); }else if(DrumCloud.mainFrequency==11025){ spinner.setSelection(2); } spinner.setOnItemSelectedListener( new OnItemSelectedListener() { public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { MenuDialogs.setNextFrequency(Float.parseFloat(parent.getSelectedItem().toString().replace("Hz", ""))); } public void onNothingSelected(AdapterView<?> parent) {} }); restartButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { drumCloud.changeMainFrequency(nextFrequency); } }); cancelButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { dialog.dismiss(); } }); dialog.show(); } }