Android Open Source - SymptomManagement Medications List Fragment






From Project

Back to project page SymptomManagement.

License

The source code is released under:

Apache License

If you think the Android project SymptomManagement listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.android.capstone.doctor;
/*from w ww  .  j  a  v  a 2 s. c o  m*/
import com.android.capstone.BaseActivity;
import com.android.capstone.R;
import com.android.capstone.data.Medications;
import com.android.capstone.task.AddMedicationsTask;
import com.android.capstone.utils.CommonUtils;
import com.android.capstone.views.FloatingActionButton;

import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.app.Fragment;
import android.content.DialogInterface;
import android.os.Bundle;
import android.util.SparseBooleanArray;
import android.view.ActionMode;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.view.ViewManager;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;



public class MedicationsListFragment extends Fragment implements ListView.MultiChoiceModeListener{

  ListView medicationsList;
  MedicationsListAdapter mAdapter;
  FloatingActionButton plusFabButton;
  EditText addMedication;
  
    
  Long patientId, doctorId;
  
  
  
  public MedicationsListFragment(Long doctorId, Long patientId){
    this.doctorId = doctorId;
    this.patientId = patientId;
  }
  
  
  
  
  
  
  
  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    super.onCreateView(inflater, container, savedInstanceState);
    View view = inflater.inflate(R.layout.fragment_medications_list, container, false);
    
    medicationsList = (ListView) view.findViewById(R.id.MedicationsList);
    mAdapter = new MedicationsListAdapter(getActivity());
    medicationsList.setAdapter(mAdapter);
    medicationsList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
    medicationsList.setMultiChoiceModeListener(this);
     
    getActivity().getActionBar().setDisplayHomeAsUpEnabled(true);
    loadMedications();
    
    return view;
    
  }
  
  
  
  
  
  @Override
  public void onPause() {
    super.onPause();
    ((ViewManager)plusFabButton.getParent()).removeView(plusFabButton);
  }
  
  
  @Override
  public void onResume() {
    super.onResume();
    createPlusFabButton();
  }
  
  
  
  

  private void loadMedications() {
    mAdapter.setMedications(new CommonUtils(getActivity()).getMedicationsById(patientId));
    
  }

  
  



  private void createPlusFabButton() {
       plusFabButton = new FloatingActionButton.Builder(getActivity())
               .withDrawable(getResources().getDrawable(R.drawable.ic_content_add))
               .withButtonColor(getResources().getColor(R.color.theme_primary))
               .withGravity(Gravity.BOTTOM | Gravity.RIGHT)
               .withMargins(0, 0, 25, 25)
               .create();
    
    plusFabButton.setOnClickListener(new OnClickListener() {
      
      @Override
      public void onClick(View v) {
      
        medicationsList.startActionMode(new ActionMode.Callback() {
          
          @Override
          public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
            return false;
          }
          
          @Override
          public void onDestroyActionMode(ActionMode mode) {
          }
          
          
          @Override
          public boolean onCreateActionMode(ActionMode mode, Menu menu) {
            mode.getMenuInflater().inflate(R.menu.medication_list_add, menu);
            return true;
          }
          
          @Override
          public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
            switch (item.getItemId()) {
                   
                    case R.id.action_medications_save_cloud:
                       Medications m = new Medications(doctorId, patientId, mAdapter.getMedications());
                       BaseActivity activity = (BaseActivity) getActivity();
                       if(activity.isOnline()){
                         new AddMedicationsTask(MedicationsListFragment.this, mode).execute(m);
                     }else{
                      Toast.makeText(getActivity(), "Internet Connection Not Available.. Could not Update Medications.. ", Toast.LENGTH_LONG).show();
                      loadMedications();
                      mode.finish();
                     } 

                       return true; 
                        
                   default: 
                        return false; 
            } 
          
                
          }
      });
        
      new AddMedicationsDialogFragment().show(getFragmentManager(),"Medication Dialog ");
    }
  });
    
    
  }
  
  
  
  
  

  @Override
  public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
    
    switch (item.getItemId()) {
             case R.id.action_medications_discard:
              // Calls getSelectedIds method from ListViewAdapter Class
                 SparseBooleanArray selected = mAdapter.getSelectedIds();
                 // Captures all selected ids with a loop
                 for (int i = (selected.size() - 1); i >= 0; i--) {
                     if (selected.valueAt(i)) {
                         String selectedMed = mAdapter.getItem(selected.keyAt(i));
                         // Remove selected items following the ids
                         mAdapter.remove(selectedMed);
                     }
                 }
    
                  return true; 
                  
             
             case R.id.action_medications_save_cloud:
                 Medications m = new Medications(doctorId, patientId, mAdapter.getMedications());
                 BaseActivity activity = (BaseActivity) getActivity();
                 if(activity.isOnline()){
                   new AddMedicationsTask(MedicationsListFragment.this, mode).execute(m);
               }else{
                Toast.makeText(getActivity(), "Internet Connection Not Available.. Could not Add Medications.. ", Toast.LENGTH_LONG).show();
                loadMedications();
                mode.finish();
               } 
     
                   return true; 
                  
              
             default: 
                  return false; 
    } 
    
  }




  @Override
  public boolean onCreateActionMode(ActionMode mode, Menu menu) {
    plusFabButton.hideFloatingActionButton();
    mode.getMenuInflater().inflate(R.menu.medication_list_context_menu, menu);
    return true;
  }



  @Override
  public void onDestroyActionMode(ActionMode mode) {
    plusFabButton.showFloatingActionButton();
    mAdapter.removeSelection();
  }



  @Override
  public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
    return false;
  }





  @Override
  public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
    final int checkedCount = medicationsList.getCheckedItemCount();
        mode.setTitle(checkedCount + " Selected");
        mAdapter.toggleSelection(position);
  }
    
    
  

  
  
  
  
  private class AddMedicationsDialogFragment extends DialogFragment{

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
      
       AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
       LayoutInflater mInflater = getActivity().getLayoutInflater();
       View addMedicationView = mInflater.inflate(R.layout.add_medication_dialog_layout, null);
        builder.setTitle("Add a Medication ");
        builder.setView(addMedicationView);
        builder.setPositiveButton(" Add ", new DialogInterface.OnClickListener() {
                     
                     @Override
                       public void onClick(DialogInterface dialog, int id) {
                      addMedication = (EditText) AddMedicationsDialogFragment.this.getDialog().findViewById(R.id.et_addMedication);
                          final String med = addMedication.getEditableText().toString();
                          mAdapter.add(med);
                        
                     }
                   });
         
        
        builder.setNegativeButton(" Cancel ", new DialogInterface.OnClickListener() {
                       public void onClick(DialogInterface dialog, int id) {
                          dialog.cancel(); 
                      }
                  
               });
      return builder.create();
    }
   }





  public void AddMedicationsTaskResult(Medications result) {
    loadMedications();
  }

  
  
  
  
  
  
}




Java Source Code List

android.UnusedStub.java
com.android.capstone.BaseActivity.java
com.android.capstone.DatePickerFragment.java
com.android.capstone.MainActivity.java
com.android.capstone.RegisterFragment.java
com.android.capstone.data.CheckinSvcApi.java
com.android.capstone.data.Checkin.java
com.android.capstone.data.Doctor.java
com.android.capstone.data.GPlusProfile.java
com.android.capstone.data.MedicationCheckinQA.java
com.android.capstone.data.Medications.java
com.android.capstone.data.Patient.java
com.android.capstone.data.VDoctor.java
com.android.capstone.data.VPatient.java
com.android.capstone.db.SymptomManagementContract.java
com.android.capstone.db.SymptomManagementDbHelper.java
com.android.capstone.db.SymptomManagementProvider.java
com.android.capstone.doctor.CheckinLogsListAdapter.java
com.android.capstone.doctor.CheckinLogs_Doctor_Fragment.java
com.android.capstone.doctor.DisplayCheckinActivity.java
com.android.capstone.doctor.DoctorMain_Fragment.java
com.android.capstone.doctor.Doctor_Main_CursorAdapter.java
com.android.capstone.doctor.Doctor_VPatient_Activity.java
com.android.capstone.doctor.Doctor_VPatient_Fragment.java
com.android.capstone.doctor.MedicationsListAdapter.java
com.android.capstone.doctor.MedicationsListFragment.java
com.android.capstone.doctor.alarm.CheckPainIntentService.java
com.android.capstone.doctor.alarm.CheckPain.java
com.android.capstone.doctor.alarm.CheckinAlarmService.java
com.android.capstone.doctor.alarm.OnBootReceiver.java
com.android.capstone.gcm.GcmBroadcastReceiver.java
com.android.capstone.gcm.GcmIntentService.java
com.android.capstone.patient.CheckinNowActivity.java
com.android.capstone.patient.PatientMain_Fragment.java
com.android.capstone.patient.Patient_Main_CursorAdapter.java
com.android.capstone.patient.ReminderCursorAdapter.java
com.android.capstone.patient.RemindersActivity.java
com.android.capstone.patient.TimePickerFragment.java
com.android.capstone.patient.checkin_now.model.AbstractWizardModel.java
com.android.capstone.patient.checkin_now.model.BranchPage.java
com.android.capstone.patient.checkin_now.model.CheckinNow_Model.java
com.android.capstone.patient.checkin_now.model.ModelCallbacks.java
com.android.capstone.patient.checkin_now.model.MultipleFixedChoicePage.java
com.android.capstone.patient.checkin_now.model.PageList.java
com.android.capstone.patient.checkin_now.model.PageTreeNode.java
com.android.capstone.patient.checkin_now.model.Page.java
com.android.capstone.patient.checkin_now.model.ReviewItem.java
com.android.capstone.patient.checkin_now.model.SingleFixedChoicePage.java
com.android.capstone.patient.checkin_now.ui.MultipleChoiceFragment.java
com.android.capstone.patient.checkin_now.ui.PageFragmentCallbacks.java
com.android.capstone.patient.checkin_now.ui.ReviewFragment.java
com.android.capstone.patient.checkin_now.ui.SingleChoiceFragment.java
com.android.capstone.patient.checkin_now.ui.StepPagerStrip.java
com.android.capstone.task.AddCheckinTask.java
com.android.capstone.task.AddMedicationsTask.java
com.android.capstone.task.AddPatientTask.java
com.android.capstone.task.GetClientCategoryTask.java
com.android.capstone.task.GetClientInfoTask.java
com.android.capstone.task.GetUserImageTask.java
com.android.capstone.task.RegisterDoctorTask.java
com.android.capstone.task.RegisterPatientTask.java
com.android.capstone.utils.CommonUtils.java
com.android.capstone.utils.RetrofitUtils.java
com.android.capstone.utils.SharedPrefUtils.java
com.android.capstone.views.CheckinLogsView.java
com.android.capstone.views.FloatingActionButton.java
com.coursera.capstone.checkin.Application.java
com.coursera.capstone.checkin.client.CheckinSvcApi.java
com.coursera.capstone.checkin.client.TokenSvcApi.java
com.coursera.capstone.checkin.controller.CheckinSvc.java
com.coursera.capstone.data.CheckinUtils.java
com.coursera.capstone.data.Checkin.java
com.coursera.capstone.data.ClientUtils.java
com.coursera.capstone.data.Constants.java
com.coursera.capstone.data.DoctorUtils.java
com.coursera.capstone.data.Doctor.java
com.coursera.capstone.data.InvalidRequestException.java
com.coursera.capstone.data.Medications.java
com.coursera.capstone.data.Message.java
com.coursera.capstone.data.MulticastResult.java
com.coursera.capstone.data.PMF.java
com.coursera.capstone.data.PatientUtils.java
com.coursera.capstone.data.Patient.java
com.coursera.capstone.data.Result.java
com.coursera.capstone.data.Sender.java
com.coursera.capstone.data.Token.java
com.coursera.capstone.data.VDoctor.java
com.coursera.capstone.data.VPatient.java
com.coursera.capstone.interceptor.AuthorizationInterceptor.java
com.coursera.capstone.interceptor.Checker.java