Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.fps.iHealthFirst;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.Set;
- import java.util.TreeSet;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.view.Window;
- import android.widget.AdapterView;
- import android.widget.AdapterView.OnItemSelectedListener;
- import android.widget.ArrayAdapter;
- import android.widget.Button;
- import android.widget.Spinner;
- import android.widget.TextView;
- public class iSleep extends Activity implements OnItemSelectedListener, OnClickListener {
- private Spinner spHour, spMinute, spTime;
- private Button calculate, cancel;
- private TextView answer;
- private String[] shour = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12" };
- private String[] sminute = { "00", "05", "10", "15", "20", "25", "30", "35", "40", "45", "50", "55" };
- private String[] stime = { "AM", "PM" };
- /** Date param for extra */
- public static final String DATE_PARAM = "date";
- /** Choice param for extra */
- public static final String CHOICE_PARAM = "choice";
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- requestWindowFeature(Window.FEATURE_LEFT_ICON);
- setContentView(R.layout.isleep);
- getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, R.drawable.sleep32);
- // initializes controls
- initControls();
- // initializes arrayAdapter
- initArrayAdapter();
- } // end of onCreate method
- private void initArrayAdapter()
- {
- ArrayAdapter<String> aa = new ArrayAdapter<String>( this,android.R.layout.simple_spinner_item, shour );
- aa.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
- spHour.setAdapter( aa );
- ArrayAdapter<String> aa2 = new ArrayAdapter<String>( this,android.R.layout.simple_spinner_item, sminute );
- aa2.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
- spMinute.setAdapter( aa2 );
- ArrayAdapter<String> aa3 = new ArrayAdapter<String>( this,android.R.layout.simple_spinner_item, stime );
- aa3.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
- spTime.setAdapter( aa3 );
- }
- private void initControls(){
- spHour = (Spinner) findViewById (R.id.spSleepHour);
- spMinute = (Spinner) findViewById (R.id.spSleepMinute);
- spTime = (Spinner) findViewById (R.id.spSleepTime);
- calculate = (Button) findViewById (R.id.btSleepCalculate);
- cancel = (Button) findViewById (R.id.btSleepCancel);
- answer = (TextView) findViewById (R.id.tvSleepResult);
- // providing listeners for each spinner
- spHour.setOnItemSelectedListener(this);
- spMinute.setOnItemSelectedListener(this);
- spTime.setOnItemSelectedListener(this);
- // providing listener for button
- calculate.setOnClickListener(this);
- cancel.setOnClickListener(this);
- } // end of initControls method
- public void onItemSelected(AdapterView<?> parent, View v, int pos, long id) {
- // TODO Auto-generated method stub
- switch( parent.getId() )
- {
- case R.id.spSleepHour:
- break;
- case R.id.spSleepMinute:
- break;
- case R.id.spSleepTime:
- break;
- }
- } // end of onItemSelected method
- public void onNothingSelected(AdapterView<?> arg0) {
- // TODO Auto-generated method stub
- }
- public void onClick(View v) {
- // TODO Auto-generated method stub
- switch( v.getId() )
- {
- case R.id.btSleepCalculate:
- getWakingTimes();
- break;
- case R.id.btSleepCancel:
- resetSpinnerValues();
- break;
- } // end of switch statement
- } // end of onClick method
- /**
- * Get times to wake. We add 14 minutes to fall asleep, and calculate the
- * sleep cycles.
- *
- * @return list of times when to get up
- */
- public static Set<Date> getWakingTimes() {
- return getWakingTime(new Date());
- }
- /**
- * Get times to wake. We add 14 minutes to fall asleep, and calculate the
- * sleep cycles.
- *
- * @param sleepTime
- * bed time
- *
- * @return list of times when to get up
- */
- public static Set<Date> getWakingTime(Date sleepTime) {
- Calendar fallAsleep = Calendar.getInstance();
- fallAsleep.setTime(sleepTime);
- fallAsleep.add(Calendar.MINUTE, 14);
- Set<Date> result = new TreeSet<Date>();
- for (int i = 1; i <= 6; i++) {
- fallAsleep.add(Calendar.MINUTE, 90);
- result.add(fallAsleep.getTime());
- }
- return result;
- }
- /**
- * Get sleeping times corresponding to a local time
- *
- * @param wakingTime
- * time to wake up !
- * @return list of times one should go to bed to
- */
- public static Set<Date> getSleepingTimes(Date wakingTime) {
- Set<Date> result = new TreeSet<Date>();
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(wakingTime);
- calendar.add(Calendar.MINUTE, -14);
- calendar.add(Calendar.MINUTE, -(2 * 90));
- for (int i = 3; i <= 6; i++) {
- calendar.add(Calendar.MINUTE, -90);
- result.add(calendar.getTime());
- }
- return result;
- } // end of getSleepingTimes method
- private void resetSpinnerValues()
- {
- spHour.setSelection(0);
- spMinute.setSelection(0);
- spTime.setSelection(0);
- } // end of resetSpinnerValues method
- // MenuInflater
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- getMenuInflater().inflate(R.menu.isleep_menu, menu);
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- // TODO Auto-generated method stub
- switch (item.getItemId()) {
- case R.id.isleep_home:
- finish();
- break;
- }
- return super.onOptionsItemSelected(item);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement