package com.darwinsys.calendar;
import java.util.Calendar;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
public static final String TAG = "CalAdder";
Calendar mCal = Calendar.getInstance();
String title = "Team Meeting";
String location = "Boardroom";
int duration = 1; // hours
Button addUsingContentProvider, addUsingIntent;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
Log.d(TAG, "onCreate()");
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
addUsingIntent = (Button) findViewById(R.id.addUsingIntentButton);
addUsingContentProvider = (Button) findViewById(R.id.addUsingContentProviderButton);
addUsingIntent.setOnClickListener(this);
addUsingContentProvider.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// DatePicker allows getting values, TimePicker requires a listener,
// so just hard code demo meeting for 1200-1300.
DatePicker dp = (DatePicker) findViewById(R.id.datePicker);
final Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, dp.getYear());
c.set(Calendar.YEAR, dp.getMonth());
c.set(Calendar.YEAR, dp.getDayOfMonth());
c.set(Calendar.HOUR, 12);
final Calendar d = Calendar.getInstance();
d.setTimeInMillis(c.getTimeInMillis());
d.roll(Calendar.HOUR, +1);
switch (v.getId()) {
case R.id.addUsingIntentButton:
// This way works on almost any release...
new AddUsingIntent().addEvent(this, title, c, d);
break;
case R.id.addUsingContentProviderButton:
// This way uses API that was added late to Android (4.0, ICS).
// So access it using Reflection API.
try {
String packageName = getClass().getPackage().getName();
EventAdder eventAdder = (EventAdder)Class.forName(packageName + ".AddUsingContentProvider").newInstance();
eventAdder.addEvent(this, title, c, d);
} catch (Exception e) {
Toast.makeText(this, "Can't load AddUsingContentProvider: " + e, Toast.LENGTH_LONG).show();
}
break;
default:
throw new IllegalArgumentException("Unknown view in onClick()");
}
}
}