package ca.ualberta.cs.cmput301f14t14.questionapp.view; import java.io.File; import ca.ualberta.cs.cmput301f14t14.questionapp.MainActivity; import ca.ualberta.cs.cmput301f14t14.questionapp.QuestionActivity; import ca.ualberta.cs.cmput301f14t14.questionapp.R; import ca.ualberta.cs.cmput301f14t14.questionapp.model.Image; import android.app.AlertDialog; import android.app.Dialog; import android.app.DialogFragment; import android.content.Context; import android.content.DialogInterface; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.location.Location; import android.location.LocationManager; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.CheckBox; import android.widget.EditText; import android.widget.ImageView; import android.widget.Toast; /** * Fragment that allows inputting data to create an answer. */ public class AddAnswerDialogFragment extends DialogFragment { private Image img; private View text; @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); LayoutInflater inflater = getActivity().getLayoutInflater(); text = inflater.inflate( R.layout.addanswerdialogfragmentlayout, (ViewGroup) getView()); builder.setView(text) .setPositiveButton(R.string.OK, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Image img = null; EditText body = (EditText) text.findViewById(R.id.add_answer_body); CheckBox answerLocation = (CheckBox) text.findViewById(R.id.answerLocationBox); Location loc = null; if(answerLocation.isChecked()){ LocationManager lm = (LocationManager) getActivity().getApplicationContext().getSystemService(Context.LOCATION_SERVICE); if(lm.isProviderEnabled(LocationManager.GPS_PROVIDER)){ loc = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER); } else{ Toast.makeText(getActivity().getApplicationContext(), "Please enable GPS to use Location Service", Toast.LENGTH_SHORT).show(); } } QuestionActivity qa = (QuestionActivity) getActivity(); img = qa.img; ((QuestionActivity) getActivity()).addAnswerCallback(body.getText().toString(), img, loc); } }) .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // Do nothing } }); return builder.create(); } public void onResume(){ super.onResume(); QuestionActivity qa = (QuestionActivity) getActivity(); img = qa.img; if (img != null) { ImageView imgV = (ImageView) text.findViewById(R.id.imageViewAns); Bitmap bmp = img.getBitmap(); imgV.setImageBitmap(bmp); } } }