diff --git a/android/android-base/src/main/java/org/isoron/androidbase/AndroidBugReporter.kt b/android/android-base/src/main/java/org/isoron/androidbase/AndroidBugReporter.kt index ea013ceef..00efcbc7e 100644 --- a/android/android-base/src/main/java/org/isoron/androidbase/AndroidBugReporter.kt +++ b/android/android-base/src/main/java/org/isoron/androidbase/AndroidBugReporter.kt @@ -95,7 +95,7 @@ open class AndroidBugReporter @Inject constructor(@AppContext private val contex appendln("App Version Name: ${BuildConfig.VERSION_NAME}") appendln("App Version Code: ${BuildConfig.VERSION_CODE}") appendln("OS Version: ${System.getProperty("os.version")} (${Build.VERSION.INCREMENTAL})") - appendln("OS API Level: ${Build.VERSION.SDK}") + appendln("OS API Level: ${Build.VERSION.SDK_INT}") appendln("Device: ${Build.DEVICE}") appendln("Model (Product): ${Build.MODEL} (${Build.PRODUCT})") appendln("Manufacturer: ${Build.MANUFACTURER}") diff --git a/android/android-base/src/main/java/org/isoron/androidbase/AppContext.kt b/android/android-base/src/main/java/org/isoron/androidbase/AppContext.kt index 3146da5e2..55e22e9b3 100644 --- a/android/android-base/src/main/java/org/isoron/androidbase/AppContext.kt +++ b/android/android-base/src/main/java/org/isoron/androidbase/AppContext.kt @@ -18,12 +18,9 @@ */ package org.isoron.androidbase -import java.lang.annotation.Documented -import java.lang.annotation.Retention -import java.lang.annotation.RetentionPolicy import javax.inject.Qualifier @Qualifier -@Documented -@Retention(RetentionPolicy.RUNTIME) +@MustBeDocumented +@Retention(AnnotationRetention.RUNTIME) annotation class AppContext \ No newline at end of file diff --git a/android/android-pickers/src/main/java/com/android/colorpicker/ColorStateDrawable.java b/android/android-pickers/src/main/java/com/android/colorpicker/ColorStateDrawable.java index 496f46cd5..d8c4f6849 100644 --- a/android/android-pickers/src/main/java/com/android/colorpicker/ColorStateDrawable.java +++ b/android/android-pickers/src/main/java/com/android/colorpicker/ColorStateDrawable.java @@ -18,6 +18,7 @@ package com.android.colorpicker; import android.graphics.Color; import android.graphics.PorterDuff; +import android.graphics.PorterDuffColorFilter; import android.graphics.drawable.Drawable; import android.graphics.drawable.LayerDrawable; @@ -47,9 +48,9 @@ public class ColorStateDrawable extends LayerDrawable { } if (pressedOrFocused) { - super.setColorFilter(getPressedColor(mColor), PorterDuff.Mode.SRC_ATOP); + super.setColorFilter(new PorterDuffColorFilter(getPressedColor(mColor), PorterDuff.Mode.SRC_ATOP)); } else { - super.setColorFilter(mColor, PorterDuff.Mode.SRC_ATOP); + super.setColorFilter(new PorterDuffColorFilter(mColor, PorterDuff.Mode.SRC_ATOP)); } return super.onStateChange(states); diff --git a/android/android-pickers/src/main/java/com/android/datetimepicker/date/DatePickerDialog.java b/android/android-pickers/src/main/java/com/android/datetimepicker/date/DatePickerDialog.java index dd4e06942..a6a4936ce 100644 --- a/android/android-pickers/src/main/java/com/android/datetimepicker/date/DatePickerDialog.java +++ b/android/android-pickers/src/main/java/com/android/datetimepicker/date/DatePickerDialog.java @@ -27,6 +27,8 @@ import android.view.View.*; import android.view.animation.*; import android.widget.*; +import androidx.fragment.app.DialogFragment; + import com.android.*; import com.android.datetimepicker.*; import com.android.datetimepicker.date.MonthAdapter.*; diff --git a/android/android-pickers/src/main/java/com/android/datetimepicker/date/DayPickerView.java b/android/android-pickers/src/main/java/com/android/datetimepicker/date/DayPickerView.java index 8d39e6f99..c83bea7e0 100644 --- a/android/android-pickers/src/main/java/com/android/datetimepicker/date/DayPickerView.java +++ b/android/android-pickers/src/main/java/com/android/datetimepicker/date/DayPickerView.java @@ -455,8 +455,8 @@ public abstract class DayPickerView extends ListView implements OnScrollListener @Override public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) { super.onInitializeAccessibilityNodeInfo(info); - info.addAction(AccessibilityNodeInfo.ACTION_SCROLL_FORWARD); - info.addAction(AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD); + info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_FORWARD); + info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_BACKWARD); } /** diff --git a/android/android-pickers/src/main/java/com/android/datetimepicker/date/MonthView.java b/android/android-pickers/src/main/java/com/android/datetimepicker/date/MonthView.java index 79cda6b80..8c2fbb68c 100644 --- a/android/android-pickers/src/main/java/com/android/datetimepicker/date/MonthView.java +++ b/android/android-pickers/src/main/java/com/android/datetimepicker/date/MonthView.java @@ -522,7 +522,7 @@ public abstract class MonthView extends View { * has focus */ public CalendarDay getAccessibilityFocus() { - final int day = mTouchHelper.getFocusedVirtualView(); + final int day = mTouchHelper.getAccessibilityFocusedVirtualViewId(); if (day >= 0) { return new CalendarDay(mYear, mMonth, day); } @@ -572,7 +572,7 @@ public abstract class MonthView extends View { } public void clearFocusedVirtualView() { - final int focusedVirtualView = getFocusedVirtualView(); + final int focusedVirtualView = getAccessibilityFocusedVirtualViewId(); if (focusedVirtualView != ExploreByTouchHelper.INVALID_ID) { getAccessibilityNodeProvider(MonthView.this).performAction( focusedVirtualView, diff --git a/android/android-pickers/src/main/java/com/android/datetimepicker/time/RadialPickerLayout.java b/android/android-pickers/src/main/java/com/android/datetimepicker/time/RadialPickerLayout.java index 307424a3e..35dca05e0 100644 --- a/android/android-pickers/src/main/java/com/android/datetimepicker/time/RadialPickerLayout.java +++ b/android/android-pickers/src/main/java/com/android/datetimepicker/time/RadialPickerLayout.java @@ -741,8 +741,8 @@ public class RadialPickerLayout extends FrameLayout implements OnTouchListener { @Override public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) { super.onInitializeAccessibilityNodeInfo(info); - info.addAction(AccessibilityNodeInfo.ACTION_SCROLL_FORWARD); - info.addAction(AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD); + info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_FORWARD); + info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_BACKWARD); } /** diff --git a/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseUserInterfaceTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseUserInterfaceTest.java index 6b5a1931c..7b16745b4 100644 --- a/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseUserInterfaceTest.java +++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseUserInterfaceTest.java @@ -31,8 +31,7 @@ import org.isoron.uhabits.core.ui.screens.habits.list.*; import org.isoron.uhabits.core.utils.*; import org.junit.*; -import static androidx.test.InstrumentationRegistry.getContext; -import static androidx.test.InstrumentationRegistry.getTargetContext; +import static androidx.test.core.app.ApplicationProvider.getApplicationContext; import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation; import static androidx.test.uiautomator.UiDevice.*; @@ -59,18 +58,18 @@ public class BaseUserInterfaceTest intent.setComponent(new ComponentName(PKG, cls.getCanonicalName())); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - getContext().startActivity(intent); + getApplicationContext().startActivity(intent); } @Before public void setUp() throws Exception { device = getInstance(getInstrumentation()); - TestButler.setup(getTargetContext()); - TestButler.verifyAnimationsDisabled(getTargetContext()); + TestButler.setup(getApplicationContext()); + TestButler.verifyAnimationsDisabled(getApplicationContext()); HabitsApplication app = - (HabitsApplication) getTargetContext().getApplicationContext(); + (HabitsApplication) getApplicationContext().getApplicationContext(); component = app.getComponent(); habitList = component.getHabitList(); prefs = component.getPreferences(); @@ -83,7 +82,7 @@ public class BaseUserInterfaceTest public void tearDown() throws Exception { for (int i = 0; i < 10; i++) device.pressBack(); - TestButler.teardown(getTargetContext()); + TestButler.teardown(getApplicationContext()); } private void resetState() throws Exception diff --git a/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/steps/CommonSteps.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/steps/CommonSteps.java index 28e09a1b3..948eb04bc 100644 --- a/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/steps/CommonSteps.java +++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/steps/CommonSteps.java @@ -39,7 +39,7 @@ import static androidx.test.espresso.action.ViewActions.*; import static androidx.test.espresso.assertion.PositionAssertions.*; import static androidx.test.espresso.assertion.ViewAssertions.*; import static androidx.test.espresso.matcher.ViewMatchers.*; -import static junit.framework.Assert.*; +import static org.junit.Assert.*; import static org.hamcrest.CoreMatchers.*; public class CommonSteps extends BaseUserInterfaceTest @@ -125,7 +125,7 @@ public class CommonSteps extends BaseUserInterfaceTest verifyDisplaysText(text[0]); for(int i = 1; i < text.length; i++) { verifyDisplaysText(text[i]); - onView(withText(text[i])).check(isBelow(withText(text[i-1]))); + onView(withText(text[i])).check(isCompletelyBelow(withText(text[i-1]))); } } diff --git a/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/steps/WidgetSteps.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/steps/WidgetSteps.java index 3cb5a201c..c713ad385 100644 --- a/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/steps/WidgetSteps.java +++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/steps/WidgetSteps.java @@ -22,7 +22,7 @@ package org.isoron.uhabits.acceptance.steps; import androidx.test.uiautomator.*; import static android.os.Build.VERSION.SDK_INT; -import static junit.framework.Assert.*; +import static org.junit.Assert.*; import static org.isoron.uhabits.BaseUserInterfaceTest.*; public class WidgetSteps { diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BundleSavedState.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BundleSavedState.java index 39fe209fe..68d85c5fd 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BundleSavedState.java +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BundleSavedState.java @@ -20,14 +20,12 @@ package org.isoron.uhabits.activities.common.views; import android.os.*; -import androidx.core.os.*; import androidx.customview.view.AbsSavedState; public class BundleSavedState extends AbsSavedState { public static final Parcelable.Creator CREATOR = - ParcelableCompat.newCreator( - new ParcelableCompatCreatorCallbacks() + new ClassLoaderCreator() { @Override public BundleSavedState createFromParcel(Parcel source, @@ -36,12 +34,18 @@ public class BundleSavedState extends AbsSavedState return new BundleSavedState(source, loader); } + @Override + public BundleSavedState createFromParcel(Parcel source) + { + return null; + } + @Override public BundleSavedState[] newArray(int size) { return new BundleSavedState[size]; } - }); + }; public final Bundle bundle; diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/HabitWidgetView.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/HabitWidgetView.java index f266a806f..93b8b3f06 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/HabitWidgetView.java +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/HabitWidgetView.java @@ -109,7 +109,7 @@ public abstract class HabitWidgetView extends FrameLayout backgroundPaint.setAlpha(backgroundAlpha); frame = (ViewGroup) findViewById(R.id.frame); - if (frame != null) frame.setBackgroundDrawable(background); + if (frame != null) frame.setBackground(background); } private void init() diff --git a/android/uhabits-core/src/test/java/org/isoron/uhabits/core/commands/ArchiveHabitsCommandTest.java b/android/uhabits-core/src/test/java/org/isoron/uhabits/core/commands/ArchiveHabitsCommandTest.java index e89871674..c64e5f642 100644 --- a/android/uhabits-core/src/test/java/org/isoron/uhabits/core/commands/ArchiveHabitsCommandTest.java +++ b/android/uhabits-core/src/test/java/org/isoron/uhabits/core/commands/ArchiveHabitsCommandTest.java @@ -25,8 +25,8 @@ import org.junit.*; import java.util.*; -import static junit.framework.Assert.*; -import static org.hamcrest.MatcherAssert.*; +import static org.junit.Assert.*; +import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; public class ArchiveHabitsCommandTest extends BaseUnitTest diff --git a/android/uhabits-core/src/test/java/org/isoron/uhabits/core/commands/CreateHabitCommandTest.java b/android/uhabits-core/src/test/java/org/isoron/uhabits/core/commands/CreateHabitCommandTest.java index 5534dcced..5d37b1bfa 100644 --- a/android/uhabits-core/src/test/java/org/isoron/uhabits/core/commands/CreateHabitCommandTest.java +++ b/android/uhabits-core/src/test/java/org/isoron/uhabits/core/commands/CreateHabitCommandTest.java @@ -23,7 +23,7 @@ import org.isoron.uhabits.core.*; import org.isoron.uhabits.core.models.*; import org.junit.*; -import static junit.framework.Assert.*; +import static org.junit.Assert.assertTrue; import static org.hamcrest.CoreMatchers.*; import static org.hamcrest.MatcherAssert.*; diff --git a/android/uhabits-core/src/test/java/org/isoron/uhabits/core/commands/CreateRepetitionCommandTest.java b/android/uhabits-core/src/test/java/org/isoron/uhabits/core/commands/CreateRepetitionCommandTest.java index 5d44ba1ec..7cc835781 100644 --- a/android/uhabits-core/src/test/java/org/isoron/uhabits/core/commands/CreateRepetitionCommandTest.java +++ b/android/uhabits-core/src/test/java/org/isoron/uhabits/core/commands/CreateRepetitionCommandTest.java @@ -24,7 +24,7 @@ import org.isoron.uhabits.core.models.*; import org.isoron.uhabits.core.utils.*; import org.junit.*; -import static junit.framework.Assert.*; +import static org.junit.Assert.*; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo; import static org.isoron.uhabits.core.models.Checkmark.CHECKED_EXPLICITLY; diff --git a/android/uhabits-core/src/test/java/org/isoron/uhabits/core/commands/ToggleRepetitionCommandTest.java b/android/uhabits-core/src/test/java/org/isoron/uhabits/core/commands/ToggleRepetitionCommandTest.java index 8c698a2d2..39ab001a1 100644 --- a/android/uhabits-core/src/test/java/org/isoron/uhabits/core/commands/ToggleRepetitionCommandTest.java +++ b/android/uhabits-core/src/test/java/org/isoron/uhabits/core/commands/ToggleRepetitionCommandTest.java @@ -24,7 +24,7 @@ import org.isoron.uhabits.core.models.*; import org.isoron.uhabits.core.utils.*; import org.junit.*; -import static junit.framework.Assert.*; +import static org.junit.Assert.*; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo; diff --git a/android/uhabits-core/src/test/java/org/isoron/uhabits/core/commands/UnarchiveHabitsCommandTest.java b/android/uhabits-core/src/test/java/org/isoron/uhabits/core/commands/UnarchiveHabitsCommandTest.java index 55634db0e..01473a99d 100644 --- a/android/uhabits-core/src/test/java/org/isoron/uhabits/core/commands/UnarchiveHabitsCommandTest.java +++ b/android/uhabits-core/src/test/java/org/isoron/uhabits/core/commands/UnarchiveHabitsCommandTest.java @@ -25,7 +25,7 @@ import org.junit.*; import java.util.*; -import static junit.framework.Assert.*; +import static org.junit.Assert.*; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo; diff --git a/android/uhabits-core/src/test/java/org/isoron/uhabits/core/models/WeekdayListTest.java b/android/uhabits-core/src/test/java/org/isoron/uhabits/core/models/WeekdayListTest.java index 05c39cc18..146fc6766 100644 --- a/android/uhabits-core/src/test/java/org/isoron/uhabits/core/models/WeekdayListTest.java +++ b/android/uhabits-core/src/test/java/org/isoron/uhabits/core/models/WeekdayListTest.java @@ -22,8 +22,8 @@ package org.isoron.uhabits.core.models; import org.isoron.uhabits.core.*; import org.junit.*; -import static junit.framework.Assert.*; -import static org.hamcrest.MatcherAssert.*; +import static org.junit.Assert.*; +import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.core.IsEqual.*; public class WeekdayListTest extends BaseUnitTest diff --git a/android/uhabits-core/src/test/java/org/isoron/uhabits/core/ui/screens/habits/list/HabitCardListCacheTest.java b/android/uhabits-core/src/test/java/org/isoron/uhabits/core/ui/screens/habits/list/HabitCardListCacheTest.java index 29fc565c8..2de31887b 100644 --- a/android/uhabits-core/src/test/java/org/isoron/uhabits/core/ui/screens/habits/list/HabitCardListCacheTest.java +++ b/android/uhabits-core/src/test/java/org/isoron/uhabits/core/ui/screens/habits/list/HabitCardListCacheTest.java @@ -19,7 +19,7 @@ package org.isoron.uhabits.core.ui.screens.habits.list; -import junit.framework.Assert; +import org.junit.Assert; import org.isoron.uhabits.core.*; import org.isoron.uhabits.core.commands.*; @@ -100,7 +100,7 @@ public class HabitCardListCacheTest extends BaseUnitTest assertThat(cache.getHabitCount(), equalTo(10)); Habit h = habitList.getByPosition(3); - junit.framework.Assert.assertNotNull(h.getId()); + Assert.assertNotNull(h.getId()); double score = h.getScores().getTodayValue(); assertThat(cache.getHabitByPosition(3), equalTo(h));