Consolidate one more calendar method. Insert events with ACTION_INSERT not ACTION_EDIT

git-svn-id: https://zxing.googlecode.com/svn/trunk@2337 59b500cc-1b3d-0410-9834-0bbf25fbcc57
This commit is contained in:
srowen 2012-06-29 17:58:06 +00:00
parent 07c8b8282e
commit 890394d16f
2 changed files with 44 additions and 43 deletions

View file

@ -21,6 +21,7 @@ import com.google.zxing.client.result.CalendarParsedResult;
import com.google.zxing.client.result.ParsedResult; import com.google.zxing.client.result.ParsedResult;
import android.app.Activity; import android.app.Activity;
import android.content.Intent;
import java.text.DateFormat; import java.text.DateFormat;
import java.util.Date; import java.util.Date;
@ -64,6 +65,49 @@ public final class CalendarResultHandler extends ResultHandler {
} }
} }
/**
* Sends an intent to create a new calendar event by prepopulating the Add Event UI. Older
* versions of the system have a bug where the event title will not be filled out.
*
* @param summary A description of the event
* @param start The start time
* @param allDay if true, event is considered to be all day starting from start time
* @param end The end time (optional)
* @param location a text description of the event location
* @param description a text description of the event itself
*/
private void addCalendarEvent(String summary,
Date start,
boolean allDay,
Date end,
String location,
String description) {
Intent intent = new Intent(Intent.ACTION_INSERT);
intent.setType("vnd.android.cursor.item/event");
long startMilliseconds = start.getTime();
intent.putExtra("beginTime", startMilliseconds);
if (allDay) {
intent.putExtra("allDay", true);
}
long endMilliseconds;
if (end == null) {
if (allDay) {
// + 1 day
endMilliseconds = startMilliseconds + 24 * 60 * 60 * 1000;
} else {
endMilliseconds = startMilliseconds;
}
} else {
endMilliseconds = end.getTime();
}
intent.putExtra("endTime", endMilliseconds);
intent.putExtra("title", summary);
intent.putExtra("eventLocation", location);
intent.putExtra("description", description);
launchIntent(intent);
}
@Override @Override
public CharSequence getDisplayContents() { public CharSequence getDisplayContents() {

View file

@ -42,7 +42,6 @@ import android.util.Log;
import android.view.View; import android.view.View;
import java.util.Collection; import java.util.Collection;
import java.util.Date;
import java.util.Locale; import java.util.Locale;
/** /**
@ -203,48 +202,6 @@ public abstract class ResultHandler {
return result.getType(); return result.getType();
} }
/**
* Sends an intent to create a new calendar event by prepopulating the Add Event UI. Older
* versions of the system have a bug where the event title will not be filled out.
*
* @param summary A description of the event
* @param start The start time
* @param allDay if true, event is considered to be all day starting from start time
* @param end The end time (optional)
* @param location a text description of the event location
* @param description a text description of the event itself
*/
final void addCalendarEvent(String summary,
Date start,
boolean allDay,
Date end,
String location,
String description) {
Intent intent = new Intent(Intent.ACTION_EDIT);
intent.setType("vnd.android.cursor.item/event");
long startMilliseconds = start.getTime();
intent.putExtra("beginTime", startMilliseconds);
if (allDay) {
intent.putExtra("allDay", true);
}
long endMilliseconds;
if (end == null) {
if (allDay) {
// + 1 day
endMilliseconds = startMilliseconds + 24 * 60 * 60 * 1000;
} else {
endMilliseconds = startMilliseconds;
}
} else {
endMilliseconds = end.getTime();
}
intent.putExtra("endTime", endMilliseconds);
intent.putExtra("title", summary);
intent.putExtra("eventLocation", location);
intent.putExtra("description", description);
launchIntent(intent);
}
final void addPhoneOnlyContact(String[] phoneNumbers,String[] phoneTypes) { final void addPhoneOnlyContact(String[] phoneNumbers,String[] phoneTypes) {
addContact(null, null, phoneNumbers, phoneTypes, null, null, null, null, null, null, null, null, null, null); addContact(null, null, phoneNumbers, phoneTypes, null, null, null, null, null, null, null, null, null, null);
} }