Android Open Source - sms-backup-plus Calendar Accessor Post40 From Project Back to project page sms-backup-plus .
License The source code is released under:
Apache License
If you think the Android project sms-backup-plus 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.zegoggles.smssync.calendar;
/ * w w w . j a v a 2 s . c o m * /
import android.annotation.TargetApi;
import android.content.ContentResolver;
import android.content.ContentUris;
import android.content.ContentValues;
import android.database.Cursor;
import android.net.Uri;
import android.os.Build;
import android.provider.CalendarContract;
import android.text.format.Time;
import android.util.Log;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.Map;
import static com.zegoggles.smssync.App.LOCAL_LOGV;
import static com.zegoggles.smssync.App.TAG;
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
public class CalendarAccessorPost40 implements CalendarAccessor {
private ContentResolver resolver;
public CalendarAccessorPost40(ContentResolver resolver) {
this.resolver = resolver;
}
@Override public boolean enableSync(long calendarId) {
final ContentValues values = new ContentValues();
values.put(CalendarContract.Calendars.SYNC_EVENTS, 1);
final Uri uri = ContentUris.withAppendedId(CalendarContract.Calendars.CONTENT_URI, calendarId);
return resolver.update(uri, values, null, null) == 1;
}
@Override
public boolean addEntry(long calendarId, Date when, int duration, String title,
String description) {
if (LOCAL_LOGV) {
Log.v(TAG, String.format("addEntry(%d, %s, %d, %s, %s)" ,
calendarId, when.toString(), duration, title, description));
}
final ContentValues contentValues = new ContentValues();
contentValues.put(CalendarContract.Events.TITLE, title);
contentValues.put(CalendarContract.Events.DESCRIPTION, description);
contentValues.put(CalendarContract.Events.DTSTART, when.getTime());
contentValues.put(CalendarContract.Events.DTEND, when.getTime() + duration * 1000);
contentValues.put(CalendarContract.Events.ACCESS_LEVEL, CalendarContract.Events.ACCESS_DEFAULT);
contentValues.put(CalendarContract.Events.STATUS, CalendarContract.Events.STATUS_CONFIRMED);
contentValues.put(CalendarContract.Events.CALENDAR_ID, calendarId);
contentValues.put(CalendarContract.Events.EVENT_TIMEZONE, Time.getCurrentTimezone());
try {
resolver.insert(CalendarContract.Events.CONTENT_URI, contentValues);
return true;
} catch (IllegalArgumentException e) {
Log.e(TAG, "could not add calendar entry" , e);
return false;
}
}
@Override
public Map<String, String> getCalendars() {
final Map<String, String> map = new LinkedHashMap<String, String>();
Cursor cursor = null;
try {
cursor = resolver.query(CalendarContract.Calendars.CONTENT_URI,
new String[] {
CalendarContract.Calendars._ID,
CalendarContract.Calendars.NAME,
CalendarContract.Calendars.SYNC_EVENTS
},
null,
null,
CalendarContract.Calendars.NAME + " ASC" );
while (cursor != null && cursor.moveToNext()) {
String id = cursor.getString(0);
String name = cursor.getString(1);
boolean isSynced = cursor.getInt(2) == 1;
if (LOCAL_LOGV) Log.d(TAG, "id:" +id+", name:" +name+", synced:" +isSynced);
map.put(id, name);
}
} catch (IllegalArgumentException e) {
Log.e(TAG, "calendars not available" , e);
} finally {
if (cursor != null) {
cursor.close();
}
}
return map;
}
}
Java Source Code List com.zegoggles.smssync.App.java com.zegoggles.smssync.Consts.java com.zegoggles.smssync.MmsConsts.java com.zegoggles.smssync.SmsConsts.java com.zegoggles.smssync.activity.Dialogs.java com.zegoggles.smssync.activity.MainActivity.java com.zegoggles.smssync.activity.StatusPreference.java com.zegoggles.smssync.activity.auth.AccountManagerAuthActivity.java com.zegoggles.smssync.activity.auth.WebAuthActivity.java com.zegoggles.smssync.activity.donation.DonationActivity.java com.zegoggles.smssync.auth.TokenRefreshException.java com.zegoggles.smssync.auth.TokenRefresher.java com.zegoggles.smssync.auth.XOAuthConsumer.java com.zegoggles.smssync.calendar.CalendarAccessorPost40.java com.zegoggles.smssync.calendar.CalendarAccessorPre40.java com.zegoggles.smssync.calendar.CalendarAccessor.java com.zegoggles.smssync.compat.ComposeSmsActivity.java com.zegoggles.smssync.compat.HeadlessSmsSendService.java com.zegoggles.smssync.compat.MmsReceiver.java com.zegoggles.smssync.compat.SmsReceiver.java com.zegoggles.smssync.compat.package-info.java com.zegoggles.smssync.contacts.ContactAccessorPost20.java com.zegoggles.smssync.contacts.ContactAccessorPre20.java com.zegoggles.smssync.contacts.ContactAccessor.java com.zegoggles.smssync.contacts.ContactGroupIds.java com.zegoggles.smssync.contacts.ContactGroup.java com.zegoggles.smssync.contacts.Group.java com.zegoggles.smssync.mail.AllTrustedSocketFactory.java com.zegoggles.smssync.mail.Attachment.java com.zegoggles.smssync.mail.BackupImapStore.java com.zegoggles.smssync.mail.BackupStoreConfig.java com.zegoggles.smssync.mail.CallFormatter.java com.zegoggles.smssync.mail.ConversionResult.java com.zegoggles.smssync.mail.DataType.java com.zegoggles.smssync.mail.HeaderGenerator.java com.zegoggles.smssync.mail.Headers.java com.zegoggles.smssync.mail.MessageConverter.java com.zegoggles.smssync.mail.MessageGenerator.java com.zegoggles.smssync.mail.MmsSupport.java com.zegoggles.smssync.mail.PersonLookup.java com.zegoggles.smssync.mail.PersonRecord.java com.zegoggles.smssync.preferences.AddressStyle.java com.zegoggles.smssync.preferences.AuthMode.java com.zegoggles.smssync.preferences.AuthPreferences.java com.zegoggles.smssync.preferences.BackupManagerWrapper.java com.zegoggles.smssync.preferences.CalendarPreferences.java com.zegoggles.smssync.preferences.CallLogTypes.java com.zegoggles.smssync.preferences.Defaults.java com.zegoggles.smssync.preferences.MarkAsReadTypes.java com.zegoggles.smssync.preferences.PreferenceBackupAgent.java com.zegoggles.smssync.preferences.Preferences.java com.zegoggles.smssync.preferences.ServerPreferences.java com.zegoggles.smssync.receiver.BackupBroadcastReceiver.java com.zegoggles.smssync.receiver.SmsBroadcastReceiver.java com.zegoggles.smssync.service.Alarms.java com.zegoggles.smssync.service.BackupConfig.java com.zegoggles.smssync.service.BackupCursors.java com.zegoggles.smssync.service.BackupItemsFetcher.java com.zegoggles.smssync.service.BackupQueryBuilder.java com.zegoggles.smssync.service.BackupTask.java com.zegoggles.smssync.service.BackupType.java com.zegoggles.smssync.service.BulkFetcher.java com.zegoggles.smssync.service.CalendarSyncer.java com.zegoggles.smssync.service.RestoreConfig.java com.zegoggles.smssync.service.RestoreTask.java com.zegoggles.smssync.service.ServiceBase.java com.zegoggles.smssync.service.SmsBackupService.java com.zegoggles.smssync.service.SmsRestoreService.java com.zegoggles.smssync.service.UserCanceled.java com.zegoggles.smssync.service.WhatsAppItemsFetcher.java com.zegoggles.smssync.service.exception.BackupDisabledException.java com.zegoggles.smssync.service.exception.ConnectivityException.java com.zegoggles.smssync.service.exception.LocalizableException.java com.zegoggles.smssync.service.exception.NoConnectionException.java com.zegoggles.smssync.service.exception.RequiresBackgroundDataException.java com.zegoggles.smssync.service.exception.RequiresLoginException.java com.zegoggles.smssync.service.exception.RequiresWifiException.java com.zegoggles.smssync.service.exception.SmsProviderNotWritableException.java com.zegoggles.smssync.service.state.BackupState.java com.zegoggles.smssync.service.state.RestoreState.java com.zegoggles.smssync.service.state.SmsSyncState.java com.zegoggles.smssync.service.state.State.java com.zegoggles.smssync.tasks.OAuthCallbackTask.java com.zegoggles.smssync.tasks.RequestTokenTask.java com.zegoggles.smssync.utils.AppLog.java com.zegoggles.smssync.utils.ListPreferenceHelper.java com.zegoggles.smssync.utils.Sanitizer.java com.zegoggles.smssync.utils.ThreadHelper.java