X-Git-Url: http://git.ieval.ro/?p=unical.git;a=blobdiff_plain;f=src%2Fro%2Fieval%2Funical%2FAddEventActivity.java;h=5d1c1c133f4b88344b2fe4b85bfabf9a250d1fc7;hp=512b6895e786523fc597a19e88c6f6ddfc1cdc94;hb=7908d49ec7c6e26c0564b6ceb3b541b016f1ab78;hpb=a74232093926b85c820b56223a257be5e0af3686 diff --git a/src/ro/ieval/unical/AddEventActivity.java b/src/ro/ieval/unical/AddEventActivity.java index 512b689..5d1c1c1 100644 --- a/src/ro/ieval/unical/AddEventActivity.java +++ b/src/ro/ieval/unical/AddEventActivity.java @@ -1,5 +1,7 @@ package ro.ieval.unical; +import java.text.SimpleDateFormat; import java.util.Calendar; +import java.util.Date; import java.util.GregorianCalendar; import android.app.ActionBar; @@ -16,11 +18,60 @@ import android.view.MenuItem; import android.view.View; import android.widget.*; -//TODO if i want to add a new event after i edit one the fields are being filled with the last event data - public final class AddEventActivity extends Activity implements OnDateSetListener, OnTimeSetListener{ + + private class OnCheckedChangeListener implements android.widget.CompoundButton.OnCheckedChangeListener{ + private final LinearLayout layout; + public OnCheckedChangeListener(final LinearLayout layout){ + this.layout=layout; + } + + private class OnItemSelectedListener implements android.widget.AdapterView.OnItemSelectedListener{ + private final View repeatCount; + private final View repeatUntil; + + public OnItemSelectedListener(final View repeatCount, final View repeatUntil) { + this.repeatCount=repeatCount; + this.repeatUntil=repeatUntil; + } + + @Override + public void onItemSelected(final AdapterView whatever, final View ignored, final int pos, final long id) { + switch(pos){ + case 0: + repeatCount.setVisibility(View.GONE); + repeatUntil.setVisibility(View.GONE); + break; + case 1: + repeatCount.setVisibility(View.GONE); + repeatUntil.setVisibility(View.VISIBLE); + break; + case 2: + repeatCount.setVisibility(View.VISIBLE); + repeatUntil.setVisibility(View.GONE); + break; + default: + } + } + + @Override public void onNothingSelected(final AdapterView arg0) { /* do nothing */ } + } + + @Override + public void onCheckedChanged(final CompoundButton buttonView, final boolean isChecked) { + if(isChecked) { + Utils.setEnabledRecursively(layout, true); + final Spinner repeatType = (Spinner) findViewById(R.id.repeat_type); + repeatType.setOnItemSelectedListener(new OnItemSelectedListener(findViewById(R.id.repeat_count),findViewById(R.id.repeat_until))); + }else { + Utils.setEnabledRecursively(layout, false); + } + } + } + private TextView dateTimeTextView; public static final String EXTRA_EVENT = "event"; + private Event event; public static void editEvent(final Context c, final Event e) { final Intent i = new Intent(c,AddEventActivity.class); @@ -33,38 +84,38 @@ public final class AddEventActivity extends Activity implements OnDateSetListene protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setTitle(R.string.add_event_title); - final Event event = getIntent().hasExtra(EXTRA_EVENT) ? (Event) getIntent().getParcelableExtra(EXTRA_EVENT) : new Event(); + event = getIntent().hasExtra(EXTRA_EVENT) ? (Event) getIntent().getParcelableExtra(EXTRA_EVENT) : new Event(); final ActionBar actionBar = getActionBar(); - actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); - final ActionBar.Tab t1 = actionBar.newTab().setText(this.getString(R.string.addevtab1)); - final ActionBar.Tab t2 = actionBar.newTab().setText(this.getString(R.string.addevtab2)); - final ActionBar.Tab t3 = actionBar.newTab().setText(this.getString(R.string.addevtab3)); - - final Fragment f1 = new TrivialFragment(); - final Bundle b1=new Bundle(); - b1.putInt(TrivialFragment.ARGUMENT_LAYOUT, R.layout.add_event_basic_tab); - b1.putParcelable(TrivialFragment.ARGUMENT_EVENT, event); - f1.setArguments(b1); - - final Fragment f2 = new TrivialFragment(); - final Bundle b2=new Bundle(); - b2.putInt(TrivialFragment.ARGUMENT_LAYOUT, R.layout.add_event_details_tab); - b2.putParcelable(TrivialFragment.ARGUMENT_EVENT, event); - f2.setArguments(b2); - - final Fragment f3 = new TrivialFragment(); - final Bundle b3=new Bundle(); - b3.putInt(TrivialFragment.ARGUMENT_LAYOUT, R.layout.add_event_other_tab); - b3.putParcelable(TrivialFragment.ARGUMENT_EVENT, event); - f3.setArguments(b3); - - t1.setTabListener(new AddEventTabListener(f1, event, 0)); - t2.setTabListener(new AddEventTabListener(f2, event, 1)); - t3.setTabListener(new AddEventTabListener(f3, event, 2)); - - actionBar.addTab(t1); - actionBar.addTab(t2); - actionBar.addTab(t3); + setContentView(R.layout.add_event); + + if(getIntent().hasExtra(EXTRA_EVENT)) { + final LinearLayout layout = (LinearLayout) findViewById(R.id.repeat_layout); + final Switch repeatSwitch = (Switch) findViewById(R.id.repeat_switch); + Utils.setEnabledRecursively(layout, false); + + repeatSwitch.setOnCheckedChangeListener(new OnCheckedChangeListener(layout)); + + EditText title = (EditText) findViewById(R.id.eventtitle); + title.setText(event.title); + + TextView tstart = (TextView) findViewById(R.id.time_start); + TextView tend = (TextView) findViewById(R.id.time_end); + SimpleDateFormat sf=new SimpleDateFormat("HH:mm"); + Date d=new Date(event.dtstart); + tstart.setText(sf.format(d).toString()); + d.setTime(event.dtend); + tend.setText(sf.format(d).toString()); + + SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); + TextView dstart = (TextView)findViewById(R.id.date_start); + TextView dend = (TextView)findViewById(R.id.date_end); + d.setTime(event.dtstart); + dstart.setText(sd.format(d).toString()); + d.setTime(event.dtend); + dend.setText(sd.format(d).toString()); + EditText description = (EditText) findViewById(R.id.description); + description.setText(event.description); + } } @Override @@ -81,7 +132,8 @@ public final class AddEventActivity extends Activity implements OnDateSetListene finish(); return true; case R.id.save: - //TODO Save event + System.out.println("MuieLaComisie\n"+event.title); + Toast toast = Toast.makeText(getApplicationContext(),"Event saved!",Toast.LENGTH_LONG); toast.show(); finish();