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