package com.example.mysql_tester;
import com.actionbarsherlock.app.SherlockFragment;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
import com.actionbarsherlock.view.MenuItem;
import android.app.Dialog;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.FragmentManager;
import android.app.TimePickerDialog;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.graphics.Color;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnFocusChangeListener;
import android.view.View.OnTouchListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.TimePicker;
public class AddItem_page2 extends SherlockFragment {
SharedPreferences addItemPre;
//�]�wLinearLayout
//Checkbox
CheckBox cb_w1,cb_w2,cb_w3,cb_w4,cb_w5,cb_w6,cb_w7,cb_holiday,is24Hr;
LinearLayout l_layout2;
LinearLayout l_layout2_inner;
int is24Hours = 0;
private static TextView txt_Start,txt_Close;
private Button btn_set_start,btn_set_close;
private static int mHour;
private static int mMinute;
static int switcher = 0;
EditText edt_Memo;
String startTime,endTime,start,end;
static String start_backup,end_backup;
boolean isFirstTime = true;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceBundle) {
View view = inflater.inflate(R.layout.add_item_page2, container,false);
//�q�������o����
txt_Start = (TextView)view.findViewById(R.id.textView_store_start);
txt_Close = (TextView)view.findViewById(R.id.textView_store_end);
btn_set_start = (Button)view.findViewById(R.id.button_add_start_time);
btn_set_close = (Button)view.findViewById(R.id.button_add_close_time);
l_layout2 = (LinearLayout)view.findViewById(R.id.additemp2_layout);
edt_Memo = (EditText)view.findViewById(R.id.editText_sMemo);
addItemPre = getActivity().getSharedPreferences("addItem_tmp", 0);
if (isFirstTime) {
addItemPre.edit().putString("startTime", "").commit();
addItemPre.edit().putString("closeTime", "").commit();
isFirstTime = false;
}
start = addItemPre.getString("startTime","");
end = addItemPre.getString("closeTime","");
start_backup = start;
end_backup = end;
if (!start.equals("") || !end.equals("")){
txt_Start.setText(start);
txt_Close.setText(end);
}
//CheckBox
is24Hr = (CheckBox)view.findViewById(R.id.is24hr_addItem);
cb_w1 = (CheckBox)view.findViewById(R.id.checkBox_w1);
cb_w2 = (CheckBox)view.findViewById(R.id.checkBox_w2);
cb_w3 = (CheckBox)view.findViewById(R.id.checkBox_w3);
cb_w4 = (CheckBox)view.findViewById(R.id.checkBox_w4);
cb_w5 = (CheckBox)view.findViewById(R.id.checkBox_w5);
cb_w6 = (CheckBox)view.findViewById(R.id.checkBox_w6);
cb_w7 = (CheckBox)view.findViewById(R.id.checkBox_w7);
cb_holiday = (CheckBox)view.findViewById(R.id.checkBox_holiday);
//�]�w��ť
is24Hr.setOnCheckedChangeListener(hours_listener);
btn_set_close.setOnClickListener(btn_listener);
btn_set_start.setOnClickListener(btn_listener);
l_layout2.setOnTouchListener(layout_listener);
cb_w1.setOnCheckedChangeListener(cb_listener);
cb_w2.setOnCheckedChangeListener(cb_listener);
cb_w3.setOnCheckedChangeListener(cb_listener);
cb_w4.setOnCheckedChangeListener(cb_listener);
cb_w5.setOnCheckedChangeListener(cb_listener);
cb_w6.setOnCheckedChangeListener(cb_listener);
cb_w7.setOnCheckedChangeListener(cb_listener);
cb_holiday.setOnCheckedChangeListener(cb_listener);
edt_Memo.setOnFocusChangeListener(focusChangeListener);
return view;
}
private CheckBox.OnCheckedChangeListener hours_listener = new CheckBox.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
addItemPre = getActivity().getSharedPreferences("addItem_tmp", 0);
Editor inputWorker = addItemPre.edit();
if (is24Hr.isChecked()) {
is24Hours = 1;
txt_Start.setText("00:00");
txt_Close.setText("24:00");
inputWorker.putString("startTime", "00:00");
inputWorker.putString("closeTime", "24:00");
btn_set_start.setClickable(false);
btn_set_close.setClickable(false);
btn_set_start.setBackgroundColor(Color.parseColor("#808080"));
btn_set_close.setBackgroundColor(Color.parseColor("#808080"));
}
else {
is24Hours = 0;
if (start_backup.equals("") || end_backup.equals("")) {
final String start_word = getActivity().getResources().getString(R.string.Item_startTime);
final String end_word = getActivity().getResources().getString(R.string.Item_endTime);
txt_Start.setText(start_word);
txt_Close.setText(end_word);
}
txt_Start.setText(start_backup);
txt_Close.setText(end_backup);
inputWorker.putString("startTime", start);
inputWorker.putString("closeTime", end);
btn_set_start.setClickable(true);
btn_set_close.setClickable(true);
btn_set_start.setBackgroundResource(android.R.drawable.btn_default);
btn_set_close.setBackgroundResource(android.R.drawable.btn_default);
}
inputWorker.putInt("is24Hours", is24Hours);
inputWorker.commit();
}
};
private CheckBox.OnCheckedChangeListener cb_listener = new CheckBox.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
String rest_day=""; //�`
String w1,w2,w3,w4,w5,w6,w7,w8; //��@�ﶵ
if (cb_w1.isChecked())
w1 = cb_w1.getText().toString() +" ";
else
w1 = "";
if (cb_w2.isChecked())
w2 = cb_w2.getText().toString() +" ";
else
w2 = "";
if (cb_w3.isChecked())
w3 = cb_w3.getText().toString() +" ";
else
w3 = "";
if (cb_w4.isChecked())
w4 = cb_w4.getText().toString() +" ";
else
w4 = "";
if (cb_w5.isChecked())
w5 = cb_w5.getText().toString() +" ";
else
w5 = "";
if (cb_w6.isChecked())
w6 = cb_w6.getText().toString() +" ";
else
w6 = "";
if (cb_w7.isChecked())
w7 = cb_w7.getText().toString() +" ";
else
w7 = "";
if (cb_holiday.isChecked())
w8 = cb_holiday.getText().toString() +" ";
else
w8 = "";
rest_day = w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8;
addItemPre = getActivity().getSharedPreferences("addItem_tmp", 0);
Editor inputWorker = addItemPre.edit();
inputWorker.putString("sWeek", rest_day);
inputWorker.commit();
}
};
private OnFocusChangeListener focusChangeListener = new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (!hasFocus) {
addItemPre = getActivity().getSharedPreferences("addItem_tmp", 0);
Editor inputWorker = addItemPre.edit();
inputWorker.putString("sMemo", edt_Memo.getText().toString());
inputWorker.commit();
}
}
};
private OnTouchListener layout_listener = new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
informationGeter();
break;
}
return true;
}
};
private Button.OnClickListener btn_listener = new Button.OnClickListener() {
@Override
public void onClick(View v) {
TimePickerFragment timePickerFragment = new TimePickerFragment();
FragmentManager fm = getActivity().getSupportFragmentManager();
switch (v.getId()) {
case R.id.button_add_start_time:
switcher = 1;
timePickerFragment.show(fm, "timePicker");
break;
case R.id.button_add_close_time:
switcher = 0;
timePickerFragment.show(fm, "timePicker");
break;
}
}
};
//��sTextView���ɶ��Ϊ�
private static void updateDisplay(int switcher) {
//StringBuilder sb = new StringBuilder().append(pad(mHour)).append(":").append(pad(mMinute));
String times = pad(mHour) +":" +pad(mMinute);
if (switcher == 1){
txt_Start.setText(times);
start_backup = times;
}
else {
txt_Close.setText(times);
end_backup = times;
}
}
//�ɶ��ɹs�Ϊ�
private static String pad(int c) {
if (c >= 10) {
return String.valueOf(c);
}
else {
return "0" + String.valueOf(c);
}
}
//��ܮɶ�������
public static class TimePickerFragment extends DialogFragment implements TimePickerDialog.OnTimeSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstenceBundle) {
//�إ�TimePickerDialog����
//this �� OnTimeListener ����
//mHour,mMinute�|�����ɶ��D�ᄍ�w�諸�ɻP��
//false �N����24�ɨ�
TimePickerDialog timePickerDialog = new TimePickerDialog(getActivity(), this, mHour, mMinute, false);
return timePickerDialog;
}
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
mHour = hourOfDay;
mMinute = minute;
updateDisplay(switcher);
}
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.forceinput, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_forceinput:
informationGeter();
break;
}
return super.onOptionsItemSelected(item);
}
public void informationGeter() {
startTime = txt_Start.getText().toString();
endTime = txt_Close.getText().toString();
addItemPre = getActivity().getSharedPreferences("addItem_tmp", 0);
Editor inputWorker = addItemPre.edit();
if (!startTime.equals(getActivity().getString(R.string.Item_startTime))
|| !endTime.equals(getActivity().getString(R.string.Item_endTime))) {
inputWorker.putString("startTime", startTime);
inputWorker.putString("closeTime", endTime);
}
String memo = edt_Memo.getText().toString();
inputWorker.putString("sMemo", memo);
inputWorker.commit();
}
/*���}Fragment�ɼg�JBundle*/
@Override
public void onDestroyView(){
super.onDestroyView();
informationGeter();
}
}