Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6372af79 authored by Ricki Hirner's avatar Ricki Hirner
Browse files

Refactoring

* use Kotlin getters/setters, if possible
* simplify interfaces
* reduce importance of CalendarStorageException (now used as a separate exception only,
  not as a wrapper for RemoteException)
parent 2576dc6e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -66,7 +66,7 @@ class AndroidCalendarTest {
        assertNotNull(uri)

        // query task list
        val calendar = AndroidCalendar.findByID(testAccount, provider, TestCalendar.Factory.INSTANCE, ContentUris.parseId(uri))
        val calendar = AndroidCalendar.findByID(testAccount, provider, TestCalendar.Factory, ContentUris.parseId(uri))
        assertNotNull(calendar)

        // delete task list
+13 −13
Original line number Diff line number Diff line
@@ -118,7 +118,7 @@ class AndroidEventTest {
        val uri = TestEvent(calendar, event).add()
        assertNotNull(uri)

        val testEvent = TestEvent(calendar, ContentUris.parseId(uri))
        val testEvent = calendar.findById(ContentUris.parseId(uri))
        try {

            // read and parse event from calendar provider
@@ -189,7 +189,7 @@ class AndroidEventTest {
        val uri = TestEvent(calendar, event).add()

        // update test event in calendar
        val testEvent = TestEvent(calendar, ContentUris.parseId(uri))
        val testEvent = calendar.findById(ContentUris.parseId(uri))
        val event2 = testEvent.event!!
        event2.summary = "Updated event"
        // add data rows
@@ -198,7 +198,7 @@ class AndroidEventTest {
        val uri2 = testEvent.update(event2)

        // read again and verify result
        val updatedEvent = TestEvent(calendar, ContentUris.parseId(uri2))
        val updatedEvent = calendar.findById(ContentUris.parseId(uri2))
        try {
            val event3 = updatedEvent.event!!
            assertEquals(event2.summary, event3.summary)
@@ -221,7 +221,7 @@ class AndroidEventTest {
            event.attendees += Attendee(URI("mailto:att$i@example.com"))
        val uri = TestEvent(calendar, event).add()

        val testEvent = TestEvent(calendar, ContentUris.parseId(uri))
        val testEvent = calendar.findById(ContentUris.parseId(uri))
        try {
            assertEquals(4000, testEvent.event!!.attendees.size)
        } finally {
@@ -259,7 +259,7 @@ class AndroidEventTest {
        val uri = TestEvent(calendar, event).add()
        assertNotNull(uri)

        val testEvent = TestEvent(calendar, ContentUris.parseId(uri))
        val testEvent = calendar.findById(ContentUris.parseId(uri))
        try {
            // read again and verify result
            val event2 = testEvent.event!!
@@ -285,7 +285,7 @@ class AndroidEventTest {
        val uri = TestEvent(calendar, event).add()
        assertNotNull(uri)

        val testEvent = TestEvent(calendar, ContentUris.parseId(uri))
        val testEvent = calendar.findById(ContentUris.parseId(uri))
        try {
            // read again and verify result
            val event2 = testEvent.event!!
@@ -309,7 +309,7 @@ class AndroidEventTest {
        val uri = TestEvent(calendar, event).add()
        assertNotNull(uri)

        val testEvent = TestEvent(calendar, ContentUris.parseId(uri))
        val testEvent = calendar.findById(ContentUris.parseId(uri))
        try {
            // read again and verify result
            val event2 = testEvent.event!!
@@ -340,7 +340,7 @@ class AndroidEventTest {
        calendar.provider.update(calendar.syncAdapterURI(ContentUris.withAppendedId(CalendarContract.Events.CONTENT_URI, id)),
                values, null, null)

        val testEvent = TestEvent(calendar, id)
        val testEvent = calendar.findById(id)
        try {
            // read again and verify result
            val event2 = testEvent.event!!
@@ -355,7 +355,7 @@ class AndroidEventTest {
                    values, null, null)

            // read again and verify result
            val testEventPrivate = TestEvent(calendar, id)
            val testEventPrivate = calendar.findById(id)
            val eventPrivate = testEventPrivate.event!!
            // should be PRIVATE
            assertEquals(Clazz.PRIVATE, eventPrivate.classification)
@@ -378,7 +378,7 @@ class AndroidEventTest {
        assertNotNull(uri)
        val id = ContentUris.parseId(uri)

        val testEvent = TestEvent(calendar, id)
        val testEvent = calendar.findById(id)
        try {
            // read again and verify result
            val event2 = testEvent.event!!
@@ -412,7 +412,7 @@ class AndroidEventTest {
        val uri = TestEvent(calendar, event).add()
        assertNotNull(uri)

        val testEvent = TestEvent(calendar, ContentUris.parseId(uri))
        val testEvent = calendar.findById(ContentUris.parseId(uri))
        try {
            // read again and verify result
            val event2 = testEvent.event!!
@@ -434,7 +434,7 @@ class AndroidEventTest {
        values.put(CalendarContract.Events.TITLE, "Without dtend/duration")
        val uri = provider.insert(syncAdapterURI(CalendarContract.Events.CONTENT_URI, testAccount), values)

        val testEvent = TestEvent(calendar, ContentUris.parseId(uri))
        val testEvent = calendar.findById(ContentUris.parseId(uri))
        try {
            assertNull(testEvent.event!!.dtEnd)
        } finally {
@@ -453,7 +453,7 @@ class AndroidEventTest {
        val uri = TestEvent(calendar, event).add()
        assertNotNull(uri)

        val testEvent = TestEvent(calendar, ContentUris.parseId(uri))
        val testEvent = calendar.findById(ContentUris.parseId(uri))
        try {
            // read again and verify result
            val event2 = testEvent.event!!
+1 −1
Original line number Diff line number Diff line
@@ -58,7 +58,7 @@ class AndroidTaskListTest {
        assertNotNull(uri)

        // query task list
        val taskList = AndroidTaskList.findByID(testAccount, provider!!, TestTaskList.Factory.FACTORY, ContentUris.parseId(uri))
        val taskList = AndroidTaskList.findByID(testAccount, provider!!, TestTaskList.Factory, ContentUris.parseId(uri))
        assertNotNull(taskList)

        // delete task list
+12 −12
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ class AndroidTaskTest {
        assumeNotNull(providerOrNull)
        provider = providerOrNull!!

        taskList = TestTaskList.findOrCreate(testAccount, provider)
        taskList = TestTaskList.create(testAccount, providerOrNull)
        assertNotNull("Couldn't find/create test task list", taskList)

        taskListUri = ContentUris.withAppendedId(provider!!.taskListsUri(), taskList!!.id)
@@ -78,11 +78,11 @@ class AndroidTaskTest {
        assertFalse(task.isAllDay())

        // add to task list
        val uri = TestTask(taskList, task).add()
        val uri = TestTask(taskList!!, task).add()
        assertNotNull("Couldn't add task", uri)

        // read and parse event from calendar provider
        val testTask = TestTask(taskList, ContentUris.parseId(uri))
        val testTask = taskList!!.findById(ContentUris.parseId(uri))
        try {
            assertNotNull("Inserted task is not here", testTask)
            val task2 = testTask.task
@@ -107,7 +107,7 @@ class AndroidTaskTest {
        task.dtStart = DtStart(Date("20150102"))

        task.due = Due(Date("20150101"))
        TestTask(taskList, task).add()
        TestTask(taskList!!, task).add()
    }

    @MediumTest
@@ -121,10 +121,10 @@ class AndroidTaskTest {
        task.location = "Sample location"
        task.dtStart = DtStart("20150501T120000", tzVienna)
        assertFalse(task.isAllDay())
        val uri = TestTask(taskList, task).add()
        val uri = TestTask(taskList!!, task).add()
        assertNotNull(uri)

        val testTask = TestTask(taskList, ContentUris.parseId(uri))
        val testTask = taskList!!.findById(ContentUris.parseId(uri))
        try {
            // update test event in calendar
            val task2 = testTask.task!!
@@ -134,7 +134,7 @@ class AndroidTaskTest {
            testTask.update(task)

            // read again and verify result
            val updatedTask = TestTask(taskList, ContentUris.parseId(uri)).task!!
            val updatedTask = taskList!!.findById(ContentUris.parseId(uri)).task!!
            assertEquals(task.summary, updatedTask.summary)
            assertEquals(task.dtStart, updatedTask.dtStart)
            assertEquals(task.due, updatedTask.due)
@@ -154,10 +154,10 @@ class AndroidTaskTest {
        task.dtStart = DtStart(Date("20150501"))
        task.due = Due(Date("20150502"))
        assertTrue(task.isAllDay())
        val uri = TestTask(taskList, task).add()
        val uri = TestTask(taskList!!, task).add()
        assertNotNull(uri)

        val testTask = TestTask(taskList, ContentUris.parseId(uri))
        val testTask = taskList!!.findById(ContentUris.parseId(uri))
        try {
            // read again and verify result
            val task2 = testTask.task!!
@@ -176,16 +176,16 @@ class AndroidTaskTest {
    @Test
    fun testGetTimeZone() {
        // no date/time
        var t = TestTask(taskList, Task())
        var t = TestTask(taskList!!, Task())
        assertEquals(TimeZone.getDefault(), t.getTimeZone())

        // dtstart with date (no time)
        t = TestTask(taskList, Task())
        t = TestTask(taskList!!, Task())
        t.task!!.dtStart = DtStart("20150101")
        assertEquals(TimeZone.getDefault(), t.getTimeZone())

        // dtstart with time
        t = TestTask(taskList, Task())
        t = TestTask(taskList!!, Task())
        t.task!!.dtStart = (DtStart("20150101", tzVienna))
        assertEquals(tzVienna, t.getTimeZone())
    }
+0 −64
Original line number Diff line number Diff line
/*
 * Copyright © Ricki Hirner (bitfire web engineering).
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the GNU Public License v3.0
 * which accompanies this distribution, and is available at
 * http://www.gnu.org/licenses/gpl.html
 */

package at.bitfire.ical4android.impl;

import android.accounts.Account;
import android.content.ContentProviderClient;
import android.content.ContentUris;
import android.content.ContentValues;
import android.net.Uri;
import android.provider.CalendarContract;
import android.util.Log;

import org.jetbrains.annotations.NotNull;

import java.util.List;

import at.bitfire.ical4android.AndroidCalendar;
import at.bitfire.ical4android.AndroidCalendarFactory;
import at.bitfire.ical4android.CalendarStorageException;

public class TestCalendar extends AndroidCalendar<TestEvent> {
    private static final String TAG = "ical4android.TestCal";

    public TestCalendar(Account account, ContentProviderClient provider, long id) {
        super(account, provider, TestEvent.Factory.INSTANCE, id);
    }

    static public TestCalendar findOrCreate(Account account, ContentProviderClient provider) throws CalendarStorageException {
        List<TestCalendar> calendars = AndroidCalendar.find(account, provider, Factory.INSTANCE, null, null);
        if (calendars.size() == 0) {
            Log.i(TAG, "Test calendar not found, creating");

            ContentValues values = new ContentValues();
            values.put(CalendarContract.Calendars.NAME, "TestCalendar");
            values.put(CalendarContract.Calendars.CALENDAR_DISPLAY_NAME, "ical4android Test Calendar");
            values.put(CalendarContract.Calendars.ALLOWED_REMINDERS,
                    CalendarContract.Reminders.METHOD_DEFAULT);
            Uri uri = AndroidCalendar.create(account, provider, values);

            return new TestCalendar(account, provider, ContentUris.parseId(uri));
        } else
            return calendars.get(0);
    }


    public static class Factory implements AndroidCalendarFactory<TestCalendar> {

        public static final Factory INSTANCE = new Factory();

        @NotNull
        @Override
        public TestCalendar newInstance(@NotNull Account account, @NotNull ContentProviderClient provider, long id) {
            return new TestCalendar(account, provider, id);
        }

    }

}
Loading