diff --git a/.gitignore b/.gitignore
index 9ad9f8ab3..a8c758cef 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,27 +1,16 @@
-*.ap_
-*.apk
-*.class
-*.dex
*.iml
-*.local
-*.local.*
+*.pbxuser
+*.perspective
+*.perspectivev3
*.swp
-*.trace
-*~
+*~.nib
.DS_Store
-.classpath
+.externalNativeBuild
.gradle
.idea
-.project
-Thumbs.db
-art/
-bin/
+build
build/
-captures/
-docs/
-gen/
+captures
local.properties
-crowdin.yaml
-local
-tmp/
-secret/
+node_modules
+*xcuserdata*
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5c7278a60..08782a1ad 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,14 @@
# Changelog
+### 1.7.11 (Aug 10, 2019)
+
+* Fix bug that produced corrupted CSV files in some countries
+
+### 1.7.10 (June 15, 2019)
+
+* Fix bug that prevented some devices from showing notifications.
+* Update targetSdk to Android Pie (API level 28)
+
### 1.7.8 (April 21, 2018)
* Add support for adaptive icons (Oreo)
diff --git a/README.md b/README.md
index 6bf18e251..abc463653 100644
--- a/README.md
+++ b/README.md
@@ -1,16 +1,6 @@
# Loop Habit Tracker
-
-
-
-
-
-
-
-
-
-
-Loop is a simple Android app that helps you create and maintain good habits,
+Loop is a mobile app that helps you create and maintain good habits,
allowing you to achieve your long-term goals. Detailed graphs and statistics
show you how your habits improved over time. It is completely ad-free and open
source.
@@ -95,7 +85,7 @@ contribute, even if you are not a software developer.
- Copyright (C) 2016 Álinson Santos Xavier
+ Copyright (C) 2016-2019 Álinson Santos Xavier
Loop Habit Tracker is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by the
diff --git a/android/.gitignore b/android/.gitignore
new file mode 100644
index 000000000..9ad9f8ab3
--- /dev/null
+++ b/android/.gitignore
@@ -0,0 +1,27 @@
+*.ap_
+*.apk
+*.class
+*.dex
+*.iml
+*.local
+*.local.*
+*.swp
+*.trace
+*~
+.DS_Store
+.classpath
+.gradle
+.idea
+.project
+Thumbs.db
+art/
+bin/
+build/
+captures/
+docs/
+gen/
+local.properties
+crowdin.yaml
+local
+tmp/
+secret/
diff --git a/android-base/.gitignore b/android/android-base/.gitignore
similarity index 100%
rename from android-base/.gitignore
rename to android/android-base/.gitignore
diff --git a/android-base/build.gradle b/android/android-base/build.gradle
similarity index 95%
rename from android-base/build.gradle
rename to android/android-base/build.gradle
index a86283c2d..f1967eb3e 100644
--- a/android-base/build.gradle
+++ b/android/android-base/build.gradle
@@ -2,7 +2,6 @@ apply plugin: 'com.android.library'
android {
compileSdkVersion COMPILE_SDK_VERSION as Integer
- buildToolsVersion BUILD_TOOLS_VERSION
defaultConfig {
minSdkVersion MIN_SDK_VERSION as Integer
@@ -30,7 +29,6 @@ android {
abortOnError false
}
- buildToolsVersion '26.0.2'
}
dependencies {
diff --git a/android-base/proguard-rules.pro b/android/android-base/proguard-rules.pro
similarity index 100%
rename from android-base/proguard-rules.pro
rename to android/android-base/proguard-rules.pro
diff --git a/android-base/src/main/AndroidManifest.xml b/android/android-base/src/main/AndroidManifest.xml
similarity index 100%
rename from android-base/src/main/AndroidManifest.xml
rename to android/android-base/src/main/AndroidManifest.xml
diff --git a/android-base/src/main/java/org/isoron/androidbase/AndroidBugReporter.java b/android/android-base/src/main/java/org/isoron/androidbase/AndroidBugReporter.java
similarity index 100%
rename from android-base/src/main/java/org/isoron/androidbase/AndroidBugReporter.java
rename to android/android-base/src/main/java/org/isoron/androidbase/AndroidBugReporter.java
diff --git a/android-base/src/main/java/org/isoron/androidbase/AndroidDirFinder.java b/android/android-base/src/main/java/org/isoron/androidbase/AndroidDirFinder.java
similarity index 100%
rename from android-base/src/main/java/org/isoron/androidbase/AndroidDirFinder.java
rename to android/android-base/src/main/java/org/isoron/androidbase/AndroidDirFinder.java
diff --git a/android-base/src/main/java/org/isoron/androidbase/AppContext.java b/android/android-base/src/main/java/org/isoron/androidbase/AppContext.java
similarity index 100%
rename from android-base/src/main/java/org/isoron/androidbase/AppContext.java
rename to android/android-base/src/main/java/org/isoron/androidbase/AppContext.java
diff --git a/android-base/src/main/java/org/isoron/androidbase/AppContextModule.java b/android/android-base/src/main/java/org/isoron/androidbase/AppContextModule.java
similarity index 100%
rename from android-base/src/main/java/org/isoron/androidbase/AppContextModule.java
rename to android/android-base/src/main/java/org/isoron/androidbase/AppContextModule.java
diff --git a/android-base/src/main/java/org/isoron/androidbase/BaseExceptionHandler.java b/android/android-base/src/main/java/org/isoron/androidbase/BaseExceptionHandler.java
similarity index 100%
rename from android-base/src/main/java/org/isoron/androidbase/BaseExceptionHandler.java
rename to android/android-base/src/main/java/org/isoron/androidbase/BaseExceptionHandler.java
diff --git a/android-base/src/main/java/org/isoron/androidbase/SSLContextProvider.java b/android/android-base/src/main/java/org/isoron/androidbase/SSLContextProvider.java
similarity index 100%
rename from android-base/src/main/java/org/isoron/androidbase/SSLContextProvider.java
rename to android/android-base/src/main/java/org/isoron/androidbase/SSLContextProvider.java
diff --git a/android-base/src/main/java/org/isoron/androidbase/activities/ActivityContext.java b/android/android-base/src/main/java/org/isoron/androidbase/activities/ActivityContext.java
similarity index 100%
rename from android-base/src/main/java/org/isoron/androidbase/activities/ActivityContext.java
rename to android/android-base/src/main/java/org/isoron/androidbase/activities/ActivityContext.java
diff --git a/android-base/src/main/java/org/isoron/androidbase/activities/ActivityContextModule.java b/android/android-base/src/main/java/org/isoron/androidbase/activities/ActivityContextModule.java
similarity index 100%
rename from android-base/src/main/java/org/isoron/androidbase/activities/ActivityContextModule.java
rename to android/android-base/src/main/java/org/isoron/androidbase/activities/ActivityContextModule.java
diff --git a/android-base/src/main/java/org/isoron/androidbase/activities/ActivityScope.java b/android/android-base/src/main/java/org/isoron/androidbase/activities/ActivityScope.java
similarity index 100%
rename from android-base/src/main/java/org/isoron/androidbase/activities/ActivityScope.java
rename to android/android-base/src/main/java/org/isoron/androidbase/activities/ActivityScope.java
diff --git a/android-base/src/main/java/org/isoron/androidbase/activities/BaseActivity.java b/android/android-base/src/main/java/org/isoron/androidbase/activities/BaseActivity.java
similarity index 100%
rename from android-base/src/main/java/org/isoron/androidbase/activities/BaseActivity.java
rename to android/android-base/src/main/java/org/isoron/androidbase/activities/BaseActivity.java
diff --git a/android-base/src/main/java/org/isoron/androidbase/activities/BaseActivityModule.java b/android/android-base/src/main/java/org/isoron/androidbase/activities/BaseActivityModule.java
similarity index 100%
rename from android-base/src/main/java/org/isoron/androidbase/activities/BaseActivityModule.java
rename to android/android-base/src/main/java/org/isoron/androidbase/activities/BaseActivityModule.java
diff --git a/android-base/src/main/java/org/isoron/androidbase/activities/BaseMenu.java b/android/android-base/src/main/java/org/isoron/androidbase/activities/BaseMenu.java
similarity index 100%
rename from android-base/src/main/java/org/isoron/androidbase/activities/BaseMenu.java
rename to android/android-base/src/main/java/org/isoron/androidbase/activities/BaseMenu.java
diff --git a/android-base/src/main/java/org/isoron/androidbase/activities/BaseRootView.java b/android/android-base/src/main/java/org/isoron/androidbase/activities/BaseRootView.java
similarity index 100%
rename from android-base/src/main/java/org/isoron/androidbase/activities/BaseRootView.java
rename to android/android-base/src/main/java/org/isoron/androidbase/activities/BaseRootView.java
diff --git a/android-base/src/main/java/org/isoron/androidbase/activities/BaseScreen.java b/android/android-base/src/main/java/org/isoron/androidbase/activities/BaseScreen.java
similarity index 100%
rename from android-base/src/main/java/org/isoron/androidbase/activities/BaseScreen.java
rename to android/android-base/src/main/java/org/isoron/androidbase/activities/BaseScreen.java
diff --git a/android-base/src/main/java/org/isoron/androidbase/activities/BaseSelectionMenu.java b/android/android-base/src/main/java/org/isoron/androidbase/activities/BaseSelectionMenu.java
similarity index 100%
rename from android-base/src/main/java/org/isoron/androidbase/activities/BaseSelectionMenu.java
rename to android/android-base/src/main/java/org/isoron/androidbase/activities/BaseSelectionMenu.java
diff --git a/android-base/src/main/java/org/isoron/androidbase/utils/ColorUtils.java b/android/android-base/src/main/java/org/isoron/androidbase/utils/ColorUtils.java
similarity index 100%
rename from android-base/src/main/java/org/isoron/androidbase/utils/ColorUtils.java
rename to android/android-base/src/main/java/org/isoron/androidbase/utils/ColorUtils.java
diff --git a/android-base/src/main/java/org/isoron/androidbase/utils/FileUtils.java b/android/android-base/src/main/java/org/isoron/androidbase/utils/FileUtils.java
similarity index 100%
rename from android-base/src/main/java/org/isoron/androidbase/utils/FileUtils.java
rename to android/android-base/src/main/java/org/isoron/androidbase/utils/FileUtils.java
diff --git a/android-base/src/main/java/org/isoron/androidbase/utils/InterfaceUtils.java b/android/android-base/src/main/java/org/isoron/androidbase/utils/InterfaceUtils.java
similarity index 100%
rename from android-base/src/main/java/org/isoron/androidbase/utils/InterfaceUtils.java
rename to android/android-base/src/main/java/org/isoron/androidbase/utils/InterfaceUtils.java
diff --git a/android-base/src/main/java/org/isoron/androidbase/utils/StyledResources.java b/android/android-base/src/main/java/org/isoron/androidbase/utils/StyledResources.java
similarity index 100%
rename from android-base/src/main/java/org/isoron/androidbase/utils/StyledResources.java
rename to android/android-base/src/main/java/org/isoron/androidbase/utils/StyledResources.java
diff --git a/android-base/src/main/res/values/base.xml b/android/android-base/src/main/res/values/base.xml
similarity index 100%
rename from android-base/src/main/res/values/base.xml
rename to android/android-base/src/main/res/values/base.xml
diff --git a/android-base/src/main/res/values/material_colors.xml b/android/android-base/src/main/res/values/material_colors.xml
similarity index 100%
rename from android-base/src/main/res/values/material_colors.xml
rename to android/android-base/src/main/res/values/material_colors.xml
diff --git a/android-pickers/.gitignore b/android/android-pickers/.gitignore
similarity index 100%
rename from android-pickers/.gitignore
rename to android/android-pickers/.gitignore
diff --git a/android-pickers/build.gradle b/android/android-pickers/build.gradle
similarity index 92%
rename from android-pickers/build.gradle
rename to android/android-pickers/build.gradle
index 067d2a567..41b55a8d5 100644
--- a/android-pickers/build.gradle
+++ b/android/android-pickers/build.gradle
@@ -2,7 +2,6 @@ apply plugin: 'com.android.library'
android {
compileSdkVersion COMPILE_SDK_VERSION as Integer
- buildToolsVersion BUILD_TOOLS_VERSION
defaultConfig {
minSdkVersion MIN_SDK_VERSION as Integer
@@ -18,7 +17,6 @@ android {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
- buildToolsVersion '26.0.2'
compileOptions {
targetCompatibility JavaVersion.VERSION_1_8
diff --git a/android-pickers/proguard-rules.pro b/android/android-pickers/proguard-rules.pro
similarity index 100%
rename from android-pickers/proguard-rules.pro
rename to android/android-pickers/proguard-rules.pro
diff --git a/android-pickers/src/main/AndroidManifest.xml b/android/android-pickers/src/main/AndroidManifest.xml
similarity index 100%
rename from android-pickers/src/main/AndroidManifest.xml
rename to android/android-pickers/src/main/AndroidManifest.xml
diff --git a/android-pickers/src/main/java/com/android/colorpicker/ColorPickerDialog.java b/android/android-pickers/src/main/java/com/android/colorpicker/ColorPickerDialog.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/colorpicker/ColorPickerDialog.java
rename to android/android-pickers/src/main/java/com/android/colorpicker/ColorPickerDialog.java
diff --git a/android-pickers/src/main/java/com/android/colorpicker/ColorPickerPalette.java b/android/android-pickers/src/main/java/com/android/colorpicker/ColorPickerPalette.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/colorpicker/ColorPickerPalette.java
rename to android/android-pickers/src/main/java/com/android/colorpicker/ColorPickerPalette.java
diff --git a/android-pickers/src/main/java/com/android/colorpicker/ColorPickerSwatch.java b/android/android-pickers/src/main/java/com/android/colorpicker/ColorPickerSwatch.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/colorpicker/ColorPickerSwatch.java
rename to android/android-pickers/src/main/java/com/android/colorpicker/ColorPickerSwatch.java
diff --git a/android-pickers/src/main/java/com/android/colorpicker/ColorStateDrawable.java b/android/android-pickers/src/main/java/com/android/colorpicker/ColorStateDrawable.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/colorpicker/ColorStateDrawable.java
rename to android/android-pickers/src/main/java/com/android/colorpicker/ColorStateDrawable.java
diff --git a/android-pickers/src/main/java/com/android/colorpicker/HsvColorComparator.java b/android/android-pickers/src/main/java/com/android/colorpicker/HsvColorComparator.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/colorpicker/HsvColorComparator.java
rename to android/android-pickers/src/main/java/com/android/colorpicker/HsvColorComparator.java
diff --git a/android-pickers/src/main/java/com/android/datetimepicker/AccessibleLinearLayout.java b/android/android-pickers/src/main/java/com/android/datetimepicker/AccessibleLinearLayout.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/datetimepicker/AccessibleLinearLayout.java
rename to android/android-pickers/src/main/java/com/android/datetimepicker/AccessibleLinearLayout.java
diff --git a/android-pickers/src/main/java/com/android/datetimepicker/AccessibleTextView.java b/android/android-pickers/src/main/java/com/android/datetimepicker/AccessibleTextView.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/datetimepicker/AccessibleTextView.java
rename to android/android-pickers/src/main/java/com/android/datetimepicker/AccessibleTextView.java
diff --git a/android-pickers/src/main/java/com/android/datetimepicker/HapticFeedbackController.java b/android/android-pickers/src/main/java/com/android/datetimepicker/HapticFeedbackController.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/datetimepicker/HapticFeedbackController.java
rename to android/android-pickers/src/main/java/com/android/datetimepicker/HapticFeedbackController.java
diff --git a/android-pickers/src/main/java/com/android/datetimepicker/Utils.java b/android/android-pickers/src/main/java/com/android/datetimepicker/Utils.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/datetimepicker/Utils.java
rename to android/android-pickers/src/main/java/com/android/datetimepicker/Utils.java
diff --git a/android-pickers/src/main/java/com/android/datetimepicker/date/AccessibleDateAnimator.java b/android/android-pickers/src/main/java/com/android/datetimepicker/date/AccessibleDateAnimator.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/datetimepicker/date/AccessibleDateAnimator.java
rename to android/android-pickers/src/main/java/com/android/datetimepicker/date/AccessibleDateAnimator.java
diff --git a/android-pickers/src/main/java/com/android/datetimepicker/date/DatePickerController.java b/android/android-pickers/src/main/java/com/android/datetimepicker/date/DatePickerController.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/datetimepicker/date/DatePickerController.java
rename to android/android-pickers/src/main/java/com/android/datetimepicker/date/DatePickerController.java
diff --git a/android-pickers/src/main/java/com/android/datetimepicker/date/DatePickerDialog.java b/android/android-pickers/src/main/java/com/android/datetimepicker/date/DatePickerDialog.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/datetimepicker/date/DatePickerDialog.java
rename to android/android-pickers/src/main/java/com/android/datetimepicker/date/DatePickerDialog.java
diff --git a/android-pickers/src/main/java/com/android/datetimepicker/date/DayPickerView.java b/android/android-pickers/src/main/java/com/android/datetimepicker/date/DayPickerView.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/datetimepicker/date/DayPickerView.java
rename to android/android-pickers/src/main/java/com/android/datetimepicker/date/DayPickerView.java
diff --git a/android-pickers/src/main/java/com/android/datetimepicker/date/MonthAdapter.java b/android/android-pickers/src/main/java/com/android/datetimepicker/date/MonthAdapter.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/datetimepicker/date/MonthAdapter.java
rename to android/android-pickers/src/main/java/com/android/datetimepicker/date/MonthAdapter.java
diff --git a/android-pickers/src/main/java/com/android/datetimepicker/date/MonthView.java b/android/android-pickers/src/main/java/com/android/datetimepicker/date/MonthView.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/datetimepicker/date/MonthView.java
rename to android/android-pickers/src/main/java/com/android/datetimepicker/date/MonthView.java
diff --git a/android-pickers/src/main/java/com/android/datetimepicker/date/SimpleDayPickerView.java b/android/android-pickers/src/main/java/com/android/datetimepicker/date/SimpleDayPickerView.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/datetimepicker/date/SimpleDayPickerView.java
rename to android/android-pickers/src/main/java/com/android/datetimepicker/date/SimpleDayPickerView.java
diff --git a/android-pickers/src/main/java/com/android/datetimepicker/date/SimpleMonthAdapter.java b/android/android-pickers/src/main/java/com/android/datetimepicker/date/SimpleMonthAdapter.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/datetimepicker/date/SimpleMonthAdapter.java
rename to android/android-pickers/src/main/java/com/android/datetimepicker/date/SimpleMonthAdapter.java
diff --git a/android-pickers/src/main/java/com/android/datetimepicker/date/SimpleMonthView.java b/android/android-pickers/src/main/java/com/android/datetimepicker/date/SimpleMonthView.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/datetimepicker/date/SimpleMonthView.java
rename to android/android-pickers/src/main/java/com/android/datetimepicker/date/SimpleMonthView.java
diff --git a/android-pickers/src/main/java/com/android/datetimepicker/date/TextViewWithCircularIndicator.java b/android/android-pickers/src/main/java/com/android/datetimepicker/date/TextViewWithCircularIndicator.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/datetimepicker/date/TextViewWithCircularIndicator.java
rename to android/android-pickers/src/main/java/com/android/datetimepicker/date/TextViewWithCircularIndicator.java
diff --git a/android-pickers/src/main/java/com/android/datetimepicker/date/YearPickerView.java b/android/android-pickers/src/main/java/com/android/datetimepicker/date/YearPickerView.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/datetimepicker/date/YearPickerView.java
rename to android/android-pickers/src/main/java/com/android/datetimepicker/date/YearPickerView.java
diff --git a/android-pickers/src/main/java/com/android/datetimepicker/time/AmPmCirclesView.java b/android/android-pickers/src/main/java/com/android/datetimepicker/time/AmPmCirclesView.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/datetimepicker/time/AmPmCirclesView.java
rename to android/android-pickers/src/main/java/com/android/datetimepicker/time/AmPmCirclesView.java
diff --git a/android-pickers/src/main/java/com/android/datetimepicker/time/CircleView.java b/android/android-pickers/src/main/java/com/android/datetimepicker/time/CircleView.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/datetimepicker/time/CircleView.java
rename to android/android-pickers/src/main/java/com/android/datetimepicker/time/CircleView.java
diff --git a/android-pickers/src/main/java/com/android/datetimepicker/time/RadialPickerLayout.java b/android/android-pickers/src/main/java/com/android/datetimepicker/time/RadialPickerLayout.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/datetimepicker/time/RadialPickerLayout.java
rename to android/android-pickers/src/main/java/com/android/datetimepicker/time/RadialPickerLayout.java
diff --git a/android-pickers/src/main/java/com/android/datetimepicker/time/RadialSelectorView.java b/android/android-pickers/src/main/java/com/android/datetimepicker/time/RadialSelectorView.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/datetimepicker/time/RadialSelectorView.java
rename to android/android-pickers/src/main/java/com/android/datetimepicker/time/RadialSelectorView.java
diff --git a/android-pickers/src/main/java/com/android/datetimepicker/time/RadialTextsView.java b/android/android-pickers/src/main/java/com/android/datetimepicker/time/RadialTextsView.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/datetimepicker/time/RadialTextsView.java
rename to android/android-pickers/src/main/java/com/android/datetimepicker/time/RadialTextsView.java
diff --git a/android-pickers/src/main/java/com/android/datetimepicker/time/TimePickerDialog.java b/android/android-pickers/src/main/java/com/android/datetimepicker/time/TimePickerDialog.java
similarity index 100%
rename from android-pickers/src/main/java/com/android/datetimepicker/time/TimePickerDialog.java
rename to android/android-pickers/src/main/java/com/android/datetimepicker/time/TimePickerDialog.java
diff --git a/android-pickers/src/main/res/color/date_picker_selector.xml b/android/android-pickers/src/main/res/color/date_picker_selector.xml
similarity index 100%
rename from android-pickers/src/main/res/color/date_picker_selector.xml
rename to android/android-pickers/src/main/res/color/date_picker_selector.xml
diff --git a/android-pickers/src/main/res/color/date_picker_year_selector.xml b/android/android-pickers/src/main/res/color/date_picker_year_selector.xml
similarity index 100%
rename from android-pickers/src/main/res/color/date_picker_year_selector.xml
rename to android/android-pickers/src/main/res/color/date_picker_year_selector.xml
diff --git a/android-pickers/src/main/res/drawable-hdpi/ic_colorpicker_swatch_selected.png b/android/android-pickers/src/main/res/drawable-hdpi/ic_colorpicker_swatch_selected.png
similarity index 100%
rename from android-pickers/src/main/res/drawable-hdpi/ic_colorpicker_swatch_selected.png
rename to android/android-pickers/src/main/res/drawable-hdpi/ic_colorpicker_swatch_selected.png
diff --git a/android-pickers/src/main/res/drawable-mdpi/ic_colorpicker_swatch_selected.png b/android/android-pickers/src/main/res/drawable-mdpi/ic_colorpicker_swatch_selected.png
similarity index 100%
rename from android-pickers/src/main/res/drawable-mdpi/ic_colorpicker_swatch_selected.png
rename to android/android-pickers/src/main/res/drawable-mdpi/ic_colorpicker_swatch_selected.png
diff --git a/android-pickers/src/main/res/drawable-xhdpi/ic_colorpicker_swatch_selected.png b/android/android-pickers/src/main/res/drawable-xhdpi/ic_colorpicker_swatch_selected.png
similarity index 100%
rename from android-pickers/src/main/res/drawable-xhdpi/ic_colorpicker_swatch_selected.png
rename to android/android-pickers/src/main/res/drawable-xhdpi/ic_colorpicker_swatch_selected.png
diff --git a/android-pickers/src/main/res/drawable/color_picker_swatch.xml b/android/android-pickers/src/main/res/drawable/color_picker_swatch.xml
similarity index 100%
rename from android-pickers/src/main/res/drawable/color_picker_swatch.xml
rename to android/android-pickers/src/main/res/drawable/color_picker_swatch.xml
diff --git a/android-pickers/src/main/res/drawable/done_background_color.xml b/android/android-pickers/src/main/res/drawable/done_background_color.xml
similarity index 100%
rename from android-pickers/src/main/res/drawable/done_background_color.xml
rename to android/android-pickers/src/main/res/drawable/done_background_color.xml
diff --git a/android-pickers/src/main/res/drawable/done_background_color_dark.xml b/android/android-pickers/src/main/res/drawable/done_background_color_dark.xml
similarity index 100%
rename from android-pickers/src/main/res/drawable/done_background_color_dark.xml
rename to android/android-pickers/src/main/res/drawable/done_background_color_dark.xml
diff --git a/android-pickers/src/main/res/layout/color_picker_dialog.xml b/android/android-pickers/src/main/res/layout/color_picker_dialog.xml
similarity index 100%
rename from android-pickers/src/main/res/layout/color_picker_dialog.xml
rename to android/android-pickers/src/main/res/layout/color_picker_dialog.xml
diff --git a/android-pickers/src/main/res/layout/color_picker_swatch.xml b/android/android-pickers/src/main/res/layout/color_picker_swatch.xml
similarity index 100%
rename from android-pickers/src/main/res/layout/color_picker_swatch.xml
rename to android/android-pickers/src/main/res/layout/color_picker_swatch.xml
diff --git a/android-pickers/src/main/res/layout/date_picker_dialog.xml b/android/android-pickers/src/main/res/layout/date_picker_dialog.xml
similarity index 100%
rename from android-pickers/src/main/res/layout/date_picker_dialog.xml
rename to android/android-pickers/src/main/res/layout/date_picker_dialog.xml
diff --git a/android-pickers/src/main/res/layout/date_picker_done_button.xml b/android/android-pickers/src/main/res/layout/date_picker_done_button.xml
similarity index 100%
rename from android-pickers/src/main/res/layout/date_picker_done_button.xml
rename to android/android-pickers/src/main/res/layout/date_picker_done_button.xml
diff --git a/android-pickers/src/main/res/layout/date_picker_header_view.xml b/android/android-pickers/src/main/res/layout/date_picker_header_view.xml
similarity index 100%
rename from android-pickers/src/main/res/layout/date_picker_header_view.xml
rename to android/android-pickers/src/main/res/layout/date_picker_header_view.xml
diff --git a/android-pickers/src/main/res/layout/date_picker_selected_date.xml b/android/android-pickers/src/main/res/layout/date_picker_selected_date.xml
similarity index 100%
rename from android-pickers/src/main/res/layout/date_picker_selected_date.xml
rename to android/android-pickers/src/main/res/layout/date_picker_selected_date.xml
diff --git a/android-pickers/src/main/res/layout/date_picker_view_animator.xml b/android/android-pickers/src/main/res/layout/date_picker_view_animator.xml
similarity index 100%
rename from android-pickers/src/main/res/layout/date_picker_view_animator.xml
rename to android/android-pickers/src/main/res/layout/date_picker_view_animator.xml
diff --git a/android-pickers/src/main/res/layout/time_header_label.xml b/android/android-pickers/src/main/res/layout/time_header_label.xml
similarity index 100%
rename from android-pickers/src/main/res/layout/time_header_label.xml
rename to android/android-pickers/src/main/res/layout/time_header_label.xml
diff --git a/android-pickers/src/main/res/layout/time_picker_dialog.xml b/android/android-pickers/src/main/res/layout/time_picker_dialog.xml
similarity index 100%
rename from android-pickers/src/main/res/layout/time_picker_dialog.xml
rename to android/android-pickers/src/main/res/layout/time_picker_dialog.xml
diff --git a/android-pickers/src/main/res/layout/year_label_text_view.xml b/android/android-pickers/src/main/res/layout/year_label_text_view.xml
similarity index 100%
rename from android-pickers/src/main/res/layout/year_label_text_view.xml
rename to android/android-pickers/src/main/res/layout/year_label_text_view.xml
diff --git a/android-pickers/src/main/res/values/pickers.xml b/android/android-pickers/src/main/res/values/pickers.xml
similarity index 100%
rename from android-pickers/src/main/res/values/pickers.xml
rename to android/android-pickers/src/main/res/values/pickers.xml
diff --git a/android-pickers/src/main/res/values/strings.xml b/android/android-pickers/src/main/res/values/strings.xml
similarity index 100%
rename from android-pickers/src/main/res/values/strings.xml
rename to android/android-pickers/src/main/res/values/strings.xml
diff --git a/android/build.gradle b/android/build.gradle
new file mode 100644
index 000000000..83c5ba2f7
--- /dev/null
+++ b/android/build.gradle
@@ -0,0 +1,21 @@
+buildscript {
+ repositories {
+ google()
+ jcenter()
+ }
+
+ dependencies {
+ classpath "com.android.tools.build:gradle:$BUILD_TOOLS_VERSION"
+ classpath "com.neenbedankt.gradle.plugins:android-apt:1.8"
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$KOTLIN_VERSION"
+ classpath "org.ajoberstar:grgit:1.5.0"
+ }
+}
+
+allprojects {
+ repositories {
+ google()
+ maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
+ jcenter()
+ }
+}
diff --git a/build.sh b/android/build.sh
similarity index 94%
rename from build.sh
rename to android/build.sh
index 877a35101..17f67e9f8 100755
--- a/build.sh
+++ b/android/build.sh
@@ -121,20 +121,15 @@ uninstall_apk() {
install_test_butler() {
log_info "Installing Test Butler"
$ADB uninstall com.linkedin.android.testbutler
- $ADB install tools/test-butler-app-1.3.1.apk
+ $ADB install tools/test-butler-app-2.0.2.apk
}
install_apk() {
- if [ ! -z $UNINSTALL_FIRST ]; then
- uninstall_apk
- fi
-
log_info "Installing APK"
-
if [ ! -z $RELEASE ]; then
$ADB install -r ${OUTPUTS_DIR}/apk/release/uhabits-android-release.apk || fail
else
- $ADB install -r ${OUTPUTS_DIR}/apk/debug/uhabits-android-debug.apk || fail
+ $ADB install -t -r ${OUTPUTS_DIR}/apk/debug/uhabits-android-debug.apk || fail
fi
}
@@ -147,9 +142,10 @@ install_test_apk() {
}
run_instrumented_tests() {
+ SIZE=$1
log_info "Running instrumented tests"
$ADB shell am instrument \
- -r -e coverage true -e size medium \
+ -r -e coverage true -e size $SIZE \
-w ${PACKAGE_NAME}.test/android.support.test.runner.AndroidJUnitRunner \
| tee ${OUTPUTS_DIR}/instrument.txt
@@ -180,7 +176,7 @@ fetch_artifacts() {
}
fetch_logcat() {
- log_info "Fetching logcat"
+ log_info "Fetching logcat to ${OUTPUTS_DIR}/logcat.txt"
$ADB logcat -d > ${OUTPUTS_DIR}/logcat.txt
}
@@ -215,13 +211,14 @@ accept_images() {
rsync -av tmp/test-screenshots/ uhabits-android/src/androidTest/assets/
}
-run_local_tests() {
- #clean_output_dir
+run_tests() {
+ SIZE=$1
run_adb_as_root
install_test_butler
+ uninstall_apk
install_apk
install_test_apk
- run_instrumented_tests
+ run_instrumented_tests $SIZE
parse_instrumentation_results
fetch_artifacts
fetch_logcat
@@ -249,7 +246,7 @@ case "$1" in
build_apk
build_instrumentation_apk
run_jvm_tests
- generate_coverage_badge
+ #generate_coverage_badge
;;
ci-tests)
@@ -274,16 +271,21 @@ case "$1" in
ADB="${ADB} -s emulator-${AVD_SERIAL}"
start_emulator
- run_local_tests
+ run_tests medium
stop_emulator
stop_gradle_daemon
;;
- local-tests)
+ medium-tests)
shift; parse_opts $*
- run_local_tests
+ run_tests medium
;;
+ large-tests)
+ shift; parse_opts $*
+ run_tests large
+ ;;
+
fetch-images)
fetch_images
;;
@@ -311,7 +313,6 @@ case "$1" in
accept-images Copies fetched images to corresponding assets folder
Options:
- -u --uninstall-first Uninstall existing APK first
-r --release Build and install release version, instead of debug
END
exit 1
diff --git a/android/gradle.properties b/android/gradle.properties
new file mode 100644
index 000000000..49afd37ce
--- /dev/null
+++ b/android/gradle.properties
@@ -0,0 +1,16 @@
+VERSION_CODE = 39
+VERSION_NAME = 1.8.0
+
+MIN_SDK_VERSION = 19
+TARGET_SDK_VERSION = 29
+COMPILE_SDK_VERSION = 29
+
+DAGGER_VERSION = 2.25.2
+KOTLIN_VERSION = 1.3.50
+SUPPORT_LIBRARY_VERSION = 28.0.0
+AUTO_FACTORY_VERSION = 1.0-beta6
+BUILD_TOOLS_VERSION = 3.5.2
+
+org.gradle.parallel=false
+org.gradle.daemon=true
+org.gradle.jvmargs=-Xms2048m -Xmx2048m -XX:MaxPermSize=2048m
diff --git a/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar
similarity index 100%
rename from gradle/wrapper/gradle-wrapper.jar
rename to android/gradle/wrapper/gradle-wrapper.jar
diff --git a/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties
similarity index 80%
rename from gradle/wrapper/gradle-wrapper.properties
rename to android/gradle/wrapper/gradle-wrapper.properties
index 01c2ed76a..26c59f416 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/android/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Sun Sep 24 06:01:27 CDT 2017
+#Wed Sep 04 13:05:58 MSK 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
diff --git a/gradlew b/android/gradlew
similarity index 100%
rename from gradlew
rename to android/gradlew
diff --git a/gradlew.bat b/android/gradlew.bat
similarity index 100%
rename from gradlew.bat
rename to android/gradlew.bat
diff --git a/settings.gradle b/android/settings.gradle
similarity index 100%
rename from settings.gradle
rename to android/settings.gradle
diff --git a/tools/automator-log-converter-1.5.0.jar b/android/tools/automator-log-converter-1.5.0.jar
similarity index 100%
rename from tools/automator-log-converter-1.5.0.jar
rename to android/tools/automator-log-converter-1.5.0.jar
diff --git a/tools/coverage-badge/badge.py b/android/tools/coverage-badge/badge.py
similarity index 100%
rename from tools/coverage-badge/badge.py
rename to android/tools/coverage-badge/badge.py
diff --git a/tools/coverage-badge/templates/flat.svg b/android/tools/coverage-badge/templates/flat.svg
similarity index 100%
rename from tools/coverage-badge/templates/flat.svg
rename to android/tools/coverage-badge/templates/flat.svg
diff --git a/android/tools/test-butler-app-2.0.2.apk b/android/tools/test-butler-app-2.0.2.apk
new file mode 100644
index 000000000..1f9055082
Binary files /dev/null and b/android/tools/test-butler-app-2.0.2.apk differ
diff --git a/uhabits-android/build.gradle b/android/uhabits-android/build.gradle
similarity index 69%
rename from uhabits-android/build.gradle
rename to android/uhabits-android/build.gradle
index 85df89fa2..4c305d56b 100644
--- a/uhabits-android/build.gradle
+++ b/android/uhabits-android/build.gradle
@@ -2,8 +2,6 @@ apply plugin: 'idea'
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
-apply plugin: 'jacoco'
-apply plugin: 'com.github.triplet.play'
import org.ajoberstar.grgit.Grgit
ext {
@@ -14,7 +12,6 @@ ext {
android {
compileSdkVersion COMPILE_SDK_VERSION as Integer
- buildToolsVersion BUILD_TOOLS_VERSION
if(project.hasProperty("LOOP_STORE_FILE")) {
signingConfigs {
@@ -28,12 +25,6 @@ android {
buildTypes.release.signingConfig signingConfigs.release
}
- playAccountConfigs {
- defaultAccountConfig {
- jsonFile = file('../secret/playstore.json')
- }
- }
-
defaultConfig {
versionCode VERSION_CODE as Integer
versionName "$VERSION_NAME ($GIT_BRANCH $GIT_COMMIT)"
@@ -42,14 +33,6 @@ android {
applicationId "org.isoron.uhabits"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
-
- javaCompileOptions {
- annotationProcessorOptions {
- includeCompileClasspath false
- }
- }
-
- playAccountConfig = playAccountConfigs.defaultAccountConfig
}
buildTypes {
@@ -80,17 +63,12 @@ android {
outputs.upToDateWhen { false }
showStandardStreams = true
}
-
- jacoco {
- includeNoLocationClasses = true
- }
}
}
sourceSets {
main.assets.srcDirs += '../uhabits-core/src/main/resources/'
}
- buildToolsVersion '26.0.2'
}
dependencies {
@@ -108,24 +86,25 @@ dependencies {
implementation "org.apmem.tools:layouts:1.10"
implementation "com.google.code.gson:gson:2.7"
implementation "com.google.code.findbugs:jsr305:3.0.2"
- implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$KOTLIN_VERSION"
+ implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$KOTLIN_VERSION"
compileOnly "javax.annotation:jsr250-api:1.0"
- compileOnly "com.google.auto.factory:auto-factory:1.0-beta3"
+ compileOnly "com.google.auto.factory:auto-factory:${AUTO_FACTORY_VERSION}"
kapt "com.google.dagger:dagger-compiler:$DAGGER_VERSION"
- kapt "com.jakewharton:butterknife-compiler:8.6.1-SNAPSHOT"
- kapt "com.google.auto.factory:auto-factory:1.0-beta3"
+ kapt "com.jakewharton:butterknife-compiler:9.0.0"
+ annotationProcessor "com.google.auto.factory:auto-factory:${AUTO_FACTORY_VERSION}"
androidTestImplementation "com.android.support.test.espresso:espresso-contrib:2.2.2"
androidTestImplementation "com.android.support.test.espresso:espresso-core:2.2.2"
androidTestImplementation "com.android.support.test.uiautomator:uiautomator-v18:2.1.1"
androidTestImplementation "com.google.dagger:dagger:$DAGGER_VERSION"
androidTestImplementation "com.linkedin.testbutler:test-butler-library:1.3.1"
- androidTestCompileOnly "com.google.auto.factory:auto-factory:1.0-beta3"
+ androidTestCompileOnly "com.google.auto.factory:auto-factory:${AUTO_FACTORY_VERSION}"
+ androidTestAnnotationProcessor "com.google.auto.factory:auto-factory:${AUTO_FACTORY_VERSION}"
androidTestImplementation "com.android.support:support-annotations:$SUPPORT_LIBRARY_VERSION"
androidTestImplementation "com.android.support.test:rules:0.5"
androidTestImplementation "com.android.support.test:runner:0.5"
- androidTestImplementation "com.google.guava:guava:20.0"
+ androidTestImplementation "com.google.guava:guava:24.1-android"
androidTestImplementation project(":uhabits-core")
kaptAndroidTest "com.google.dagger:dagger-compiler:$DAGGER_VERSION"
@@ -149,44 +128,10 @@ dependencies {
}
repositories {
- mavenCentral()
+ google()
+ jcenter()
}
kapt {
correctErrorTypes = true
}
-
-task coverageReport(type: JacocoReport) {
- def excludes = [
- '**/R.class',
- '**/R$*.class',
- '**/BuildConfig.*',
- '**/Manifest*',
- '**/*Test*.*',
- '**/*$Lambda$*',
- '**/*$ViewBinder*',
- '**/*MembersInjector*',
- '**/*_Provide*',
- '**/*Module_*',
- '**/com/android/**/*',
- '**/*Dagger*',
- '**/*_Factory*'
- ]
- def androidSrc = "${project.projectDir}/src/main/java"
- def androidClasses = "${buildDir}/intermediates/classes/debug"
- def jvmExecData = "${buildDir}/jacoco/testDebugUnitTest.exec"
- def connectedExecData = "${buildDir}/outputs/code-coverage/connected/coverage.ec"
- sourceDirectories = files(androidSrc)
- classDirectories = files(fileTree(dir: androidClasses, excludes: excludes))
- executionData = files(jvmExecData, connectedExecData)
- jacocoClasspath = configurations['androidJacocoAnt']
-
- reports {
- html.enabled = true
- xml.enabled = true
- }
-}
-
-play {
- track = 'alpha'
-}
diff --git a/uhabits-android/lint.xml b/android/uhabits-android/lint.xml
similarity index 100%
rename from uhabits-android/lint.xml
rename to android/uhabits-android/lint.xml
diff --git a/uhabits-android/proguard-rules.txt b/android/uhabits-android/proguard-rules.txt
similarity index 100%
rename from uhabits-android/proguard-rules.txt
rename to android/uhabits-android/proguard-rules.txt
diff --git a/uhabits-android/src/androidTest/assets/views-v19/common/BarChart/render.png b/android/uhabits-android/src/androidTest/assets/views-v19/common/BarChart/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/common/BarChart/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/common/BarChart/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/common/BarChart/renderDataOffset.png b/android/uhabits-android/src/androidTest/assets/views-v19/common/BarChart/renderDataOffset.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/common/BarChart/renderDataOffset.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/common/BarChart/renderDataOffset.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/common/BarChart/renderDifferentSize.png b/android/uhabits-android/src/androidTest/assets/views-v19/common/BarChart/renderDifferentSize.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/common/BarChart/renderDifferentSize.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/common/BarChart/renderDifferentSize.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/common/BarChart/renderTransparent.png b/android/uhabits-android/src/androidTest/assets/views-v19/common/BarChart/renderTransparent.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/common/BarChart/renderTransparent.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/common/BarChart/renderTransparent.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/common/FrequencyChart/render.png b/android/uhabits-android/src/androidTest/assets/views-v19/common/FrequencyChart/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/common/FrequencyChart/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/common/FrequencyChart/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/common/FrequencyChart/renderDataOffset.png b/android/uhabits-android/src/androidTest/assets/views-v19/common/FrequencyChart/renderDataOffset.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/common/FrequencyChart/renderDataOffset.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/common/FrequencyChart/renderDataOffset.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/common/FrequencyChart/renderDifferentSize.png b/android/uhabits-android/src/androidTest/assets/views-v19/common/FrequencyChart/renderDifferentSize.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/common/FrequencyChart/renderDifferentSize.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/common/FrequencyChart/renderDifferentSize.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/common/FrequencyChart/renderTransparent.png b/android/uhabits-android/src/androidTest/assets/views-v19/common/FrequencyChart/renderTransparent.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/common/FrequencyChart/renderTransparent.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/common/FrequencyChart/renderTransparent.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/common/HistoryChart/render.png b/android/uhabits-android/src/androidTest/assets/views-v19/common/HistoryChart/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/common/HistoryChart/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/common/HistoryChart/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/common/HistoryChart/renderDataOffset.png b/android/uhabits-android/src/androidTest/assets/views-v19/common/HistoryChart/renderDataOffset.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/common/HistoryChart/renderDataOffset.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/common/HistoryChart/renderDataOffset.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/common/HistoryChart/renderDifferentSize.png b/android/uhabits-android/src/androidTest/assets/views-v19/common/HistoryChart/renderDifferentSize.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/common/HistoryChart/renderDifferentSize.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/common/HistoryChart/renderDifferentSize.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/common/HistoryChart/renderTransparent.png b/android/uhabits-android/src/androidTest/assets/views-v19/common/HistoryChart/renderTransparent.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/common/HistoryChart/renderTransparent.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/common/HistoryChart/renderTransparent.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/common/RingView/render.png b/android/uhabits-android/src/androidTest/assets/views-v19/common/RingView/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/common/RingView/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/common/RingView/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/common/RingView/renderDifferentParams.png b/android/uhabits-android/src/androidTest/assets/views-v19/common/RingView/renderDifferentParams.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/common/RingView/renderDifferentParams.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/common/RingView/renderDifferentParams.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/common/ScoreChart/render.png b/android/uhabits-android/src/androidTest/assets/views-v19/common/ScoreChart/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/common/ScoreChart/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/common/ScoreChart/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/common/ScoreChart/renderDataOffset.png b/android/uhabits-android/src/androidTest/assets/views-v19/common/ScoreChart/renderDataOffset.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/common/ScoreChart/renderDataOffset.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/common/ScoreChart/renderDataOffset.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/common/ScoreChart/renderDifferentSize.png b/android/uhabits-android/src/androidTest/assets/views-v19/common/ScoreChart/renderDifferentSize.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/common/ScoreChart/renderDifferentSize.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/common/ScoreChart/renderDifferentSize.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/common/ScoreChart/renderMonthly.png b/android/uhabits-android/src/androidTest/assets/views-v19/common/ScoreChart/renderMonthly.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/common/ScoreChart/renderMonthly.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/common/ScoreChart/renderMonthly.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/common/ScoreChart/renderTransparent.png b/android/uhabits-android/src/androidTest/assets/views-v19/common/ScoreChart/renderTransparent.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/common/ScoreChart/renderTransparent.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/common/ScoreChart/renderTransparent.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/common/ScoreChart/renderYearly.png b/android/uhabits-android/src/androidTest/assets/views-v19/common/ScoreChart/renderYearly.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/common/ScoreChart/renderYearly.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/common/ScoreChart/renderYearly.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/common/StreakChart/render.png b/android/uhabits-android/src/androidTest/assets/views-v19/common/StreakChart/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/common/StreakChart/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/common/StreakChart/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/common/StreakChart/renderSmallSize.png b/android/uhabits-android/src/androidTest/assets/views-v19/common/StreakChart/renderSmallSize.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/common/StreakChart/renderSmallSize.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/common/StreakChart/renderSmallSize.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/common/StreakChart/renderTransparent.png b/android/uhabits-android/src/androidTest/assets/views-v19/common/StreakChart/renderTransparent.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/common/StreakChart/renderTransparent.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/common/StreakChart/renderTransparent.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkButtonView/render_explicit_check.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkButtonView/render_explicit_check.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkButtonView/render_explicit_check.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkButtonView/render_explicit_check.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkButtonView/render_implicit_check.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkButtonView/render_implicit_check.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkButtonView/render_implicit_check.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkButtonView/render_implicit_check.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkButtonView/render_unchecked.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkButtonView/render_unchecked.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkButtonView/render_unchecked.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkButtonView/render_unchecked.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkPanelView/render.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkPanelView/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkPanelView/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkPanelView/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkPanelView/render_different_color.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkPanelView/render_different_color.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkPanelView/render_different_color.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkPanelView/render_different_color.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkPanelView/render_offset.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkPanelView/render_offset.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkPanelView/render_offset.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkPanelView/render_offset.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkPanelView/render_reversed.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkPanelView/render_reversed.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkPanelView/render_reversed.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/list/CheckmarkPanelView/render_reversed.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/list/HabitCardView/render.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/list/HabitCardView/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/list/HabitCardView/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/list/HabitCardView/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/list/HabitCardView/render_changed.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/list/HabitCardView/render_changed.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/list/HabitCardView/render_changed.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/list/HabitCardView/render_changed.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/list/HabitCardView/render_numerical.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/list/HabitCardView/render_numerical.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/list/HabitCardView/render_numerical.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/list/HabitCardView/render_numerical.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/list/HabitCardView/render_selected.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/list/HabitCardView/render_selected.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/list/HabitCardView/render_selected.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/list/HabitCardView/render_selected.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/list/HeaderView/render.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/list/HeaderView/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/list/HeaderView/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/list/HeaderView/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/list/HeaderView/render_reverse.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/list/HeaderView/render_reverse.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/list/HeaderView/render_reverse.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/list/HeaderView/render_reverse.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/list/HintView/render.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/list/HintView/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/list/HintView/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/list/HintView/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberButtonView/render_above.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberButtonView/render_above.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberButtonView/render_above.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberButtonView/render_above.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberButtonView/render_below.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberButtonView/render_below.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberButtonView/render_below.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberButtonView/render_below.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberButtonView/render_zero.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberButtonView/render_zero.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberButtonView/render_zero.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberButtonView/render_zero.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberPanelView/render.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberPanelView/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberPanelView/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberPanelView/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberPanelView/render_different_color.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberPanelView/render_different_color.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberPanelView/render_different_color.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberPanelView/render_different_color.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberPanelView/render_offset.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberPanelView/render_offset.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberPanelView/render_offset.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberPanelView/render_offset.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberPanelView/render_reversed.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberPanelView/render_reversed.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberPanelView/render_reversed.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/list/NumberPanelView/render_reversed.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/show/FrequencyCard/render.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/show/FrequencyCard/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/show/FrequencyCard/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/show/FrequencyCard/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/show/HistoryCard/render.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/show/HistoryCard/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/show/HistoryCard/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/show/HistoryCard/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/show/OverviewCard/render.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/show/OverviewCard/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/show/OverviewCard/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/show/OverviewCard/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/show/ScoreCard/render.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/show/ScoreCard/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/show/ScoreCard/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/show/ScoreCard/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/show/StreakCard/render.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/show/StreakCard/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/show/StreakCard/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/show/StreakCard/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/habits/show/SubtitleCard/render.png b/android/uhabits-android/src/androidTest/assets/views-v19/habits/show/SubtitleCard/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/habits/show/SubtitleCard/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/habits/show/SubtitleCard/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/widgets/CheckmarkWidget/render.png b/android/uhabits-android/src/androidTest/assets/views-v19/widgets/CheckmarkWidget/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/widgets/CheckmarkWidget/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/widgets/CheckmarkWidget/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/widgets/CheckmarkWidgetView/checked.png b/android/uhabits-android/src/androidTest/assets/views-v19/widgets/CheckmarkWidgetView/checked.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/widgets/CheckmarkWidgetView/checked.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/widgets/CheckmarkWidgetView/checked.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/widgets/CheckmarkWidgetView/implicitly_checked.png b/android/uhabits-android/src/androidTest/assets/views-v19/widgets/CheckmarkWidgetView/implicitly_checked.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/widgets/CheckmarkWidgetView/implicitly_checked.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/widgets/CheckmarkWidgetView/implicitly_checked.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/widgets/CheckmarkWidgetView/large_size.png b/android/uhabits-android/src/androidTest/assets/views-v19/widgets/CheckmarkWidgetView/large_size.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/widgets/CheckmarkWidgetView/large_size.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/widgets/CheckmarkWidgetView/large_size.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/widgets/CheckmarkWidgetView/unchecked.png b/android/uhabits-android/src/androidTest/assets/views-v19/widgets/CheckmarkWidgetView/unchecked.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/widgets/CheckmarkWidgetView/unchecked.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/widgets/CheckmarkWidgetView/unchecked.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/widgets/FrequencyWidget/render.png b/android/uhabits-android/src/androidTest/assets/views-v19/widgets/FrequencyWidget/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/widgets/FrequencyWidget/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/widgets/FrequencyWidget/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/widgets/HistoryWidget/render.png b/android/uhabits-android/src/androidTest/assets/views-v19/widgets/HistoryWidget/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/widgets/HistoryWidget/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/widgets/HistoryWidget/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/widgets/ScoreWidget/render.png b/android/uhabits-android/src/androidTest/assets/views-v19/widgets/ScoreWidget/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/widgets/ScoreWidget/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/widgets/ScoreWidget/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v19/widgets/StreakWidget/render.png b/android/uhabits-android/src/androidTest/assets/views-v19/widgets/StreakWidget/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v19/widgets/StreakWidget/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v19/widgets/StreakWidget/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/common/BarChart/render.png b/android/uhabits-android/src/androidTest/assets/views-v21/common/BarChart/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/common/BarChart/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/common/BarChart/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/common/BarChart/renderDataOffset.png b/android/uhabits-android/src/androidTest/assets/views-v21/common/BarChart/renderDataOffset.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/common/BarChart/renderDataOffset.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/common/BarChart/renderDataOffset.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/common/BarChart/renderDifferentSize.png b/android/uhabits-android/src/androidTest/assets/views-v21/common/BarChart/renderDifferentSize.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/common/BarChart/renderDifferentSize.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/common/BarChart/renderDifferentSize.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/common/BarChart/renderTransparent.png b/android/uhabits-android/src/androidTest/assets/views-v21/common/BarChart/renderTransparent.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/common/BarChart/renderTransparent.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/common/BarChart/renderTransparent.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/common/FrequencyChart/render.png b/android/uhabits-android/src/androidTest/assets/views-v21/common/FrequencyChart/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/common/FrequencyChart/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/common/FrequencyChart/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/common/FrequencyChart/renderDataOffset.png b/android/uhabits-android/src/androidTest/assets/views-v21/common/FrequencyChart/renderDataOffset.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/common/FrequencyChart/renderDataOffset.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/common/FrequencyChart/renderDataOffset.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/common/FrequencyChart/renderDifferentSize.png b/android/uhabits-android/src/androidTest/assets/views-v21/common/FrequencyChart/renderDifferentSize.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/common/FrequencyChart/renderDifferentSize.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/common/FrequencyChart/renderDifferentSize.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/common/FrequencyChart/renderTransparent.png b/android/uhabits-android/src/androidTest/assets/views-v21/common/FrequencyChart/renderTransparent.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/common/FrequencyChart/renderTransparent.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/common/FrequencyChart/renderTransparent.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/common/HistoryChart/render.png b/android/uhabits-android/src/androidTest/assets/views-v21/common/HistoryChart/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/common/HistoryChart/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/common/HistoryChart/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/common/HistoryChart/renderDataOffset.png b/android/uhabits-android/src/androidTest/assets/views-v21/common/HistoryChart/renderDataOffset.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/common/HistoryChart/renderDataOffset.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/common/HistoryChart/renderDataOffset.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/common/HistoryChart/renderDifferentSize.png b/android/uhabits-android/src/androidTest/assets/views-v21/common/HistoryChart/renderDifferentSize.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/common/HistoryChart/renderDifferentSize.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/common/HistoryChart/renderDifferentSize.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/common/HistoryChart/renderTransparent.png b/android/uhabits-android/src/androidTest/assets/views-v21/common/HistoryChart/renderTransparent.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/common/HistoryChart/renderTransparent.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/common/HistoryChart/renderTransparent.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/common/RingView/render.png b/android/uhabits-android/src/androidTest/assets/views-v21/common/RingView/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/common/RingView/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/common/RingView/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/common/RingView/renderDifferentParams.png b/android/uhabits-android/src/androidTest/assets/views-v21/common/RingView/renderDifferentParams.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/common/RingView/renderDifferentParams.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/common/RingView/renderDifferentParams.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/common/ScoreChart/render.png b/android/uhabits-android/src/androidTest/assets/views-v21/common/ScoreChart/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/common/ScoreChart/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/common/ScoreChart/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/common/ScoreChart/renderDataOffset.png b/android/uhabits-android/src/androidTest/assets/views-v21/common/ScoreChart/renderDataOffset.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/common/ScoreChart/renderDataOffset.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/common/ScoreChart/renderDataOffset.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/common/ScoreChart/renderDifferentSize.png b/android/uhabits-android/src/androidTest/assets/views-v21/common/ScoreChart/renderDifferentSize.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/common/ScoreChart/renderDifferentSize.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/common/ScoreChart/renderDifferentSize.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/common/ScoreChart/renderMonthly.png b/android/uhabits-android/src/androidTest/assets/views-v21/common/ScoreChart/renderMonthly.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/common/ScoreChart/renderMonthly.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/common/ScoreChart/renderMonthly.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/common/ScoreChart/renderTransparent.png b/android/uhabits-android/src/androidTest/assets/views-v21/common/ScoreChart/renderTransparent.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/common/ScoreChart/renderTransparent.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/common/ScoreChart/renderTransparent.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/common/ScoreChart/renderYearly.png b/android/uhabits-android/src/androidTest/assets/views-v21/common/ScoreChart/renderYearly.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/common/ScoreChart/renderYearly.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/common/ScoreChart/renderYearly.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/common/StreakChart/render.png b/android/uhabits-android/src/androidTest/assets/views-v21/common/StreakChart/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/common/StreakChart/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/common/StreakChart/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/common/StreakChart/renderSmallSize.png b/android/uhabits-android/src/androidTest/assets/views-v21/common/StreakChart/renderSmallSize.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/common/StreakChart/renderSmallSize.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/common/StreakChart/renderSmallSize.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/common/StreakChart/renderTransparent.png b/android/uhabits-android/src/androidTest/assets/views-v21/common/StreakChart/renderTransparent.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/common/StreakChart/renderTransparent.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/common/StreakChart/renderTransparent.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkButtonView/render_explicit_check.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkButtonView/render_explicit_check.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkButtonView/render_explicit_check.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkButtonView/render_explicit_check.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkButtonView/render_implicit_check.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkButtonView/render_implicit_check.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkButtonView/render_implicit_check.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkButtonView/render_implicit_check.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkButtonView/render_unchecked.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkButtonView/render_unchecked.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkButtonView/render_unchecked.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkButtonView/render_unchecked.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkPanelView/render.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkPanelView/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkPanelView/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkPanelView/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkPanelView/render_different_color.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkPanelView/render_different_color.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkPanelView/render_different_color.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkPanelView/render_different_color.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkPanelView/render_offset.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkPanelView/render_offset.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkPanelView/render_offset.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkPanelView/render_offset.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkPanelView/render_reversed.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkPanelView/render_reversed.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkPanelView/render_reversed.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/list/CheckmarkPanelView/render_reversed.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/list/HabitCardView/render.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/list/HabitCardView/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/list/HabitCardView/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/list/HabitCardView/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/list/HabitCardView/render_changed.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/list/HabitCardView/render_changed.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/list/HabitCardView/render_changed.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/list/HabitCardView/render_changed.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/list/HabitCardView/render_numerical.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/list/HabitCardView/render_numerical.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/list/HabitCardView/render_numerical.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/list/HabitCardView/render_numerical.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/list/HabitCardView/render_selected.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/list/HabitCardView/render_selected.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/list/HabitCardView/render_selected.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/list/HabitCardView/render_selected.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/list/HeaderView/render.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/list/HeaderView/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/list/HeaderView/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/list/HeaderView/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/list/HeaderView/render_reverse.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/list/HeaderView/render_reverse.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/list/HeaderView/render_reverse.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/list/HeaderView/render_reverse.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/list/HintView/render.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/list/HintView/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/list/HintView/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/list/HintView/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberButtonView/render_above.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberButtonView/render_above.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberButtonView/render_above.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberButtonView/render_above.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberButtonView/render_below.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberButtonView/render_below.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberButtonView/render_below.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberButtonView/render_below.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberButtonView/render_zero.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberButtonView/render_zero.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberButtonView/render_zero.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberButtonView/render_zero.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberPanelView/render.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberPanelView/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberPanelView/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberPanelView/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberPanelView/render_different_color.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberPanelView/render_different_color.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberPanelView/render_different_color.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberPanelView/render_different_color.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberPanelView/render_offset.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberPanelView/render_offset.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberPanelView/render_offset.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberPanelView/render_offset.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberPanelView/render_reversed.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberPanelView/render_reversed.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberPanelView/render_reversed.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/list/NumberPanelView/render_reversed.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/show/FrequencyCard/render.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/show/FrequencyCard/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/show/FrequencyCard/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/show/FrequencyCard/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/show/HistoryCard/render.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/show/HistoryCard/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/show/HistoryCard/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/show/HistoryCard/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/show/OverviewCard/render.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/show/OverviewCard/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/show/OverviewCard/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/show/OverviewCard/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/show/ScoreCard/render.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/show/ScoreCard/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/show/ScoreCard/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/show/ScoreCard/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/show/StreakCard/render.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/show/StreakCard/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/show/StreakCard/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/show/StreakCard/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/habits/show/SubtitleCard/render.png b/android/uhabits-android/src/androidTest/assets/views-v21/habits/show/SubtitleCard/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/habits/show/SubtitleCard/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/habits/show/SubtitleCard/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/widgets/CheckmarkWidget/render.png b/android/uhabits-android/src/androidTest/assets/views-v21/widgets/CheckmarkWidget/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/widgets/CheckmarkWidget/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/widgets/CheckmarkWidget/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/widgets/CheckmarkWidgetView/checked.png b/android/uhabits-android/src/androidTest/assets/views-v21/widgets/CheckmarkWidgetView/checked.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/widgets/CheckmarkWidgetView/checked.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/widgets/CheckmarkWidgetView/checked.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/widgets/CheckmarkWidgetView/implicitly_checked.png b/android/uhabits-android/src/androidTest/assets/views-v21/widgets/CheckmarkWidgetView/implicitly_checked.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/widgets/CheckmarkWidgetView/implicitly_checked.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/widgets/CheckmarkWidgetView/implicitly_checked.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/widgets/CheckmarkWidgetView/large_size.png b/android/uhabits-android/src/androidTest/assets/views-v21/widgets/CheckmarkWidgetView/large_size.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/widgets/CheckmarkWidgetView/large_size.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/widgets/CheckmarkWidgetView/large_size.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/widgets/CheckmarkWidgetView/unchecked.png b/android/uhabits-android/src/androidTest/assets/views-v21/widgets/CheckmarkWidgetView/unchecked.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/widgets/CheckmarkWidgetView/unchecked.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/widgets/CheckmarkWidgetView/unchecked.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/widgets/FrequencyWidget/render.png b/android/uhabits-android/src/androidTest/assets/views-v21/widgets/FrequencyWidget/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/widgets/FrequencyWidget/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/widgets/FrequencyWidget/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/widgets/HistoryWidget/render.png b/android/uhabits-android/src/androidTest/assets/views-v21/widgets/HistoryWidget/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/widgets/HistoryWidget/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/widgets/HistoryWidget/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/widgets/ScoreWidget/render.png b/android/uhabits-android/src/androidTest/assets/views-v21/widgets/ScoreWidget/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/widgets/ScoreWidget/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/widgets/ScoreWidget/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v21/widgets/StreakWidget/render.png b/android/uhabits-android/src/androidTest/assets/views-v21/widgets/StreakWidget/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v21/widgets/StreakWidget/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v21/widgets/StreakWidget/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/render.png b/android/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/common/BarChart/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/renderDataOffset.png b/android/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/renderDataOffset.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/common/BarChart/renderDataOffset.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/renderDataOffset.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/renderDifferentSize.png b/android/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/renderDifferentSize.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/common/BarChart/renderDifferentSize.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/renderDifferentSize.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/renderTransparent.png b/android/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/renderTransparent.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/common/BarChart/renderTransparent.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/common/BarChart/renderTransparent.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/common/FrequencyChart/render.png b/android/uhabits-android/src/androidTest/assets/views-v26/common/FrequencyChart/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/common/FrequencyChart/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/common/FrequencyChart/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/common/FrequencyChart/renderDataOffset.png b/android/uhabits-android/src/androidTest/assets/views-v26/common/FrequencyChart/renderDataOffset.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/common/FrequencyChart/renderDataOffset.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/common/FrequencyChart/renderDataOffset.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/common/FrequencyChart/renderDifferentSize.png b/android/uhabits-android/src/androidTest/assets/views-v26/common/FrequencyChart/renderDifferentSize.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/common/FrequencyChart/renderDifferentSize.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/common/FrequencyChart/renderDifferentSize.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/common/FrequencyChart/renderTransparent.png b/android/uhabits-android/src/androidTest/assets/views-v26/common/FrequencyChart/renderTransparent.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/common/FrequencyChart/renderTransparent.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/common/FrequencyChart/renderTransparent.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/common/HistoryChart/render.png b/android/uhabits-android/src/androidTest/assets/views-v26/common/HistoryChart/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/common/HistoryChart/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/common/HistoryChart/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/common/HistoryChart/renderDataOffset.png b/android/uhabits-android/src/androidTest/assets/views-v26/common/HistoryChart/renderDataOffset.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/common/HistoryChart/renderDataOffset.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/common/HistoryChart/renderDataOffset.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/common/HistoryChart/renderDifferentSize.png b/android/uhabits-android/src/androidTest/assets/views-v26/common/HistoryChart/renderDifferentSize.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/common/HistoryChart/renderDifferentSize.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/common/HistoryChart/renderDifferentSize.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/common/HistoryChart/renderTransparent.png b/android/uhabits-android/src/androidTest/assets/views-v26/common/HistoryChart/renderTransparent.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/common/HistoryChart/renderTransparent.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/common/HistoryChart/renderTransparent.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/common/RingView/render.png b/android/uhabits-android/src/androidTest/assets/views-v26/common/RingView/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/common/RingView/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/common/RingView/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/common/RingView/renderDifferentParams.png b/android/uhabits-android/src/androidTest/assets/views-v26/common/RingView/renderDifferentParams.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/common/RingView/renderDifferentParams.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/common/RingView/renderDifferentParams.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/render.png b/android/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderDataOffset.png b/android/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderDataOffset.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderDataOffset.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderDataOffset.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderDifferentSize.png b/android/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderDifferentSize.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderDifferentSize.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderDifferentSize.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderMonthly.png b/android/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderMonthly.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderMonthly.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderMonthly.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderTransparent.png b/android/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderTransparent.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderTransparent.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderTransparent.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderYearly.png b/android/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderYearly.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderYearly.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/common/ScoreChart/renderYearly.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/common/StreakChart/render.png b/android/uhabits-android/src/androidTest/assets/views-v26/common/StreakChart/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/common/StreakChart/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/common/StreakChart/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/common/StreakChart/renderSmallSize.png b/android/uhabits-android/src/androidTest/assets/views-v26/common/StreakChart/renderSmallSize.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/common/StreakChart/renderSmallSize.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/common/StreakChart/renderSmallSize.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/common/StreakChart/renderTransparent.png b/android/uhabits-android/src/androidTest/assets/views-v26/common/StreakChart/renderTransparent.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/common/StreakChart/renderTransparent.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/common/StreakChart/renderTransparent.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkButtonView/render_explicit_check.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkButtonView/render_explicit_check.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkButtonView/render_explicit_check.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkButtonView/render_explicit_check.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkButtonView/render_implicit_check.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkButtonView/render_implicit_check.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkButtonView/render_implicit_check.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkButtonView/render_implicit_check.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkButtonView/render_unchecked.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkButtonView/render_unchecked.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkButtonView/render_unchecked.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkButtonView/render_unchecked.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkPanelView/render.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkPanelView/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkPanelView/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkPanelView/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkPanelView/render_different_color.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkPanelView/render_different_color.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkPanelView/render_different_color.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkPanelView/render_different_color.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkPanelView/render_offset.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkPanelView/render_offset.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkPanelView/render_offset.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkPanelView/render_offset.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkPanelView/render_reversed.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkPanelView/render_reversed.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkPanelView/render_reversed.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/habits/list/CheckmarkPanelView/render_reversed.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/list/HabitCardView/render.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HabitCardView/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/list/HabitCardView/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HabitCardView/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/list/HabitCardView/render_changed.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HabitCardView/render_changed.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/list/HabitCardView/render_changed.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HabitCardView/render_changed.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/list/HabitCardView/render_numerical.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HabitCardView/render_numerical.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/list/HabitCardView/render_numerical.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HabitCardView/render_numerical.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/list/HabitCardView/render_selected.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HabitCardView/render_selected.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/list/HabitCardView/render_selected.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HabitCardView/render_selected.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/list/HeaderView/render.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HeaderView/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/list/HeaderView/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HeaderView/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/list/HeaderView/render_reverse.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HeaderView/render_reverse.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/list/HeaderView/render_reverse.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HeaderView/render_reverse.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/list/HintView/render.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HintView/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/list/HintView/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/habits/list/HintView/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberButtonView/render_above.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberButtonView/render_above.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberButtonView/render_above.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberButtonView/render_above.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberButtonView/render_below.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberButtonView/render_below.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberButtonView/render_below.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberButtonView/render_below.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberButtonView/render_zero.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberButtonView/render_zero.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberButtonView/render_zero.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberButtonView/render_zero.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberPanelView/render.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberPanelView/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberPanelView/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberPanelView/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberPanelView/render_different_color.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberPanelView/render_different_color.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberPanelView/render_different_color.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberPanelView/render_different_color.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberPanelView/render_offset.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberPanelView/render_offset.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberPanelView/render_offset.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberPanelView/render_offset.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberPanelView/render_reversed.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberPanelView/render_reversed.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberPanelView/render_reversed.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/habits/list/NumberPanelView/render_reversed.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/show/FrequencyCard/render.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/show/FrequencyCard/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/show/FrequencyCard/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/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-v26/habits/show/HistoryCard/render.png
new file mode 100644
index 000000000..295b4e1be
Binary files /dev/null and b/android/uhabits-android/src/androidTest/assets/views-v26/habits/show/HistoryCard/render.png differ
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/show/OverviewCard/render.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/show/OverviewCard/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/show/OverviewCard/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/habits/show/OverviewCard/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/show/ScoreCard/render.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/show/ScoreCard/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/show/ScoreCard/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/habits/show/ScoreCard/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/show/StreakCard/render.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/show/StreakCard/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/show/StreakCard/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/habits/show/StreakCard/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/habits/show/SubtitleCard/render.png b/android/uhabits-android/src/androidTest/assets/views-v26/habits/show/SubtitleCard/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/habits/show/SubtitleCard/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/habits/show/SubtitleCard/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidget/render.png b/android/uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidget/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidget/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidget/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidgetView/checked.png b/android/uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidgetView/checked.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidgetView/checked.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidgetView/checked.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidgetView/implicitly_checked.png b/android/uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidgetView/implicitly_checked.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidgetView/implicitly_checked.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidgetView/implicitly_checked.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidgetView/large_size.png b/android/uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidgetView/large_size.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidgetView/large_size.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidgetView/large_size.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidgetView/unchecked.png b/android/uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidgetView/unchecked.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidgetView/unchecked.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/widgets/CheckmarkWidgetView/unchecked.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/widgets/FrequencyWidget/render.png b/android/uhabits-android/src/androidTest/assets/views-v26/widgets/FrequencyWidget/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/widgets/FrequencyWidget/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/widgets/FrequencyWidget/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/widgets/HistoryWidget/render.png b/android/uhabits-android/src/androidTest/assets/views-v26/widgets/HistoryWidget/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/widgets/HistoryWidget/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/widgets/HistoryWidget/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/widgets/ScoreWidget/render.png b/android/uhabits-android/src/androidTest/assets/views-v26/widgets/ScoreWidget/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/widgets/ScoreWidget/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/widgets/ScoreWidget/render.png
diff --git a/uhabits-android/src/androidTest/assets/views-v26/widgets/StreakWidget/render.png b/android/uhabits-android/src/androidTest/assets/views-v26/widgets/StreakWidget/render.png
similarity index 100%
rename from uhabits-android/src/androidTest/assets/views-v26/widgets/StreakWidget/render.png
rename to android/uhabits-android/src/androidTest/assets/views-v26/widgets/StreakWidget/render.png
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseAndroidTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseAndroidTest.java
similarity index 100%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseAndroidTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseAndroidTest.java
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseUserInterfaceTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseUserInterfaceTest.java
similarity index 96%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseUserInterfaceTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseUserInterfaceTest.java
index e2dfb6b1f..a7de248f9 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseUserInterfaceTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseUserInterfaceTest.java
@@ -54,6 +54,7 @@ public class BaseUserInterfaceTest
Intent intent = new Intent();
intent.setComponent(new ComponentName(PKG, cls.getCanonicalName()));
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent);
}
@@ -77,8 +78,7 @@ public class BaseUserInterfaceTest
@After
public void tearDown() throws Exception
{
- device.pressHome();
- device.waitForIdle();
+ for (int i = 0; i < 10; i++) device.pressBack();
TestButler.teardown(getTargetContext());
}
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseViewTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseViewTest.java
similarity index 100%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseViewTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/BaseViewTest.java
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/HabitFixtures.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/HabitFixtures.java
similarity index 100%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/HabitFixtures.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/HabitFixtures.java
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/HabitLoggerTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/HabitLoggerTest.java
similarity index 97%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/HabitLoggerTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/HabitLoggerTest.java
index ddf71ab1e..75f821787 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/HabitLoggerTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/HabitLoggerTest.java
@@ -20,8 +20,8 @@
package org.isoron.uhabits;
import android.os.*;
+import android.support.test.filters.*;
import android.support.test.runner.*;
-import android.test.suitebuilder.annotation.*;
import org.isoron.androidbase.*;
import org.isoron.uhabits.core.models.*;
@@ -30,8 +30,8 @@ import org.junit.runner.*;
import java.io.*;
-import static org.hamcrest.MatcherAssert.*;
import static org.hamcrest.CoreMatchers.*;
+import static org.hamcrest.MatcherAssert.*;
@RunWith(AndroidJUnit4.class)
@MediumTest
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/HabitsActivityTestComponent.kt b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/HabitsActivityTestComponent.kt
similarity index 100%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/HabitsActivityTestComponent.kt
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/HabitsActivityTestComponent.kt
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/HabitsApplicationTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/HabitsApplicationTest.java
similarity index 96%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/HabitsApplicationTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/HabitsApplicationTest.java
index cb6a83b6c..ea625adc6 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/HabitsApplicationTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/HabitsApplicationTest.java
@@ -19,8 +19,8 @@
package org.isoron.uhabits;
+import android.support.test.filters.*;
import android.support.test.runner.*;
-import android.test.suitebuilder.annotation.*;
import org.isoron.androidbase.*;
import org.junit.*;
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/HabitsApplicationTestComponent.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/HabitsApplicationTestComponent.java
similarity index 100%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/HabitsApplicationTestComponent.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/HabitsApplicationTestComponent.java
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/AboutTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/AboutTest.java
similarity index 93%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/AboutTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/AboutTest.java
index 9ae821e39..7fcd2d312 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/AboutTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/AboutTest.java
@@ -35,15 +35,17 @@ import static org.isoron.uhabits.acceptance.steps.ListHabitsSteps.*;
public class AboutTest extends BaseUserInterfaceTest
{
@Test
- public void shouldDisplayAboutScreen()
- {
+ public void shouldDisplayAboutScreen() {
launchApp();
clickMenu(ABOUT);
verifyDisplaysText("Loop Habit Tracker");
verifyDisplaysText("Rate this app on Google Play");
verifyDisplaysText("Developers");
verifyDisplaysText("Translators");
+ }
+ @Test
+ public void shouldDisplayAboutScreenFromSettings() {
launchApp();
clickMenu(SETTINGS);
clickText("About");
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/HabitsTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/HabitsTest.java
similarity index 100%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/HabitsTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/HabitsTest.java
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/LinksTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/LinksTest.java
similarity index 82%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/LinksTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/LinksTest.java
index ef5166838..fc0a729d1 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/LinksTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/LinksTest.java
@@ -43,22 +43,24 @@ public class LinksTest extends BaseUserInterfaceTest
verifyOpensWebsite("https://github.com/iSoron/uhabits");
}
- @Test
- public void shouldLinkToTranslationWebsite() throws Exception
- {
- launchApp();
- clickMenu(ABOUT);
- clickText("Help translate this app");
- verifyOpensWebsite("translate.loophabits.org");
- }
+// @Test
+// public void shouldLinkToTranslationWebsite() throws Exception
+// {
+// launchApp();
+// clickMenu(ABOUT);
+// clickText("Help translate this app");
+// verifyOpensWebsite("translate.loophabits.org");
+// }
@Test
- public void shouldLinkToHelp() throws Exception
- {
+ public void shouldLinkToHelp() throws Exception {
launchApp();
clickMenu(HELP);
verifyOpensWebsite("loophabits.org/faq.html");
+ }
+ @Test
+ public void shouldLinkToHelpFromSettings() throws Exception {
launchApp();
clickMenu(SETTINGS);
clickText("Help & FAQ");
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/WidgetTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/WidgetTest.java
similarity index 93%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/WidgetTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/WidgetTest.java
index 3035dfd4f..f5bcb4285 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/WidgetTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/WidgetTest.java
@@ -19,6 +19,8 @@
package org.isoron.uhabits.acceptance;
+import android.support.test.filters.*;
+
import org.isoron.uhabits.*;
import org.junit.*;
@@ -26,15 +28,13 @@ import static org.isoron.uhabits.acceptance.steps.CommonSteps.*;
import static org.isoron.uhabits.acceptance.steps.WidgetSteps.*;
import static org.isoron.uhabits.acceptance.steps.WidgetSteps.clickText;
+@LargeTest
public class WidgetTest extends BaseUserInterfaceTest
{
@Test
public void shouldCreateAndToggleCheckmarkWidget() throws Exception
{
- longPressHomeScreen();
- clickWidgets();
- scrollToHabits();
- dragWidgetToHomescreen();
+ dragCheckmarkWidgetToHomeScreen();
clickText("Wake up early");
verifyCheckmarkWidgetIsShown();
clickCheckmarkWidget();
diff --git a/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
similarity index 91%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/steps/CommonSteps.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/steps/CommonSteps.java
index 14b16144b..ab28be55b 100644
--- a/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
@@ -19,6 +19,7 @@
package org.isoron.uhabits.acceptance.steps;
+import android.os.*;
import android.support.annotation.*;
import android.support.test.espresso.*;
import android.support.test.espresso.contrib.*;
@@ -29,6 +30,8 @@ import org.isoron.uhabits.*;
import org.isoron.uhabits.R;
import org.isoron.uhabits.activities.habits.list.*;
+import static android.os.Build.VERSION.SDK_INT;
+import static android.os.Build.VERSION_CODES.LOLLIPOP;
import static android.support.test.espresso.Espresso.*;
import static android.support.test.espresso.action.ViewActions.*;
import static android.support.test.espresso.assertion.PositionAssertions.*;
@@ -136,10 +139,13 @@ public class CommonSteps extends BaseUserInterfaceTest
public static void verifyOpensWebsite(String url) throws Exception
{
- assertTrue(
- device.wait(Until.hasObject(By.pkg("com.android.chrome")), 5000));
+ String browser_pkg = "org.chromium.webview_shell";
+ if(SDK_INT <= 23) {
+ browser_pkg = "com.android.browser";
+ }
+ assertTrue(device.wait(Until.hasObject(By.pkg(browser_pkg)), 5000));
device.waitForIdle();
- assertTrue(device.findObject(new UiSelector().text(url)).exists());
+ assertTrue(device.findObject(new UiSelector().textContains(url)).exists());
}
public enum Screen
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/steps/EditHabitSteps.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/steps/EditHabitSteps.java
similarity index 100%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/steps/EditHabitSteps.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/steps/EditHabitSteps.java
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/steps/ListHabitsSteps.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/steps/ListHabitsSteps.java
similarity index 96%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/steps/ListHabitsSteps.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/steps/ListHabitsSteps.java
index c8784138e..fe93da24e 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/steps/ListHabitsSteps.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/steps/ListHabitsSteps.java
@@ -60,7 +60,7 @@ public abstract class ListHabitsSteps
break;
case ADD:
- clickViewWithId(R.id.actionAdd);
+ clickViewWithId(R.id.actionCreateBooleanHabit);
break;
case EDIT:
@@ -91,11 +91,8 @@ public abstract class ListHabitsSteps
}
}
- private static void clickTextInsideOverflowMenu(int id)
- {
- onView(allOf(withContentDescription("More options"), withParent(
- withParent(withClassName(endsWith("Toolbar")))))).perform(click());
-
+ private static void clickTextInsideOverflowMenu(int id) {
+ onView(allOf(withContentDescription("More options"), withParent(withParent(withClassName(endsWith("Toolbar")))))).perform(click());
onView(withText(id)).perform(click());
}
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
new file mode 100644
index 000000000..c8d70f22c
--- /dev/null
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/acceptance/steps/WidgetSteps.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2017 Álinson Santos Xavier
+ *
+ * This file is part of Loop Habit Tracker.
+ *
+ * Loop Habit Tracker is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by the
+ * Free Software Foundation, either version 3 of the License, or (at your
+ * option) any later version.
+ *
+ * Loop Habit Tracker is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see .
+ */
+
+package org.isoron.uhabits.acceptance.steps;
+
+import android.support.test.uiautomator.*;
+
+import static android.os.Build.VERSION.SDK_INT;
+import static junit.framework.Assert.*;
+import static org.isoron.uhabits.BaseUserInterfaceTest.*;
+
+public class WidgetSteps {
+ public static void clickCheckmarkWidget() throws Exception {
+ String view_id = "org.isoron.uhabits:id/imageView";
+ device.findObject(new UiSelector().resourceId(view_id)).click();
+ }
+
+ public static void clickText(String s) throws Exception {
+ UiObject object = device.findObject(new UiSelector().text(s));
+ if (!object.waitForExists(1000)) {
+ object = device.findObject(new UiSelector().text(s.toUpperCase()));
+ }
+ object.click();
+ }
+
+ public static void dragCheckmarkWidgetToHomeScreen() throws Exception {
+ openWidgetScreen();
+ dragWidgetToHomeScreen();
+ }
+
+ private static void dragWidgetToHomeScreen() throws Exception {
+ int height = device.getDisplayHeight();
+ int width = device.getDisplayWidth();
+ device.findObject(new UiSelector().text("Checkmark"))
+ .dragTo(width / 2, height / 2, 8);
+ }
+
+ private static void openWidgetScreen() throws Exception {
+ int h = device.getDisplayHeight();
+ int w = device.getDisplayWidth();
+ if (SDK_INT <= 21) {
+ device.pressHome();
+ device.waitForIdle();
+ device.findObject(new UiSelector().description("Apps")).click();
+ device.findObject(new UiSelector().description("Apps")).click();
+ device.findObject(new UiSelector().description("Widgets")).click();
+ } else {
+ String list_id = "com.android.launcher3:id/widgets_list_view";
+ device.pressHome();
+ device.waitForIdle();
+ device.drag(w / 2, h / 2, w / 2, h / 2, 8);
+ UiObject button = device.findObject(new UiSelector().text("WIDGETS"));
+ if(!button.waitForExists(1000)) {
+ button = device.findObject(new UiSelector().text("Widgets"));
+ }
+ button.click();
+ if (SDK_INT == 28) {
+ new UiScrollable(new UiSelector().resourceId(list_id))
+ .scrollForward();
+ }
+ new UiScrollable(new UiSelector().resourceId(list_id))
+ .scrollIntoView(new UiSelector().text("Checkmark"));
+ }
+ }
+
+ public static void verifyCheckmarkWidgetIsShown() throws Exception {
+ String view_id = "org.isoron.uhabits:id/imageView";
+ assertTrue(device.findObject(new UiSelector().resourceId(view_id)).exists());
+ assertFalse(device.findObject(new UiSelector().textStartsWith("Habit deleted")).exists());
+ }
+}
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/BarChartTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/BarChartTest.java
similarity index 100%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/BarChartTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/BarChartTest.java
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/FrequencyChartTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/FrequencyChartTest.java
similarity index 100%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/FrequencyChartTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/FrequencyChartTest.java
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/HistoryChartTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/HistoryChartTest.java
similarity index 100%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/HistoryChartTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/HistoryChartTest.java
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/RingViewTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/RingViewTest.java
similarity index 97%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/RingViewTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/RingViewTest.java
index 523d2cc9c..3b6907ca5 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/RingViewTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/RingViewTest.java
@@ -20,8 +20,8 @@
package org.isoron.uhabits.activities.common.views;
import android.graphics.*;
+import android.support.test.filters.*;
import android.support.test.runner.*;
-import android.test.suitebuilder.annotation.*;
import org.isoron.uhabits.*;
import org.isoron.uhabits.utils.*;
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/ScoreChartTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/ScoreChartTest.java
similarity index 98%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/ScoreChartTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/ScoreChartTest.java
index c9c072c2b..610631a30 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/ScoreChartTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/ScoreChartTest.java
@@ -19,8 +19,8 @@
package org.isoron.uhabits.activities.common.views;
+import android.support.test.filters.*;
import android.support.test.runner.*;
-import android.test.suitebuilder.annotation.*;
import org.isoron.uhabits.*;
import org.isoron.uhabits.core.models.*;
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/StreakChartTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/StreakChartTest.java
similarity index 97%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/StreakChartTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/StreakChartTest.java
index cb4761a45..c145b4799 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/StreakChartTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/common/views/StreakChartTest.java
@@ -19,8 +19,8 @@
package org.isoron.uhabits.activities.common.views;
+import android.support.test.filters.*;
import android.support.test.runner.*;
-import android.test.suitebuilder.annotation.*;
import org.isoron.uhabits.*;
import org.isoron.uhabits.core.models.*;
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkButtonViewTest.kt b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkButtonViewTest.kt
similarity index 100%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkButtonViewTest.kt
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkButtonViewTest.kt
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkPanelViewTest.kt b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkPanelViewTest.kt
similarity index 100%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkPanelViewTest.kt
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkPanelViewTest.kt
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/HabitCardViewTest.kt b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/HabitCardViewTest.kt
similarity index 100%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/HabitCardViewTest.kt
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/HabitCardViewTest.kt
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/HeaderViewTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/HeaderViewTest.java
similarity index 100%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/HeaderViewTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/HeaderViewTest.java
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/HintViewTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/HintViewTest.java
similarity index 95%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/HintViewTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/HintViewTest.java
index 44f512568..2bae80483 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/HintViewTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/HintViewTest.java
@@ -19,8 +19,8 @@
package org.isoron.uhabits.activities.habits.list.views;
+import android.support.test.filters.*;
import android.support.test.runner.*;
-import android.test.suitebuilder.annotation.*;
import org.isoron.uhabits.*;
import org.isoron.uhabits.core.ui.screens.habits.list.*;
@@ -28,7 +28,7 @@ import org.junit.*;
import org.junit.runner.*;
import static org.hamcrest.CoreMatchers.*;
-import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.MatcherAssert.*;
import static org.mockito.Mockito.*;
@RunWith(AndroidJUnit4.class)
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/NumberButtonViewTest.kt b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/NumberButtonViewTest.kt
similarity index 100%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/NumberButtonViewTest.kt
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/NumberButtonViewTest.kt
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/NumberPanelViewTest.kt b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/NumberPanelViewTest.kt
similarity index 100%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/NumberPanelViewTest.kt
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/NumberPanelViewTest.kt
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/FrequencyCardTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/FrequencyCardTest.java
similarity index 97%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/FrequencyCardTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/FrequencyCardTest.java
index 9b0b82efa..571f00c41 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/FrequencyCardTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/FrequencyCardTest.java
@@ -19,8 +19,8 @@
package org.isoron.uhabits.activities.habits.show.views;
+import android.support.test.filters.*;
import android.support.test.runner.*;
-import android.test.suitebuilder.annotation.*;
import android.view.*;
import org.isoron.uhabits.*;
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/HistoryCardTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/HistoryCardTest.java
similarity index 97%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/HistoryCardTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/HistoryCardTest.java
index 91bffd89a..1313e8afc 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/HistoryCardTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/HistoryCardTest.java
@@ -19,8 +19,8 @@
package org.isoron.uhabits.activities.habits.show.views;
+import android.support.test.filters.*;
import android.support.test.runner.*;
-import android.test.suitebuilder.annotation.*;
import android.view.*;
import org.isoron.uhabits.*;
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/OverviewCardTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/OverviewCardTest.java
similarity index 97%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/OverviewCardTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/OverviewCardTest.java
index 399cdf8a0..82b28ef76 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/OverviewCardTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/OverviewCardTest.java
@@ -19,8 +19,8 @@
package org.isoron.uhabits.activities.habits.show.views;
+import android.support.test.filters.*;
import android.support.test.runner.*;
-import android.test.suitebuilder.annotation.*;
import android.view.*;
import org.isoron.uhabits.*;
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/ScoreCardTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/ScoreCardTest.java
similarity index 97%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/ScoreCardTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/ScoreCardTest.java
index 16f3ae61b..39aee8640 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/ScoreCardTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/ScoreCardTest.java
@@ -19,8 +19,8 @@
package org.isoron.uhabits.activities.habits.show.views;
+import android.support.test.filters.*;
import android.support.test.runner.*;
-import android.test.suitebuilder.annotation.*;
import android.view.*;
import org.isoron.uhabits.*;
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/StreakCardTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/StreakCardTest.java
similarity index 97%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/StreakCardTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/StreakCardTest.java
index ef1a2a9a1..07927bccb 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/StreakCardTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/StreakCardTest.java
@@ -19,8 +19,8 @@
package org.isoron.uhabits.activities.habits.show.views;
+import android.support.test.filters.*;
import android.support.test.runner.*;
-import android.test.suitebuilder.annotation.*;
import android.view.*;
import org.isoron.uhabits.*;
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/SubtitleCardTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/SubtitleCardTest.java
similarity index 97%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/SubtitleCardTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/SubtitleCardTest.java
index 74564d8c6..eb29d1155 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/SubtitleCardTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/activities/habits/show/views/SubtitleCardTest.java
@@ -19,8 +19,8 @@
package org.isoron.uhabits.activities.habits.show.views;
+import android.support.test.filters.*;
import android.support.test.runner.*;
-import android.test.suitebuilder.annotation.*;
import android.view.*;
import org.isoron.uhabits.*;
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/database/AndroidDatabaseTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/database/AndroidDatabaseTest.java
similarity index 100%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/database/AndroidDatabaseTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/database/AndroidDatabaseTest.java
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/integration/SavedStateTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/integration/SavedStateTest.java
similarity index 100%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/integration/SavedStateTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/integration/SavedStateTest.java
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/performance/PerformanceTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/performance/PerformanceTest.java
similarity index 100%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/performance/PerformanceTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/performance/PerformanceTest.java
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/tasks/ExportCSVTaskTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/tasks/ExportCSVTaskTest.java
similarity index 84%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/tasks/ExportCSVTaskTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/tasks/ExportCSVTaskTest.java
index ab60fef88..0546713fa 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/tasks/ExportCSVTaskTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/tasks/ExportCSVTaskTest.java
@@ -19,23 +19,13 @@
package org.isoron.uhabits.tasks;
+import android.support.test.filters.*;
import android.support.test.runner.*;
-import android.test.suitebuilder.annotation.*;
-import org.isoron.androidbase.*;
import org.isoron.uhabits.*;
-import org.isoron.uhabits.core.models.*;
-import org.isoron.uhabits.core.tasks.*;
import org.junit.*;
import org.junit.runner.*;
-import java.io.*;
-import java.util.*;
-
-import static org.hamcrest.CoreMatchers.*;
-import static org.hamcrest.MatcherAssert.*;
-import static org.hamcrest.core.IsNot.not;
-
@RunWith(AndroidJUnit4.class)
@MediumTest
public class ExportCSVTaskTest extends BaseAndroidTest
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/tasks/ExportDBTaskTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/tasks/ExportDBTaskTest.java
similarity index 94%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/tasks/ExportDBTaskTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/tasks/ExportDBTaskTest.java
index 7f3fda4d1..1033233b4 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/tasks/ExportDBTaskTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/tasks/ExportDBTaskTest.java
@@ -19,16 +19,13 @@
package org.isoron.uhabits.tasks;
+import android.support.test.filters.*;
import android.support.test.runner.*;
-import android.test.suitebuilder.annotation.*;
-import org.isoron.androidbase.*;
import org.isoron.uhabits.*;
import org.junit.*;
import org.junit.runner.*;
-import java.io.*;
-
@RunWith(AndroidJUnit4.class)
@MediumTest
public class ExportDBTaskTest extends BaseAndroidTest
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/CheckmarkWidgetTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/CheckmarkWidgetTest.java
similarity index 98%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/CheckmarkWidgetTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/CheckmarkWidgetTest.java
index 130ec3b68..e7da51e49 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/CheckmarkWidgetTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/CheckmarkWidgetTest.java
@@ -19,8 +19,8 @@
package org.isoron.uhabits.widgets;
+import android.support.test.filters.*;
import android.support.test.runner.*;
-import android.test.suitebuilder.annotation.*;
import android.widget.*;
import org.isoron.uhabits.*;
@@ -28,8 +28,8 @@ import org.isoron.uhabits.core.models.*;
import org.junit.*;
import org.junit.runner.*;
-import static org.hamcrest.MatcherAssert.*;
import static org.hamcrest.CoreMatchers.*;
+import static org.hamcrest.MatcherAssert.*;
import static org.isoron.uhabits.core.models.Checkmark.*;
@RunWith(AndroidJUnit4.class)
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/FrequencyWidgetTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/FrequencyWidgetTest.java
similarity index 97%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/FrequencyWidgetTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/FrequencyWidgetTest.java
index 7ebd20992..7dccac3f2 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/FrequencyWidgetTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/FrequencyWidgetTest.java
@@ -19,8 +19,8 @@
package org.isoron.uhabits.widgets;
+import android.support.test.filters.*;
import android.support.test.runner.*;
-import android.test.suitebuilder.annotation.*;
import android.widget.*;
import org.isoron.uhabits.*;
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/HistoryWidgetTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/HistoryWidgetTest.java
similarity index 97%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/HistoryWidgetTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/HistoryWidgetTest.java
index 3a6427969..b6f19b4e9 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/HistoryWidgetTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/HistoryWidgetTest.java
@@ -19,8 +19,8 @@
package org.isoron.uhabits.widgets;
+import android.support.test.filters.*;
import android.support.test.runner.*;
-import android.test.suitebuilder.annotation.*;
import android.widget.*;
import org.isoron.uhabits.*;
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/ScoreWidgetTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/ScoreWidgetTest.java
similarity index 97%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/ScoreWidgetTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/ScoreWidgetTest.java
index 15b9e8c22..fbf79770a 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/ScoreWidgetTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/ScoreWidgetTest.java
@@ -19,8 +19,8 @@
package org.isoron.uhabits.widgets;
+import android.support.test.filters.*;
import android.support.test.runner.*;
-import android.test.suitebuilder.annotation.*;
import android.widget.*;
import org.isoron.uhabits.*;
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/StreakWidgetTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/StreakWidgetTest.java
similarity index 97%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/StreakWidgetTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/StreakWidgetTest.java
index 8e7e41ef2..338eceb53 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/StreakWidgetTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/StreakWidgetTest.java
@@ -19,8 +19,8 @@
package org.isoron.uhabits.widgets;
+import android.support.test.filters.*;
import android.support.test.runner.*;
-import android.test.suitebuilder.annotation.*;
import android.widget.*;
import org.isoron.uhabits.*;
diff --git a/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetViewTest.java b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetViewTest.java
similarity index 98%
rename from uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetViewTest.java
rename to android/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetViewTest.java
index c3f573319..d117372fa 100644
--- a/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetViewTest.java
+++ b/android/uhabits-android/src/androidTest/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetViewTest.java
@@ -19,8 +19,8 @@
package org.isoron.uhabits.widgets.views;
+import android.support.test.filters.*;
import android.support.test.runner.*;
-import android.test.suitebuilder.annotation.*;
import org.isoron.uhabits.*;
import org.isoron.uhabits.core.models.*;
diff --git a/uhabits-android/src/main/AndroidManifest.xml b/android/uhabits-android/src/main/AndroidManifest.xml
similarity index 98%
rename from uhabits-android/src/main/AndroidManifest.xml
rename to android/uhabits-android/src/main/AndroidManifest.xml
index 87472fbb4..2f371d686 100644
--- a/uhabits-android/src/main/AndroidManifest.xml
+++ b/android/uhabits-android/src/main/AndroidManifest.xml
@@ -19,9 +19,7 @@
-->
+ xmlns:android="http://schemas.android.com/apk/res/android">
diff --git a/uhabits-android/src/main/assets/cacert.pem b/android/uhabits-android/src/main/assets/cacert.pem
similarity index 100%
rename from uhabits-android/src/main/assets/cacert.pem
rename to android/uhabits-android/src/main/assets/cacert.pem
diff --git a/uhabits-android/src/main/assets/fontawesome-webfont.ttf b/android/uhabits-android/src/main/assets/fontawesome-webfont.ttf
similarity index 100%
rename from uhabits-android/src/main/assets/fontawesome-webfont.ttf
rename to android/uhabits-android/src/main/assets/fontawesome-webfont.ttf
diff --git a/uhabits-android/src/main/ic_launcher-web.png b/android/uhabits-android/src/main/ic_launcher-web.png
similarity index 100%
rename from uhabits-android/src/main/ic_launcher-web.png
rename to android/uhabits-android/src/main/ic_launcher-web.png
diff --git a/uhabits-android/src/main/ic_small_widget_preview-web.png b/android/uhabits-android/src/main/ic_small_widget_preview-web.png
similarity index 100%
rename from uhabits-android/src/main/ic_small_widget_preview-web.png
rename to android/uhabits-android/src/main/ic_small_widget_preview-web.png
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/HabitLogger.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/HabitLogger.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/HabitLogger.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/HabitLogger.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/HabitsApplication.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/HabitsApplication.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/HabitsApplication.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/HabitsApplication.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/HabitsApplicationComponent.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/HabitsApplicationComponent.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/HabitsApplicationComponent.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/HabitsApplicationComponent.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/HabitsBackupAgent.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/HabitsBackupAgent.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/HabitsBackupAgent.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/HabitsBackupAgent.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/HabitsDatabaseOpener.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/HabitsDatabaseOpener.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/HabitsDatabaseOpener.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/HabitsDatabaseOpener.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/HabitsModule.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/HabitsModule.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/HabitsModule.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/HabitsModule.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/AndroidThemeSwitcher.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/AndroidThemeSwitcher.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/AndroidThemeSwitcher.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/AndroidThemeSwitcher.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitModule.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitModule.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitModule.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitModule.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsActivity.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsActivity.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsActivity.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsActivity.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsActivityComponent.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsActivityComponent.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsActivityComponent.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsActivityComponent.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsActivityModule.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsActivityModule.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsActivityModule.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsActivityModule.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsDirFinder.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsDirFinder.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsDirFinder.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsDirFinder.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutActivity.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutActivity.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutActivity.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutActivity.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutModule.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutModule.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutModule.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutModule.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutRootView.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutRootView.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutRootView.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutRootView.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutScreen.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutScreen.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutScreen.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutScreen.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/ColorPickerDialog.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/ColorPickerDialog.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/ColorPickerDialog.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/ColorPickerDialog.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/ColorPickerDialogFactory.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/ColorPickerDialogFactory.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/ColorPickerDialogFactory.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/ColorPickerDialogFactory.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/ConfirmDeleteDialog.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/ConfirmDeleteDialog.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/ConfirmDeleteDialog.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/ConfirmDeleteDialog.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/HistoryEditorDialog.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/HistoryEditorDialog.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/HistoryEditorDialog.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/HistoryEditorDialog.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberPickerFactory.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberPickerFactory.kt
similarity index 96%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberPickerFactory.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberPickerFactory.kt
index b68942778..61aa65b9e 100644
--- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberPickerFactory.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberPickerFactory.kt
@@ -71,7 +71,7 @@ class NumberPickerFactory
}
.create()
- dialog.window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE)
+ dialog.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE)
InterfaceUtils.setupEditorAction(picker) { _, actionId, _ ->
if (actionId == EditorInfo.IME_ACTION_DONE)
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/WeekdayPickerDialog.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/WeekdayPickerDialog.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/WeekdayPickerDialog.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/WeekdayPickerDialog.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BarChart.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BarChart.java
similarity index 99%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BarChart.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BarChart.java
index b27e3281d..1ff047f6a 100644
--- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BarChart.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BarChart.java
@@ -433,7 +433,7 @@ public class BarChart extends ScrollableChart
primaryColor = Color.BLACK;
textColor = res.getColor(R.attr.mediumContrastTextColor);
gridColor = res.getColor(R.attr.lowContrastTextColor);
- backgroundColor = res.getColor(R.attr.cardBackgroundColor);
+ backgroundColor = res.getColor(R.attr.cardBgColor);
}
private void initDateFormats()
diff --git a/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
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BundleSavedState.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BundleSavedState.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/FrequencyChart.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/FrequencyChart.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/FrequencyChart.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/FrequencyChart.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/HabitChart.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/HabitChart.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/HabitChart.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/HabitChart.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/HistoryChart.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/HistoryChart.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/HistoryChart.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/HistoryChart.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/RingView.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/RingView.java
similarity index 98%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/RingView.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/RingView.java
index 0a29ca599..8c70a42fc 100644
--- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/RingView.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/RingView.java
@@ -242,7 +242,7 @@ public class RingView extends View
StyledResources res = new StyledResources(getContext());
if (backgroundColor == null)
- backgroundColor = res.getColor(R.attr.cardBackgroundColor);
+ backgroundColor = res.getColor(R.attr.cardBgColor);
if (inactiveColor == null)
inactiveColor = res.getColor(R.attr.highContrastTextColor);
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/ScoreChart.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/ScoreChart.java
similarity index 99%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/ScoreChart.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/ScoreChart.java
index 54975059b..8cc79e96c 100644
--- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/ScoreChart.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/ScoreChart.java
@@ -405,7 +405,7 @@ public class ScoreChart extends ScrollableChart
primaryColor = Color.BLACK;
textColor = res.getColor(R.attr.mediumContrastTextColor);
gridColor = res.getColor(R.attr.lowContrastTextColor);
- backgroundColor = res.getColor(R.attr.cardBackgroundColor);
+ backgroundColor = res.getColor(R.attr.cardBgColor);
}
private void initDateFormats()
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/ScrollableChart.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/ScrollableChart.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/ScrollableChart.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/ScrollableChart.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/StreakChart.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/StreakChart.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/StreakChart.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/StreakChart.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/TaskProgressBar.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/TaskProgressBar.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/TaskProgressBar.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/TaskProgressBar.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitDialog.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitDialog.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitDialog.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitDialog.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitDialogFactory.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitDialogFactory.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitDialogFactory.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitDialogFactory.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/ExampleEditText.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/ExampleEditText.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/ExampleEditText.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/ExampleEditText.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/FrequencyPanel.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/FrequencyPanel.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/FrequencyPanel.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/FrequencyPanel.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/NameDescriptionPanel.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/NameDescriptionPanel.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/NameDescriptionPanel.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/NameDescriptionPanel.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/ReminderPanel.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/ReminderPanel.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/ReminderPanel.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/ReminderPanel.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/TargetPanel.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/TargetPanel.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/TargetPanel.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/TargetPanel.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsActivity.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsActivity.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsActivity.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsActivity.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.kt
similarity index 89%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.kt
index 572ae0af1..47dfec5ee 100644
--- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.kt
@@ -33,12 +33,15 @@ class ListHabitsMenu @Inject constructor(
private val preferences: Preferences,
private val themeSwitcher: ThemeSwitcher,
private val behavior: ListHabitsMenuBehavior
-) : BaseMenu(activity) {
+) : BaseMenu(activity){
override fun onCreate(menu: Menu) {
val nightModeItem = menu.findItem(R.id.actionToggleNightMode)
val hideArchivedItem = menu.findItem(R.id.actionHideArchived)
val hideCompletedItem = menu.findItem(R.id.actionHideCompleted)
+ val addNumericalHabit = menu.findItem(R.id.actionCreateNumeralHabit)
+
+ addNumericalHabit.isVisible = preferences.isDeveloper
nightModeItem.isChecked = themeSwitcher.isNightMode
hideArchivedItem.isChecked = !preferences.showArchived
hideCompletedItem.isChecked = !preferences.showCompleted
@@ -51,8 +54,13 @@ class ListHabitsMenu @Inject constructor(
return true
}
- R.id.actionAdd -> {
- behavior.onCreateHabit()
+ R.id.actionCreateBooleanHabit -> {
+ behavior.onCreateBooleanHabit()
+ return true
+ }
+
+ R.id.actionCreateNumeralHabit -> {
+ behavior.onCreateNumericalHabit()
return true
}
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsModule.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsModule.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsModule.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsModule.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsRootView.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsRootView.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsRootView.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsRootView.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt
similarity index 93%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt
index bda22a46e..5ff44cacb 100644
--- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt
@@ -106,7 +106,7 @@ class ListHabitsScreen
if (data == null) return
if (resultCode != Activity.RESULT_OK) return
try {
- val inStream = activity.contentResolver.openInputStream(data.data)
+ val inStream = activity.contentResolver.openInputStream(data.data!!)
val cacheDir = activity.externalCacheDir
val tempFile = File.createTempFile("import", "", cacheDir)
FileUtils.copy(inStream, tempFile)
@@ -137,26 +137,14 @@ class ListHabitsScreen
activity.startActivity(intent)
}
- fun showCreateBooleanHabitScreen() {
+ override fun showCreateBooleanHabitScreen() {
val dialog = editHabitDialogFactory.createBoolean()
activity.showDialog(dialog, "editHabit")
}
- override fun showCreateHabitScreen() {
- if (!preferences.isNumericalHabitsFeatureEnabled) {
- showCreateBooleanHabitScreen()
- return
- }
-
- val dialog = AlertDialog.Builder(activity)
- .setTitle("Type of habit")
- .setItems(R.array.habitTypes) { _, which ->
- if (which == 0) showCreateBooleanHabitScreen()
- else showCreateNumericalHabitScreen()
- }
- .create()
-
- dialog.show()
+ override fun showCreateNumericalHabitScreen() {
+ val dialog = editHabitDialogFactory.createNumerical()
+ activity.showDialog(dialog, "editHabit")
}
override fun showDeleteConfirmationScreen(callback: OnConfirmedCallback) {
@@ -236,11 +224,6 @@ class ListHabitsScreen
}
}
- private fun showCreateNumericalHabitScreen() {
- val dialog = editHabitDialogFactory.createNumerical()
- activity.showDialog(dialog, "editHabit")
- }
-
private fun onImportData(file: File, onFinished: () -> Unit) {
taskRunner.execute(importTaskFactory.create(file) { result ->
if (result == ImportDataTask.SUCCESS) {
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsSelectionMenu.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsSelectionMenu.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsSelectionMenu.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsSelectionMenu.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/ButtonPanelView.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/ButtonPanelView.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/ButtonPanelView.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/ButtonPanelView.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkButtonView.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkButtonView.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkButtonView.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkButtonView.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkPanelView.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkPanelView.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkPanelView.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkPanelView.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/EmptyListView.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/EmptyListView.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/EmptyListView.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/EmptyListView.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListAdapter.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListAdapter.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListAdapter.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListAdapter.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListController.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListController.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListController.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListController.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListView.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListView.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListView.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListView.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardView.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardView.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardView.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardView.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardViewHolder.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardViewHolder.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardViewHolder.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardViewHolder.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HeaderView.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HeaderView.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HeaderView.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HeaderView.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HintView.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HintView.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HintView.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HintView.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/NumberButtonView.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/NumberButtonView.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/NumberButtonView.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/NumberButtonView.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/NumberPanelView.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/NumberPanelView.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/NumberPanelView.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/NumberPanelView.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/ShadowView.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/ShadowView.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/ShadowView.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/ShadowView.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitActivity.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitActivity.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitActivity.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitActivity.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitModule.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitModule.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitModule.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitModule.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitRootView.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitRootView.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitRootView.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitRootView.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitScreen.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitScreen.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitScreen.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitScreen.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitsMenu.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitsMenu.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitsMenu.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitsMenu.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/BarCard.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/BarCard.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/BarCard.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/BarCard.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/FrequencyCard.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/FrequencyCard.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/FrequencyCard.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/FrequencyCard.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/HabitCard.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/HabitCard.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/HabitCard.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/HabitCard.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/HistoryCard.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/HistoryCard.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/HistoryCard.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/HistoryCard.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/OverviewCard.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/OverviewCard.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/OverviewCard.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/OverviewCard.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/ScoreCard.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/ScoreCard.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/ScoreCard.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/ScoreCard.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/StreakCard.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/StreakCard.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/StreakCard.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/StreakCard.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/SubtitleCard.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/SubtitleCard.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/SubtitleCard.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/SubtitleCard.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/intro/IntroActivity.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/intro/IntroActivity.kt
similarity index 57%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/intro/IntroActivity.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/intro/IntroActivity.kt
index 4fe80138c..f405a072f 100644
--- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/intro/IntroActivity.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/intro/IntroActivity.kt
@@ -17,52 +17,41 @@
* with this program. If not, see .
*/
-package org.isoron.uhabits.activities.intro;
+package org.isoron.uhabits.activities.intro
-import android.graphics.*;
-import android.os.*;
+import android.graphics.*
+import android.os.*
-import com.github.paolorotolo.appintro.*;
+import com.github.paolorotolo.appintro.*
-import org.isoron.uhabits.R;
+import org.isoron.uhabits.R
/**
* Activity that introduces the app to the user, shown only after the app is
* launched for the first time.
*/
-public class IntroActivity extends AppIntro2
-{
- @Override
- public void init(Bundle savedInstanceState)
- {
- showStatusBar(false);
+class IntroActivity : AppIntro2() {
+ override fun init(savedInstanceState: Bundle?) {
+ showStatusBar(false)
addSlide(AppIntroFragment.newInstance(getString(R.string.intro_title_1),
- getString(R.string.intro_description_1), R.drawable.intro_icon_1,
- Color.parseColor("#194673")));
+ getString(R.string.intro_description_1), R.drawable.intro_icon_1,
+ Color.parseColor("#194673")))
addSlide(AppIntroFragment.newInstance(getString(R.string.intro_title_2),
- getString(R.string.intro_description_2), R.drawable.intro_icon_2,
- Color.parseColor("#ffa726")));
+ getString(R.string.intro_description_2), R.drawable.intro_icon_2,
+ Color.parseColor("#ffa726")))
addSlide(AppIntroFragment.newInstance(getString(R.string.intro_title_4),
- getString(R.string.intro_description_4), R.drawable.intro_icon_4,
- Color.parseColor("#9575cd")));
+ getString(R.string.intro_description_4), R.drawable.intro_icon_4,
+ Color.parseColor("#9575cd")))
}
- @Override
- public void onNextPressed()
- {
- }
+ override fun onNextPressed() {}
- @Override
- public void onDonePressed()
- {
- finish();
+ override fun onDonePressed() {
+ finish()
}
- @Override
- public void onSlideChanged()
- {
- }
+ override fun onSlideChanged() {}
}
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/settings/SettingsActivity.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/settings/SettingsActivity.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/settings/SettingsActivity.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/settings/SettingsActivity.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/settings/SettingsFragment.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/settings/SettingsFragment.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/activities/settings/SettingsFragment.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/activities/settings/SettingsFragment.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingActivity.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingActivity.kt
similarity index 95%
rename from uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingActivity.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingActivity.kt
index 0c7ef8a2d..9170d8311 100644
--- a/uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingActivity.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingActivity.kt
@@ -35,8 +35,10 @@ class EditSettingActivity : BaseActivity() {
.setCompletedAllowed(true)
.build())
+ val args = SettingUtils.parseIntent(this.intent, habits)
+
val controller = EditSettingController(this)
- val rootView = EditSettingRootView(this, habits, controller)
+ val rootView = EditSettingRootView(this, habits, controller, args)
val screen = BaseScreen(this)
screen.setRootView(rootView)
setScreen(screen)
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingController.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingController.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingController.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingController.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingRootView.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingRootView.kt
similarity index 91%
rename from uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingRootView.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingRootView.kt
index df149d946..ac30043bc 100644
--- a/uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingRootView.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingRootView.kt
@@ -34,7 +34,8 @@ import java.util.*
class EditSettingRootView(
context: Context,
private val habitList: HabitList,
- private val controller: EditSettingController
+ private val controller: EditSettingController,
+ args: SettingUtils.Arguments?
) : BaseRootView(context) {
@BindView(R.id.toolbar)
@@ -50,6 +51,11 @@ class EditSettingRootView(
addView(inflate(getContext(), R.layout.automation, null))
ButterKnife.bind(this)
populateHabitSpinner()
+
+ args?.let {
+ habitSpinner.setSelection(habitList.indexOf(it.habit))
+ actionSpinner.setSelection(it.action)
+ }
}
override fun getToolbar(): Toolbar {
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/automation/FireSettingReceiver.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/automation/FireSettingReceiver.kt
similarity index 83%
rename from uhabits-android/src/main/java/org/isoron/uhabits/automation/FireSettingReceiver.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/automation/FireSettingReceiver.kt
index 51a770753..a5d63ade5 100644
--- a/uhabits-android/src/main/java/org/isoron/uhabits/automation/FireSettingReceiver.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/automation/FireSettingReceiver.kt
@@ -44,7 +44,7 @@ class FireSettingReceiver : BroadcastReceiver() {
.habitsApplicationComponent(app.component)
.build()
allHabits = app.component.habitList
- val args = parseIntent(intent) ?: return
+ val args = SettingUtils.parseIntent(intent, allHabits) ?: return
val timestamp = DateUtils.getToday()
val controller = component.widgetController
@@ -55,19 +55,9 @@ class FireSettingReceiver : BroadcastReceiver() {
}
}
- private fun parseIntent(intent: Intent): Arguments? {
- val bundle = intent.getBundleExtra(EXTRA_BUNDLE) ?: return null
- val action = bundle.getInt("action")
- if (action < 0 || action > 2) return null
- val habit = allHabits.getById(bundle.getLong("habit")) ?: return null
- return Arguments(action, habit)
- }
-
@ReceiverScope
@Component(dependencies = arrayOf(HabitsApplicationComponent::class))
internal interface ReceiverComponent {
val widgetController: WidgetBehavior
}
-
- private class Arguments(var action: Int, var habit: Habit)
}
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/automation/SettingUtils.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/automation/SettingUtils.kt
new file mode 100644
index 000000000..7a8b0310a
--- /dev/null
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/automation/SettingUtils.kt
@@ -0,0 +1,18 @@
+package org.isoron.uhabits.automation
+
+import android.content.Intent
+import org.isoron.uhabits.core.models.Habit
+import org.isoron.uhabits.core.models.HabitList
+
+object SettingUtils {
+ @JvmStatic
+ fun parseIntent(intent: Intent, allHabits: HabitList): Arguments? {
+ val bundle = intent.getBundleExtra(EXTRA_BUNDLE) ?: return null
+ val action = bundle.getInt("action")
+ if (action < 0 || action > 2) return null
+ val habit = allHabits.getById(bundle.getLong("habit")) ?: return null
+ return Arguments(action, habit)
+ }
+
+ class Arguments(var action: Int, var habit: Habit)
+}
\ No newline at end of file
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/database/AndroidCursor.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/database/AndroidCursor.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/database/AndroidCursor.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/database/AndroidCursor.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/database/AndroidDatabase.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/database/AndroidDatabase.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/database/AndroidDatabase.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/database/AndroidDatabase.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/database/AndroidDatabaseOpener.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/database/AndroidDatabaseOpener.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/database/AndroidDatabaseOpener.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/database/AndroidDatabaseOpener.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentFactory.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentFactory.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentFactory.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentFactory.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentParser.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentParser.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentParser.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentParser.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentScheduler.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentScheduler.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentScheduler.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentScheduler.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/intents/PendingIntentFactory.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/intents/PendingIntentFactory.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/intents/PendingIntentFactory.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/intents/PendingIntentFactory.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/notifications/AndroidNotificationTray.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/notifications/AndroidNotificationTray.kt
similarity index 88%
rename from uhabits-android/src/main/java/org/isoron/uhabits/notifications/AndroidNotificationTray.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/notifications/AndroidNotificationTray.kt
index 468fa678c..c588acddd 100644
--- a/uhabits-android/src/main/java/org/isoron/uhabits/notifications/AndroidNotificationTray.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/notifications/AndroidNotificationTray.kt
@@ -28,6 +28,7 @@ import android.os.Build.VERSION.*
import android.support.annotation.*
import android.support.v4.app.*
import android.support.v4.app.NotificationCompat.*
+import android.util.*
import org.isoron.androidbase.*
import org.isoron.uhabits.R
import org.isoron.uhabits.core.*
@@ -71,14 +72,23 @@ class AndroidNotificationTray
notificationManager.notify(Int.MAX_VALUE, summary)
val notification = buildNotification(habit, reminderTime, timestamp)
createAndroidNotificationChannel(context)
- notificationManager.notify(notificationId, notification)
+ try {
+ notificationManager.notify(notificationId, notification)
+ } catch (e: RuntimeException) {
+ // Some Xiaomi phones produce a RuntimeException if custom notification sounds are used.
+ Log.i("AndroidNotificationTray", "Failed to show notification. Retrying without sound.")
+ val n = buildNotification(habit, reminderTime, timestamp, disableSound = true)
+ notificationManager.notify(notificationId, n)
+
+ }
active.add(notificationId)
}
@NonNull
fun buildNotification(@NonNull habit: Habit,
@NonNull reminderTime: Long,
- @NonNull timestamp: Timestamp) : Notification
+ @NonNull timestamp: Timestamp,
+ disableSound: Boolean = false) : Notification
{
val addRepetitionAction = Action(
@@ -109,12 +119,15 @@ class AndroidNotificationTray
.setDeleteIntent(pendingIntents.dismissNotification(habit))
.addAction(addRepetitionAction)
.addAction(removeRepetitionAction)
- .setSound(ringtoneManager.getURI())
+ .setSound(null)
.setWhen(reminderTime)
.setShowWhen(true)
.setOngoing(preferences.shouldMakeNotificationsSticky())
.setGroup("default")
+ if (!disableSound)
+ builder.setSound(ringtoneManager.getURI())
+
if (preferences.shouldMakeNotificationsLed())
builder.setLights(Color.RED, 1000, 1000)
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/notifications/RingtoneManager.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/notifications/RingtoneManager.kt
similarity index 99%
rename from uhabits-android/src/main/java/org/isoron/uhabits/notifications/RingtoneManager.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/notifications/RingtoneManager.kt
index ff91467d0..f29382eac 100644
--- a/uhabits-android/src/main/java/org/isoron/uhabits/notifications/RingtoneManager.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/notifications/RingtoneManager.kt
@@ -55,7 +55,7 @@ class RingtoneManager
var ringtoneUri: Uri? = null
val defaultRingtoneUri = Settings.System.DEFAULT_NOTIFICATION_URI
val prefRingtoneUri = prefs.getString("pref_ringtone_uri",
- defaultRingtoneUri.toString())
+ defaultRingtoneUri.toString())!!
if (prefRingtoneUri.isNotEmpty())
ringtoneUri = Uri.parse(prefRingtoneUri)
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/notifications/SnoozeDelayPickerActivity.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/notifications/SnoozeDelayPickerActivity.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/notifications/SnoozeDelayPickerActivity.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/notifications/SnoozeDelayPickerActivity.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/preferences/SharedPreferencesStorage.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/preferences/SharedPreferencesStorage.kt
similarity index 98%
rename from uhabits-android/src/main/java/org/isoron/uhabits/preferences/SharedPreferencesStorage.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/preferences/SharedPreferencesStorage.kt
index cc7553deb..55a9defa7 100644
--- a/uhabits-android/src/main/java/org/isoron/uhabits/preferences/SharedPreferencesStorage.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/preferences/SharedPreferencesStorage.kt
@@ -55,7 +55,7 @@ class SharedPreferencesStorage
sharedPrefs.getLong(key, defValue)
override fun getString(key: String, defValue: String): String =
- sharedPrefs.getString(key, defValue)
+ sharedPrefs.getString(key, defValue)!!
override fun onAttached(preferences: Preferences) {
this.preferences = preferences
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/receivers/ConnectivityReceiver.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/receivers/ConnectivityReceiver.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/receivers/ConnectivityReceiver.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/receivers/ConnectivityReceiver.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/receivers/ReceiverScope.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/receivers/ReceiverScope.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/receivers/ReceiverScope.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/receivers/ReceiverScope.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/receivers/ReminderController.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/receivers/ReminderController.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/receivers/ReminderController.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/receivers/ReminderController.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/receivers/ReminderReceiver.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/receivers/ReminderReceiver.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/receivers/ReminderReceiver.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/receivers/ReminderReceiver.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/receivers/WidgetReceiver.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/receivers/WidgetReceiver.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/receivers/WidgetReceiver.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/receivers/WidgetReceiver.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/sync/Event.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/sync/Event.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/sync/Event.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/sync/Event.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/sync/SyncManager.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/sync/SyncManager.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/sync/SyncManager.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/sync/SyncManager.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/sync/SyncService.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/sync/SyncService.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/sync/SyncService.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/sync/SyncService.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/tasks/AndroidTaskRunner.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/tasks/AndroidTaskRunner.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/tasks/AndroidTaskRunner.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/tasks/AndroidTaskRunner.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/tasks/ExportDBTask.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/tasks/ExportDBTask.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/tasks/ExportDBTask.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/tasks/ExportDBTask.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/tasks/ImportDataTask.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/tasks/ImportDataTask.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/tasks/ImportDataTask.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/tasks/ImportDataTask.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/utils/AndroidDateFormats.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/utils/AndroidDateFormats.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/utils/AndroidDateFormats.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/utils/AndroidDateFormats.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/utils/AndroidDateUtils.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/utils/AndroidDateUtils.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/utils/AndroidDateUtils.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/utils/AndroidDateUtils.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/utils/AttributeSetUtils.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/utils/AttributeSetUtils.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/utils/AttributeSetUtils.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/utils/AttributeSetUtils.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/utils/DatabaseUtils.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/utils/DatabaseUtils.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/utils/DatabaseUtils.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/utils/DatabaseUtils.java
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/utils/PaletteUtils.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/utils/PaletteUtils.kt
new file mode 100644
index 000000000..6e205a5a6
--- /dev/null
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/utils/PaletteUtils.kt
@@ -0,0 +1,54 @@
+package org.isoron.uhabits.utils
+
+import android.content.Context
+import android.graphics.Color
+import android.util.Log
+import org.isoron.androidbase.utils.StyledResources
+
+object PaletteUtils {
+
+ @JvmStatic
+ fun colorToPaletteIndex(context: Context, color: Int): Int {
+ val palette = StyledResources(context).palette
+ return palette.indexOf(color)
+ }
+
+ @JvmStatic
+ fun getAndroidTestColor(index: Int): Int {
+ val palette = intArrayOf(
+ Color.parseColor("#D32F2F"), // 0 red
+ Color.parseColor("#E64A19"), // 1 deep orange
+ Color.parseColor("#F57C00"), // 2 orange
+ Color.parseColor("#FF8F00"), // 3 amber
+ Color.parseColor("#F9A825"), // 4 yellow
+ Color.parseColor("#AFB42B"), // 5 lime
+ Color.parseColor("#7CB342"), // 6 light green
+ Color.parseColor("#388E3C"), // 7 green
+ Color.parseColor("#00897B"), // 8 teal
+ Color.parseColor("#00ACC1"), // 9 cyan
+ Color.parseColor("#039BE5"), // 10 light blue
+ Color.parseColor("#1976D2"), // 11 blue
+ Color.parseColor("#303F9F"), // 12 indigo
+ Color.parseColor("#5E35B1"), // 13 deep purple
+ Color.parseColor("#8E24AA"), // 14 purple
+ Color.parseColor("#D81B60"), // 15 pink
+ Color.parseColor("#5D4037"), // 16 brown
+ Color.parseColor("#303030"), // 17 dark grey
+ Color.parseColor("#757575"), // 18 grey
+ Color.parseColor("#aaaaaa") // 19 light grey
+ )
+
+ return palette[index]
+ }
+
+ @JvmStatic
+ fun getColor(context: Context, paletteColor: Int): Int {
+ val palette = StyledResources(context).palette
+ return if (paletteColor in palette.indices) {
+ palette[paletteColor]
+ } else {
+ Log.w("ColorHelper", "Invalid color: $paletteColor. Returning default.")
+ palette[0]
+ }
+ }
+}
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/utils/ViewExtensions.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/utils/ViewExtensions.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/utils/ViewExtensions.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/utils/ViewExtensions.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/widgets/BaseWidget.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/BaseWidget.java
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/widgets/BaseWidget.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/BaseWidget.java
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/widgets/BaseWidgetProvider.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/BaseWidgetProvider.java
similarity index 95%
rename from uhabits-android/src/main/java/org/isoron/uhabits/widgets/BaseWidgetProvider.java
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/BaseWidgetProvider.java
index 41405276a..edd2ce29f 100644
--- a/uhabits-android/src/main/java/org/isoron/uhabits/widgets/BaseWidgetProvider.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/BaseWidgetProvider.java
@@ -38,6 +38,7 @@ public abstract class BaseWidgetProvider extends AppWidgetProvider
{
private HabitList habits;
+ private Preferences preferences;
private WidgetPreferences widgetPrefs;
public static void updateAppWidget(@NonNull AppWidgetManager manager,
@@ -122,10 +123,14 @@ public abstract class BaseWidgetProvider extends AppWidgetProvider
if (context == null) throw new RuntimeException("context is null");
if (manager == null) throw new RuntimeException("manager is null");
if (widgetIds == null) throw new RuntimeException("widgetIds is null");
- context.setTheme(R.style.OpaqueWidgetTheme);
-
updateDependencies(context);
+ if(preferences.isWidgetStackEnabled()) {
+ context.setTheme(R.style.OpaqueWidgetTheme);
+ } else {
+ context.setTheme(R.style.TransparentWidgetTheme);
+ }
+
new Thread(() ->
{
Looper.prepare();
@@ -193,6 +198,7 @@ public abstract class BaseWidgetProvider extends AppWidgetProvider
HabitsApplication app =
(HabitsApplication) context.getApplicationContext();
habits = app.getComponent().getHabitList();
+ preferences = app.getComponent().getPreferences();
widgetPrefs = app.getComponent().getWidgetPreferences();
}
}
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/widgets/CheckmarkWidget.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/CheckmarkWidget.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/widgets/CheckmarkWidget.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/CheckmarkWidget.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/widgets/CheckmarkWidgetProvider.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/CheckmarkWidgetProvider.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/widgets/CheckmarkWidgetProvider.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/CheckmarkWidgetProvider.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/widgets/EmptyWidget.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/EmptyWidget.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/widgets/EmptyWidget.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/EmptyWidget.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/widgets/FrequencyWidget.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/FrequencyWidget.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/widgets/FrequencyWidget.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/FrequencyWidget.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/widgets/FrequencyWidgetProvider.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/FrequencyWidgetProvider.kt
similarity index 100%
rename from uhabits-android/src/main/java/org/isoron/uhabits/widgets/FrequencyWidgetProvider.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/FrequencyWidgetProvider.kt
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/widgets/HabitPickerDialog.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/HabitPickerDialog.kt
similarity index 55%
rename from uhabits-android/src/main/java/org/isoron/uhabits/widgets/HabitPickerDialog.kt
rename to android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/HabitPickerDialog.kt
index 3b405b6c3..0ff16d9ef 100644
--- a/uhabits-android/src/main/java/org/isoron/uhabits/widgets/HabitPickerDialog.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/HabitPickerDialog.kt
@@ -26,28 +26,25 @@ import android.os.*
import android.widget.*
import android.widget.AbsListView.*
import org.isoron.uhabits.*
-import org.isoron.uhabits.core.models.*
import org.isoron.uhabits.core.preferences.*
import java.util.*
class HabitPickerDialog : Activity() {
private var widgetId = 0
- private lateinit var habitList: HabitList
- private lateinit var preferences: WidgetPreferences
- private lateinit var habitIds: ArrayList
+ private lateinit var widgetPreferences: WidgetPreferences
private lateinit var widgetUpdater: WidgetUpdater
- private lateinit var listView: ListView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val component = (applicationContext as HabitsApplication).component
- habitList = component.habitList
- preferences = component.widgetPreferences
+ val habitList = component.habitList
+ val preferences = component.preferences
+ widgetPreferences = component.widgetPreferences
widgetUpdater = component.widgetUpdater
widgetId = intent.extras?.getInt(EXTRA_APPWIDGET_ID, INVALID_APPWIDGET_ID) ?: 0
- habitIds = ArrayList()
+ val habitIds = ArrayList()
val habitNames = ArrayList()
for (h in habitList) {
if (h.isArchived) continue
@@ -56,30 +53,47 @@ class HabitPickerDialog : Activity() {
}
setContentView(R.layout.widget_configure_activity)
- listView = findViewById(R.id.listView) as ListView
+ val listView = findViewById(R.id.listView)
+ val saveButton = findViewById
साल
समय में
- \"
-हर %d दिन\"
- \"
-हर %d हफ्ते\"
- \"
-हर %d महीने\"
+ हर %d दिन
+ हर %d हफ्ते
+ हर %d महीने
स्कोर
अनुस्मारक ध्वनि
- \"
-कोई आवाज नहीं\"
+ कोई आवाज नहीं
फिल्टर
डेटाबेस को रिपेयर करें
डेटाबेस रिपेयर सफल
diff --git a/uhabits-android/src/main/res/values-hr/strings.xml b/android/uhabits-android/src/main/res/values-hr/strings.xml
similarity index 100%
rename from uhabits-android/src/main/res/values-hr/strings.xml
rename to android/uhabits-android/src/main/res/values-hr/strings.xml
diff --git a/uhabits-android/src/main/res/values-hu/strings.xml b/android/uhabits-android/src/main/res/values-hu/strings.xml
similarity index 100%
rename from uhabits-android/src/main/res/values-hu/strings.xml
rename to android/uhabits-android/src/main/res/values-hu/strings.xml
diff --git a/uhabits-android/src/main/res/values-in/strings.xml b/android/uhabits-android/src/main/res/values-in/strings.xml
similarity index 100%
rename from uhabits-android/src/main/res/values-in/strings.xml
rename to android/uhabits-android/src/main/res/values-in/strings.xml
diff --git a/uhabits-android/src/main/res/values-it/strings.xml b/android/uhabits-android/src/main/res/values-it/strings.xml
similarity index 100%
rename from uhabits-android/src/main/res/values-it/strings.xml
rename to android/uhabits-android/src/main/res/values-it/strings.xml
diff --git a/uhabits-android/src/main/res/values-iw/strings.xml b/android/uhabits-android/src/main/res/values-iw/strings.xml
similarity index 99%
rename from uhabits-android/src/main/res/values-iw/strings.xml
rename to android/uhabits-android/src/main/res/values-iw/strings.xml
index cc4486ab7..80b7baf15 100644
--- a/uhabits-android/src/main/res/values-iw/strings.xml
+++ b/android/uhabits-android/src/main/res/values-iw/strings.xml
@@ -165,7 +165,7 @@
תיקון מסד נתונים
מאגר נתונים תוקן.
ביטול סימון
- הפעלה \ כיבוי
+ הפעלה כיבוי
פעולה
הרגל
מיון
diff --git a/uhabits-android/src/main/res/values-ja/strings.xml b/android/uhabits-android/src/main/res/values-ja/strings.xml
similarity index 100%
rename from uhabits-android/src/main/res/values-ja/strings.xml
rename to android/uhabits-android/src/main/res/values-ja/strings.xml
diff --git a/uhabits-android/src/main/res/values-ko/strings.xml b/android/uhabits-android/src/main/res/values-ko/strings.xml
similarity index 100%
rename from uhabits-android/src/main/res/values-ko/strings.xml
rename to android/uhabits-android/src/main/res/values-ko/strings.xml
diff --git a/uhabits-android/src/main/res/values-nl/strings.xml b/android/uhabits-android/src/main/res/values-nl/strings.xml
similarity index 100%
rename from uhabits-android/src/main/res/values-nl/strings.xml
rename to android/uhabits-android/src/main/res/values-nl/strings.xml
diff --git a/uhabits-android/src/main/res/values-no-rNO/strings.xml b/android/uhabits-android/src/main/res/values-no-rNO/strings.xml
similarity index 100%
rename from uhabits-android/src/main/res/values-no-rNO/strings.xml
rename to android/uhabits-android/src/main/res/values-no-rNO/strings.xml
diff --git a/uhabits-android/src/main/res/values-pl/strings.xml b/android/uhabits-android/src/main/res/values-pl/strings.xml
similarity index 100%
rename from uhabits-android/src/main/res/values-pl/strings.xml
rename to android/uhabits-android/src/main/res/values-pl/strings.xml
diff --git a/uhabits-android/src/main/res/values-pt-rBR/strings.xml b/android/uhabits-android/src/main/res/values-pt-rBR/strings.xml
similarity index 100%
rename from uhabits-android/src/main/res/values-pt-rBR/strings.xml
rename to android/uhabits-android/src/main/res/values-pt-rBR/strings.xml
diff --git a/uhabits-android/src/main/res/values-pt-rPT/strings.xml b/android/uhabits-android/src/main/res/values-pt-rPT/strings.xml
similarity index 100%
rename from uhabits-android/src/main/res/values-pt-rPT/strings.xml
rename to android/uhabits-android/src/main/res/values-pt-rPT/strings.xml
diff --git a/uhabits-android/src/main/res/values-ro/strings.xml b/android/uhabits-android/src/main/res/values-ro/strings.xml
similarity index 100%
rename from uhabits-android/src/main/res/values-ro/strings.xml
rename to android/uhabits-android/src/main/res/values-ro/strings.xml
diff --git a/uhabits-android/src/main/res/values-ru/strings.xml b/android/uhabits-android/src/main/res/values-ru/strings.xml
similarity index 100%
rename from uhabits-android/src/main/res/values-ru/strings.xml
rename to android/uhabits-android/src/main/res/values-ru/strings.xml
diff --git a/uhabits-android/src/main/res/values-sl/strings.xml b/android/uhabits-android/src/main/res/values-sl/strings.xml
similarity index 100%
rename from uhabits-android/src/main/res/values-sl/strings.xml
rename to android/uhabits-android/src/main/res/values-sl/strings.xml
diff --git a/uhabits-android/src/main/res/values-sr/strings.xml b/android/uhabits-android/src/main/res/values-sr/strings.xml
similarity index 100%
rename from uhabits-android/src/main/res/values-sr/strings.xml
rename to android/uhabits-android/src/main/res/values-sr/strings.xml
diff --git a/uhabits-android/src/main/res/values-sv/strings.xml b/android/uhabits-android/src/main/res/values-sv/strings.xml
similarity index 100%
rename from uhabits-android/src/main/res/values-sv/strings.xml
rename to android/uhabits-android/src/main/res/values-sv/strings.xml
diff --git a/uhabits-android/src/main/res/values-tr/strings.xml b/android/uhabits-android/src/main/res/values-tr/strings.xml
similarity index 100%
rename from uhabits-android/src/main/res/values-tr/strings.xml
rename to android/uhabits-android/src/main/res/values-tr/strings.xml
diff --git a/uhabits-android/src/main/res/values-uk/strings.xml b/android/uhabits-android/src/main/res/values-uk/strings.xml
similarity index 100%
rename from uhabits-android/src/main/res/values-uk/strings.xml
rename to android/uhabits-android/src/main/res/values-uk/strings.xml
diff --git a/uhabits-android/src/main/res/values-v21/styles.xml b/android/uhabits-android/src/main/res/values-v21/styles.xml
similarity index 93%
rename from uhabits-android/src/main/res/values-v21/styles.xml
rename to android/uhabits-android/src/main/res/values-v21/styles.xml
index a1ebac70b..bb796446d 100644
--- a/uhabits-android/src/main/res/values-v21/styles.xml
+++ b/android/uhabits-android/src/main/res/values-v21/styles.xml
@@ -20,7 +20,7 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+