Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.gokdemir.areyousafe;
- import android.app.Activity;
- import android.app.AlertDialog;
- import android.app.ProgressDialog;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.content.pm.PackageManager;
- import android.graphics.Bitmap;
- import android.os.Environment;
- import android.provider.MediaStore;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.text.method.ScrollingMovementMethod;
- import android.util.Log;
- import android.view.View;
- import android.widget.ArrayAdapter;
- import android.widget.Button;
- import android.widget.Spinner;
- import android.widget.TextView;
- import android.widget.Toast;
- import java.io.ByteArrayOutputStream;
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.util.Arrays;
- import java.util.List;
- public class SignupActivity2 extends AppCompatActivity {
- private Button buttonSelectChronicDisease;
- private Button buttonSignup;
- private Button buttonSelectAllergicMedicals;
- private Button buttonUploadImage;
- private TextView tvShowSelectedDiseases;
- private TextView tvShowSelectedMedicals;
- private ProgressDialog progressDialog;
- private Spinner bloodTypeSpinner;
- String bloodType = "";
- String userChosenTask;
- String selectedDiseases = "";
- String[] chronicDiseases;
- boolean[] checkedDiseases;
- String selectedMedications = "";
- String[] allergicMedicals;
- boolean[] checkedMedicals;
- static final int REQUEST_IMAGE_CAPTURE = 0;
- static final int SELECT_FILE = 1;
- public static Context context;
- public static Context activityContext;
- byte[] byteArray;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_signup2);
- context = getApplicationContext();
- activityContext = SignupActivity2.this;
- initalizeActivityComponents();
- buttonSelectChronicDisease.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- selectChronicDiseases();
- }
- });
- buttonSelectAllergicMedicals.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- selectAllergicMedicals();
- }
- });
- buttonSignup.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- signUpUser();
- }
- });
- buttonUploadImage.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- selectImage();
- }
- });
- }
- private void signUpUser() {
- final String mail = getIntent().getStringExtra("email");
- final String password = getIntent().getStringExtra("password");
- final String name = getIntent().getStringExtra("name");
- Log.i("password", password);
- if(bloodTypeSpinner.getSelectedItem().toString() != null) bloodType = bloodTypeSpinner.getSelectedItem().toString();
- VolleyHandler volleyHandler = new VolleyHandler();
- //Intent intent = new Intent(SignupActivity2.this, MainActivity.class);
- volleyHandler.addUserAll(name, mail, password, bloodType, selectedMedications, selectedDiseases, byteArray);
- //progressDialog = new ProgressDialog(SignupActivity2.this);
- //progressDialog.setMessage("Signing you up. Please wait...");
- //progressDialog.show();
- }
- private void selectAllergicMedicals() {
- selectedMedications = "";
- tvShowSelectedMedicals.setText(getResources().getString(R.string.show_selected_medicals_tv));
- AlertDialog.Builder builder = new AlertDialog.Builder(SignupActivity2.this);
- final List<String> medicalsList = Arrays.asList(allergicMedicals);
- builder.setMultiChoiceItems(allergicMedicals, checkedMedicals, new DialogInterface.OnMultiChoiceClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which, boolean isChecked) {
- selectAllergicMedicals(which, isChecked, medicalsList);
- }
- });
- builder.setTitle(getResources().getString(R.string.medicals_builder_title));
- builder.setPositiveButton(getResources().getString(R.string.ok), new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- showSelectedAllergicMedicals(medicalsList);
- }
- });
- builder.setNeutralButton(getResources().getString(R.string.cancel), new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- dialog.dismiss();
- }
- });
- AlertDialog dialog = builder.create();
- dialog.show();
- }
- private void showSelectedAllergicMedicals(List<String> medicalsList) {
- for(int i = 0; i < checkedMedicals.length; i++){
- if(checkedMedicals[i]) {
- selectedMedications += medicalsList.get(i) + ";";
- tvShowSelectedMedicals.setText(tvShowSelectedMedicals.getText() + medicalsList.get(i) + "\n");
- }
- }
- selectedMedications = selectedMedications.substring(0, selectedMedications.length() - 1);
- Toast.makeText(SignupActivity2.this, selectedMedications, Toast.LENGTH_LONG).show();
- }
- private void selectAllergicMedicals(int which, boolean isChecked, List<String> medicalsList) {
- checkedMedicals[which] = isChecked;
- String currentItem = medicalsList.get(which);
- if(isChecked){
- Toast.makeText(SignupActivity2.this, currentItem + " is selected.", Toast.LENGTH_SHORT).show();
- } else {
- Toast.makeText(SignupActivity2.this, currentItem + " is dropped.", Toast.LENGTH_SHORT).show();
- }
- }
- private void selectChronicDiseases() {
- selectedDiseases = "";
- tvShowSelectedDiseases.setText(getResources().getString(R.string.show_selected_diseases_tv_text));
- AlertDialog.Builder builder = new AlertDialog.Builder(SignupActivity2.this);
- final List<String> diseasesList = Arrays.asList(chronicDiseases);
- builder.setMultiChoiceItems(chronicDiseases, checkedDiseases, new DialogInterface.OnMultiChoiceClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which, boolean isChecked) {
- getCheckedDiseases(which, isChecked, diseasesList);
- }
- });
- builder.setTitle(getResources().getString(R.string.disease_builder_title));
- builder.setPositiveButton(getResources().getString(R.string.ok), new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- showSelectedDiseases(diseasesList);
- }
- });
- builder.setNeutralButton(getResources().getString(R.string.cancel), new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- dialog.dismiss();
- }
- });
- AlertDialog dialog = builder.create();
- dialog.show();
- }
- private void showSelectedDiseases(List<String> diseasesList) {
- for(int i = 0; i < checkedDiseases.length; i++){
- if(checkedDiseases[i]){
- selectedDiseases += diseasesList.get(i);
- selectedDiseases += ";";
- tvShowSelectedDiseases.setText(tvShowSelectedDiseases.getText() + diseasesList.get(i) + "\n");
- }
- }
- selectedDiseases = selectedDiseases.substring(0, selectedDiseases.length() - 1);
- Toast.makeText(SignupActivity2.this, selectedDiseases, Toast.LENGTH_LONG).show();
- }
- private void getCheckedDiseases(int which, boolean isChecked, List<String> diseasesList) {
- checkedDiseases[which] = isChecked;
- String currentItem = diseasesList.get(which);
- // Notify the current action
- if(isChecked) {
- Toast.makeText(getApplicationContext(), currentItem + " is selected.", Toast.LENGTH_SHORT).show();
- } else{
- Toast.makeText(SignupActivity2.this, currentItem + " is dropped.", Toast.LENGTH_SHORT).show();
- }
- }
- private void initalizeActivityComponents() {
- tvShowSelectedDiseases = (TextView) findViewById(R.id.showSelectedDiseasesTV);
- tvShowSelectedMedicals = (TextView) findViewById(R.id.showSelectedMedicalsTV);
- tvShowSelectedDiseases.setMovementMethod(new ScrollingMovementMethod());
- tvShowSelectedMedicals.setMovementMethod(new ScrollingMovementMethod());
- chronicDiseases = getResources().getStringArray(R.array.chronic_diseases);
- checkedDiseases = new boolean[chronicDiseases.length];
- allergicMedicals = getResources().getStringArray(R.array.allergies_towards_drugs);
- checkedMedicals = new boolean[allergicMedicals.length];
- bloodTypeSpinner = (Spinner) findViewById(R.id.bloodTypeSpinner);
- buttonSelectChronicDisease = (Button) findViewById(R.id.buttonSelectChronicDiseases);
- buttonSignup = (Button) findViewById(R.id.buttonSignup);
- buttonSelectAllergicMedicals = (Button) findViewById(R.id.buttonSelectAllergicMedicals);
- buttonUploadImage = (Button) findViewById(R.id.uploadImage);
- ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,R.array.blood_types,android.R.layout.simple_spinner_dropdown_item);
- bloodTypeSpinner.setAdapter(adapter);
- }
- private void selectImage(){
- final CharSequence[] items = {"Take Photo", "Choose from Gallery", "Cancel"};
- AlertDialog.Builder builder = new AlertDialog.Builder(SignupActivity2.this);
- builder.setTitle(getResources().getString(R.string.select_photo_builder_title));
- builder.setItems(items, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int item) {
- boolean result = Utility.checkPermission(SignupActivity2.this);
- if(items[item].equals("Take Photo")) {
- userChosenTask = "Take Photo";
- if(result)
- cameraIntent();
- } else if(items[item].equals("Choose from Gallery")){
- userChosenTask = "Choose from Gallery";
- if(result)
- galleryIntent();
- } else if(items[item].equals("Cancel")) {
- dialog.dismiss();
- }
- }
- });
- builder.show();
- }
- private void cameraIntent(){
- Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
- if(takePictureIntent.resolveActivity(getPackageManager()) != null)
- startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
- }
- private void galleryIntent(){
- Intent getPictureFromGallery = new Intent(Intent.ACTION_PICK);
- getPictureFromGallery.setType("image/*");
- getPictureFromGallery.setAction(getPictureFromGallery.ACTION_GET_CONTENT);
- startActivityForResult(Intent.createChooser(getPictureFromGallery, "Select File"), SELECT_FILE);
- }
- @Override
- public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
- switch (requestCode) {
- case Utility.MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE:
- if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- if(userChosenTask.equals("Take Photo"))
- cameraIntent();
- else if(userChosenTask.equals("Choose from Library"))
- galleryIntent();
- } else {
- //code for deny
- }
- break;
- }
- }
- @Override
- public void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- if (resultCode == Activity.RESULT_OK) {
- if (requestCode == SELECT_FILE)
- onSelectFromGalleryResult(data);
- else if (requestCode == REQUEST_IMAGE_CAPTURE)
- onCaptureImageResult(data);
- }
- }
- @SuppressWarnings("deprecation")
- private void onSelectFromGalleryResult(Intent data) {
- Bitmap bm = null;
- if (data != null) {
- try {
- bm = MediaStore.Images.Media.getBitmap(getApplicationContext().getContentResolver(), data.getData());
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- //ivImage.setImageBitmap(bm); setting the bitmap to image view.
- ByteArrayOutputStream bytes = new ByteArrayOutputStream();
- bm.compress(Bitmap.CompressFormat.JPEG, 90, bytes);
- byteArray = bytes.toByteArray();
- Toast.makeText(SignupActivity2.this, "Image is taken", Toast.LENGTH_SHORT).show();
- }
- private void onCaptureImageResult(Intent data) {
- Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
- ByteArrayOutputStream bytes = new ByteArrayOutputStream();
- thumbnail.compress(Bitmap.CompressFormat.JPEG, 90, bytes);
- byteArray = bytes.toByteArray();
- File destination = new File(Environment.getExternalStorageDirectory(),
- System.currentTimeMillis() + ".jpg");
- FileOutputStream fo;
- try {
- destination.createNewFile();
- fo = new FileOutputStream(destination);
- fo.write(bytes.toByteArray());
- fo.close();
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- //ivImage.setImageBitmap(thumbnail); setting the bitmap to image view"
- Toast.makeText(SignupActivity2.this, "Image is taken", Toast.LENGTH_SHORT).show();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement