Android Open Source - SymptomManagement Check Pain Intent Service






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.alarm;
//  ww  w.ja va2  s .co m
import java.util.ArrayList;
import java.util.HashMap;

import com.android.capstone.MainActivity;
import com.android.capstone.R;
import com.android.capstone.data.Checkin;
import com.android.capstone.data.VPatient;
import com.android.capstone.db.SymptomManagementContract.UserInfoEntry;
import com.android.capstone.utils.CommonUtils;

import android.app.IntentService;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.TaskStackBuilder;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;




public class CheckPainIntentService extends IntentService {
    
  
  public static final int NOTIFICATION_ID = 1;
  private NotificationManager mNotificationManager;
  private CommonUtils commonUtils;
  
  
  private final int CANT_EAT_TIME = 720;  //12 hrs
  private final int MODERATE_PAIN_TIME = 960;  //16 hrs
  private final int SEVERE_PAIN_TIME = 720; //12 hrs
  private boolean toNotify = false;
  
     
    ArrayList<Long> cantEatList, moderatePainList, cantEatAndModeratePainList, severePainList, cantEatAndSeverePainList ;
    
    
  
  public CheckPainIntentService() {
    super("CheckPainIntentService");
    cantEatList = new ArrayList<Long>();
    moderatePainList = new ArrayList<Long>();
    cantEatAndModeratePainList = new ArrayList<Long>();
    severePainList = new ArrayList<Long>();
    cantEatAndSeverePainList = new ArrayList<Long>();
  }

  
  
  
  @Override
  protected void onHandleIntent(Intent intent) {
     commonUtils = new CommonUtils(this);     
     HashMap<Long,ArrayList<Checkin>> allCheckins = commonUtils.getAllCheckins();
          
     for (Long patientId : allCheckins.keySet()) {
          
       ArrayList<Checkin> checkins = allCheckins.get(patientId);
         CheckPain checkPain= new CheckPain();
         
         String finalPainStatus = "", finalCantEatStatus = "";
         
         for(Checkin checkin : checkins){
           checkPain.checkPainStatus(checkin);
           checkPain.checkEatingStatus(checkin);
         }   
    
         
             if(checkPain.getCantEatStatus().equals(CommonUtils.ANSWER_CANT_EAT)){
               int diff = (int) (checkPain.getTotalCantEatTime()/(60*1000));
                 if(diff > CANT_EAT_TIME){
             finalCantEatStatus = CommonUtils.ANSWER_CANT_EAT;
           }
         }
         
             
         if(checkPain.getPainStatus().equals(CommonUtils.ANSWER_MODERATE)){
           int diff = (int) (checkPain.getTotalPainTime()/(60*1000)); 
           if(diff > MODERATE_PAIN_TIME){
            finalPainStatus = CommonUtils.ANSWER_MODERATE;
           }
           
         }else if(checkPain.getPainStatus().equals(CommonUtils.ANSWER_SEVERE)){
           int diff = (int) (checkPain.getTotalPainTime()/(60*1000));
           if(diff > SEVERE_PAIN_TIME){
              finalPainStatus = CommonUtils.ANSWER_SEVERE;
           }
        }
         
         
         if(!(finalPainStatus.equals("") && finalCantEatStatus.equals(""))){
             toNotify = true;   
         }
         
         
         
         VPatient p = commonUtils.getPatientInfo(patientId);
           ContentValues cv = new ContentValues();
         cv.put(UserInfoEntry._ID, p.getPatientId());
         cv.put(UserInfoEntry.COLUMN_EMAIL_ID, p.getPatientEmailId());
         cv.put(UserInfoEntry.COLUMN_FIRST_NAME, p.getFirstName());
         cv.put(UserInfoEntry.COLUMN_LAST_NAME, p.getLastName());
         cv.put(UserInfoEntry.COLUMN_ABOUT, p.getAbout());
         cv.put(UserInfoEntry.COLUMN_PICTURE_URL, p.getPictureUrl());
         cv.put(UserInfoEntry.COLUMN_BIRTH_DATE, p.getBirthDate().getTime());
         cv.put(UserInfoEntry.COLUMN_STATUS_PAIN, checkPain.getPainStatus());
         cv.put(UserInfoEntry.COLUMN_STATUS_CANT_EAT, checkPain.getCantEatStatus());
         cv.put(UserInfoEntry.COLUMN_LAST_CHECKED, System.currentTimeMillis());
         
         Uri uri = getContentResolver().insert(UserInfoEntry.CONTENT_URI, cv);
         
     }
    
  
     
     if(toNotify){
        sendNotification("Check Your Patients Now ");
     }
     
     
  }




  
  
  
   private void sendNotification(String msg) {
     
     Intent resultIntent = new Intent(this, MainActivity.class);
     TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
     stackBuilder.addParentStack(MainActivity.class); 
     stackBuilder.addNextIntent(resultIntent);
     PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
     
          mNotificationManager = (NotificationManager)this.getSystemService(Context.NOTIFICATION_SERVICE);
   
          Notification.Builder mBuilder = new Notification.Builder(this)
               .setSmallIcon(R.drawable.ic_action_cloud_upload)
               .setContentTitle("Check Patients Now...") 
               .setContentIntent(resultPendingIntent)
               .setStyle(new Notification.BigTextStyle().bigText(msg))
               .setContentText(msg);
   
          Notification notify = mBuilder.build();
        notify.flags = Notification.FLAG_AUTO_CANCEL;
        notify.defaults = Notification.DEFAULT_ALL;
                    
          mNotificationManager.notify(NOTIFICATION_ID, notify);
          
          
      } 
  
  
  
  
  
}




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