diff options
Diffstat (limited to 'cgeo-calendar')
| -rw-r--r-- | cgeo-calendar/build.gradle | 4 | ||||
| -rw-r--r-- | cgeo-calendar/cgeo-calendar.iml | 1 | ||||
| -rw-r--r-- | cgeo-calendar/src/cgeo/calendar/CalendarActivity.java | 75 |
3 files changed, 46 insertions, 34 deletions
diff --git a/cgeo-calendar/build.gradle b/cgeo-calendar/build.gradle index 6b36270..b0d4747 100644 --- a/cgeo-calendar/build.gradle +++ b/cgeo-calendar/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.application' android { compileSdkVersion 19 - buildToolsVersion "19.1.0" + buildToolsVersion "20" @@ -26,4 +26,4 @@ android { dependencies { // The dependency to the ICalnder interface from the main project is missing // compile project(":main") is not working -}
\ No newline at end of file +} diff --git a/cgeo-calendar/cgeo-calendar.iml b/cgeo-calendar/cgeo-calendar.iml index f0b6226..4bba497 100644 --- a/cgeo-calendar/cgeo-calendar.iml +++ b/cgeo-calendar/cgeo-calendar.iml @@ -6,6 +6,7 @@ <proGuardCfgFiles> <file>file://$MODULE_DIR$/proguard-project.txt</file> </proGuardCfgFiles> + <option name="UPDATE_PROPERTY_FILES" value="false" /> <includeAssetsFromLibraries>true</includeAssetsFromLibraries> </configuration> </facet> diff --git a/cgeo-calendar/src/cgeo/calendar/CalendarActivity.java b/cgeo-calendar/src/cgeo/calendar/CalendarActivity.java index 2fbfd05..14d71b4 100644 --- a/cgeo-calendar/src/cgeo/calendar/CalendarActivity.java +++ b/cgeo-calendar/src/cgeo/calendar/CalendarActivity.java @@ -47,38 +47,7 @@ public final class CalendarActivity extends Activity { * @param entry */ private void selectCalendarForAdding(final CalendarEntry entry) { - final String[] projection = new String[] { "_id", "displayName" }; - final Uri calendarProvider = Compatibility.getCalendarProviderURI(); - - final Cursor cursor = managedQuery(calendarProvider, projection, "selected=1", null, null); - - if (cursor == null || cursor.getCount() <= 0) { - showToast(R.string.event_fail); - finish(); - return; - } - - final SparseArray<String> calendars = new SparseArray<>(); - cursor.moveToFirst(); - - final int indexId = cursor.getColumnIndex("_id"); - final int indexName = cursor.getColumnIndex("displayName"); - - do { - final String idString = cursor.getString(indexId); - if (idString != null) { - try { - int id = Integer.parseInt(idString); - final String calName = cursor.getString(indexName); - - if (id > 0 && calName != null) { - calendars.put(id, calName); - } - } catch (NumberFormatException e) { - Log.e(LOG_TAG, "CalendarActivity.selectCalendarForAdding", e); - } - } - } while (cursor.moveToNext()); + final SparseArray<String> calendars = queryCalendars(); if (calendars.size() == 0) { showToast(R.string.event_fail); @@ -110,6 +79,48 @@ public final class CalendarActivity extends Activity { builder.create().show(); } + private SparseArray<String> queryCalendars() { + final SparseArray<String> calendars = new SparseArray<>(); + + final String[] projection = new String[] { "_id", "displayName" }; + final Uri calendarProvider = Compatibility.getCalendarProviderURI(); + + Cursor cursor = null; + try { + cursor = getContentResolver().query(calendarProvider, projection, "selected=1", null, null); + + if (cursor == null) { + return calendars; + } + + cursor.moveToFirst(); + + final int indexId = cursor.getColumnIndex("_id"); + final int indexName = cursor.getColumnIndex("displayName"); + + do { + final String idString = cursor.getString(indexId); + if (idString != null) { + try { + int id = Integer.parseInt(idString); + final String calName = cursor.getString(indexName); + + if (id > 0 && calName != null) { + calendars.put(id, calName); + } + } catch (NumberFormatException e) { + Log.e(LOG_TAG, "CalendarActivity.selectCalendarForAdding", e); + } + } + } while (cursor.moveToNext()); + } finally { + if (cursor != null) { + cursor.close(); + } + } + return calendars; + } + public final void showToast(final int res) { final String text = getResources().getString(res); final Toast toast = Toast.makeText(this, text, Toast.LENGTH_LONG); |
