From 9393db78369555f99ede3ad2b5145888abaf4139 Mon Sep 17 00:00:00 2001 From: Yuri Volkov Date: Sat, 24 Aug 2019 13:29:39 +0300 Subject: [PATCH] Migrate to AndroidX libraries --- app/build.gradle | 31 +++++++++++++------ .../andstatus/todoagenda/BaseWidgetTest.java | 18 +++++------ .../andstatus/todoagenda/BirthdayTest.java | 8 ++++- ...galInstantDueToTimeZoneTransitionTest.java | 5 +++ .../todoagenda/MultidayAllDayEventTest.java | 9 +++++- .../todoagenda/MultidayEventTest.java | 9 ++++++ .../todoagenda/OngoingEventTest.java | 9 ++++++ .../PastDueHeaderWithTasksTest.java | 8 ++++- .../todoagenda/RecurringEventsTest.java | 4 +++ .../andstatus/todoagenda/SingleEventTest.java | 8 +++++ .../todoagenda/WrongDatesLostEventsTest.java | 8 ++++- .../todoagenda/prefs/KeywordsFilterTest.java | 3 ++ .../provider/MockCalendarContentProvider.java | 8 +++-- .../MockCalendarContentProviderTest.java | 16 ++++++++-- .../todoagenda/EventAppWidgetProvider.java | 3 +- .../todoagenda/EventRemoteViewsFactory.java | 3 +- .../andstatus/todoagenda/MainActivity.java | 7 +++-- .../WidgetConfigurationActivity.java | 3 +- .../calendar/CalendarEventProvider.java | 3 +- .../todoagenda/prefs/AllSettings.java | 3 +- .../EventDetailsPreferencesFragment.java | 1 - .../EventFiltersPreferencesFragment.java | 1 - .../todoagenda/prefs/EventSource.java | 4 +-- .../EventSourcesPreferencesFragment.java | 1 - .../todoagenda/prefs/InstanceSettings.java | 3 +- .../todoagenda/prefs/SettingsStorage.java | 3 +- .../todoagenda/provider/EventProvider.java | 3 +- .../provider/EventProviderType.java | 3 +- .../andstatus/todoagenda/util/DateUtil.java | 3 +- .../todoagenda/util/PermissionsUtil.java | 5 +-- .../todoagenda/util/RemoteViewsUtil.java | 3 +- .../todoagenda/widget/CalendarEntry.java | 1 - .../todoagenda/widget/EventEntryLayout.java | 11 ++++--- .../widget/WidgetEntryVisualizer.java | 3 +- build.gradle | 19 +++++++++++- colorpicker/build.gradle | 8 +++-- 36 files changed, 178 insertions(+), 60 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 8aebc82c..4b30ce5d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,22 +1,22 @@ apply plugin: 'com.android.application' -dependencies { - implementation 'joda-time:joda-time:2.10.3' - implementation project(':colorpicker') - implementation 'com.android.support:appcompat-v7:28.0.0' -} - android { - compileSdkVersion 28 + compileSdkVersion rootProject.compileSdkVersion + buildToolsVersion rootProject.buildToolsVersion + + useLibrary 'android.test.runner' + + useLibrary 'android.test.base' + useLibrary 'android.test.mock' defaultConfig { versionCode getCommitCount() versionName '2.2.0' + "-" + versionCode - minSdkVersion 15 - targetSdkVersion 28 + minSdkVersion rootProject.minSdkVersion + targetSdkVersion rootProject.targetSdkVersion testApplicationId "org.andstatus.todoagenda.tests" - testInstrumentationRunner "android.test.InstrumentationTestRunner" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" project.ext.archivesBaseName = "TodoAgenda-$versionName".toString() } @@ -56,6 +56,17 @@ android { } } +dependencies { + implementation "joda-time:joda-time:$jodaTimeVersion" + implementation "androidx.appcompat:appcompat:$appCompatVersion" + implementation project(':colorpicker') + + androidTestImplementation "junit:junit:$junitVersion" + androidTestImplementation "androidx.test:runner:$testRunnerVersion" + androidTestImplementation "androidx.test:rules:$testRulesVersion" + androidTestImplementation "androidx.test.espresso:espresso-core:$espressoCoreVersion" +} + static getCommitCount() { try { def git = org.ajoberstar.grgit.Grgit.open() diff --git a/app/src/androidTest/java/org/andstatus/todoagenda/BaseWidgetTest.java b/app/src/androidTest/java/org/andstatus/todoagenda/BaseWidgetTest.java index 1c14db19..7edb47d1 100644 --- a/app/src/androidTest/java/org/andstatus/todoagenda/BaseWidgetTest.java +++ b/app/src/androidTest/java/org/andstatus/todoagenda/BaseWidgetTest.java @@ -1,14 +1,16 @@ package org.andstatus.todoagenda; -import android.test.InstrumentationTestCase; - import org.andstatus.todoagenda.provider.MockCalendarContentProvider; import org.joda.time.DateTime; +import org.junit.After; +import org.junit.Before; + +import static org.junit.Assert.assertTrue; /** * @author yvolk@yurivolkov.com */ -public class BaseWidgetTest extends InstrumentationTestCase { +public class BaseWidgetTest { final String TAG = this.getClass().getSimpleName(); @@ -19,18 +21,16 @@ protected int getNumberOfOpenTasksSources() { return 0; } - @Override - protected void setUp() throws Exception { - super.setUp(); + @Before + public void setUp() throws Exception { provider = MockCalendarContentProvider.getContentProvider(this, getNumberOfOpenTasksSources()); factory = new EventRemoteViewsFactory(provider.getContext(), provider.getWidgetId()); assertTrue(factory.getWidgetEntries().isEmpty()); } - @Override - protected void tearDown() throws Exception { + @After + public void tearDown() throws Exception { provider.tearDown(); - super.tearDown(); } DateTime dateTime( diff --git a/app/src/androidTest/java/org/andstatus/todoagenda/BirthdayTest.java b/app/src/androidTest/java/org/andstatus/todoagenda/BirthdayTest.java index 0a748aba..9bd1ad25 100644 --- a/app/src/androidTest/java/org/andstatus/todoagenda/BirthdayTest.java +++ b/app/src/androidTest/java/org/andstatus/todoagenda/BirthdayTest.java @@ -6,16 +6,22 @@ import org.andstatus.todoagenda.widget.CalendarEntry; import org.joda.time.DateTime; import org.json.JSONException; +import org.junit.Test; import java.io.IOException; +import androidx.test.platform.app.InstrumentationRegistry; + +import static org.junit.Assert.assertEquals; + /** * @author yvolk@yurivolkov.com */ public class BirthdayTest extends BaseWidgetTest { + @Test public void testBirthdayOneDayOnly() throws IOException, JSONException { - QueryResultsStorage inputs = provider.loadResults(this.getInstrumentation().getContext(), + QueryResultsStorage inputs = provider.loadResults(InstrumentationRegistry.getInstrumentation().getContext(), org.andstatus.todoagenda.tests.R.raw.birthday); provider.startEditing(); diff --git a/app/src/androidTest/java/org/andstatus/todoagenda/IllegalInstantDueToTimeZoneTransitionTest.java b/app/src/androidTest/java/org/andstatus/todoagenda/IllegalInstantDueToTimeZoneTransitionTest.java index b52389f6..8df978c1 100644 --- a/app/src/androidTest/java/org/andstatus/todoagenda/IllegalInstantDueToTimeZoneTransitionTest.java +++ b/app/src/androidTest/java/org/andstatus/todoagenda/IllegalInstantDueToTimeZoneTransitionTest.java @@ -6,6 +6,7 @@ import org.joda.time.DateTime; import org.joda.time.DateTimeZone; import org.joda.time.LocalDateTime; +import org.junit.Test; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -13,6 +14,9 @@ import java.util.Locale; import java.util.concurrent.TimeUnit; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + /** * @author yvolk@yurivolkov.com */ @@ -28,6 +32,7 @@ public class IllegalInstantDueToTimeZoneTransitionTest extends BaseWidgetTest { *

* I couldn't reproduce the problem though. */ + @Test public void testIllegalInstantDueToTimeZoneOffsetTransition() { reproducedTimeZoneOffsetTransitionException(); oneTimeDst("2014-09-07T00:00:00+00:00"); diff --git a/app/src/androidTest/java/org/andstatus/todoagenda/MultidayAllDayEventTest.java b/app/src/androidTest/java/org/andstatus/todoagenda/MultidayAllDayEventTest.java index a525b398..43800045 100644 --- a/app/src/androidTest/java/org/andstatus/todoagenda/MultidayAllDayEventTest.java +++ b/app/src/androidTest/java/org/andstatus/todoagenda/MultidayAllDayEventTest.java @@ -9,17 +9,24 @@ import org.andstatus.todoagenda.widget.WidgetEntry; import org.joda.time.DateTime; import org.json.JSONException; +import org.junit.Test; import java.io.IOException; +import androidx.test.platform.app.InstrumentationRegistry; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + /** * @author yvolk@yurivolkov.com */ public class MultidayAllDayEventTest extends BaseWidgetTest { + @Test public void testInsidePeriod() throws IOException, JSONException { final String method = "testInsidePeriod"; - QueryResultsStorage inputs = provider.loadResults(this.getInstrumentation().getContext(), + QueryResultsStorage inputs = provider.loadResults(InstrumentationRegistry.getInstrumentation().getContext(), org.andstatus.todoagenda.tests.R.raw.multi_day); provider.addResults(inputs.getResults()); diff --git a/app/src/androidTest/java/org/andstatus/todoagenda/MultidayEventTest.java b/app/src/androidTest/java/org/andstatus/todoagenda/MultidayEventTest.java index 861f510f..fb762f15 100644 --- a/app/src/androidTest/java/org/andstatus/todoagenda/MultidayEventTest.java +++ b/app/src/androidTest/java/org/andstatus/todoagenda/MultidayEventTest.java @@ -7,6 +7,13 @@ import org.andstatus.todoagenda.widget.CalendarEntry; import org.andstatus.todoagenda.widget.WidgetEntry; import org.joda.time.DateTime; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; /** * @author yvolk@yurivolkov.com @@ -20,6 +27,7 @@ public class MultidayEventTest extends BaseWidgetTest { /** * Issue #206 https://github.com/plusonelabs/calendar-widget/issues/206 */ + @Test public void testEventWhichCarryOverToTheNextDay() { DateTime today = DateUtil.now(provider.getSettings().getTimeZone()).withTimeAtStartOfDay(); CalendarEvent event = new CalendarEvent(provider.getContext(), provider.getWidgetId(), @@ -64,6 +72,7 @@ public void testEventWhichCarryOverToTheNextDay() { /** * https://github.com/plusonelabs/calendar-widget/issues/184#issuecomment-142671469 */ + @Test public void testThreeDaysEvent() { DateTime friday = dateTime(2015, 9, 18); DateTime sunday = friday.plusDays(2); diff --git a/app/src/androidTest/java/org/andstatus/todoagenda/OngoingEventTest.java b/app/src/androidTest/java/org/andstatus/todoagenda/OngoingEventTest.java index bd9953a7..d7dfb81f 100644 --- a/app/src/androidTest/java/org/andstatus/todoagenda/OngoingEventTest.java +++ b/app/src/androidTest/java/org/andstatus/todoagenda/OngoingEventTest.java @@ -5,6 +5,12 @@ import org.andstatus.todoagenda.widget.CalendarEntry; import org.andstatus.todoagenda.widget.WidgetEntry; import org.joda.time.DateTime; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; /** * @author yvolk@yurivolkov.com @@ -16,6 +22,7 @@ public class OngoingEventTest extends BaseWidgetTest { /** * @see Issue 199 */ + @Test public void testTodaysOngoingEvent() { DateTime today = DateUtil.now(provider.getSettings().getTimeZone()).withTimeAtStartOfDay(); CalendarEvent event = new CalendarEvent(provider.getContext(), provider.getWidgetId(), @@ -45,6 +52,7 @@ public void testTodaysOngoingEvent() { /** * @see Issue 199 */ + @Test public void testYesterdaysOngoingEvent() { DateTime today = DateUtil.now(provider.getSettings().getTimeZone()).withTimeAtStartOfDay(); CalendarEvent event = new CalendarEvent(provider.getContext(), provider.getWidgetId(), @@ -73,6 +81,7 @@ public void testYesterdaysOngoingEvent() { assertEquals("End Time didn't change for yesterday's event", event.getEndDate(), entry.getEndDate()); } + @Test public void testEventWhichCarryOverToTheNextDay() { DateTime today = DateUtil.now(provider.getSettings().getTimeZone()).withTimeAtStartOfDay(); CalendarEvent event = new CalendarEvent(provider.getContext(), provider.getWidgetId(), diff --git a/app/src/androidTest/java/org/andstatus/todoagenda/PastDueHeaderWithTasksTest.java b/app/src/androidTest/java/org/andstatus/todoagenda/PastDueHeaderWithTasksTest.java index 0d159640..c45a0844 100644 --- a/app/src/androidTest/java/org/andstatus/todoagenda/PastDueHeaderWithTasksTest.java +++ b/app/src/androidTest/java/org/andstatus/todoagenda/PastDueHeaderWithTasksTest.java @@ -7,9 +7,14 @@ import org.andstatus.todoagenda.widget.CalendarEntry; import org.andstatus.todoagenda.widget.TaskEntry; import org.json.JSONException; +import org.junit.Test; import java.io.IOException; +import androidx.test.platform.app.InstrumentationRegistry; + +import static org.junit.Assert.assertEquals; + /** * @author yvolk@yurivolkov.com */ @@ -23,9 +28,10 @@ protected int getNumberOfOpenTasksSources() { /** * https://github.com/plusonelabs/calendar-widget/issues/205 */ + @Test public void testPastDueHeaderWithTasks() throws IOException, JSONException { final String method = "testPastDueHeaderWithTasks"; - QueryResultsStorage inputs = provider.loadResults(this.getInstrumentation().getContext(), + QueryResultsStorage inputs = provider.loadResults(InstrumentationRegistry.getInstrumentation().getContext(), org.andstatus.todoagenda.tests.R.raw.past_due_header_with_tasks); provider.addResults(inputs.getResults()); Log.d(method, "Results executed at " + inputs.getResults().get(0).getExecutedAt()); diff --git a/app/src/androidTest/java/org/andstatus/todoagenda/RecurringEventsTest.java b/app/src/androidTest/java/org/andstatus/todoagenda/RecurringEventsTest.java index 044ef1ab..f13ead8b 100644 --- a/app/src/androidTest/java/org/andstatus/todoagenda/RecurringEventsTest.java +++ b/app/src/androidTest/java/org/andstatus/todoagenda/RecurringEventsTest.java @@ -6,9 +6,12 @@ import org.andstatus.todoagenda.widget.CalendarEntry; import org.andstatus.todoagenda.widget.WidgetEntry; import org.joda.time.DateTime; +import org.junit.Test; import java.util.concurrent.TimeUnit; +import static org.junit.Assert.assertEquals; + /** * @author yvolk@yurivolkov.com */ @@ -20,6 +23,7 @@ public class RecurringEventsTest extends BaseWidgetTest { * @see Issue 191 and * Issue 46 */ + @Test public void testShowRecurringEvents() { generateEventInstances(); assertEquals("Entries: " + factory.getWidgetEntries().size(), 15, countCalendarEntries()); diff --git a/app/src/androidTest/java/org/andstatus/todoagenda/SingleEventTest.java b/app/src/androidTest/java/org/andstatus/todoagenda/SingleEventTest.java index 3eedd7a5..56563864 100644 --- a/app/src/androidTest/java/org/andstatus/todoagenda/SingleEventTest.java +++ b/app/src/androidTest/java/org/andstatus/todoagenda/SingleEventTest.java @@ -6,6 +6,11 @@ import org.andstatus.todoagenda.widget.WidgetEntry; import org.joda.time.DateTime; import org.joda.time.DateTimeZone; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotSame; +import static org.junit.Assert.assertTrue; /** * @author yvolk@yurivolkov.com @@ -14,6 +19,7 @@ public class SingleEventTest extends BaseWidgetTest { private int eventId = 0; + @Test public void testEventAttributes() { DateTime today = DateUtil.now(provider.getSettings().getTimeZone()).withTimeAtStartOfDay(); DateUtil.setNow(today.plusHours(10)); @@ -35,6 +41,7 @@ public void testEventAttributes() { assertOneEvent(event, true); } + @Test public void testAlldayEventAttributes() { DateTime today = DateUtil.now(provider.getSettings().getTimeZone()).withTimeAtStartOfDay(); DateUtil.setNow(today.plusHours(10)); @@ -53,6 +60,7 @@ public void testAlldayEventAttributes() { } + @Test public void testAlldayEventMillis() { DateTime today = DateUtil.now(DateTimeZone.UTC).withTimeAtStartOfDay(); CalendarEvent event = new CalendarEvent(provider.getContext(), provider.getWidgetId(), diff --git a/app/src/androidTest/java/org/andstatus/todoagenda/WrongDatesLostEventsTest.java b/app/src/androidTest/java/org/andstatus/todoagenda/WrongDatesLostEventsTest.java index 83398fc2..b24880ef 100644 --- a/app/src/androidTest/java/org/andstatus/todoagenda/WrongDatesLostEventsTest.java +++ b/app/src/androidTest/java/org/andstatus/todoagenda/WrongDatesLostEventsTest.java @@ -5,9 +5,14 @@ import org.andstatus.todoagenda.provider.QueryResultsStorage; import org.andstatus.todoagenda.widget.CalendarEntry; import org.json.JSONException; +import org.junit.Test; import java.io.IOException; +import androidx.test.platform.app.InstrumentationRegistry; + +import static org.junit.Assert.assertEquals; + /** * @author yvolk@yurivolkov.com */ @@ -16,9 +21,10 @@ public class WrongDatesLostEventsTest extends BaseWidgetTest { /** * https://github.com/plusonelabs/calendar-widget/issues/205 */ + @Test public void testIssue205() throws IOException, JSONException { final String method = "testIssue205"; - QueryResultsStorage inputs = provider.loadResults(this.getInstrumentation().getContext(), + QueryResultsStorage inputs = provider.loadResults(InstrumentationRegistry.getInstrumentation().getContext(), org.andstatus.todoagenda.tests.R.raw.wrong_dates_lost_events); provider.addResults(inputs.getResults()); Log.d(method, "Results executed at " + inputs.getResults().get(0).getExecutedAt()); diff --git a/app/src/androidTest/java/org/andstatus/todoagenda/prefs/KeywordsFilterTest.java b/app/src/androidTest/java/org/andstatus/todoagenda/prefs/KeywordsFilterTest.java index 0bd4b082..6cafa4e9 100644 --- a/app/src/androidTest/java/org/andstatus/todoagenda/prefs/KeywordsFilterTest.java +++ b/app/src/androidTest/java/org/andstatus/todoagenda/prefs/KeywordsFilterTest.java @@ -2,11 +2,14 @@ import android.test.InstrumentationTestCase; +import org.junit.Test; + /** * @author yvolk@yurivolkov.com */ public class KeywordsFilterTest extends InstrumentationTestCase { + @Test public void testPhrases() { String query = "\"do it\""; final String keywordDN = "do it"; diff --git a/app/src/androidTest/java/org/andstatus/todoagenda/provider/MockCalendarContentProvider.java b/app/src/androidTest/java/org/andstatus/todoagenda/provider/MockCalendarContentProvider.java index f073ba27..163f8e48 100644 --- a/app/src/androidTest/java/org/andstatus/todoagenda/provider/MockCalendarContentProvider.java +++ b/app/src/androidTest/java/org/andstatus/todoagenda/provider/MockCalendarContentProvider.java @@ -6,8 +6,6 @@ import android.database.Cursor; import android.database.MatrixCursor; import android.net.Uri; -import android.support.annotation.NonNull; -import android.support.annotation.RawRes; import android.test.IsolatedContext; import android.test.mock.MockContentProvider; import android.test.mock.MockContentResolver; @@ -32,6 +30,10 @@ import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.atomic.AtomicInteger; +import androidx.annotation.NonNull; +import androidx.annotation.RawRes; +import androidx.test.platform.app.InstrumentationRegistry; + import static org.andstatus.todoagenda.prefs.ApplicationPreferences.PREF_WIDGET_ID; import static org.andstatus.todoagenda.provider.QueryResultsStorage.KEY_SETTINGS; @@ -53,7 +55,7 @@ public class MockCalendarContentProvider extends MockContentProvider { public static MockCalendarContentProvider getContentProvider(BaseWidgetTest testCase, int numberOfOpenTasksSources) throws JSONException { MockContentResolver mockResolver = new MockContentResolver(); - Context targetContext = testCase.getInstrumentation().getTargetContext(); + Context targetContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); Context isolatedContext = new IsolatedContext(mockResolver, targetContext); MockCalendarContentProvider contentProvider = new MockCalendarContentProvider(targetContext, isolatedContext, numberOfOpenTasksSources); diff --git a/app/src/androidTest/java/org/andstatus/todoagenda/provider/MockCalendarContentProviderTest.java b/app/src/androidTest/java/org/andstatus/todoagenda/provider/MockCalendarContentProviderTest.java index 13d8b314..1a3990d9 100644 --- a/app/src/androidTest/java/org/andstatus/todoagenda/provider/MockCalendarContentProviderTest.java +++ b/app/src/androidTest/java/org/andstatus/todoagenda/provider/MockCalendarContentProviderTest.java @@ -11,9 +11,16 @@ import org.joda.time.DateTime; import org.json.JSONException; import org.json.JSONObject; +import org.junit.Test; import java.io.IOException; +import androidx.test.platform.app.InstrumentationRegistry; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotSame; +import static org.junit.Assert.assertTrue; + /** * Tests of the Testing framework itself * @@ -26,21 +33,23 @@ public class MockCalendarContentProviderTest extends BaseWidgetTest { private long eventId = 0; @Override - protected void setUp() throws Exception { + public void setUp() throws Exception { super.setUp(); QueryResultsStorage.setNeedToStoreResults(true); } @Override - protected void tearDown() throws Exception { + public void tearDown() throws Exception { QueryResultsStorage.setNeedToStoreResults(false); super.tearDown(); } + @Test public void testTestMode() { assertTrue("isTestMode should be true", PermissionsUtil.isTestMode()); } + @Test public void testTwoEventsToday() { QueryResult input1 = addOneResult(""); QueryResult input2 = addOneResult("SOMETHING=1"); @@ -111,8 +120,9 @@ private QueryResult queryList(Uri uri, String selection) { return result; } + @Test public void testJsonToAndFrom() throws IOException, JSONException { - QueryResultsStorage inputs1 = provider.loadResults(getInstrumentation().getContext(), + QueryResultsStorage inputs1 = provider.loadResults(InstrumentationRegistry.getInstrumentation().getContext(), org.andstatus.todoagenda.tests.R.raw.birthday); JSONObject jsonOutput = inputs1.toJson(provider.getContext(), provider.getWidgetId()); QueryResultsStorage inputs2 = QueryResultsStorage.fromTestData(provider.getContext(), jsonOutput); diff --git a/app/src/main/java/org/andstatus/todoagenda/EventAppWidgetProvider.java b/app/src/main/java/org/andstatus/todoagenda/EventAppWidgetProvider.java index 77180032..083856de 100644 --- a/app/src/main/java/org/andstatus/todoagenda/EventAppWidgetProvider.java +++ b/app/src/main/java/org/andstatus/todoagenda/EventAppWidgetProvider.java @@ -10,7 +10,6 @@ import android.content.pm.ResolveInfo; import android.graphics.Color; import android.net.Uri; -import android.support.annotation.IdRes; import android.view.View; import android.widget.RemoteViews; @@ -24,6 +23,8 @@ import java.util.List; import java.util.Locale; +import androidx.annotation.IdRes; + import static android.graphics.Color.alpha; import static android.graphics.Color.blue; import static android.graphics.Color.green; diff --git a/app/src/main/java/org/andstatus/todoagenda/EventRemoteViewsFactory.java b/app/src/main/java/org/andstatus/todoagenda/EventRemoteViewsFactory.java index 160b9259..1bf7cdbe 100644 --- a/app/src/main/java/org/andstatus/todoagenda/EventRemoteViewsFactory.java +++ b/app/src/main/java/org/andstatus/todoagenda/EventRemoteViewsFactory.java @@ -1,7 +1,6 @@ package org.andstatus.todoagenda; import android.content.Context; -import android.support.annotation.NonNull; import android.util.Log; import android.widget.RemoteViews; import android.widget.RemoteViewsService.RemoteViewsFactory; @@ -20,6 +19,8 @@ import java.util.Collections; import java.util.List; +import androidx.annotation.NonNull; + import static org.andstatus.todoagenda.Theme.themeNameToResId; import static org.andstatus.todoagenda.util.CalendarIntentUtil.createOpenCalendarEventPendingIntent; diff --git a/app/src/main/java/org/andstatus/todoagenda/MainActivity.java b/app/src/main/java/org/andstatus/todoagenda/MainActivity.java index a050b9ce..5ff24a15 100644 --- a/app/src/main/java/org/andstatus/todoagenda/MainActivity.java +++ b/app/src/main/java/org/andstatus/todoagenda/MainActivity.java @@ -4,9 +4,6 @@ import android.content.Context; import android.content.Intent; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.ActivityCompat; -import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.AdapterView; @@ -27,6 +24,10 @@ import java.util.Map; import java.util.Set; +import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.app.ActivityCompat; + /** * @author yvolk@yurivolkov.com */ diff --git a/app/src/main/java/org/andstatus/todoagenda/WidgetConfigurationActivity.java b/app/src/main/java/org/andstatus/todoagenda/WidgetConfigurationActivity.java index fca74100..41ba6051 100644 --- a/app/src/main/java/org/andstatus/todoagenda/WidgetConfigurationActivity.java +++ b/app/src/main/java/org/andstatus/todoagenda/WidgetConfigurationActivity.java @@ -7,13 +7,14 @@ import android.os.Build; import android.os.Bundle; import android.preference.PreferenceActivity; -import android.support.annotation.NonNull; import org.andstatus.todoagenda.prefs.ApplicationPreferences; import org.andstatus.todoagenda.util.PermissionsUtil; import java.util.List; +import androidx.annotation.NonNull; + public class WidgetConfigurationActivity extends PreferenceActivity { private static final String PREFERENCES_PACKAGE_NAME = "org.andstatus.todoagenda.prefs"; diff --git a/app/src/main/java/org/andstatus/todoagenda/calendar/CalendarEventProvider.java b/app/src/main/java/org/andstatus/todoagenda/calendar/CalendarEventProvider.java index 96f756c4..22d44c3d 100644 --- a/app/src/main/java/org/andstatus/todoagenda/calendar/CalendarEventProvider.java +++ b/app/src/main/java/org/andstatus/todoagenda/calendar/CalendarEventProvider.java @@ -10,7 +10,6 @@ import android.provider.CalendarContract; import android.provider.CalendarContract.Attendees; import android.provider.CalendarContract.Instances; -import android.support.annotation.NonNull; import android.util.Log; import android.util.SparseArray; @@ -30,6 +29,8 @@ import java.util.Iterator; import java.util.List; +import androidx.annotation.NonNull; + public class CalendarEventProvider extends EventProvider { private static final String[] EVENT_SOURCES_PROJECTION = new String[]{CalendarContract.Calendars._ID, CalendarContract.Calendars.CALENDAR_DISPLAY_NAME, CalendarContract.Calendars.CALENDAR_COLOR, diff --git a/app/src/main/java/org/andstatus/todoagenda/prefs/AllSettings.java b/app/src/main/java/org/andstatus/todoagenda/prefs/AllSettings.java index f77ecacd..cab1d5c9 100644 --- a/app/src/main/java/org/andstatus/todoagenda/prefs/AllSettings.java +++ b/app/src/main/java/org/andstatus/todoagenda/prefs/AllSettings.java @@ -1,7 +1,6 @@ package org.andstatus.todoagenda.prefs; import android.content.Context; -import android.support.annotation.NonNull; import android.util.Log; import org.andstatus.todoagenda.EventAppWidgetProvider; @@ -14,6 +13,8 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; +import androidx.annotation.NonNull; + import static org.andstatus.todoagenda.EventAppWidgetProvider.getWidgetIds; import static org.andstatus.todoagenda.prefs.SettingsStorage.loadJsonFromFile; diff --git a/app/src/main/java/org/andstatus/todoagenda/prefs/EventDetailsPreferencesFragment.java b/app/src/main/java/org/andstatus/todoagenda/prefs/EventDetailsPreferencesFragment.java index 8b7e69fb..a2c05bd5 100644 --- a/app/src/main/java/org/andstatus/todoagenda/prefs/EventDetailsPreferencesFragment.java +++ b/app/src/main/java/org/andstatus/todoagenda/prefs/EventDetailsPreferencesFragment.java @@ -3,7 +3,6 @@ import android.os.Bundle; import android.preference.PreferenceFragment; -import org.andstatus.todoagenda.EventAppWidgetProvider; import org.andstatus.todoagenda.R; public class EventDetailsPreferencesFragment extends PreferenceFragment { diff --git a/app/src/main/java/org/andstatus/todoagenda/prefs/EventFiltersPreferencesFragment.java b/app/src/main/java/org/andstatus/todoagenda/prefs/EventFiltersPreferencesFragment.java index 77bc0350..0391808b 100644 --- a/app/src/main/java/org/andstatus/todoagenda/prefs/EventFiltersPreferencesFragment.java +++ b/app/src/main/java/org/andstatus/todoagenda/prefs/EventFiltersPreferencesFragment.java @@ -6,7 +6,6 @@ import android.preference.ListPreference; import android.preference.PreferenceFragment; -import org.andstatus.todoagenda.EventAppWidgetProvider; import org.andstatus.todoagenda.R; public class EventFiltersPreferencesFragment extends PreferenceFragment implements SharedPreferences.OnSharedPreferenceChangeListener { diff --git a/app/src/main/java/org/andstatus/todoagenda/prefs/EventSource.java b/app/src/main/java/org/andstatus/todoagenda/prefs/EventSource.java index 29aac58f..b66d4d5a 100644 --- a/app/src/main/java/org/andstatus/todoagenda/prefs/EventSource.java +++ b/app/src/main/java/org/andstatus/todoagenda/prefs/EventSource.java @@ -1,7 +1,5 @@ package org.andstatus.todoagenda.prefs; -import android.support.annotation.NonNull; - import org.andstatus.todoagenda.provider.EventProviderType; import org.json.JSONArray; @@ -12,6 +10,8 @@ import java.util.List; import java.util.Set; +import androidx.annotation.NonNull; + public class EventSource { public final static EventSource EMPTY = new EventSource(EventProviderType.EMPTY, 0, "Empty", "", 0); public static final String STORE_SEPARATOR = ","; diff --git a/app/src/main/java/org/andstatus/todoagenda/prefs/EventSourcesPreferencesFragment.java b/app/src/main/java/org/andstatus/todoagenda/prefs/EventSourcesPreferencesFragment.java index 2311dd80..cf7b7896 100644 --- a/app/src/main/java/org/andstatus/todoagenda/prefs/EventSourcesPreferencesFragment.java +++ b/app/src/main/java/org/andstatus/todoagenda/prefs/EventSourcesPreferencesFragment.java @@ -11,7 +11,6 @@ import android.preference.PreferenceScreen; import android.util.Log; -import org.andstatus.todoagenda.EventAppWidgetProvider; import org.andstatus.todoagenda.R; import org.andstatus.todoagenda.provider.EventProviderType; diff --git a/app/src/main/java/org/andstatus/todoagenda/prefs/InstanceSettings.java b/app/src/main/java/org/andstatus/todoagenda/prefs/InstanceSettings.java index a45d1ee9..a99ab0b3 100644 --- a/app/src/main/java/org/andstatus/todoagenda/prefs/InstanceSettings.java +++ b/app/src/main/java/org/andstatus/todoagenda/prefs/InstanceSettings.java @@ -1,7 +1,6 @@ package org.andstatus.todoagenda.prefs; import android.content.Context; -import android.support.annotation.NonNull; import android.text.TextUtils; import android.util.Log; import android.view.ContextThemeWrapper; @@ -21,6 +20,8 @@ import java.util.List; import java.util.TimeZone; +import androidx.annotation.NonNull; + import static org.andstatus.todoagenda.Theme.themeNameToResId; import static org.andstatus.todoagenda.prefs.ApplicationPreferences.PREF_ABBREVIATE_DATES; import static org.andstatus.todoagenda.prefs.ApplicationPreferences.PREF_ABBREVIATE_DATES_DEFAULT; diff --git a/app/src/main/java/org/andstatus/todoagenda/prefs/SettingsStorage.java b/app/src/main/java/org/andstatus/todoagenda/prefs/SettingsStorage.java index bb8dbc62..2262af2d 100644 --- a/app/src/main/java/org/andstatus/todoagenda/prefs/SettingsStorage.java +++ b/app/src/main/java/org/andstatus/todoagenda/prefs/SettingsStorage.java @@ -1,7 +1,6 @@ package org.andstatus.todoagenda.prefs; import android.content.Context; -import android.support.annotation.NonNull; import android.text.TextUtils; import android.util.Log; @@ -22,6 +21,8 @@ import java.nio.charset.Charset; import java.util.Arrays; +import androidx.annotation.NonNull; + /** * @author yvolk@yurivolkov.com */ diff --git a/app/src/main/java/org/andstatus/todoagenda/provider/EventProvider.java b/app/src/main/java/org/andstatus/todoagenda/provider/EventProvider.java index a031151e..561c919b 100644 --- a/app/src/main/java/org/andstatus/todoagenda/provider/EventProvider.java +++ b/app/src/main/java/org/andstatus/todoagenda/provider/EventProvider.java @@ -1,7 +1,6 @@ package org.andstatus.todoagenda.provider; import android.content.Context; -import android.support.annotation.NonNull; import org.andstatus.todoagenda.prefs.AllSettings; import org.andstatus.todoagenda.prefs.EventSource; @@ -14,6 +13,8 @@ import java.util.Collection; import java.util.Collections; +import androidx.annotation.NonNull; + import static android.graphics.Color.argb; import static android.graphics.Color.blue; import static android.graphics.Color.green; diff --git a/app/src/main/java/org/andstatus/todoagenda/provider/EventProviderType.java b/app/src/main/java/org/andstatus/todoagenda/provider/EventProviderType.java index bca27c6c..efd6958b 100644 --- a/app/src/main/java/org/andstatus/todoagenda/provider/EventProviderType.java +++ b/app/src/main/java/org/andstatus/todoagenda/provider/EventProviderType.java @@ -3,7 +3,6 @@ import android.Manifest; import android.content.Context; import android.content.IntentFilter; -import android.support.annotation.NonNull; import android.util.Log; import org.andstatus.todoagenda.EnvironmentChangedReceiver; @@ -25,6 +24,8 @@ import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CopyOnWriteArraySet; +import androidx.annotation.NonNull; + /** All supported Event providers */ public enum EventProviderType { EMPTY(0, true, "", ""), diff --git a/app/src/main/java/org/andstatus/todoagenda/util/DateUtil.java b/app/src/main/java/org/andstatus/todoagenda/util/DateUtil.java index 9fa35221..e8e8668c 100644 --- a/app/src/main/java/org/andstatus/todoagenda/util/DateUtil.java +++ b/app/src/main/java/org/andstatus/todoagenda/util/DateUtil.java @@ -1,7 +1,6 @@ package org.andstatus.todoagenda.util; import android.content.Context; -import android.support.annotation.NonNull; import android.text.TextUtils; import android.text.format.DateUtils; import android.util.Log; @@ -14,6 +13,8 @@ import java.util.Formatter; import java.util.Locale; +import androidx.annotation.NonNull; + public class DateUtil { private static final String COMMA_SPACE = ", "; diff --git a/app/src/main/java/org/andstatus/todoagenda/util/PermissionsUtil.java b/app/src/main/java/org/andstatus/todoagenda/util/PermissionsUtil.java index c7b122e4..27d05f36 100644 --- a/app/src/main/java/org/andstatus/todoagenda/util/PermissionsUtil.java +++ b/app/src/main/java/org/andstatus/todoagenda/util/PermissionsUtil.java @@ -4,14 +4,15 @@ import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; -import android.support.annotation.NonNull; -import android.support.v4.content.ContextCompat; import org.andstatus.todoagenda.MainActivity; import org.andstatus.todoagenda.prefs.AllSettings; import org.andstatus.todoagenda.prefs.InstanceSettings; import org.andstatus.todoagenda.provider.EventProviderType; +import androidx.annotation.NonNull; +import androidx.core.content.ContextCompat; + /** * @author yvolk@yurivolkov.com */ diff --git a/app/src/main/java/org/andstatus/todoagenda/util/RemoteViewsUtil.java b/app/src/main/java/org/andstatus/todoagenda/util/RemoteViewsUtil.java index a8ffdc96..df9109ab 100644 --- a/app/src/main/java/org/andstatus/todoagenda/util/RemoteViewsUtil.java +++ b/app/src/main/java/org/andstatus/todoagenda/util/RemoteViewsUtil.java @@ -5,13 +5,14 @@ import android.content.res.Resources.NotFoundException; import android.graphics.Color; import android.os.Build; -import android.support.annotation.DimenRes; import android.util.Log; import android.util.TypedValue; import android.widget.RemoteViews; import org.andstatus.todoagenda.prefs.InstanceSettings; +import androidx.annotation.DimenRes; + import static java.lang.Float.parseFloat; public class RemoteViewsUtil { diff --git a/app/src/main/java/org/andstatus/todoagenda/widget/CalendarEntry.java b/app/src/main/java/org/andstatus/todoagenda/widget/CalendarEntry.java index 82e93e98..6dea33be 100644 --- a/app/src/main/java/org/andstatus/todoagenda/widget/CalendarEntry.java +++ b/app/src/main/java/org/andstatus/todoagenda/widget/CalendarEntry.java @@ -7,7 +7,6 @@ import org.andstatus.todoagenda.R; import org.andstatus.todoagenda.calendar.CalendarEvent; -import org.andstatus.todoagenda.prefs.AllSettings; import org.andstatus.todoagenda.prefs.InstanceSettings; import org.andstatus.todoagenda.util.DateUtil; import org.joda.time.DateTime; diff --git a/app/src/main/java/org/andstatus/todoagenda/widget/EventEntryLayout.java b/app/src/main/java/org/andstatus/todoagenda/widget/EventEntryLayout.java index d84973ea..3c67c0c2 100644 --- a/app/src/main/java/org/andstatus/todoagenda/widget/EventEntryLayout.java +++ b/app/src/main/java/org/andstatus/todoagenda/widget/EventEntryLayout.java @@ -1,16 +1,19 @@ package org.andstatus.todoagenda.widget; -import android.support.annotation.LayoutRes; -import android.support.annotation.StringRes; import android.text.TextUtils; import android.view.View; import android.widget.RemoteViews; -import org.andstatus.todoagenda.util.DateUtil; import org.andstatus.todoagenda.R; +import org.andstatus.todoagenda.util.DateUtil; import org.andstatus.todoagenda.util.RemoteViewsUtil; -import static org.andstatus.todoagenda.util.RemoteViewsUtil.*; +import androidx.annotation.LayoutRes; +import androidx.annotation.StringRes; + +import static org.andstatus.todoagenda.util.RemoteViewsUtil.setMultiline; +import static org.andstatus.todoagenda.util.RemoteViewsUtil.setTextColorFromAttr; +import static org.andstatus.todoagenda.util.RemoteViewsUtil.setTextSize; /** * @author yvolk@yurivolkov.com diff --git a/app/src/main/java/org/andstatus/todoagenda/widget/WidgetEntryVisualizer.java b/app/src/main/java/org/andstatus/todoagenda/widget/WidgetEntryVisualizer.java index 375aa17b..ce94427d 100644 --- a/app/src/main/java/org/andstatus/todoagenda/widget/WidgetEntryVisualizer.java +++ b/app/src/main/java/org/andstatus/todoagenda/widget/WidgetEntryVisualizer.java @@ -1,7 +1,6 @@ package org.andstatus.todoagenda.widget; import android.content.Context; -import android.support.annotation.NonNull; import android.widget.RemoteViews; import org.andstatus.todoagenda.prefs.InstanceSettings; @@ -9,6 +8,8 @@ import java.util.List; +import androidx.annotation.NonNull; + public abstract class WidgetEntryVisualizer> { private final EventProvider eventProvider; diff --git a/build.gradle b/build.gradle index cdd1eb01..c780eeb4 100644 --- a/build.gradle +++ b/build.gradle @@ -4,9 +4,26 @@ buildscript { jcenter() } + ext { + compileSdkVersion = 28 as int + buildToolsVersion = '28.0.3' + minSdkVersion = 15 as int + targetSdkVersion = 28 as int + + // Lookup the latest here: https://mvnrepository.com/ + annotationVersion = '1.0.1' + appCompatVersion = '1.0.2' // https://mvnrepository.com/artifact/androidx.appcompat/appcompat + espressoCoreVersion = '3.1.1' + grgitVersion = '2.1.0' + jodaTimeVersion = '2.10.3' + junitVersion = '4.13-beta-3' + testRulesVersion = '1.1.1' + testRunnerVersion = '1.1.1' + } + dependencies { classpath 'com.android.tools.build:gradle:3.5.0' - classpath 'org.ajoberstar:grgit:2.1.0' + classpath "org.ajoberstar:grgit:$grgitVersion" } } allprojects { diff --git a/colorpicker/build.gradle b/colorpicker/build.gradle index 163a5f6a..eca11e74 100644 --- a/colorpicker/build.gradle +++ b/colorpicker/build.gradle @@ -25,10 +25,12 @@ ext { } android { - compileSdkVersion 28 + compileSdkVersion rootProject.compileSdkVersion + buildToolsVersion rootProject.buildToolsVersion + defaultConfig { - minSdkVersion 15 - targetSdkVersion 28 + minSdkVersion rootProject.minSdkVersion + targetSdkVersion rootProject.targetSdkVersion versionCode 20402 versionName '2.4.2' }