diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 64043843f..c260c30f5 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -1,31 +1,50 @@
name: Build & Test
-
-on:
- push:
- branches:
- - dev
- pull_request:
- branches:
- - dev
-
+on: [push, pull_request]
jobs:
build:
- runs-on: macOS-latest
+ runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
+ - name: Check out source code
+ uses: actions/checkout@v1
+
- name: Install Java Development Kit 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
+
- name: Build APK & Run small tests
run: android/build.sh build
+
+ - name: Upload APK
+ uses: actions/upload-artifact@v2
+ with:
+ name: debug-apk
+ path: android/build/*apk
+
+ - name: Upload build folder
+ uses: actions/upload-artifact@v2
+ with:
+ name: build
+ path: android/uhabits-android/build/
+
+ test:
+ needs: build
+ runs-on: macOS-latest
+ strategy:
+ matrix:
+ api-level: [23, 24, 25, 26, 27, 28, 29]
+ steps:
+ - name: Check out source code
+ uses: actions/checkout@v1
+
+ - name: Download previous build folder
+ uses: actions/download-artifact@v2
+ with:
+ name: build
+ path: android/uhabits-android/build/
+
- name: Run medium tests
- uses: ReactiveCircus/android-emulator-runner@v2.2.0
+ uses: ReactiveCircus/android-emulator-runner@v2
with:
- api-level: 29
+ api-level: ${{ matrix.api-level }}
script: android/build.sh medium-tests
- - name: Upload artifacts
- uses: actions/upload-artifact@v1
- with:
- name: Build
- path: android/uhabits-android/build/outputs/
diff --git a/README.md b/README.md
index 72836df95..f8a426630 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,10 @@
+
+
+
+
+
+
+
# Loop Habit Tracker
Loop is a mobile app that helps you create and maintain good habits,
diff --git a/android/build.sh b/android/build.sh
index b8f288cfa..c95b25e25 100755
--- a/android/build.sh
+++ b/android/build.sh
@@ -232,7 +232,10 @@ case "$1" in
medium-tests)
shift; parse_opts $*
- run_tests medium
+ for attempt in {1..3}; do
+ (run_tests medium) && exit 0
+ done
+ exit 1
;;
large-tests)
@@ -253,7 +256,7 @@ case "$1" in
build_apk
install_apk
;;
-
+
clean)
remove_build_dir
;;
diff --git a/android/gradle.properties b/android/gradle.properties
index b872d9d12..163b6096f 100644
--- a/android/gradle.properties
+++ b/android/gradle.properties
@@ -1,7 +1,7 @@
VERSION_CODE = 20000
VERSION_NAME = 2.0.0
-MIN_SDK_VERSION = 21
+MIN_SDK_VERSION = 23
TARGET_SDK_VERSION = 29
COMPILE_SDK_VERSION = 29
diff --git a/android/uhabits-android/build.gradle b/android/uhabits-android/build.gradle
index 6d1d802de..8cc8882cf 100644
--- a/android/uhabits-android/build.gradle
+++ b/android/uhabits-android/build.gradle
@@ -53,6 +53,7 @@ android {
}
compileOptions {
+ coreLibraryDesugaringEnabled true
targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_1_8
}
@@ -102,6 +103,8 @@ dependencies {
implementation "io.ktor:ktor-client-jackson:$KTOR_VERSION"
implementation "com.google.guava:guava:30.0-android"
+ coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.1'
+
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
compileOnly "javax.annotation:jsr250-api:1.0"
compileOnly "com.google.auto.factory:auto-factory:$AUTO_FACTORY_VERSION"
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/render.png b/android/uhabits-android/src/androidTest/assets/views/common/BarChart/render.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/render.png
rename to android/uhabits-android/src/androidTest/assets/views/common/BarChart/render.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/renderDataOffset.png b/android/uhabits-android/src/androidTest/assets/views/common/BarChart/renderDataOffset.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/renderDataOffset.png
rename to android/uhabits-android/src/androidTest/assets/views/common/BarChart/renderDataOffset.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/renderDifferentSize.png b/android/uhabits-android/src/androidTest/assets/views/common/BarChart/renderDifferentSize.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/renderDifferentSize.png
rename to android/uhabits-android/src/androidTest/assets/views/common/BarChart/renderDifferentSize.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/renderTransparent.png b/android/uhabits-android/src/androidTest/assets/views/common/BarChart/renderTransparent.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/renderTransparent.png
rename to android/uhabits-android/src/androidTest/assets/views/common/BarChart/renderTransparent.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/common/FrequencyChart/render.png b/android/uhabits-android/src/androidTest/assets/views/common/FrequencyChart/render.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/common/FrequencyChart/render.png
rename to android/uhabits-android/src/androidTest/assets/views/common/FrequencyChart/render.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/common/FrequencyChart/renderDataOffset.png b/android/uhabits-android/src/androidTest/assets/views/common/FrequencyChart/renderDataOffset.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/common/FrequencyChart/renderDataOffset.png
rename to android/uhabits-android/src/androidTest/assets/views/common/FrequencyChart/renderDataOffset.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/common/FrequencyChart/renderDifferentSize.png b/android/uhabits-android/src/androidTest/assets/views/common/FrequencyChart/renderDifferentSize.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/common/FrequencyChart/renderDifferentSize.png
rename to android/uhabits-android/src/androidTest/assets/views/common/FrequencyChart/renderDifferentSize.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/common/FrequencyChart/renderTransparent.png b/android/uhabits-android/src/androidTest/assets/views/common/FrequencyChart/renderTransparent.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/common/FrequencyChart/renderTransparent.png
rename to android/uhabits-android/src/androidTest/assets/views/common/FrequencyChart/renderTransparent.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/common/HistoryChart/render.png b/android/uhabits-android/src/androidTest/assets/views/common/HistoryChart/render.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/common/HistoryChart/render.png
rename to android/uhabits-android/src/androidTest/assets/views/common/HistoryChart/render.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/common/HistoryChart/renderDataOffset.png b/android/uhabits-android/src/androidTest/assets/views/common/HistoryChart/renderDataOffset.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/common/HistoryChart/renderDataOffset.png
rename to android/uhabits-android/src/androidTest/assets/views/common/HistoryChart/renderDataOffset.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/common/HistoryChart/renderDifferentSize.png b/android/uhabits-android/src/androidTest/assets/views/common/HistoryChart/renderDifferentSize.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/common/HistoryChart/renderDifferentSize.png
rename to android/uhabits-android/src/androidTest/assets/views/common/HistoryChart/renderDifferentSize.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/common/HistoryChart/renderTransparent.png b/android/uhabits-android/src/androidTest/assets/views/common/HistoryChart/renderTransparent.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/common/HistoryChart/renderTransparent.png
rename to android/uhabits-android/src/androidTest/assets/views/common/HistoryChart/renderTransparent.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/common/RingView/render.png b/android/uhabits-android/src/androidTest/assets/views/common/RingView/render.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/common/RingView/render.png
rename to android/uhabits-android/src/androidTest/assets/views/common/RingView/render.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/common/RingView/renderDifferentParams.png b/android/uhabits-android/src/androidTest/assets/views/common/RingView/renderDifferentParams.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/common/RingView/renderDifferentParams.png
rename to android/uhabits-android/src/androidTest/assets/views/common/RingView/renderDifferentParams.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/render.png b/android/uhabits-android/src/androidTest/assets/views/common/ScoreChart/render.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/render.png
rename to android/uhabits-android/src/androidTest/assets/views/common/ScoreChart/render.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderDataOffset.png b/android/uhabits-android/src/androidTest/assets/views/common/ScoreChart/renderDataOffset.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderDataOffset.png
rename to android/uhabits-android/src/androidTest/assets/views/common/ScoreChart/renderDataOffset.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderDifferentSize.png b/android/uhabits-android/src/androidTest/assets/views/common/ScoreChart/renderDifferentSize.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderDifferentSize.png
rename to android/uhabits-android/src/androidTest/assets/views/common/ScoreChart/renderDifferentSize.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderMonthly.png b/android/uhabits-android/src/androidTest/assets/views/common/ScoreChart/renderMonthly.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderMonthly.png
rename to android/uhabits-android/src/androidTest/assets/views/common/ScoreChart/renderMonthly.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderTransparent.png b/android/uhabits-android/src/androidTest/assets/views/common/ScoreChart/renderTransparent.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderTransparent.png
rename to android/uhabits-android/src/androidTest/assets/views/common/ScoreChart/renderTransparent.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderYearly.png b/android/uhabits-android/src/androidTest/assets/views/common/ScoreChart/renderYearly.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderYearly.png
rename to android/uhabits-android/src/androidTest/assets/views/common/ScoreChart/renderYearly.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/common/StreakChart/render.png b/android/uhabits-android/src/androidTest/assets/views/common/StreakChart/render.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/common/StreakChart/render.png
rename to android/uhabits-android/src/androidTest/assets/views/common/StreakChart/render.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/common/StreakChart/renderSmallSize.png b/android/uhabits-android/src/androidTest/assets/views/common/StreakChart/renderSmallSize.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/common/StreakChart/renderSmallSize.png
rename to android/uhabits-android/src/androidTest/assets/views/common/StreakChart/renderSmallSize.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/common/StreakChart/renderTransparent.png b/android/uhabits-android/src/androidTest/assets/views/common/StreakChart/renderTransparent.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/common/StreakChart/renderTransparent.png
rename to android/uhabits-android/src/androidTest/assets/views/common/StreakChart/renderTransparent.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkButtonView/render_explicit_check.png b/android/uhabits-android/src/androidTest/assets/views/habits/list/CheckmarkButtonView/render_explicit_check.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkButtonView/render_explicit_check.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/list/CheckmarkButtonView/render_explicit_check.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkButtonView/render_implicit_check.png b/android/uhabits-android/src/androidTest/assets/views/habits/list/CheckmarkButtonView/render_implicit_check.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkButtonView/render_implicit_check.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/list/CheckmarkButtonView/render_implicit_check.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkButtonView/render_unchecked.png b/android/uhabits-android/src/androidTest/assets/views/habits/list/CheckmarkButtonView/render_unchecked.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkButtonView/render_unchecked.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/list/CheckmarkButtonView/render_unchecked.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkPanelView/render.png b/android/uhabits-android/src/androidTest/assets/views/habits/list/CheckmarkPanelView/render.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkPanelView/render.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/list/CheckmarkPanelView/render.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkPanelView/render_offset.png b/android/uhabits-android/src/androidTest/assets/views/habits/list/CheckmarkPanelView/render_offset.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkPanelView/render_offset.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/list/CheckmarkPanelView/render_offset.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HabitCardView/render.png b/android/uhabits-android/src/androidTest/assets/views/habits/list/HabitCardView/render.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HabitCardView/render.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/list/HabitCardView/render.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HabitCardView/render_changed.png b/android/uhabits-android/src/androidTest/assets/views/habits/list/HabitCardView/render_changed.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HabitCardView/render_changed.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/list/HabitCardView/render_changed.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HabitCardView/render_numerical.png b/android/uhabits-android/src/androidTest/assets/views/habits/list/HabitCardView/render_numerical.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HabitCardView/render_numerical.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/list/HabitCardView/render_numerical.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HabitCardView/render_selected.png b/android/uhabits-android/src/androidTest/assets/views/habits/list/HabitCardView/render_selected.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HabitCardView/render_selected.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/list/HabitCardView/render_selected.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HeaderView/render.png b/android/uhabits-android/src/androidTest/assets/views/habits/list/HeaderView/render.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HeaderView/render.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/list/HeaderView/render.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HeaderView/render_reverse.png b/android/uhabits-android/src/androidTest/assets/views/habits/list/HeaderView/render_reverse.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HeaderView/render_reverse.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/list/HeaderView/render_reverse.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HintView/render.png b/android/uhabits-android/src/androidTest/assets/views/habits/list/HintView/render.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HintView/render.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/list/HintView/render.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberButtonView/render_above.png b/android/uhabits-android/src/androidTest/assets/views/habits/list/NumberButtonView/render_above.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberButtonView/render_above.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/list/NumberButtonView/render_above.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberButtonView/render_below.png b/android/uhabits-android/src/androidTest/assets/views/habits/list/NumberButtonView/render_below.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberButtonView/render_below.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/list/NumberButtonView/render_below.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberButtonView/render_zero.png b/android/uhabits-android/src/androidTest/assets/views/habits/list/NumberButtonView/render_zero.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberButtonView/render_zero.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/list/NumberButtonView/render_zero.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberPanelView/render.png b/android/uhabits-android/src/androidTest/assets/views/habits/list/NumberPanelView/render.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberPanelView/render.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/list/NumberPanelView/render.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberPanelView/render_different_color.png b/android/uhabits-android/src/androidTest/assets/views/habits/list/NumberPanelView/render_different_color.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberPanelView/render_different_color.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/list/NumberPanelView/render_different_color.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberPanelView/render_offset.png b/android/uhabits-android/src/androidTest/assets/views/habits/list/NumberPanelView/render_offset.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberPanelView/render_offset.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/list/NumberPanelView/render_offset.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberPanelView/render_reversed.png b/android/uhabits-android/src/androidTest/assets/views/habits/list/NumberPanelView/render_reversed.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberPanelView/render_reversed.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/list/NumberPanelView/render_reversed.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/show/FrequencyCard/render.png b/android/uhabits-android/src/androidTest/assets/views/habits/show/FrequencyCard/render.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/show/FrequencyCard/render.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/show/FrequencyCard/render.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/show/HistoryCard/render.png b/android/uhabits-android/src/androidTest/assets/views/habits/show/HistoryCard/render.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/show/HistoryCard/render.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/show/HistoryCard/render.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/show/NotesCard/render-empty-description.png b/android/uhabits-android/src/androidTest/assets/views/habits/show/NotesCard/render-empty-description.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/show/NotesCard/render-empty-description.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/show/NotesCard/render-empty-description.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/show/NotesCard/render.png b/android/uhabits-android/src/androidTest/assets/views/habits/show/NotesCard/render.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/show/NotesCard/render.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/show/NotesCard/render.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/show/OverviewCard/render.png b/android/uhabits-android/src/androidTest/assets/views/habits/show/OverviewCard/render.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/show/OverviewCard/render.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/show/OverviewCard/render.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/show/ScoreCard/render.png b/android/uhabits-android/src/androidTest/assets/views/habits/show/ScoreCard/render.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/show/ScoreCard/render.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/show/ScoreCard/render.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/show/StreakCard/render.png b/android/uhabits-android/src/androidTest/assets/views/habits/show/StreakCard/render.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/show/StreakCard/render.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/show/StreakCard/render.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/habits/show/SubtitleCard/render.png b/android/uhabits-android/src/androidTest/assets/views/habits/show/SubtitleCard/render.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/habits/show/SubtitleCard/render.png
rename to android/uhabits-android/src/androidTest/assets/views/habits/show/SubtitleCard/render.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidget/render.png b/android/uhabits-android/src/androidTest/assets/views/widgets/CheckmarkWidget/render.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidget/render.png
rename to android/uhabits-android/src/androidTest/assets/views/widgets/CheckmarkWidget/render.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidgetView/checked.png b/android/uhabits-android/src/androidTest/assets/views/widgets/CheckmarkWidgetView/checked.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidgetView/checked.png
rename to android/uhabits-android/src/androidTest/assets/views/widgets/CheckmarkWidgetView/checked.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidgetView/implicitly_checked.png b/android/uhabits-android/src/androidTest/assets/views/widgets/CheckmarkWidgetView/implicitly_checked.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidgetView/implicitly_checked.png
rename to android/uhabits-android/src/androidTest/assets/views/widgets/CheckmarkWidgetView/implicitly_checked.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidgetView/large_size.png b/android/uhabits-android/src/androidTest/assets/views/widgets/CheckmarkWidgetView/large_size.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidgetView/large_size.png
rename to android/uhabits-android/src/androidTest/assets/views/widgets/CheckmarkWidgetView/large_size.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidgetView/unchecked.png b/android/uhabits-android/src/androidTest/assets/views/widgets/CheckmarkWidgetView/unchecked.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidgetView/unchecked.png
rename to android/uhabits-android/src/androidTest/assets/views/widgets/CheckmarkWidgetView/unchecked.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/widgets/FrequencyWidget/render.png b/android/uhabits-android/src/androidTest/assets/views/widgets/FrequencyWidget/render.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/widgets/FrequencyWidget/render.png
rename to android/uhabits-android/src/androidTest/assets/views/widgets/FrequencyWidget/render.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/widgets/HistoryWidget/render.png b/android/uhabits-android/src/androidTest/assets/views/widgets/HistoryWidget/render.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/widgets/HistoryWidget/render.png
rename to android/uhabits-android/src/androidTest/assets/views/widgets/HistoryWidget/render.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/widgets/ScoreWidget/render.png b/android/uhabits-android/src/androidTest/assets/views/widgets/ScoreWidget/render.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/widgets/ScoreWidget/render.png
rename to android/uhabits-android/src/androidTest/assets/views/widgets/ScoreWidget/render.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/widgets/StreakWidget/render.png b/android/uhabits-android/src/androidTest/assets/views/widgets/StreakWidget/render.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/widgets/StreakWidget/render.png
rename to android/uhabits-android/src/androidTest/assets/views/widgets/StreakWidget/render.png
diff --git a/android/uhabits-android/src/androidTest/assets/views-v26/widgets/TargetWidget/render.png b/android/uhabits-android/src/androidTest/assets/views/widgets/TargetWidget/render.png
similarity index 100%
rename from android/uhabits-android/src/androidTest/assets/views-v26/widgets/TargetWidget/render.png
rename to android/uhabits-android/src/androidTest/assets/views/widgets/TargetWidget/render.png
diff --git a/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseAndroidTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseAndroidTest.java
index c778789b6..81b49dea7 100644
--- a/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseAndroidTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseAndroidTest.java
@@ -230,9 +230,9 @@ public class BaseAndroidTest extends TestCase
int minute) throws Exception
{
GregorianCalendar cal = new GregorianCalendar();
- cal.setTimeZone(TimeZone.getTimeZone(tz));
cal.set(Calendar.SECOND, 0);
cal.set(year, javaMonth, day, hourOfDay, minute);
+ cal.setTimeZone(TimeZone.getTimeZone(tz));
setSystemTime(cal);
}
@@ -249,6 +249,22 @@ public class BaseAndroidTest extends TestCase
device.executeShellCommand(command);
// Set time
+ String date = String.format("%02d%02d%02d%02d%02d.%02d",
+ cal.get(Calendar.MONTH) + 1,
+ cal.get(Calendar.DAY_OF_MONTH),
+ cal.get(Calendar.HOUR_OF_DAY),
+ cal.get(Calendar.MINUTE),
+ cal.get(Calendar.YEAR),
+ cal.get(Calendar.SECOND));
+
+ // Set time (method 1)
+ // Run twice to override daylight saving time
+ device.executeShellCommand("date " + date);
+ device.executeShellCommand("date " + date);
+
+ // Set time (method 2)
+ // Run in addition to the method above because one of these mail fail, depending
+ // on the Android API version.
command = String.format("date -u @%d", cal.getTimeInMillis() / 1000);
device.executeShellCommand(command);
diff --git a/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseViewTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseViewTest.java
index d871da334..9156df2c7 100644
--- a/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseViewTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseViewTest.java
@@ -33,8 +33,6 @@ import org.isoron.uhabits.widgets.*;
import java.io.*;
import java.util.*;
-import static android.os.Build.VERSION.*;
-import static android.os.Build.VERSION_CODES.*;
import static android.view.View.MeasureSpec.*;
public class BaseViewTest extends BaseAndroidTest
@@ -51,7 +49,7 @@ public class BaseViewTest extends BaseAndroidTest
throws IOException
{
InstrumentationRegistry.getInstrumentation().waitForIdleSync();
- expectedImagePath = getVersionedPath(expectedImagePath);
+ expectedImagePath = "views/" + expectedImagePath;
Bitmap actual = renderView(view);
if(actual == null) throw new IllegalStateException("actual is null");
@@ -158,16 +156,6 @@ public class BaseViewTest extends BaseAndroidTest
return BitmapFactory.decodeStream(stream);
}
- private String getVersionedPath(String path)
- {
- int version = SDK_INT;
- if (version >= 26) version = 26;
- else if (version >= LOLLIPOP) version = LOLLIPOP;
- else if (version >= KITKAT) version = KITKAT;
-
- return String.format("views-v%d/%s", version, path);
- }
-
private String saveBitmap(String filename, String suffix, Bitmap bitmap)
throws IOException
{
diff --git a/docs/TEST.md b/docs/TEST.md
index 8b42497f2..32a28b48a 100644
--- a/docs/TEST.md
+++ b/docs/TEST.md
@@ -42,11 +42,11 @@ Furthermore:
Only the following Android versions are supported by our test suite:
-* Android 5.0 (Lollipop)
-* Android 6.0 (Marshmallow)
-* Android 7.1.1 (Nougat)
-* Android 8.1 (Oreo)
-* Android 9.0 (Pie)
-* Android 10.0
+* Android 7.0 (API 24)
+* Android 7.1.1 (API 25)
+* Android 8.0 (API 26)
+* Android 8.1 (API 27)
+* Android 9.0 (API 28)
+* Android 10.0 (API 30)
After creating an emulator and configuring it exactly as described above, launch it, wait for it to finish booting up, then run `./build.sh large-tests`. As mentioned before, this script will uninstall the app before testing it, and therefore will delete all the user data.