├── .gradle ├── 5.2.1 │ ├── gc.properties │ ├── fileChanges │ │ └── last-build.bin │ └── fileHashes │ │ └── fileHashes.lock ├── vcs-1 │ └── gc.properties └── buildOutputCleanup │ ├── cache.properties │ └── buildOutputCleanup.lock ├── assets ├── app-logo.png ├── welcome-1.png ├── welcome-2.png ├── welcome-3.png ├── no-habit-dark.png ├── no-habit-light.png └── topics │ ├── DoogieDoodle.png │ ├── IceCreamDoodle.png │ ├── ReadingDoodle.png │ ├── SwingingDoodle.png │ ├── MeditatingDoodle.png │ ├── StrollingDoodle.png │ ├── dark │ ├── DoogieDoodle.png │ ├── IceCreamDoodle.png │ ├── ReadingDoodle.png │ ├── SwingingDoodle.png │ ├── MeditatingDoodle.png │ └── StrollingDoodle.png │ └── light │ ├── DoogieDoodle.png │ ├── ReadingDoodle.png │ ├── IceCreamDoodle.png │ ├── MeditatingDoodle.png │ ├── StrollingDoodle.png │ └── SwingingDoodle.png ├── marketing ├── app-logo.png ├── gh-logo.png ├── gh-logo.xcf ├── sm-graphics.png ├── sm-graphics.xcf ├── welcome-1.png ├── welcome-2.png ├── welcome-3.png ├── ad-campaign-1.png ├── color-palete.png ├── no-habit-dark.png ├── screenshot-0.png ├── screenshot-0.xcf ├── screenshot-1.png ├── screenshot-2.png ├── screenshot-3.png ├── screenshot-4.png ├── feature-graphics.png ├── feature-graphics.xcf ├── no-habit-light.png ├── gh-feature-graphic.png └── gh-feature-graphic.xcf ├── lib ├── domain │ ├── Topics.dart │ ├── TopicHabits.dart │ ├── TimeArea.dart │ └── Habit.dart ├── data │ ├── domain │ │ ├── ServiceLastRun.dart │ │ └── HabitLastRunData.dart │ ├── provider │ │ ├── NotificationProvider.dart │ │ ├── WeekDateProvider.dart │ │ ├── WorkManagerProvider.dart │ │ ├── ServiceLastRunProvider.dart │ │ ├── ProviderFactory.dart │ │ ├── HabitLastRunDataProvider.dart │ │ ├── SettingsProvider.dart │ │ ├── WidgetDataProvider.dart │ │ └── HabitMasterProvider.dart │ └── MockDataFactory.dart ├── widgets │ ├── new │ │ ├── SelectFromDate.dart │ │ ├── SelectTimeOfDay.dart │ │ ├── SelectReminder.dart │ │ └── SelectRepeat.dart │ ├── basic │ │ ├── BasicTile.dart │ │ ├── BottomNavBar.dart │ │ ├── BaseSelectionAddableTile.dart │ │ ├── BaseSelectionTile.dart │ │ ├── BarChart.dart │ │ ├── BaseSelectionRadioTile.dart │ │ ├── BaseSelection2LineTile.dart │ │ ├── HorizontalBarChart.dart │ │ ├── StackedBarChart.dart │ │ ├── LineChart.dart │ │ ├── BaseSelectionChipsTile.dart │ │ ├── HeatMap.dart │ │ └── HeatMapCalendar.dart │ ├── suggest │ │ ├── HabitOptionTile.dart │ │ └── TopicTile.dart │ ├── progress │ │ ├── StatusSummary.dart │ │ ├── DayWisePerfomance.dart │ │ ├── CompletionRate.dart │ │ ├── DailyTracker.dart │ │ └── WeeklyProgress.dart │ ├── hprogress │ │ ├── HabitStatusSummary.dart │ │ ├── HabitCompletionRate.dart │ │ ├── HabitStreaks.dart │ │ └── HabitHeatMap.dart │ └── today │ │ └── HCalDayWidget.dart ├── pages │ ├── LoadingScreen.dart │ ├── ProgressMain.dart │ ├── Welcome.dart │ ├── AllHabits.dart │ ├── SelectTopic.dart │ └── HabitProgress.dart └── main.dart ├── android ├── gradle.properties ├── app │ ├── src │ │ ├── main │ │ │ ├── ic_launcher-playstore.png │ │ │ ├── res │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ ├── ic_launcher_round.png │ │ │ │ │ └── ic_launcher_foreground.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ ├── ic_launcher_round.png │ │ │ │ │ └── ic_launcher_foreground.png │ │ │ │ ├── drawable-hdpi │ │ │ │ │ ├── ic_stat_name.png │ │ │ │ │ └── ic_action_name.png │ │ │ │ ├── drawable-mdpi │ │ │ │ │ ├── ic_stat_name.png │ │ │ │ │ └── ic_action_name.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ ├── ic_launcher_round.png │ │ │ │ │ └── ic_launcher_foreground.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ ├── ic_launcher_round.png │ │ │ │ │ └── ic_launcher_foreground.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ ├── ic_launcher_round.png │ │ │ │ │ └── ic_launcher_foreground.png │ │ │ │ ├── drawable-xhdpi │ │ │ │ │ ├── ic_stat_name.png │ │ │ │ │ └── ic_action_name.png │ │ │ │ ├── drawable-xxhdpi │ │ │ │ │ ├── ic_stat_name.png │ │ │ │ │ └── ic_action_name.png │ │ │ │ ├── drawable-xxxhdpi │ │ │ │ │ └── ic_stat_name.png │ │ │ │ ├── drawable-nodpi │ │ │ │ │ ├── today_widget_preview.png │ │ │ │ │ └── single_habit_widget_preview.png │ │ │ │ ├── values │ │ │ │ │ ├── ic_launcher_background.xml │ │ │ │ │ ├── strings.xml │ │ │ │ │ ├── theme_colors.xml │ │ │ │ │ ├── dimens.xml │ │ │ │ │ └── styles.xml │ │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ ├── values-v14 │ │ │ │ │ └── dimens.xml │ │ │ │ ├── drawable │ │ │ │ │ ├── accent_unselected_drawable.xml │ │ │ │ │ ├── accent_selected_drawable.xml │ │ │ │ │ ├── accent_selected_drawable_dark.xml │ │ │ │ │ ├── ic_baseline_check_24.xml │ │ │ │ │ ├── accent_unselected_drawable_dark.xml │ │ │ │ │ ├── ic_baseline_check_24_dark.xml │ │ │ │ │ ├── ic_baseline_check_24_white.xml │ │ │ │ │ ├── ic_baseline_keyboard_arrow_down_24.xml │ │ │ │ │ ├── launch_background.xml │ │ │ │ │ └── ic_baseline_refresh_24.xml │ │ │ │ ├── xml │ │ │ │ │ ├── today_habits_widget_info.xml │ │ │ │ │ └── single_habit_widget_info.xml │ │ │ │ └── layout │ │ │ │ │ ├── widget_loading.xml │ │ │ │ │ ├── calender_item.xml │ │ │ │ │ ├── calender_item_unselected.xml │ │ │ │ │ ├── calender_item_unselected_dark.xml │ │ │ │ │ ├── calender_item_selected.xml │ │ │ │ │ ├── calender_item_selected_dark.xml │ │ │ │ │ ├── single_habit_widget_configure.xml │ │ │ │ │ ├── today_habits_widget.xml │ │ │ │ │ ├── today_habits_widget_dark.xml │ │ │ │ │ ├── today_widget_listitem.xml │ │ │ │ │ ├── today_widget_listitem_dark.xml │ │ │ │ │ ├── single_habit_widget.xml │ │ │ │ │ └── single_habit_widget_dark.xml │ │ │ ├── kotlin │ │ │ │ └── com │ │ │ │ │ └── babanomania │ │ │ │ │ └── CleanHabits │ │ │ │ │ ├── TodayWidgetRemoteViewsService.kt │ │ │ │ │ ├── SingleHabitWidgetRemoteViewsService.kt │ │ │ │ │ ├── WidgetHelper.kt │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ ├── TodayWidgetRemoteViewsFactory.kt │ │ │ │ │ ├── SingleHabitWidgetRemoteViewsFactory.kt │ │ │ │ │ └── TodayHabitsWidgetProvider.kt │ │ │ └── AndroidManifest.xml │ │ ├── debug │ │ │ └── AndroidManifest.xml │ │ └── profile │ │ │ └── AndroidManifest.xml │ └── build.gradle ├── .gitignore ├── gradle │ └── wrapper │ │ └── gradle-wrapper.properties ├── settings.gradle └── build.gradle ├── .metadata ├── .gitignore ├── test └── widget_test.dart └── pubspec.yaml /.gradle/5.2.1/gc.properties: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gradle/vcs-1/gc.properties: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gradle/5.2.1/fileChanges/last-build.bin: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/app-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/assets/app-logo.png -------------------------------------------------------------------------------- /assets/welcome-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/assets/welcome-1.png -------------------------------------------------------------------------------- /assets/welcome-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/assets/welcome-2.png -------------------------------------------------------------------------------- /assets/welcome-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/assets/welcome-3.png -------------------------------------------------------------------------------- /.gradle/buildOutputCleanup/cache.properties: -------------------------------------------------------------------------------- 1 | #Fri Aug 14 22:34:55 IST 2020 2 | gradle.version=5.2.1 3 | -------------------------------------------------------------------------------- /marketing/app-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/marketing/app-logo.png -------------------------------------------------------------------------------- /marketing/gh-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/marketing/gh-logo.png -------------------------------------------------------------------------------- /marketing/gh-logo.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/marketing/gh-logo.xcf -------------------------------------------------------------------------------- /assets/no-habit-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/assets/no-habit-dark.png -------------------------------------------------------------------------------- /assets/no-habit-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/assets/no-habit-light.png -------------------------------------------------------------------------------- /marketing/sm-graphics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/marketing/sm-graphics.png -------------------------------------------------------------------------------- /marketing/sm-graphics.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/marketing/sm-graphics.xcf -------------------------------------------------------------------------------- /marketing/welcome-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/marketing/welcome-1.png -------------------------------------------------------------------------------- /marketing/welcome-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/marketing/welcome-2.png -------------------------------------------------------------------------------- /marketing/welcome-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/marketing/welcome-3.png -------------------------------------------------------------------------------- /marketing/ad-campaign-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/marketing/ad-campaign-1.png -------------------------------------------------------------------------------- /marketing/color-palete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/marketing/color-palete.png -------------------------------------------------------------------------------- /marketing/no-habit-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/marketing/no-habit-dark.png -------------------------------------------------------------------------------- /marketing/screenshot-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/marketing/screenshot-0.png -------------------------------------------------------------------------------- /marketing/screenshot-0.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/marketing/screenshot-0.xcf -------------------------------------------------------------------------------- /marketing/screenshot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/marketing/screenshot-1.png -------------------------------------------------------------------------------- /marketing/screenshot-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/marketing/screenshot-2.png -------------------------------------------------------------------------------- /marketing/screenshot-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/marketing/screenshot-3.png -------------------------------------------------------------------------------- /marketing/screenshot-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/marketing/screenshot-4.png -------------------------------------------------------------------------------- /assets/topics/DoogieDoodle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/assets/topics/DoogieDoodle.png -------------------------------------------------------------------------------- /marketing/feature-graphics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/marketing/feature-graphics.png -------------------------------------------------------------------------------- /marketing/feature-graphics.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/marketing/feature-graphics.xcf -------------------------------------------------------------------------------- /marketing/no-habit-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/marketing/no-habit-light.png -------------------------------------------------------------------------------- /assets/topics/IceCreamDoodle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/assets/topics/IceCreamDoodle.png -------------------------------------------------------------------------------- /assets/topics/ReadingDoodle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/assets/topics/ReadingDoodle.png -------------------------------------------------------------------------------- /assets/topics/SwingingDoodle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/assets/topics/SwingingDoodle.png -------------------------------------------------------------------------------- /lib/domain/Topics.dart: -------------------------------------------------------------------------------- 1 | class Topics { 2 | String title, assetPath; 3 | Topics({this.title, this.assetPath}); 4 | } 5 | -------------------------------------------------------------------------------- /marketing/gh-feature-graphic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/marketing/gh-feature-graphic.png -------------------------------------------------------------------------------- /marketing/gh-feature-graphic.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/marketing/gh-feature-graphic.xcf -------------------------------------------------------------------------------- /assets/topics/MeditatingDoodle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/assets/topics/MeditatingDoodle.png -------------------------------------------------------------------------------- /assets/topics/StrollingDoodle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/assets/topics/StrollingDoodle.png -------------------------------------------------------------------------------- /assets/topics/dark/DoogieDoodle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/assets/topics/dark/DoogieDoodle.png -------------------------------------------------------------------------------- /assets/topics/dark/IceCreamDoodle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/assets/topics/dark/IceCreamDoodle.png -------------------------------------------------------------------------------- /assets/topics/dark/ReadingDoodle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/assets/topics/dark/ReadingDoodle.png -------------------------------------------------------------------------------- /assets/topics/dark/SwingingDoodle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/assets/topics/dark/SwingingDoodle.png -------------------------------------------------------------------------------- /assets/topics/light/DoogieDoodle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/assets/topics/light/DoogieDoodle.png -------------------------------------------------------------------------------- /assets/topics/light/ReadingDoodle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/assets/topics/light/ReadingDoodle.png -------------------------------------------------------------------------------- /.gradle/5.2.1/fileHashes/fileHashes.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/.gradle/5.2.1/fileHashes/fileHashes.lock -------------------------------------------------------------------------------- /assets/topics/dark/MeditatingDoodle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/assets/topics/dark/MeditatingDoodle.png -------------------------------------------------------------------------------- /assets/topics/dark/StrollingDoodle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/assets/topics/dark/StrollingDoodle.png -------------------------------------------------------------------------------- /assets/topics/light/IceCreamDoodle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/assets/topics/light/IceCreamDoodle.png -------------------------------------------------------------------------------- /assets/topics/light/MeditatingDoodle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/assets/topics/light/MeditatingDoodle.png -------------------------------------------------------------------------------- /assets/topics/light/StrollingDoodle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/assets/topics/light/StrollingDoodle.png -------------------------------------------------------------------------------- /assets/topics/light/SwingingDoodle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/assets/topics/light/SwingingDoodle.png -------------------------------------------------------------------------------- /android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | android.enableR8=true 3 | android.useAndroidX=true 4 | android.enableJetifier=true 5 | -------------------------------------------------------------------------------- /android/app/src/main/ic_launcher-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/ic_launcher-playstore.png -------------------------------------------------------------------------------- /.gradle/buildOutputCleanup/buildOutputCleanup.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/.gradle/buildOutputCleanup/buildOutputCleanup.lock -------------------------------------------------------------------------------- /android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-hdpi/ic_stat_name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/drawable-hdpi/ic_stat_name.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-mdpi/ic_stat_name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/drawable-mdpi/ic_stat_name.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-hdpi/ic_action_name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/drawable-hdpi/ic_action_name.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-mdpi/ic_action_name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/drawable-mdpi/ic_action_name.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/ic_stat_name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/drawable-xhdpi/ic_stat_name.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/ic_stat_name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/drawable-xxhdpi/ic_stat_name.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/ic_action_name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/drawable-xhdpi/ic_action_name.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/ic_action_name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/drawable-xxhdpi/ic_action_name.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/ic_stat_name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/drawable-xxxhdpi/ic_stat_name.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-nodpi/today_widget_preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/drawable-nodpi/today_widget_preview.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /android/app/src/main/res/values/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #E8DED2 4 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-nodpi/single_habit_widget_preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clean-apps/CleanHabits/HEAD/android/app/src/main/res/drawable-nodpi/single_habit_widget_preview.png -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Aug 29 16:26:42 IST 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip 7 | -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Today 4 | Add Widget 5 | All 6 | Configure Widget 7 | -------------------------------------------------------------------------------- /android/app/src/main/res/values-v14/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 0dp 9 | 10 | -------------------------------------------------------------------------------- /.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 8af6b2f038c1172e61d418869363a28dffec3cb4 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/accent_unselected_drawable.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/accent_selected_drawable.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/accent_selected_drawable_dark.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/ic_baseline_check_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/accent_unselected_drawable_dark.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/ic_baseline_check_24_dark.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/ic_baseline_check_24_white.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/ic_baseline_keyboard_arrow_down_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /android/app/src/main/kotlin/com/babanomania/CleanHabits/TodayWidgetRemoteViewsService.kt: -------------------------------------------------------------------------------- 1 | package com.babanomania.CleanHabits 2 | 3 | import android.content.Intent 4 | import android.widget.RemoteViewsService 5 | 6 | class TodayWidgetRemoteViewsService : RemoteViewsService() { 7 | override fun onGetViewFactory(intent: Intent): RemoteViewsFactory { 8 | return TodayWidgetRemoteViewsFactory(this.applicationContext, intent) 9 | } 10 | } -------------------------------------------------------------------------------- /android/app/src/main/kotlin/com/babanomania/CleanHabits/SingleHabitWidgetRemoteViewsService.kt: -------------------------------------------------------------------------------- 1 | package com.babanomania.CleanHabits 2 | 3 | import android.content.Intent 4 | import android.widget.RemoteViewsService 5 | 6 | class SingleHabitWidgetRemoteViewsService : RemoteViewsService() { 7 | override fun onGetViewFactory(intent: Intent): RemoteViewsFactory { 8 | return SingleHabitWidgetRemoteViewsFactory(this.applicationContext, intent) 9 | } 10 | } -------------------------------------------------------------------------------- /android/app/src/main/res/values/theme_colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FF056676 4 | #FF4db6ac 5 | #604db6ac 6 | #FFde0000 7 | #FFffaaaa 8 | #60ffd5d5 9 | #FF272727 10 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/ic_baseline_refresh_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /android/app/src/main/res/xml/today_habits_widget_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | -------------------------------------------------------------------------------- /lib/domain/TopicHabits.dart: -------------------------------------------------------------------------------- 1 | import 'package:CleanHabits/widgets/new/SelectRepeat.dart'; 2 | import 'package:flutter/material.dart'; 3 | 4 | class TopicHabits { 5 | final IconData icon; 6 | final String title; 7 | final bool isYNType; 8 | final int timesTarget; 9 | Repeats repeat = Repeats(); 10 | final String timesTargetType; 11 | final String timeOfDay; 12 | 13 | TopicHabits({ 14 | this.icon, 15 | this.title, 16 | this.isYNType = true, 17 | this.timesTarget = 1, 18 | this.timesTargetType = '', 19 | this.repeat, 20 | this.timeOfDay = "All Day", 21 | }); 22 | } 23 | -------------------------------------------------------------------------------- /android/app/src/main/res/layout/widget_loading.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /android/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 20dp 9 | 48dp 10 | 48dp 11 | 48dp 12 | 16dp 13 | 10dp 14 | 15 | 16 | -------------------------------------------------------------------------------- /android/app/src/main/res/xml/single_habit_widget_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | -------------------------------------------------------------------------------- /android/settings.gradle: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Flutter Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | include ':app' 6 | 7 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties") 8 | def properties = new Properties() 9 | 10 | assert localPropertiesFile.exists() 11 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } 12 | 13 | def flutterSdkPath = properties.getProperty("flutter.sdk") 14 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties" 15 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" 16 | -------------------------------------------------------------------------------- /android/app/src/main/res/layout/calender_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /android/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | ext.kotlin_version = '1.4.0' 3 | repositories { 4 | google() 5 | jcenter() 6 | } 7 | 8 | dependencies { 9 | classpath 'com.google.gms:google-services:4.3.3' 10 | classpath 'com.android.tools.build:gradle:4.0.1' 11 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | google() 18 | jcenter() 19 | } 20 | } 21 | 22 | rootProject.buildDir = '../build' 23 | subprojects { 24 | project.buildDir = "${rootProject.buildDir}/${project.name}" 25 | } 26 | subprojects { 27 | project.evaluationDependsOn(':app') 28 | } 29 | 30 | task clean(type: Delete) { 31 | delete rootProject.buildDir 32 | } 33 | -------------------------------------------------------------------------------- /android/app/src/main/res/layout/calender_item_unselected.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /android/app/src/main/res/layout/calender_item_unselected_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /android/app/src/main/res/layout/calender_item_selected.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /android/app/src/main/res/layout/calender_item_selected_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Miscellaneous 2 | *.class 3 | *.log 4 | *.pyc 5 | *.swp 6 | .DS_Store 7 | .atom/ 8 | .buildlog/ 9 | .history 10 | .svn/ 11 | 12 | # IntelliJ related 13 | *.iml 14 | *.ipr 15 | *.iws 16 | .idea/ 17 | 18 | # The .vscode folder contains launch configuration and tasks you configure in 19 | # VS Code which you may wish to be included in version control, so this line 20 | # is commented out by default. 21 | #.vscode/ 22 | 23 | # Flutter/Dart/Pub related 24 | **/doc/api/ 25 | .dart_tool/ 26 | .flutter-plugins 27 | .flutter-plugins-dependencies 28 | .packages 29 | .pub-cache/ 30 | .pub/ 31 | /build/ 32 | 33 | # Web related 34 | lib/generated_plugin_registrant.dart 35 | 36 | # Symbolication related 37 | app.*.symbols 38 | 39 | # Obfuscation related 40 | app.*.map.json 41 | 42 | # Exceptions to above rules. 43 | !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages 44 | 45 | android/key.properties 46 | android/app/release/* 47 | android/app/google-services.json -------------------------------------------------------------------------------- /lib/data/domain/ServiceLastRun.dart: -------------------------------------------------------------------------------- 1 | import 'package:intl/intl.dart'; 2 | 3 | final String tableServiceLastRun = 'service_last_run'; 4 | 5 | final String columnId = '_id'; 6 | final String columnLastUpdated = 'last_updated'; // unix epoch 7 | 8 | var fmt = DateFormat("yyyy-MM-dd"); 9 | 10 | class ServiceLastRun { 11 | int id; 12 | DateTime lastUpdated; 13 | 14 | Map toMap() { 15 | var map = { 16 | columnLastUpdated: 17 | lastUpdated == null ? null : lastUpdated.millisecondsSinceEpoch, 18 | }; 19 | 20 | if (id != null) { 21 | map[columnId] = id; 22 | } 23 | 24 | return map; 25 | } 26 | 27 | ServiceLastRun(); 28 | 29 | ServiceLastRun.fromMap(Map map) { 30 | id = map[columnId]; 31 | lastUpdated = map[columnLastUpdated] == null 32 | ? null 33 | : DateTime.fromMillisecondsSinceEpoch( 34 | map[columnLastUpdated], 35 | isUtc: false, 36 | ); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /android/app/src/main/res/layout/single_habit_widget_configure.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 13 | 14 | 17 | 18 |