Android Open Source - Swinedroid Alert Search






From Project

Back to project page Swinedroid.

License

The source code is released under:

GNU General Public License

If you think the Android project Swinedroid 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.legind.swinedroid;
/*w ww. j  a  v a2  s.  c  o m*/
import java.util.Calendar;

import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.TimePickerDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.LinearLayout.LayoutParams;

import com.legind.sqlite.ServerDbAdapter;

public class AlertSearch extends Activity{
  private Spinner mSpinner;
  private EditText mSearchTerm;
  private TextView mStartDateText;
  private TextView mEndDateText;
  private TextView mStartTimeText;
  private TextView mEndTimeText;
  private Button mSearchButton;
  private Button mCancelButton;
  private Long mRowId;

  private int mCurrentYear;
  private int mCurrentMonth;
  private int mCurrentDay;
  private int mCurrentHour;
  private int mCurrentMinute;
  
  private int mStartYear;
  private int mStartMonth;
  private int mStartDay;
  private int mStartHour;
  private int mStartMinute;

  private int mEndYear;
  private int mEndMonth;
  private int mEndDay;
  private int mEndHour;
  private int mEndMinute;

  static final int START_DATE_DIALOG_ID = 0;
  static final int END_DATE_DIALOG_ID = 1;
  static final int START_TIME_DIALOG_ID = 3;
  static final int END_TIME_DIALOG_ID = 4;

  private final int ACTIVITY_ALERT_LIST = 0;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // get rid of title, also set the layout to fill parent.  this doesn't function properly in the layout XML
        getWindow().requestFeature(Window.FEATURE_NO_TITLE);
      setContentView(R.layout.alert_search);
    getWindow().setLayout(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);

        // get the current date
        final Calendar c = Calendar.getInstance();
        mCurrentYear = c.get(Calendar.YEAR);
        mCurrentMonth = c.get(Calendar.MONTH);
        mCurrentDay = c.get(Calendar.DAY_OF_MONTH);
        mCurrentHour = c.get(Calendar.HOUR_OF_DAY);
        mCurrentMinute = c.get(Calendar.MINUTE);
        
    mSpinner = (Spinner) findViewById(R.id.alert_level_spinner);
      mSearchTerm = (EditText) findViewById(R.id.search_term_edit_text);
      mStartDateText = (TextView) findViewById(R.id.startDateText);
      mEndDateText = (TextView) findViewById(R.id.endDateText);
      mStartTimeText = (TextView) findViewById(R.id.startTimeText);
      mEndTimeText = (TextView) findViewById(R.id.endTimeText);
      mSearchButton = (Button) findViewById(R.id.search_button);
      mCancelButton = (Button) findViewById(R.id.cancel_button);
      // connect the spinner to the appropriate dropdown xml
      ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.alert_levels, android.R.layout.simple_spinner_item);
      adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
      mSpinner.setAdapter(adapter);

    if(savedInstanceState != null){
      if(!savedInstanceState.getBoolean(ServerDbAdapter.KEY_ROWID + "_null")){
        mRowId = savedInstanceState.getLong(ServerDbAdapter.KEY_ROWID);
      } else {
        mRowId = null;
      }
      // get some variables from the saved instance state.  make sure to update time *first*
      mStartYear = savedInstanceState.getInt("mStartYear");
      mStartMonth = savedInstanceState.getInt("mStartMonth");
      mStartDay = savedInstanceState.getInt("mStartDay");
      mStartHour = savedInstanceState.getInt("mStartHour");
      mStartMinute = savedInstanceState.getInt("mStartMinute");
      if(mStartYear > 0){
            updateStartTimeText();
            updateStartDateText();
      }
      mEndYear = savedInstanceState.getInt("mEndYear");
      mEndMonth = savedInstanceState.getInt("mEndMonth");
      mEndDay = savedInstanceState.getInt("mEndDay");
      mEndHour = savedInstanceState.getInt("mEndHour");
      mEndMinute = savedInstanceState.getInt("mEndMinute");
      if(mEndYear > 0){
            updateEndTimeText();
            updateEndDateText();
      }
    } else {
      mRowId = null;
    }
    if (mRowId == null) {
      Bundle extras = getIntent().getExtras();
      mRowId = extras != null ? extras.getLong(ServerDbAdapter.KEY_ROWID)
          : null;
    }
    
    // set up the click listeners...
    mStartDateText.setOnClickListener(new View.OnClickListener() {
      public void onClick(View v) {
        showDialog(START_DATE_DIALOG_ID);
      }
    });
    mEndDateText.setOnClickListener(new View.OnClickListener() {
      public void onClick(View v) {
        showDialog(END_DATE_DIALOG_ID);
      }
    });
    // don't open a TimePicker if the date hasn't been picked yet
    mStartTimeText.setOnClickListener(new View.OnClickListener() {
      public void onClick(View v) {
        if(mStartYear > 0)
          showDialog(START_TIME_DIALOG_ID);
      }
    });
    mEndTimeText.setOnClickListener(new View.OnClickListener() {
      public void onClick(View v) {
        if(mEndYear > 0)
          showDialog(END_TIME_DIALOG_ID);
      }
    });
    mSearchButton.setOnClickListener(new View.OnClickListener() {
      public void onClick(View v) {
        // send the current state of all search elements
            Intent i = new Intent(AlertSearch.this, AlertList.class);
            i.putExtra(ServerDbAdapter.KEY_ROWID, mRowId);
            i.putExtra("mSpinnerText", mSpinner.getSelectedItem().toString());
            i.putExtra("mSearchTermText", mSearchTerm.getText().toString());
          i.putExtra("mStartYear", mStartYear);
          i.putExtra("mStartMonth", mStartMonth);
          i.putExtra("mStartDay", mStartDay);
          i.putExtra("mStartHour", mStartHour);
          i.putExtra("mStartMinute", mStartMinute);
          i.putExtra("mEndYear", mEndYear);
          i.putExtra("mEndMonth", mEndMonth);
          i.putExtra("mEndDay", mEndDay);
          i.putExtra("mEndHour", mEndHour);
          i.putExtra("mEndMinute", mEndMinute);
            startActivityForResult(i, ACTIVITY_ALERT_LIST);
        finish();
      }
    });
    mCancelButton.setOnClickListener(new View.OnClickListener() {
      public void onClick(View v) {
        finish();
      }
    });

  }

  @Override
  protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    if(mRowId != null){
      outState.putBoolean(ServerDbAdapter.KEY_ROWID + "_null", false);
      outState.putLong(ServerDbAdapter.KEY_ROWID, mRowId);
    } else {
      outState.putBoolean(ServerDbAdapter.KEY_ROWID + "_null", true);
    }
    outState.putInt("mStartYear", mStartYear);
    outState.putInt("mStartMonth", mStartMonth);
    outState.putInt("mStartDay", mStartDay);
    outState.putInt("mStartHour", mStartHour);
    outState.putInt("mStartMinute", mStartMinute);
    outState.putInt("mEndYear", mEndYear);
    outState.putInt("mEndMonth", mEndMonth);
    outState.putInt("mEndDay", mEndDay);
    outState.putInt("mEndHour", mEndHour);
    outState.putInt("mEndMinute", mEndMinute);
  }
  
  @Override
  protected Dialog onCreateDialog(int id) {
    switch(id){
      case START_DATE_DIALOG_ID:
        return new DatePickerDialog(this,
          mStartDateSetListener,
          mCurrentYear, mCurrentMonth, mCurrentDay);
      case END_DATE_DIALOG_ID:
        return new DatePickerDialog(this,
          mEndDateSetListener,
          mCurrentYear, mCurrentMonth, mCurrentDay);
      case START_TIME_DIALOG_ID:
        return new TimePickerDialog(this,
          mStartTimeSetListener, mCurrentHour, mCurrentMinute, false);
      case END_TIME_DIALOG_ID:
        return new TimePickerDialog(this,
          mEndTimeSetListener, mCurrentHour, mCurrentMinute, false);
    }
    return null;
  }

    private void updateStartDateText() {
        mStartDateText.setText(
            new StringBuilder()
                    // Month is 0 based so add 1
                    .append(mStartMonth + 1).append("-")
                    .append(mStartDay).append("-")
                    .append(mStartYear).append(" "));
        if(mStartTimeText.length() == 0){
            mStartTimeText.setText("00:00");
            mStartHour = 0;
            mStartMinute = 0;
        }
          
    }
    
    private void updateEndDateText() {
        mEndDateText.setText(
            new StringBuilder()
                    // Month is 0 based so add 1
                    .append(mEndMonth + 1).append("-")
                    .append(mEndDay).append("-")
                    .append(mEndYear).append(" "));
        if(mEndTimeText.length() == 0){
            mEndTimeText.setText("00:00");
            mEndHour = 0;
            mEndMinute = 0;
        }
    }

    private void updateStartTimeText() {
        mStartTimeText.setText(
            new StringBuilder()
              .append(pad(mStartHour)).append(":")
              .append(pad(mStartMinute)));
  }

    private void updateEndTimeText() {
        mEndTimeText.setText(
            new StringBuilder()
              .append(pad(mEndHour)).append(":")
              .append(pad(mEndMinute)));
  }

  private DatePickerDialog.OnDateSetListener mStartDateSetListener =
    new DatePickerDialog.OnDateSetListener() {
      public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
        mStartYear = year;
        mStartMonth = monthOfYear;
        mStartDay = dayOfMonth;
        updateStartDateText();
      }
    };
  
  private DatePickerDialog.OnDateSetListener mEndDateSetListener =
    new DatePickerDialog.OnDateSetListener() {
      public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
        mEndYear = year;
        mEndMonth = monthOfYear;
        mEndDay = dayOfMonth;
        updateEndDateText();
      }
    };
      
    private TimePickerDialog.OnTimeSetListener mStartTimeSetListener =
    new TimePickerDialog.OnTimeSetListener() {
      public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        mStartHour = hourOfDay;
        mStartMinute = minute;
        updateStartTimeText();
      }
    };
    
    private TimePickerDialog.OnTimeSetListener mEndTimeSetListener =
    new TimePickerDialog.OnTimeSetListener() {
      public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        mEndHour = hourOfDay;
        mEndMinute = minute;
        updateEndTimeText();
      }
    };
    
    private static String pad(int c) {
        if (c >= 10)
            return String.valueOf(c);
        else
            return "0" + String.valueOf(c);
    }

}




Java Source Code List

com.legind.Dialogs.ErrorMessageHandler.java
com.legind.Dialogs.MessageHandler.java
com.legind.sqlite.AlertDbAdapter.java
com.legind.sqlite.DbAdapter.java
com.legind.sqlite.ServerDbAdapter.java
com.legind.ssl.CertificateInspect.CertificateInspect.java
com.legind.ssl.SSLHandler.SSLHandler.java
com.legind.ssl.TrustManagerFactory.TrustManagerFactory.java
com.legind.swinedroid.AlertList.java
com.legind.swinedroid.AlertSearch.java
com.legind.swinedroid.AlertView.java
com.legind.swinedroid.ServerEdit.java
com.legind.swinedroid.ServerHashDialog.java
com.legind.swinedroid.ServerView.java
com.legind.swinedroid.Swinedroid.java
com.legind.swinedroid.NetworkRunnable.NetworkRunnableBindRequires.java
com.legind.swinedroid.NetworkRunnable.NetworkRunnableManager.java
com.legind.swinedroid.NetworkRunnable.NetworkRunnableRequires.java
com.legind.swinedroid.NetworkRunnable.NetworkRunnableUniqueRequires.java
com.legind.swinedroid.NetworkRunnable.NetworkRunnable.java
com.legind.swinedroid.RequestService.RequestElement.java
com.legind.swinedroid.RequestService.Request.java
com.legind.swinedroid.xml.AlertListXMLElement.java
com.legind.swinedroid.xml.AlertListXMLHandler.java
com.legind.swinedroid.xml.AlertXMLElement.java
com.legind.swinedroid.xml.AlertXMLHandler.java
com.legind.swinedroid.xml.OverviewXMLElement.java
com.legind.swinedroid.xml.OverviewXMLHandler.java
com.legind.swinedroid.xml.XMLHandlerException.java
com.legind.swinedroid.xml.XMLHandler.java
com.legind.web.WebTransport.WebTransportConnection.java
com.legind.web.WebTransport.WebTransportException.java
com.legind.web.WebTransport.WebTransport.java
org.achartengine.chartlib.AbstractChart.java
org.achartengine.chartlib.AlertChart.java