Android Open Source - SymptomManagement Reminders Activity






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.patient;
//from   ww  w  .  j av  a 2 s .c o  m
import java.util.Calendar;
import java.util.Date;

import com.android.capstone.BaseActivity;
import com.android.capstone.R;
import com.android.capstone.db.SymptomManagementContract.RemindersEntry;
import com.android.capstone.doctor.alarm.CheckinAlarmService;
import com.android.capstone.patient.TimePickerFragment.OnTimeSelectedListener;
import com.android.capstone.utils.CommonUtils;
import com.android.capstone.views.FloatingActionButton;

import android.app.AlarmManager;
import android.app.DialogFragment;
import android.app.PendingIntent;
import android.app.LoaderManager.LoaderCallbacks;
import android.content.Context;
import android.content.CursorLoader;
import android.content.Intent;
import android.content.Loader;
import android.database.Cursor;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ListView;
import android.widget.Toast;




public class RemindersActivity extends BaseActivity implements OnTimeSelectedListener, LoaderCallbacks<Cursor>{
    FloatingActionButton plusFabButton;
  ReminderCursorAdapter mAdapter;
  ListView remindersList;
  AlarmManager alarmMgr;
  CommonUtils utils;
  
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    
    setContentView(R.layout.activity_reminders);
    alarmMgr = (AlarmManager)this.getSystemService(Context.ALARM_SERVICE);
    utils = new CommonUtils(this);
    mAdapter = new ReminderCursorAdapter(this, null, 0);
    remindersList = (ListView)findViewById(R.id.remindersList);
    remindersList.setAdapter(mAdapter);
    
    showReminderToast();
    
    getActionBar().setDisplayHomeAsUpEnabled(true);
    getLoaderManager().initLoader(0, null, this);  
    
    createPlusFabButton();
    
  }
  
  
   @Override
   protected void onResume() {
      super.onResume();
       getLoaderManager().restartLoader(0, null, this);
    }
   
  
  
  
  
  private void createPlusFabButton() {
       plusFabButton = new FloatingActionButton.Builder(this)
               .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() {
      
      public void onClick(View v) {
         DialogFragment newFragment = new TimePickerFragment(" Reminder Time "); 
         newFragment.show(getFragmentManager(), "timePicker"); 
        
      }
    });
       
       
   }
  
  
  
  
  
  
  @Override
  public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    return new CursorLoader(
                this,   // context
                RemindersEntry.CONTENT_URI,        // Table to query
                null,     // Projection to return
                null,            // No selection clause
                null,            // No selection arguments
                null             // Default sort order
          );
  }




  @Override
  public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
    mAdapter.swapCursor(cursor);
    
  }





  @Override
  public void onLoaderReset(Loader<Cursor> loader) {
    mAdapter.swapCursor(null);
  }


  @Override
  public void onTimeSelected(int hourOfDay, int minute) {
     Calendar cal = Calendar.getInstance();
     cal.setTimeInMillis(System.currentTimeMillis());
     cal.set(Calendar.HOUR_OF_DAY, hourOfDay);
       cal.set(Calendar.MINUTE, minute);
       Date date = cal.getTime();
        
       utils.saveReminder(date);
      
       showReminderToast();
      
        int reqCode = (int) date.getTime();
     Intent intent = new Intent(this, CheckinAlarmService.class);
     PendingIntent alarmIntent = PendingIntent.getService(this, reqCode, intent, PendingIntent.FLAG_UPDATE_CURRENT);
     alarmMgr.setRepeating(AlarmManager.RTC_WAKEUP, date.getTime(), AlarmManager.INTERVAL_DAY, alarmIntent);
    
    
  }


  private void showReminderToast() {
    int remindersCount = new CommonUtils(this).getRemindersCount();
        int need = 4 - remindersCount;
        
        if(remindersCount < 4){
          Toast.makeText(this, "Add " + need + " more Reminders ", Toast.LENGTH_SHORT).show();
        }
  } 
  
  
  
  
  @Override
  public void onBackPressed() {
    int remindersCount = new CommonUtils(this).getRemindersCount();
      int need = 4 - remindersCount;
      
      if(remindersCount < 4){
        Toast.makeText(this, "Add " + need + " more Reminders ", Toast.LENGTH_LONG).show();
      }else{
        finish();
      }
  }
  
  
  
  
   
  
  
  @Override
     public void finish() {
      super.finish();
      overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_right);
      
   }
   
  
  
  

  
  
}




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