diff --git a/.github/workflows/android.yaml b/.github/workflows/android.yaml
index 47c3fe4..c380515 100644
--- a/.github/workflows/android.yaml
+++ b/.github/workflows/android.yaml
@@ -8,7 +8,7 @@ on:
workflow_dispatch:
env:
- BUILD_DIR: app/build/outputs/bundle/release
+ BUILD_DIR: donext/build/outputs/bundle/release
jobs:
build:
@@ -26,7 +26,7 @@ jobs:
- name: Replace tokens in build.gradle
run: |
- sed -i 's/#{\([^}]*\)}/${\1}/g' app/build.gradle
+ sed -i 's/#{\([^}]*\)}/${\1}/g' donext/build.gradle
- name: Cache Gradle
uses: actions/cache@v3
diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml
index 6d7c648..178af39 100644
--- a/.idea/assetWizardSettings.xml
+++ b/.idea/assetWizardSettings.xml
@@ -3,6 +3,11 @@
\ No newline at end of file
diff --git a/.idea/dictionaries/project.xml b/.idea/dictionaries/project.xml
new file mode 100644
index 0000000..83a788d
--- /dev/null
+++ b/.idea/dictionaries/project.xml
@@ -0,0 +1,7 @@
+
+
+
+ donext
+
+
+
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 639c779..3e94301 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -10,7 +10,8 @@
diff --git a/build.gradle b/build.gradle
index b926e12..457a751 100644
--- a/build.gradle
+++ b/build.gradle
@@ -15,12 +15,19 @@ buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:8.13.0'
classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.3'
+ classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.21'
+ classpath 'org.jetbrains.kotlin:compose-compiler-gradle-plugin:2.0.21'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
+plugins {
+ id("com.google.devtools.ksp") version "2.0.21-1.0.27" apply false
+ id("com.google.dagger.hilt.android") version "2.57.1" apply false
+}
+
allprojects {
repositories {
mavenCentral()
diff --git a/app/.gitignore b/donext/.gitignore
similarity index 100%
rename from app/.gitignore
rename to donext/.gitignore
diff --git a/app/build.gradle b/donext/build.gradle
similarity index 99%
rename from app/build.gradle
rename to donext/build.gradle
index 7f41091..b1488fc 100644
--- a/app/build.gradle
+++ b/donext/build.gradle
@@ -1,6 +1,8 @@
apply plugin: 'com.android.application'
android {
+ compileSdk 35
+
defaultConfig {
applicationId "com.wismna.geoffroy.donext"
minSdkVersion 21
diff --git a/app/proguard-rules.pro b/donext/proguard-rules.pro
similarity index 100%
rename from app/proguard-rules.pro
rename to donext/proguard-rules.pro
diff --git a/app/schemas/com.wismna.geoffroy.donext.data.AppDatabase/6.json b/donext/schemas/com.wismna.geoffroy.donext.data.AppDatabase/6.json
similarity index 100%
rename from app/schemas/com.wismna.geoffroy.donext.data.AppDatabase/6.json
rename to donext/schemas/com.wismna.geoffroy.donext.data.AppDatabase/6.json
diff --git a/app/src/main/AndroidManifest.xml b/donext/src/main/AndroidManifest.xml
similarity index 100%
rename from app/src/main/AndroidManifest.xml
rename to donext/src/main/AndroidManifest.xml
diff --git a/app/src/main/ic_launcher-web.png b/donext/src/main/ic_launcher-web.png
similarity index 100%
rename from app/src/main/ic_launcher-web.png
rename to donext/src/main/ic_launcher-web.png
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/DoNext.java b/donext/src/main/java/com/wismna/geoffroy/donext/DoNext.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/DoNext.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/DoNext.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/activities/HistoryActivity.java b/donext/src/main/java/com/wismna/geoffroy/donext/activities/HistoryActivity.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/activities/HistoryActivity.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/activities/HistoryActivity.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/activities/MainActivity.java b/donext/src/main/java/com/wismna/geoffroy/donext/activities/MainActivity.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/activities/MainActivity.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/activities/MainActivity.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/activities/SettingsActivity.java b/donext/src/main/java/com/wismna/geoffroy/donext/activities/SettingsActivity.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/activities/SettingsActivity.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/activities/SettingsActivity.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/activities/TodayActivity.java b/donext/src/main/java/com/wismna/geoffroy/donext/activities/TodayActivity.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/activities/TodayActivity.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/activities/TodayActivity.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/activities/ToolBarActivityBase.java b/donext/src/main/java/com/wismna/geoffroy/donext/activities/ToolBarActivityBase.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/activities/ToolBarActivityBase.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/activities/ToolBarActivityBase.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/adapters/SectionsPagerAdapter.java b/donext/src/main/java/com/wismna/geoffroy/donext/adapters/SectionsPagerAdapter.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/adapters/SectionsPagerAdapter.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/adapters/SectionsPagerAdapter.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/adapters/SmartFragmentStatePagerAdapter.java b/donext/src/main/java/com/wismna/geoffroy/donext/adapters/SmartFragmentStatePagerAdapter.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/adapters/SmartFragmentStatePagerAdapter.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/adapters/SmartFragmentStatePagerAdapter.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/adapters/TaskListRecyclerViewAdapter.java b/donext/src/main/java/com/wismna/geoffroy/donext/adapters/TaskListRecyclerViewAdapter.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/adapters/TaskListRecyclerViewAdapter.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/adapters/TaskListRecyclerViewAdapter.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/adapters/TaskRecyclerViewAdapter.java b/donext/src/main/java/com/wismna/geoffroy/donext/adapters/TaskRecyclerViewAdapter.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/adapters/TaskRecyclerViewAdapter.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/adapters/TaskRecyclerViewAdapter.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/adapters/TodayArrayAdapter.java b/donext/src/main/java/com/wismna/geoffroy/donext/adapters/TodayArrayAdapter.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/adapters/TodayArrayAdapter.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/adapters/TodayArrayAdapter.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/dao/Task.java b/donext/src/main/java/com/wismna/geoffroy/donext/dao/Task.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/dao/Task.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/dao/Task.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/dao/TaskList.java b/donext/src/main/java/com/wismna/geoffroy/donext/dao/TaskList.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/dao/TaskList.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/dao/TaskList.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/database/DatabaseHelper.java b/donext/src/main/java/com/wismna/geoffroy/donext/database/DatabaseHelper.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/database/DatabaseHelper.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/database/DatabaseHelper.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/database/TaskDataAccess.java b/donext/src/main/java/com/wismna/geoffroy/donext/database/TaskDataAccess.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/database/TaskDataAccess.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/database/TaskDataAccess.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/database/TaskListDataAccess.java b/donext/src/main/java/com/wismna/geoffroy/donext/database/TaskListDataAccess.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/database/TaskListDataAccess.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/database/TaskListDataAccess.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/fragments/AboutDialogFragment.java b/donext/src/main/java/com/wismna/geoffroy/donext/fragments/AboutDialogFragment.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/fragments/AboutDialogFragment.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/fragments/AboutDialogFragment.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/fragments/ConfirmDialogFragment.java b/donext/src/main/java/com/wismna/geoffroy/donext/fragments/ConfirmDialogFragment.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/fragments/ConfirmDialogFragment.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/fragments/ConfirmDialogFragment.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/fragments/DynamicDialogFragment.java b/donext/src/main/java/com/wismna/geoffroy/donext/fragments/DynamicDialogFragment.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/fragments/DynamicDialogFragment.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/fragments/DynamicDialogFragment.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/fragments/MainFragment.java b/donext/src/main/java/com/wismna/geoffroy/donext/fragments/MainFragment.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/fragments/MainFragment.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/fragments/MainFragment.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/fragments/TaskFormDialogFragment.java b/donext/src/main/java/com/wismna/geoffroy/donext/fragments/TaskFormDialogFragment.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/fragments/TaskFormDialogFragment.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/fragments/TaskFormDialogFragment.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/fragments/TaskListsDialogFragment.java b/donext/src/main/java/com/wismna/geoffroy/donext/fragments/TaskListsDialogFragment.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/fragments/TaskListsDialogFragment.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/fragments/TaskListsDialogFragment.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/fragments/TasksFragment.java b/donext/src/main/java/com/wismna/geoffroy/donext/fragments/TasksFragment.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/fragments/TasksFragment.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/fragments/TasksFragment.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/fragments/TodayFormDialogFragment.java b/donext/src/main/java/com/wismna/geoffroy/donext/fragments/TodayFormDialogFragment.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/fragments/TodayFormDialogFragment.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/fragments/TodayFormDialogFragment.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/helpers/TaskListTouchHelper.java b/donext/src/main/java/com/wismna/geoffroy/donext/helpers/TaskListTouchHelper.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/helpers/TaskListTouchHelper.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/helpers/TaskListTouchHelper.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/helpers/TaskTouchHelper.java b/donext/src/main/java/com/wismna/geoffroy/donext/helpers/TaskTouchHelper.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/helpers/TaskTouchHelper.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/helpers/TaskTouchHelper.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/listeners/RecyclerItemClickListener.java b/donext/src/main/java/com/wismna/geoffroy/donext/listeners/RecyclerItemClickListener.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/listeners/RecyclerItemClickListener.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/listeners/RecyclerItemClickListener.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/utils/TaskRunner.java b/donext/src/main/java/com/wismna/geoffroy/donext/utils/TaskRunner.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/utils/TaskRunner.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/utils/TaskRunner.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/widgets/DividerItemDecoration.java b/donext/src/main/java/com/wismna/geoffroy/donext/widgets/DividerItemDecoration.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/widgets/DividerItemDecoration.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/widgets/DividerItemDecoration.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/widgets/InterceptTouchRelativeLayout.java b/donext/src/main/java/com/wismna/geoffroy/donext/widgets/InterceptTouchRelativeLayout.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/widgets/InterceptTouchRelativeLayout.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/widgets/InterceptTouchRelativeLayout.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/widgets/NoScrollingLayoutManager.java b/donext/src/main/java/com/wismna/geoffroy/donext/widgets/NoScrollingLayoutManager.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/widgets/NoScrollingLayoutManager.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/widgets/NoScrollingLayoutManager.java
diff --git a/app/src/main/java/com/wismna/geoffroy/donext/widgets/NonSwipeableViewPager.java b/donext/src/main/java/com/wismna/geoffroy/donext/widgets/NonSwipeableViewPager.java
similarity index 100%
rename from app/src/main/java/com/wismna/geoffroy/donext/widgets/NonSwipeableViewPager.java
rename to donext/src/main/java/com/wismna/geoffroy/donext/widgets/NonSwipeableViewPager.java
diff --git a/app/src/main/res/drawable-hdpi/ic_access_alarm.png b/donext/src/main/res/drawable-hdpi/ic_access_alarm.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_access_alarm.png
rename to donext/src/main/res/drawable-hdpi/ic_access_alarm.png
diff --git a/app/src/main/res/drawable-hdpi/ic_add.png b/donext/src/main/res/drawable-hdpi/ic_add.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_add.png
rename to donext/src/main/res/drawable-hdpi/ic_add.png
diff --git a/app/src/main/res/drawable-hdpi/ic_arrow_right_light.png b/donext/src/main/res/drawable-hdpi/ic_arrow_right_light.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_arrow_right_light.png
rename to donext/src/main/res/drawable-hdpi/ic_arrow_right_light.png
diff --git a/app/src/main/res/drawable-hdpi/ic_check_ligth.png b/donext/src/main/res/drawable-hdpi/ic_check_ligth.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_check_ligth.png
rename to donext/src/main/res/drawable-hdpi/ic_check_ligth.png
diff --git a/app/src/main/res/drawable-hdpi/ic_close_light.png b/donext/src/main/res/drawable-hdpi/ic_close_light.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_close_light.png
rename to donext/src/main/res/drawable-hdpi/ic_close_light.png
diff --git a/app/src/main/res/drawable-hdpi/ic_create_new_folder_dark.png b/donext/src/main/res/drawable-hdpi/ic_create_new_folder_dark.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_create_new_folder_dark.png
rename to donext/src/main/res/drawable-hdpi/ic_create_new_folder_dark.png
diff --git a/app/src/main/res/drawable-hdpi/ic_format_size_dark.png b/donext/src/main/res/drawable-hdpi/ic_format_size_dark.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_format_size_dark.png
rename to donext/src/main/res/drawable-hdpi/ic_format_size_dark.png
diff --git a/app/src/main/res/drawable-hdpi/ic_history_dark.png b/donext/src/main/res/drawable-hdpi/ic_history_dark.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_history_dark.png
rename to donext/src/main/res/drawable-hdpi/ic_history_dark.png
diff --git a/app/src/main/res/drawable-hdpi/ic_keyboard_arrow_left_white_24dp.png b/donext/src/main/res/drawable-hdpi/ic_keyboard_arrow_left_white_24dp.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_keyboard_arrow_left_white_24dp.png
rename to donext/src/main/res/drawable-hdpi/ic_keyboard_arrow_left_white_24dp.png
diff --git a/app/src/main/res/drawable-hdpi/ic_keyboard_arrow_right_white_24dp.png b/donext/src/main/res/drawable-hdpi/ic_keyboard_arrow_right_white_24dp.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_keyboard_arrow_right_white_24dp.png
rename to donext/src/main/res/drawable-hdpi/ic_keyboard_arrow_right_white_24dp.png
diff --git a/app/src/main/res/drawable-hdpi/ic_list_white_24dp.png b/donext/src/main/res/drawable-hdpi/ic_list_white_24dp.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_list_white_24dp.png
rename to donext/src/main/res/drawable-hdpi/ic_list_white_24dp.png
diff --git a/app/src/main/res/drawable-hdpi/ic_reorder.png b/donext/src/main/res/drawable-hdpi/ic_reorder.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_reorder.png
rename to donext/src/main/res/drawable-hdpi/ic_reorder.png
diff --git a/app/src/main/res/drawable-hdpi/ic_smiley_satisfied_light.png b/donext/src/main/res/drawable-hdpi/ic_smiley_satisfied_light.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_smiley_satisfied_light.png
rename to donext/src/main/res/drawable-hdpi/ic_smiley_satisfied_light.png
diff --git a/app/src/main/res/drawable-hdpi/ic_today_dark.png b/donext/src/main/res/drawable-hdpi/ic_today_dark.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/ic_today_dark.png
rename to donext/src/main/res/drawable-hdpi/ic_today_dark.png
diff --git a/app/src/main/res/drawable-mdpi/ic_access_alarm.png b/donext/src/main/res/drawable-mdpi/ic_access_alarm.png
similarity index 100%
rename from app/src/main/res/drawable-mdpi/ic_access_alarm.png
rename to donext/src/main/res/drawable-mdpi/ic_access_alarm.png
diff --git a/app/src/main/res/drawable-mdpi/ic_add.png b/donext/src/main/res/drawable-mdpi/ic_add.png
similarity index 100%
rename from app/src/main/res/drawable-mdpi/ic_add.png
rename to donext/src/main/res/drawable-mdpi/ic_add.png
diff --git a/app/src/main/res/drawable-mdpi/ic_arrow_right_light.png b/donext/src/main/res/drawable-mdpi/ic_arrow_right_light.png
similarity index 100%
rename from app/src/main/res/drawable-mdpi/ic_arrow_right_light.png
rename to donext/src/main/res/drawable-mdpi/ic_arrow_right_light.png
diff --git a/app/src/main/res/drawable-mdpi/ic_check_ligth.png b/donext/src/main/res/drawable-mdpi/ic_check_ligth.png
similarity index 100%
rename from app/src/main/res/drawable-mdpi/ic_check_ligth.png
rename to donext/src/main/res/drawable-mdpi/ic_check_ligth.png
diff --git a/app/src/main/res/drawable-mdpi/ic_close_light.png b/donext/src/main/res/drawable-mdpi/ic_close_light.png
similarity index 100%
rename from app/src/main/res/drawable-mdpi/ic_close_light.png
rename to donext/src/main/res/drawable-mdpi/ic_close_light.png
diff --git a/app/src/main/res/drawable-mdpi/ic_create_new_folder_dark.png b/donext/src/main/res/drawable-mdpi/ic_create_new_folder_dark.png
similarity index 100%
rename from app/src/main/res/drawable-mdpi/ic_create_new_folder_dark.png
rename to donext/src/main/res/drawable-mdpi/ic_create_new_folder_dark.png
diff --git a/app/src/main/res/drawable-mdpi/ic_format_size_dark.png b/donext/src/main/res/drawable-mdpi/ic_format_size_dark.png
similarity index 100%
rename from app/src/main/res/drawable-mdpi/ic_format_size_dark.png
rename to donext/src/main/res/drawable-mdpi/ic_format_size_dark.png
diff --git a/app/src/main/res/drawable-mdpi/ic_history_dark.png b/donext/src/main/res/drawable-mdpi/ic_history_dark.png
similarity index 100%
rename from app/src/main/res/drawable-mdpi/ic_history_dark.png
rename to donext/src/main/res/drawable-mdpi/ic_history_dark.png
diff --git a/app/src/main/res/drawable-mdpi/ic_keyboard_arrow_left_white_24dp.png b/donext/src/main/res/drawable-mdpi/ic_keyboard_arrow_left_white_24dp.png
similarity index 100%
rename from app/src/main/res/drawable-mdpi/ic_keyboard_arrow_left_white_24dp.png
rename to donext/src/main/res/drawable-mdpi/ic_keyboard_arrow_left_white_24dp.png
diff --git a/app/src/main/res/drawable-mdpi/ic_keyboard_arrow_right_white_24dp.png b/donext/src/main/res/drawable-mdpi/ic_keyboard_arrow_right_white_24dp.png
similarity index 100%
rename from app/src/main/res/drawable-mdpi/ic_keyboard_arrow_right_white_24dp.png
rename to donext/src/main/res/drawable-mdpi/ic_keyboard_arrow_right_white_24dp.png
diff --git a/app/src/main/res/drawable-mdpi/ic_list_white_24dp.png b/donext/src/main/res/drawable-mdpi/ic_list_white_24dp.png
similarity index 100%
rename from app/src/main/res/drawable-mdpi/ic_list_white_24dp.png
rename to donext/src/main/res/drawable-mdpi/ic_list_white_24dp.png
diff --git a/app/src/main/res/drawable-mdpi/ic_reorder.png b/donext/src/main/res/drawable-mdpi/ic_reorder.png
similarity index 100%
rename from app/src/main/res/drawable-mdpi/ic_reorder.png
rename to donext/src/main/res/drawable-mdpi/ic_reorder.png
diff --git a/app/src/main/res/drawable-mdpi/ic_smiley_satisfied_light.png b/donext/src/main/res/drawable-mdpi/ic_smiley_satisfied_light.png
similarity index 100%
rename from app/src/main/res/drawable-mdpi/ic_smiley_satisfied_light.png
rename to donext/src/main/res/drawable-mdpi/ic_smiley_satisfied_light.png
diff --git a/app/src/main/res/drawable-mdpi/ic_today_dark.png b/donext/src/main/res/drawable-mdpi/ic_today_dark.png
similarity index 100%
rename from app/src/main/res/drawable-mdpi/ic_today_dark.png
rename to donext/src/main/res/drawable-mdpi/ic_today_dark.png
diff --git a/app/src/main/res/drawable-xhdpi/ic_access_alarm.png b/donext/src/main/res/drawable-xhdpi/ic_access_alarm.png
similarity index 100%
rename from app/src/main/res/drawable-xhdpi/ic_access_alarm.png
rename to donext/src/main/res/drawable-xhdpi/ic_access_alarm.png
diff --git a/app/src/main/res/drawable-xhdpi/ic_add.png b/donext/src/main/res/drawable-xhdpi/ic_add.png
similarity index 100%
rename from app/src/main/res/drawable-xhdpi/ic_add.png
rename to donext/src/main/res/drawable-xhdpi/ic_add.png
diff --git a/app/src/main/res/drawable-xhdpi/ic_arrow_right_light.png b/donext/src/main/res/drawable-xhdpi/ic_arrow_right_light.png
similarity index 100%
rename from app/src/main/res/drawable-xhdpi/ic_arrow_right_light.png
rename to donext/src/main/res/drawable-xhdpi/ic_arrow_right_light.png
diff --git a/app/src/main/res/drawable-xhdpi/ic_check_ligth.png b/donext/src/main/res/drawable-xhdpi/ic_check_ligth.png
similarity index 100%
rename from app/src/main/res/drawable-xhdpi/ic_check_ligth.png
rename to donext/src/main/res/drawable-xhdpi/ic_check_ligth.png
diff --git a/app/src/main/res/drawable-xhdpi/ic_close_light.png b/donext/src/main/res/drawable-xhdpi/ic_close_light.png
similarity index 100%
rename from app/src/main/res/drawable-xhdpi/ic_close_light.png
rename to donext/src/main/res/drawable-xhdpi/ic_close_light.png
diff --git a/app/src/main/res/drawable-xhdpi/ic_create_new_folder_dark.png b/donext/src/main/res/drawable-xhdpi/ic_create_new_folder_dark.png
similarity index 100%
rename from app/src/main/res/drawable-xhdpi/ic_create_new_folder_dark.png
rename to donext/src/main/res/drawable-xhdpi/ic_create_new_folder_dark.png
diff --git a/app/src/main/res/drawable-xhdpi/ic_format_size_dark.png b/donext/src/main/res/drawable-xhdpi/ic_format_size_dark.png
similarity index 100%
rename from app/src/main/res/drawable-xhdpi/ic_format_size_dark.png
rename to donext/src/main/res/drawable-xhdpi/ic_format_size_dark.png
diff --git a/app/src/main/res/drawable-xhdpi/ic_history_dark.png b/donext/src/main/res/drawable-xhdpi/ic_history_dark.png
similarity index 100%
rename from app/src/main/res/drawable-xhdpi/ic_history_dark.png
rename to donext/src/main/res/drawable-xhdpi/ic_history_dark.png
diff --git a/app/src/main/res/drawable-xhdpi/ic_keyboard_arrow_left_white_24dp.png b/donext/src/main/res/drawable-xhdpi/ic_keyboard_arrow_left_white_24dp.png
similarity index 100%
rename from app/src/main/res/drawable-xhdpi/ic_keyboard_arrow_left_white_24dp.png
rename to donext/src/main/res/drawable-xhdpi/ic_keyboard_arrow_left_white_24dp.png
diff --git a/app/src/main/res/drawable-xhdpi/ic_keyboard_arrow_right_white_24dp.png b/donext/src/main/res/drawable-xhdpi/ic_keyboard_arrow_right_white_24dp.png
similarity index 100%
rename from app/src/main/res/drawable-xhdpi/ic_keyboard_arrow_right_white_24dp.png
rename to donext/src/main/res/drawable-xhdpi/ic_keyboard_arrow_right_white_24dp.png
diff --git a/app/src/main/res/drawable-xhdpi/ic_list_white_24dp.png b/donext/src/main/res/drawable-xhdpi/ic_list_white_24dp.png
similarity index 100%
rename from app/src/main/res/drawable-xhdpi/ic_list_white_24dp.png
rename to donext/src/main/res/drawable-xhdpi/ic_list_white_24dp.png
diff --git a/app/src/main/res/drawable-xhdpi/ic_reorder.png b/donext/src/main/res/drawable-xhdpi/ic_reorder.png
similarity index 100%
rename from app/src/main/res/drawable-xhdpi/ic_reorder.png
rename to donext/src/main/res/drawable-xhdpi/ic_reorder.png
diff --git a/app/src/main/res/drawable-xhdpi/ic_smiley_satisfied_light.png b/donext/src/main/res/drawable-xhdpi/ic_smiley_satisfied_light.png
similarity index 100%
rename from app/src/main/res/drawable-xhdpi/ic_smiley_satisfied_light.png
rename to donext/src/main/res/drawable-xhdpi/ic_smiley_satisfied_light.png
diff --git a/app/src/main/res/drawable-xhdpi/ic_today_dark.png b/donext/src/main/res/drawable-xhdpi/ic_today_dark.png
similarity index 100%
rename from app/src/main/res/drawable-xhdpi/ic_today_dark.png
rename to donext/src/main/res/drawable-xhdpi/ic_today_dark.png
diff --git a/app/src/main/res/drawable-xxhdpi/ic_access_alarm.png b/donext/src/main/res/drawable-xxhdpi/ic_access_alarm.png
similarity index 100%
rename from app/src/main/res/drawable-xxhdpi/ic_access_alarm.png
rename to donext/src/main/res/drawable-xxhdpi/ic_access_alarm.png
diff --git a/app/src/main/res/drawable-xxhdpi/ic_add.png b/donext/src/main/res/drawable-xxhdpi/ic_add.png
similarity index 100%
rename from app/src/main/res/drawable-xxhdpi/ic_add.png
rename to donext/src/main/res/drawable-xxhdpi/ic_add.png
diff --git a/app/src/main/res/drawable-xxhdpi/ic_arrow_right_light.png b/donext/src/main/res/drawable-xxhdpi/ic_arrow_right_light.png
similarity index 100%
rename from app/src/main/res/drawable-xxhdpi/ic_arrow_right_light.png
rename to donext/src/main/res/drawable-xxhdpi/ic_arrow_right_light.png
diff --git a/app/src/main/res/drawable-xxhdpi/ic_check_ligth.png b/donext/src/main/res/drawable-xxhdpi/ic_check_ligth.png
similarity index 100%
rename from app/src/main/res/drawable-xxhdpi/ic_check_ligth.png
rename to donext/src/main/res/drawable-xxhdpi/ic_check_ligth.png
diff --git a/app/src/main/res/drawable-xxhdpi/ic_close_light.png b/donext/src/main/res/drawable-xxhdpi/ic_close_light.png
similarity index 100%
rename from app/src/main/res/drawable-xxhdpi/ic_close_light.png
rename to donext/src/main/res/drawable-xxhdpi/ic_close_light.png
diff --git a/app/src/main/res/drawable-xxhdpi/ic_create_new_folder_dark.png b/donext/src/main/res/drawable-xxhdpi/ic_create_new_folder_dark.png
similarity index 100%
rename from app/src/main/res/drawable-xxhdpi/ic_create_new_folder_dark.png
rename to donext/src/main/res/drawable-xxhdpi/ic_create_new_folder_dark.png
diff --git a/app/src/main/res/drawable-xxhdpi/ic_format_size_dark.png b/donext/src/main/res/drawable-xxhdpi/ic_format_size_dark.png
similarity index 100%
rename from app/src/main/res/drawable-xxhdpi/ic_format_size_dark.png
rename to donext/src/main/res/drawable-xxhdpi/ic_format_size_dark.png
diff --git a/app/src/main/res/drawable-xxhdpi/ic_history_dark.png b/donext/src/main/res/drawable-xxhdpi/ic_history_dark.png
similarity index 100%
rename from app/src/main/res/drawable-xxhdpi/ic_history_dark.png
rename to donext/src/main/res/drawable-xxhdpi/ic_history_dark.png
diff --git a/app/src/main/res/drawable-xxhdpi/ic_keyboard_arrow_left_white_24dp.png b/donext/src/main/res/drawable-xxhdpi/ic_keyboard_arrow_left_white_24dp.png
similarity index 100%
rename from app/src/main/res/drawable-xxhdpi/ic_keyboard_arrow_left_white_24dp.png
rename to donext/src/main/res/drawable-xxhdpi/ic_keyboard_arrow_left_white_24dp.png
diff --git a/app/src/main/res/drawable-xxhdpi/ic_keyboard_arrow_right_white_24dp.png b/donext/src/main/res/drawable-xxhdpi/ic_keyboard_arrow_right_white_24dp.png
similarity index 100%
rename from app/src/main/res/drawable-xxhdpi/ic_keyboard_arrow_right_white_24dp.png
rename to donext/src/main/res/drawable-xxhdpi/ic_keyboard_arrow_right_white_24dp.png
diff --git a/app/src/main/res/drawable-xxhdpi/ic_list_white_24dp.png b/donext/src/main/res/drawable-xxhdpi/ic_list_white_24dp.png
similarity index 100%
rename from app/src/main/res/drawable-xxhdpi/ic_list_white_24dp.png
rename to donext/src/main/res/drawable-xxhdpi/ic_list_white_24dp.png
diff --git a/app/src/main/res/drawable-xxhdpi/ic_reorder.png b/donext/src/main/res/drawable-xxhdpi/ic_reorder.png
similarity index 100%
rename from app/src/main/res/drawable-xxhdpi/ic_reorder.png
rename to donext/src/main/res/drawable-xxhdpi/ic_reorder.png
diff --git a/app/src/main/res/drawable-xxhdpi/ic_smiley_satisfied_light.png b/donext/src/main/res/drawable-xxhdpi/ic_smiley_satisfied_light.png
similarity index 100%
rename from app/src/main/res/drawable-xxhdpi/ic_smiley_satisfied_light.png
rename to donext/src/main/res/drawable-xxhdpi/ic_smiley_satisfied_light.png
diff --git a/app/src/main/res/drawable-xxhdpi/ic_today_dark.png b/donext/src/main/res/drawable-xxhdpi/ic_today_dark.png
similarity index 100%
rename from app/src/main/res/drawable-xxhdpi/ic_today_dark.png
rename to donext/src/main/res/drawable-xxhdpi/ic_today_dark.png
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_keyboard_arrow_left_white_24dp.png b/donext/src/main/res/drawable-xxxhdpi/ic_keyboard_arrow_left_white_24dp.png
similarity index 100%
rename from app/src/main/res/drawable-xxxhdpi/ic_keyboard_arrow_left_white_24dp.png
rename to donext/src/main/res/drawable-xxxhdpi/ic_keyboard_arrow_left_white_24dp.png
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_keyboard_arrow_right_white_24dp.png b/donext/src/main/res/drawable-xxxhdpi/ic_keyboard_arrow_right_white_24dp.png
similarity index 100%
rename from app/src/main/res/drawable-xxxhdpi/ic_keyboard_arrow_right_white_24dp.png
rename to donext/src/main/res/drawable-xxxhdpi/ic_keyboard_arrow_right_white_24dp.png
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_list_white_24dp.png b/donext/src/main/res/drawable-xxxhdpi/ic_list_white_24dp.png
similarity index 100%
rename from app/src/main/res/drawable-xxxhdpi/ic_list_white_24dp.png
rename to donext/src/main/res/drawable-xxxhdpi/ic_list_white_24dp.png
diff --git a/app/src/main/res/drawable/ic_low_priority_lightgray_24dp.xml b/donext/src/main/res/drawable/ic_low_priority_lightgray_24dp.xml
similarity index 100%
rename from app/src/main/res/drawable/ic_low_priority_lightgray_24dp.xml
rename to donext/src/main/res/drawable/ic_low_priority_lightgray_24dp.xml
diff --git a/app/src/main/res/drawable/ic_priority_high_red_24dp.xml b/donext/src/main/res/drawable/ic_priority_high_red_24dp.xml
similarity index 100%
rename from app/src/main/res/drawable/ic_priority_high_red_24dp.xml
rename to donext/src/main/res/drawable/ic_priority_high_red_24dp.xml
diff --git a/app/src/main/res/drawable/ic_refresh_black_24dp.xml b/donext/src/main/res/drawable/ic_refresh_black_24dp.xml
similarity index 100%
rename from app/src/main/res/drawable/ic_refresh_black_24dp.xml
rename to donext/src/main/res/drawable/ic_refresh_black_24dp.xml
diff --git a/app/src/main/res/drawable/task_select.xml b/donext/src/main/res/drawable/task_select.xml
similarity index 100%
rename from app/src/main/res/drawable/task_select.xml
rename to donext/src/main/res/drawable/task_select.xml
diff --git a/app/src/main/res/drawable/tasklist_select.xml b/donext/src/main/res/drawable/tasklist_select.xml
similarity index 100%
rename from app/src/main/res/drawable/tasklist_select.xml
rename to donext/src/main/res/drawable/tasklist_select.xml
diff --git a/app/src/main/res/layout-v21/content_task_form.xml b/donext/src/main/res/layout-v21/content_task_form.xml
similarity index 100%
rename from app/src/main/res/layout-v21/content_task_form.xml
rename to donext/src/main/res/layout-v21/content_task_form.xml
diff --git a/app/src/main/res/layout-w600dp/fragment_main.xml b/donext/src/main/res/layout-w600dp/fragment_main.xml
similarity index 100%
rename from app/src/main/res/layout-w600dp/fragment_main.xml
rename to donext/src/main/res/layout-w600dp/fragment_main.xml
diff --git a/app/src/main/res/layout/activity_history.xml b/donext/src/main/res/layout/activity_history.xml
similarity index 100%
rename from app/src/main/res/layout/activity_history.xml
rename to donext/src/main/res/layout/activity_history.xml
diff --git a/app/src/main/res/layout/activity_main.xml b/donext/src/main/res/layout/activity_main.xml
similarity index 100%
rename from app/src/main/res/layout/activity_main.xml
rename to donext/src/main/res/layout/activity_main.xml
diff --git a/app/src/main/res/layout/activity_today.xml b/donext/src/main/res/layout/activity_today.xml
similarity index 100%
rename from app/src/main/res/layout/activity_today.xml
rename to donext/src/main/res/layout/activity_today.xml
diff --git a/app/src/main/res/layout/content_about.xml b/donext/src/main/res/layout/content_about.xml
similarity index 100%
rename from app/src/main/res/layout/content_about.xml
rename to donext/src/main/res/layout/content_about.xml
diff --git a/app/src/main/res/layout/content_task_form.xml b/donext/src/main/res/layout/content_task_form.xml
similarity index 100%
rename from app/src/main/res/layout/content_task_form.xml
rename to donext/src/main/res/layout/content_task_form.xml
diff --git a/app/src/main/res/layout/content_tasklists.xml b/donext/src/main/res/layout/content_tasklists.xml
similarity index 100%
rename from app/src/main/res/layout/content_tasklists.xml
rename to donext/src/main/res/layout/content_tasklists.xml
diff --git a/app/src/main/res/layout/content_today_form.xml b/donext/src/main/res/layout/content_today_form.xml
similarity index 100%
rename from app/src/main/res/layout/content_today_form.xml
rename to donext/src/main/res/layout/content_today_form.xml
diff --git a/app/src/main/res/layout/fragment_dynamic_dialog.xml b/donext/src/main/res/layout/fragment_dynamic_dialog.xml
similarity index 100%
rename from app/src/main/res/layout/fragment_dynamic_dialog.xml
rename to donext/src/main/res/layout/fragment_dynamic_dialog.xml
diff --git a/app/src/main/res/layout/fragment_main.xml b/donext/src/main/res/layout/fragment_main.xml
similarity index 100%
rename from app/src/main/res/layout/fragment_main.xml
rename to donext/src/main/res/layout/fragment_main.xml
diff --git a/app/src/main/res/layout/fragment_task_confirmation.xml b/donext/src/main/res/layout/fragment_task_confirmation.xml
similarity index 100%
rename from app/src/main/res/layout/fragment_task_confirmation.xml
rename to donext/src/main/res/layout/fragment_task_confirmation.xml
diff --git a/app/src/main/res/layout/fragment_task_detailed.xml b/donext/src/main/res/layout/fragment_task_detailed.xml
similarity index 100%
rename from app/src/main/res/layout/fragment_task_detailed.xml
rename to donext/src/main/res/layout/fragment_task_detailed.xml
diff --git a/app/src/main/res/layout/fragment_task_first.xml b/donext/src/main/res/layout/fragment_task_first.xml
similarity index 100%
rename from app/src/main/res/layout/fragment_task_first.xml
rename to donext/src/main/res/layout/fragment_task_first.xml
diff --git a/app/src/main/res/layout/fragment_task_simple.xml b/donext/src/main/res/layout/fragment_task_simple.xml
similarity index 100%
rename from app/src/main/res/layout/fragment_task_simple.xml
rename to donext/src/main/res/layout/fragment_task_simple.xml
diff --git a/app/src/main/res/layout/fragment_tasklist.xml b/donext/src/main/res/layout/fragment_tasklist.xml
similarity index 100%
rename from app/src/main/res/layout/fragment_tasklist.xml
rename to donext/src/main/res/layout/fragment_tasklist.xml
diff --git a/app/src/main/res/layout/fragment_tasks.xml b/donext/src/main/res/layout/fragment_tasks.xml
similarity index 100%
rename from app/src/main/res/layout/fragment_tasks.xml
rename to donext/src/main/res/layout/fragment_tasks.xml
diff --git a/app/src/main/res/layout/list_task_item.xml b/donext/src/main/res/layout/list_task_item.xml
similarity index 100%
rename from app/src/main/res/layout/list_task_item.xml
rename to donext/src/main/res/layout/list_task_item.xml
diff --git a/app/src/main/res/layout/list_tasklist_item.xml b/donext/src/main/res/layout/list_tasklist_item.xml
similarity index 100%
rename from app/src/main/res/layout/list_tasklist_item.xml
rename to donext/src/main/res/layout/list_tasklist_item.xml
diff --git a/app/src/main/res/layout/toolbar.xml b/donext/src/main/res/layout/toolbar.xml
similarity index 100%
rename from app/src/main/res/layout/toolbar.xml
rename to donext/src/main/res/layout/toolbar.xml
diff --git a/app/src/main/res/menu/menu_dynamic_fragment.xml b/donext/src/main/res/menu/menu_dynamic_fragment.xml
similarity index 100%
rename from app/src/main/res/menu/menu_dynamic_fragment.xml
rename to donext/src/main/res/menu/menu_dynamic_fragment.xml
diff --git a/app/src/main/res/menu/menu_main.xml b/donext/src/main/res/menu/menu_main.xml
similarity index 100%
rename from app/src/main/res/menu/menu_main.xml
rename to donext/src/main/res/menu/menu_main.xml
diff --git a/app/src/main/res/menu/menu_today.xml b/donext/src/main/res/menu/menu_today.xml
similarity index 100%
rename from app/src/main/res/menu/menu_today.xml
rename to donext/src/main/res/menu/menu_today.xml
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/donext/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
similarity index 100%
rename from app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
rename to donext/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/donext/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
similarity index 100%
rename from app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
rename to donext/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/donext/src/main/res/mipmap-hdpi/ic_launcher.png
similarity index 100%
rename from app/src/main/res/mipmap-hdpi/ic_launcher.png
rename to donext/src/main/res/mipmap-hdpi/ic_launcher.png
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/donext/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
similarity index 100%
rename from app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
rename to donext/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/donext/src/main/res/mipmap-hdpi/ic_launcher_round.png
similarity index 100%
rename from app/src/main/res/mipmap-hdpi/ic_launcher_round.png
rename to donext/src/main/res/mipmap-hdpi/ic_launcher_round.png
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.png b/donext/src/main/res/mipmap-mdpi/ic_launcher.png
similarity index 100%
rename from app/src/main/res/mipmap-mdpi/ic_launcher.png
rename to donext/src/main/res/mipmap-mdpi/ic_launcher.png
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/donext/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
similarity index 100%
rename from app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
rename to donext/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/donext/src/main/res/mipmap-mdpi/ic_launcher_round.png
similarity index 100%
rename from app/src/main/res/mipmap-mdpi/ic_launcher_round.png
rename to donext/src/main/res/mipmap-mdpi/ic_launcher_round.png
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/donext/src/main/res/mipmap-xhdpi/ic_launcher.png
similarity index 100%
rename from app/src/main/res/mipmap-xhdpi/ic_launcher.png
rename to donext/src/main/res/mipmap-xhdpi/ic_launcher.png
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/donext/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
similarity index 100%
rename from app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
rename to donext/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/donext/src/main/res/mipmap-xhdpi/ic_launcher_round.png
similarity index 100%
rename from app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
rename to donext/src/main/res/mipmap-xhdpi/ic_launcher_round.png
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/donext/src/main/res/mipmap-xxhdpi/ic_launcher.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/ic_launcher.png
rename to donext/src/main/res/mipmap-xxhdpi/ic_launcher.png
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/donext/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
rename to donext/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/donext/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
rename to donext/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/donext/src/main/res/mipmap-xxxhdpi/ic_launcher.png
similarity index 100%
rename from app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
rename to donext/src/main/res/mipmap-xxxhdpi/ic_launcher.png
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/donext/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
similarity index 100%
rename from app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
rename to donext/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/donext/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
similarity index 100%
rename from app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
rename to donext/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
diff --git a/app/src/main/res/values-fr/arrays.xml b/donext/src/main/res/values-fr/arrays.xml
similarity index 100%
rename from app/src/main/res/values-fr/arrays.xml
rename to donext/src/main/res/values-fr/arrays.xml
diff --git a/app/src/main/res/values-fr/plurals.xml b/donext/src/main/res/values-fr/plurals.xml
similarity index 100%
rename from app/src/main/res/values-fr/plurals.xml
rename to donext/src/main/res/values-fr/plurals.xml
diff --git a/app/src/main/res/values-fr/strings.xml b/donext/src/main/res/values-fr/strings.xml
similarity index 100%
rename from app/src/main/res/values-fr/strings.xml
rename to donext/src/main/res/values-fr/strings.xml
diff --git a/app/src/main/res/values-v21/styles.xml b/donext/src/main/res/values-v21/styles.xml
similarity index 100%
rename from app/src/main/res/values-v21/styles.xml
rename to donext/src/main/res/values-v21/styles.xml
diff --git a/app/src/main/res/values-w600dp/bools.xml b/donext/src/main/res/values-w600dp/bools.xml
similarity index 100%
rename from app/src/main/res/values-w600dp/bools.xml
rename to donext/src/main/res/values-w600dp/bools.xml
diff --git a/app/src/main/res/values-w820dp/dimens.xml b/donext/src/main/res/values-w820dp/dimens.xml
similarity index 100%
rename from app/src/main/res/values-w820dp/dimens.xml
rename to donext/src/main/res/values-w820dp/dimens.xml
diff --git a/app/src/main/res/values/arrays.xml b/donext/src/main/res/values/arrays.xml
similarity index 100%
rename from app/src/main/res/values/arrays.xml
rename to donext/src/main/res/values/arrays.xml
diff --git a/app/src/main/res/values/bools.xml b/donext/src/main/res/values/bools.xml
similarity index 100%
rename from app/src/main/res/values/bools.xml
rename to donext/src/main/res/values/bools.xml
diff --git a/app/src/main/res/values/colors.xml b/donext/src/main/res/values/colors.xml
similarity index 100%
rename from app/src/main/res/values/colors.xml
rename to donext/src/main/res/values/colors.xml
diff --git a/app/src/main/res/values/dimens.xml b/donext/src/main/res/values/dimens.xml
similarity index 100%
rename from app/src/main/res/values/dimens.xml
rename to donext/src/main/res/values/dimens.xml
diff --git a/app/src/main/res/values/plurals.xml b/donext/src/main/res/values/plurals.xml
similarity index 100%
rename from app/src/main/res/values/plurals.xml
rename to donext/src/main/res/values/plurals.xml
diff --git a/app/src/main/res/values/strings.xml b/donext/src/main/res/values/strings.xml
similarity index 100%
rename from app/src/main/res/values/strings.xml
rename to donext/src/main/res/values/strings.xml
diff --git a/app/src/main/res/values/styles.xml b/donext/src/main/res/values/styles.xml
similarity index 100%
rename from app/src/main/res/values/styles.xml
rename to donext/src/main/res/values/styles.xml
diff --git a/app/src/main/res/xml/preferences.xml b/donext/src/main/res/xml/preferences.xml
similarity index 100%
rename from app/src/main/res/xml/preferences.xml
rename to donext/src/main/res/xml/preferences.xml
diff --git a/app/src/test/java/com/wismna/geoffroy/donext/ExampleUnitTest.java b/donext/src/test/java/com/wismna/geoffroy/donext/ExampleUnitTest.java
similarity index 100%
rename from app/src/test/java/com/wismna/geoffroy/donext/ExampleUnitTest.java
rename to donext/src/test/java/com/wismna/geoffroy/donext/ExampleUnitTest.java
diff --git a/donextv2/.gitignore b/donextv2/.gitignore
new file mode 100644
index 0000000..42afabf
--- /dev/null
+++ b/donextv2/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/donextv2/build.gradle.kts b/donextv2/build.gradle.kts
new file mode 100644
index 0000000..349224d
--- /dev/null
+++ b/donextv2/build.gradle.kts
@@ -0,0 +1,71 @@
+plugins {
+ id("com.android.application")
+ id("org.jetbrains.kotlin.android")
+ id("org.jetbrains.kotlin.plugin.compose")
+ id("com.google.devtools.ksp")
+ id("com.google.dagger.hilt.android")
+}
+
+android {
+ namespace = "com.wismna.geoffroy.donext"
+ compileSdk = 36
+
+ defaultConfig {
+ applicationId = "com.wismna.geoffroy.donext"
+ minSdk = 26
+ targetSdk = 36
+ versionCode = 1
+ versionName = "1.0"
+
+ testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
+ }
+
+ buildTypes {
+ release {
+ isMinifyEnabled = false
+ proguardFiles(
+ getDefaultProguardFile("proguard-android-optimize.txt"),
+ "proguard-rules.pro"
+ )
+ }
+ }
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_11
+ targetCompatibility = JavaVersion.VERSION_11
+ }
+ kotlinOptions {
+ jvmTarget = "11"
+ }
+ buildFeatures {
+ compose = true
+ viewBinding = true
+ }
+ composeOptions {
+ kotlinCompilerExtensionVersion = "1.1.1"
+ }
+}
+
+dependencies {
+ implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.9.3")
+ implementation("androidx.activity:activity-compose:1.10.1")
+ implementation(platform("androidx.compose:compose-bom:2025.08.01"))
+ implementation("androidx.compose.ui:ui")
+ implementation("androidx.compose.ui:ui-graphics")
+ implementation("androidx.compose.ui:ui-tooling-preview")
+ implementation("androidx.compose.material3:material3")
+ implementation("androidx.navigation:navigation-compose:2.9.4")
+ implementation("androidx.hilt:hilt-navigation-compose:1.2.0")
+ androidTestImplementation(platform("androidx.compose:compose-bom:2025.08.01"))
+ androidTestImplementation("androidx.compose.ui:ui-test-junit4")
+ debugImplementation("androidx.compose.ui:ui-tooling")
+ debugImplementation("androidx.compose.ui:ui-test-manifest")
+
+ val roomVersion = "2.8.0"
+ implementation("androidx.room:room-runtime:$roomVersion")
+ ksp("androidx.room:room-compiler:$roomVersion")
+
+ val hiltVersion = "2.57.1"
+ implementation("com.google.dagger:hilt-android:$hiltVersion")
+ ksp("com.google.dagger:hilt-android-compiler:$hiltVersion")
+}
+
diff --git a/donextv2/proguard-rules.pro b/donextv2/proguard-rules.pro
new file mode 100644
index 0000000..481bb43
--- /dev/null
+++ b/donextv2/proguard-rules.pro
@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/donextv2/src/androidTest/java/com/wismna/geoffroy/donext/ExampleInstrumentedTest.kt b/donextv2/src/androidTest/java/com/wismna/geoffroy/donext/ExampleInstrumentedTest.kt
new file mode 100644
index 0000000..2c6638f
--- /dev/null
+++ b/donextv2/src/androidTest/java/com/wismna/geoffroy/donext/ExampleInstrumentedTest.kt
@@ -0,0 +1,24 @@
+package com.wismna.geoffroy.donext
+
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.ext.junit.runners.AndroidJUnit4
+
+import org.junit.Test
+import org.junit.runner.RunWith
+
+import org.junit.Assert.*
+
+/**
+ * Instrumented test, which will execute on an Android device.
+ *
+ * See [testing documentation](http://d.android.com/tools/testing).
+ */
+@RunWith(AndroidJUnit4::class)
+class ExampleInstrumentedTest {
+ @Test
+ fun useAppContext() {
+ // Context of the app under test.
+ val appContext = InstrumentationRegistry.getInstrumentation().targetContext
+ assertEquals("com.wismna.geoffroy.donext", appContext.packageName)
+ }
+}
\ No newline at end of file
diff --git a/donextv2/src/main/AndroidManifest.xml b/donextv2/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..0da9a03
--- /dev/null
+++ b/donextv2/src/main/AndroidManifest.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/donextv2/src/main/java/com/wismna/geoffroy/donext/DonextApplication.kt b/donextv2/src/main/java/com/wismna/geoffroy/donext/DonextApplication.kt
new file mode 100644
index 0000000..49da01c
--- /dev/null
+++ b/donextv2/src/main/java/com/wismna/geoffroy/donext/DonextApplication.kt
@@ -0,0 +1,8 @@
+package com.wismna.geoffroy.donext
+
+import android.app.Application
+import dagger.hilt.android.HiltAndroidApp
+
+@HiltAndroidApp
+class DonextApplication: Application() {
+}
\ No newline at end of file
diff --git a/donextv2/src/main/java/com/wismna/geoffroy/donext/data/Converters.kt b/donextv2/src/main/java/com/wismna/geoffroy/donext/data/Converters.kt
new file mode 100644
index 0000000..fd7809d
--- /dev/null
+++ b/donextv2/src/main/java/com/wismna/geoffroy/donext/data/Converters.kt
@@ -0,0 +1,17 @@
+package com.wismna.geoffroy.donext.data
+
+import androidx.room.TypeConverter
+import java.time.Instant
+
+
+class Converters {
+ @TypeConverter
+ fun fromTimestamp(value: Long?): Instant? {
+ return value?.let { Instant.ofEpochMilli(it) }
+ }
+
+ @TypeConverter
+ fun instantToTimestamp(instant: Instant?): Long? {
+ return instant?.toEpochMilli()
+ }
+}
\ No newline at end of file
diff --git a/donextv2/src/main/java/com/wismna/geoffroy/donext/data/Mappers.kt b/donextv2/src/main/java/com/wismna/geoffroy/donext/data/Mappers.kt
new file mode 100644
index 0000000..041a8b8
--- /dev/null
+++ b/donextv2/src/main/java/com/wismna/geoffroy/donext/data/Mappers.kt
@@ -0,0 +1,41 @@
+package com.wismna.geoffroy.donext.data
+
+import com.wismna.geoffroy.donext.data.entities.TaskEntity
+import com.wismna.geoffroy.donext.data.entities.TaskListEntity
+import com.wismna.geoffroy.donext.domain.model.Task
+import com.wismna.geoffroy.donext.domain.model.TaskList
+import java.time.Instant
+
+fun TaskEntity.toDomain() = Task(
+ id = id,
+ name = name,
+ isDone = isDone,
+ taskListId = taskListId,
+ description = description,
+ cycles = cycles,
+ isDeleted = isDeleted,
+ updateDate = Instant.ofEpochMilli(updateDate)
+)
+
+fun Task.toEntity() = TaskEntity(
+ id = id,
+ name = name,
+ isDone = isDone,
+ taskListId = taskListId,
+ description = description,
+ cycles = cycles,
+ isDeleted = isDeleted,
+ updateDate = updateDate.toEpochMilli()
+)
+
+fun TaskListEntity.toDomain() = TaskList(
+ id = id,
+ name = name,
+ isDeleted = isDeleted
+)
+
+fun TaskList.toEntity() = TaskListEntity(
+ id = id,
+ name = name,
+ isDeleted = isDeleted
+)
diff --git a/donextv2/src/main/java/com/wismna/geoffroy/donext/data/entities/TaskEntity.kt b/donextv2/src/main/java/com/wismna/geoffroy/donext/data/entities/TaskEntity.kt
new file mode 100644
index 0000000..4eacfd8
--- /dev/null
+++ b/donextv2/src/main/java/com/wismna/geoffroy/donext/data/entities/TaskEntity.kt
@@ -0,0 +1,22 @@
+package com.wismna.geoffroy.donext.data.entities
+
+import androidx.room.ColumnInfo
+import androidx.room.Entity
+import androidx.room.PrimaryKey
+
+@Entity(tableName = "tasks")
+data class TaskEntity(
+ @PrimaryKey(autoGenerate = true)
+ val id: Long = 0,
+ val name: String,
+ val description: String,
+ val cycles: Int = 0,
+ @ColumnInfo(name = "done")
+ val isDone: Boolean = false,
+ @ColumnInfo(name = "deleted")
+ val isDeleted: Boolean = false,
+ @ColumnInfo(name = "task_list_id")
+ val taskListId: Long,
+ @ColumnInfo(name = "update_date")
+ val updateDate: Long = System.currentTimeMillis()
+)
diff --git a/donextv2/src/main/java/com/wismna/geoffroy/donext/data/entities/TaskListEntity.kt b/donextv2/src/main/java/com/wismna/geoffroy/donext/data/entities/TaskListEntity.kt
new file mode 100644
index 0000000..5d4bd43
--- /dev/null
+++ b/donextv2/src/main/java/com/wismna/geoffroy/donext/data/entities/TaskListEntity.kt
@@ -0,0 +1,12 @@
+package com.wismna.geoffroy.donext.data.entities
+
+import androidx.room.Entity
+import androidx.room.PrimaryKey
+
+@Entity(tableName = "task_lists")
+data class TaskListEntity(
+ @PrimaryKey(autoGenerate = true)
+ val id: Long = 0,
+ val name: String,
+ val isDeleted: Boolean = false
+)
diff --git a/donextv2/src/main/java/com/wismna/geoffroy/donext/data/injection/DatabaseModule.kt b/donextv2/src/main/java/com/wismna/geoffroy/donext/data/injection/DatabaseModule.kt
new file mode 100644
index 0000000..cb4735e
--- /dev/null
+++ b/donextv2/src/main/java/com/wismna/geoffroy/donext/data/injection/DatabaseModule.kt
@@ -0,0 +1,31 @@
+package com.wismna.geoffroy.donext.data.injection
+
+import android.content.Context
+import com.wismna.geoffroy.donext.data.local.AppDatabase
+import com.wismna.geoffroy.donext.data.local.dao.TaskDao
+import com.wismna.geoffroy.donext.data.local.dao.TaskListDao
+import dagger.Module
+import dagger.Provides
+import dagger.hilt.InstallIn
+import dagger.hilt.android.qualifiers.ApplicationContext
+import dagger.hilt.components.SingletonComponent
+import javax.inject.Singleton
+
+@Module
+@InstallIn(SingletonComponent::class)
+object DatabaseModule {
+
+ @Provides
+ @Singleton
+ fun provideDatabase(
+ @ApplicationContext context: Context
+ ): AppDatabase {
+ return AppDatabase.buildDatabase(context)
+ }
+
+ @Provides
+ fun provideTaskDao(db: AppDatabase): TaskDao = db.taskDao()
+
+ @Provides
+ fun provideTaskListDao(db: AppDatabase): TaskListDao = db.taskListDao()
+}
\ No newline at end of file
diff --git a/donextv2/src/main/java/com/wismna/geoffroy/donext/data/injection/RepositoryModule.kt b/donextv2/src/main/java/com/wismna/geoffroy/donext/data/injection/RepositoryModule.kt
new file mode 100644
index 0000000..7a877fa
--- /dev/null
+++ b/donextv2/src/main/java/com/wismna/geoffroy/donext/data/injection/RepositoryModule.kt
@@ -0,0 +1,18 @@
+package com.wismna.geoffroy.donext.data.injection
+
+import com.wismna.geoffroy.donext.data.local.repository.TaskRepositoryImpl
+import com.wismna.geoffroy.donext.domain.repository.TaskRepository
+import dagger.Binds
+import dagger.Module
+import dagger.hilt.InstallIn
+import dagger.hilt.components.SingletonComponent
+
+@Module
+@InstallIn(SingletonComponent::class)
+abstract class RepositoryModule {
+
+ @Binds
+ abstract fun bindTaskRepository(
+ impl: TaskRepositoryImpl
+ ): TaskRepository
+}
\ No newline at end of file
diff --git a/donextv2/src/main/java/com/wismna/geoffroy/donext/data/local/Database.kt b/donextv2/src/main/java/com/wismna/geoffroy/donext/data/local/Database.kt
new file mode 100644
index 0000000..7a5b189
--- /dev/null
+++ b/donextv2/src/main/java/com/wismna/geoffroy/donext/data/local/Database.kt
@@ -0,0 +1,65 @@
+package com.wismna.geoffroy.donext.data.local
+
+import android.content.Context
+import androidx.room.Database
+import androidx.room.Room
+import androidx.room.RoomDatabase
+import androidx.room.TypeConverters
+import androidx.room.migration.Migration
+import androidx.sqlite.db.SupportSQLiteDatabase
+import com.wismna.geoffroy.donext.data.Converters
+import com.wismna.geoffroy.donext.data.local.dao.TaskDao
+import com.wismna.geoffroy.donext.data.local.dao.TaskListDao
+import com.wismna.geoffroy.donext.data.entities.TaskEntity
+import com.wismna.geoffroy.donext.data.entities.TaskListEntity
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
+
+@Database(
+ entities = [TaskEntity::class, TaskListEntity::class],
+ version = 7
+)
+@TypeConverters(Converters::class)
+abstract class AppDatabase : RoomDatabase() {
+ abstract fun taskDao(): TaskDao
+ abstract fun taskListDao(): TaskListDao
+
+ companion object {
+ @Volatile
+ private var DB_INSTANCE: AppDatabase? = null
+
+ val MIGRATION_6_7 = object : Migration(6, 7) {
+ override fun migrate(db: SupportSQLiteDatabase) {
+ // TODO: migrate from old Donext database (v6)
+ }
+ }
+
+ fun buildDatabase(context: Context): AppDatabase {
+ return DB_INSTANCE ?: synchronized(this) {
+ val instance = Room.databaseBuilder(
+ context,
+ AppDatabase::class.java,
+ "donext.db"
+ )
+ .addMigrations(MIGRATION_6_7)
+ .fallbackToDestructiveMigration(false)
+ .addCallback(object : Callback() {
+ override fun onCreate(db: SupportSQLiteDatabase) {
+ super.onCreate(db)
+ // insert default lists
+ CoroutineScope(Dispatchers.IO).launch {
+ val dao = DB_INSTANCE?.taskListDao()
+ dao?.insertTaskList(TaskListEntity(name = "Work"))
+ dao?.insertTaskList(TaskListEntity(name = "Personal"))
+ dao?.insertTaskList(TaskListEntity(name = "Shopping"))
+ }
+ }
+ })
+ .build()
+ DB_INSTANCE = instance
+ return instance
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/donextv2/src/main/java/com/wismna/geoffroy/donext/data/local/dao/TaskDao.kt b/donextv2/src/main/java/com/wismna/geoffroy/donext/data/local/dao/TaskDao.kt
new file mode 100644
index 0000000..d33798c
--- /dev/null
+++ b/donextv2/src/main/java/com/wismna/geoffroy/donext/data/local/dao/TaskDao.kt
@@ -0,0 +1,32 @@
+package com.wismna.geoffroy.donext.data.local.dao
+
+import androidx.room.Dao
+import androidx.room.Insert
+import androidx.room.OnConflictStrategy
+import androidx.room.Query
+import androidx.room.Update
+import com.wismna.geoffroy.donext.data.entities.TaskEntity
+
+@Dao
+interface TaskDao {
+ @Query("SELECT * FROM tasks WHERE task_list_id = :listId")
+ suspend fun getTasksForList(listId: Long): List
+
+ @Insert(onConflict = OnConflictStrategy.REPLACE)
+ suspend fun insertTask(task: TaskEntity)
+
+ @Update
+ suspend fun updateTask(task: TaskEntity)
+
+ @Query("UPDATE tasks SET done = :done, update_date = :updateDate WHERE id = :taskId")
+ suspend fun markTaskDone(taskId: Long, done: Boolean, updateDate: Long = System.currentTimeMillis())
+
+ @Query("UPDATE tasks SET deleted = :deleted, update_date = :updateDate WHERE id = :taskId")
+ suspend fun markTaskDeleted(taskId: Long, deleted: Boolean, updateDate: Long = System.currentTimeMillis())
+
+ @Query("UPDATE tasks SET cycles = cycles + 1, update_date = :updateDate WHERE id = :taskId")
+ suspend fun increaseCycle(taskId: Long, updateDate: Long = System.currentTimeMillis())
+
+ @Query("UPDATE tasks SET deleted = :deleted WHERE id = :taskListId")
+ suspend fun deleteAllTasksFromList(taskListId: Long, deleted: Boolean)
+}
\ No newline at end of file
diff --git a/donextv2/src/main/java/com/wismna/geoffroy/donext/data/local/dao/TaskListDao.kt b/donextv2/src/main/java/com/wismna/geoffroy/donext/data/local/dao/TaskListDao.kt
new file mode 100644
index 0000000..ec5d7a1
--- /dev/null
+++ b/donextv2/src/main/java/com/wismna/geoffroy/donext/data/local/dao/TaskListDao.kt
@@ -0,0 +1,24 @@
+package com.wismna.geoffroy.donext.data.local.dao
+
+import androidx.room.Dao
+import androidx.room.Insert
+import androidx.room.OnConflictStrategy
+import androidx.room.Query
+import androidx.room.Update
+import com.wismna.geoffroy.donext.data.entities.TaskListEntity
+import kotlinx.coroutines.flow.Flow
+
+@Dao
+interface TaskListDao {
+ @Query("SELECT * FROM task_lists WHERE isDeleted = 0")
+ fun getTaskLists(): Flow>
+
+ @Insert(onConflict = OnConflictStrategy.REPLACE)
+ suspend fun insertTaskList(taskList: TaskListEntity)
+
+ @Update
+ suspend fun updateTaskList(taskList: TaskListEntity)
+
+ @Query("UPDATE task_lists SET isDeleted = :isDeleted WHERE id = :listId")
+ suspend fun deleteTaskList(listId: Long, isDeleted: Boolean)
+}
\ No newline at end of file
diff --git a/donextv2/src/main/java/com/wismna/geoffroy/donext/data/local/repository/TaskRepositoryImpl.kt b/donextv2/src/main/java/com/wismna/geoffroy/donext/data/local/repository/TaskRepositoryImpl.kt
new file mode 100644
index 0000000..d0244ad
--- /dev/null
+++ b/donextv2/src/main/java/com/wismna/geoffroy/donext/data/local/repository/TaskRepositoryImpl.kt
@@ -0,0 +1,56 @@
+package com.wismna.geoffroy.donext.data.local.repository
+
+import com.wismna.geoffroy.donext.data.local.dao.TaskDao
+import com.wismna.geoffroy.donext.data.local.dao.TaskListDao
+import com.wismna.geoffroy.donext.data.toDomain
+import com.wismna.geoffroy.donext.data.toEntity
+import com.wismna.geoffroy.donext.domain.model.Task
+import com.wismna.geoffroy.donext.domain.model.TaskList
+import com.wismna.geoffroy.donext.domain.repository.TaskRepository
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.map
+import java.time.Instant
+import javax.inject.Inject
+
+class TaskRepositoryImpl @Inject constructor(
+ private val taskDao: TaskDao,
+ private val taskListDao: TaskListDao
+): TaskRepository {
+ override suspend fun getTasksForList(listId: Long): List {
+ return taskDao.getTasksForList(listId).map { it.toDomain() }
+ }
+
+ override suspend fun insertTask(task: Task) {
+ taskDao.insertTask(task.toEntity())
+ }
+
+ override suspend fun updateTask(task: Task) {
+ val updated = task.copy(updateDate = Instant.now())
+ taskDao.updateTask(updated.toEntity())
+ }
+
+ override suspend fun deleteTask(taskId: Long, isDeleted: Boolean) {
+ taskDao.markTaskDeleted(taskId, isDeleted)
+ }
+
+ override suspend fun closeTask(taskId: Long, isDone: Boolean) {
+ taskDao.markTaskDone(taskId, isDone)
+ }
+
+ override suspend fun increaseTaskCycle(taskId: Long) {
+ taskDao.increaseCycle(taskId)
+ }
+
+ override fun getTaskLists(): Flow> {
+ return taskListDao.getTaskLists().map {entities -> entities.map { it.toDomain() }}
+ }
+
+ override suspend fun insertTaskList(taskList: TaskList) {
+ taskListDao.insertTaskList(taskList.toEntity())
+ }
+
+ override suspend fun deleteTaskList(taskListId: Long, isDeleted: Boolean) {
+ taskDao.deleteAllTasksFromList(taskListId, isDeleted)
+ taskListDao.deleteTaskList(taskListId, isDeleted)
+ }
+}
\ No newline at end of file
diff --git a/donextv2/src/main/java/com/wismna/geoffroy/donext/domain/model/Task.kt b/donextv2/src/main/java/com/wismna/geoffroy/donext/domain/model/Task.kt
new file mode 100644
index 0000000..3bc2ba3
--- /dev/null
+++ b/donextv2/src/main/java/com/wismna/geoffroy/donext/domain/model/Task.kt
@@ -0,0 +1,14 @@
+package com.wismna.geoffroy.donext.domain.model
+
+import java.time.Instant
+
+data class Task(
+ val id: Long,
+ val name: String,
+ val description: String,
+ val cycles: Int,
+ val isDone: Boolean,
+ val isDeleted: Boolean,
+ val taskListId: Long,
+ val updateDate: Instant = Instant.now()
+)
diff --git a/donextv2/src/main/java/com/wismna/geoffroy/donext/domain/model/TaskList.kt b/donextv2/src/main/java/com/wismna/geoffroy/donext/domain/model/TaskList.kt
new file mode 100644
index 0000000..33c39b0
--- /dev/null
+++ b/donextv2/src/main/java/com/wismna/geoffroy/donext/domain/model/TaskList.kt
@@ -0,0 +1,7 @@
+package com.wismna.geoffroy.donext.domain.model
+
+data class TaskList(
+ val id: Long,
+ val name: String,
+ val isDeleted: Boolean
+)
diff --git a/donextv2/src/main/java/com/wismna/geoffroy/donext/domain/repository/TaskRepository.kt b/donextv2/src/main/java/com/wismna/geoffroy/donext/domain/repository/TaskRepository.kt
new file mode 100644
index 0000000..1d2af95
--- /dev/null
+++ b/donextv2/src/main/java/com/wismna/geoffroy/donext/domain/repository/TaskRepository.kt
@@ -0,0 +1,18 @@
+package com.wismna.geoffroy.donext.domain.repository
+
+import com.wismna.geoffroy.donext.domain.model.Task
+import com.wismna.geoffroy.donext.domain.model.TaskList
+import kotlinx.coroutines.flow.Flow
+
+interface TaskRepository {
+ suspend fun getTasksForList(listId: Long): List
+ suspend fun insertTask(task: Task)
+ suspend fun updateTask(task: Task)
+ suspend fun deleteTask(taskId: Long, isDeleted: Boolean)
+ suspend fun closeTask(taskId: Long, isDone: Boolean)
+ suspend fun increaseTaskCycle(taskId: Long)
+
+ fun getTaskLists(): Flow>
+ suspend fun insertTaskList(taskList: TaskList)
+ suspend fun deleteTaskList(taskListId: Long, isDeleted: Boolean)
+}
\ No newline at end of file
diff --git a/donextv2/src/main/java/com/wismna/geoffroy/donext/domain/usecase/GetTaskListsUseCase.kt b/donextv2/src/main/java/com/wismna/geoffroy/donext/domain/usecase/GetTaskListsUseCase.kt
new file mode 100644
index 0000000..d6f4245
--- /dev/null
+++ b/donextv2/src/main/java/com/wismna/geoffroy/donext/domain/usecase/GetTaskListsUseCase.kt
@@ -0,0 +1,10 @@
+package com.wismna.geoffroy.donext.domain.usecase
+
+import com.wismna.geoffroy.donext.domain.model.TaskList
+import com.wismna.geoffroy.donext.domain.repository.TaskRepository
+import kotlinx.coroutines.flow.Flow
+import javax.inject.Inject
+
+class GetTaskListsUseCase @Inject constructor(private val repository: TaskRepository) {
+ operator fun invoke(): Flow> = repository.getTaskLists()
+}
\ No newline at end of file
diff --git a/donextv2/src/main/java/com/wismna/geoffroy/donext/presentation/MainActivity.kt b/donextv2/src/main/java/com/wismna/geoffroy/donext/presentation/MainActivity.kt
new file mode 100644
index 0000000..2ea1351
--- /dev/null
+++ b/donextv2/src/main/java/com/wismna/geoffroy/donext/presentation/MainActivity.kt
@@ -0,0 +1,114 @@
+package com.wismna.geoffroy.donext.presentation
+
+import android.os.Bundle
+import androidx.activity.ComponentActivity
+import androidx.activity.compose.setContent
+import androidx.activity.enableEdgeToEdge
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.padding
+import androidx.compose.material3.CircularProgressIndicator
+import androidx.compose.material3.ExperimentalMaterial3Api
+import androidx.compose.material3.PrimaryTabRow
+import androidx.compose.material3.Scaffold
+import androidx.compose.material3.Tab
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableIntStateOf
+import androidx.compose.runtime.saveable.rememberSaveable
+import androidx.compose.runtime.setValue
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.text.style.TextOverflow
+import androidx.hilt.navigation.compose.hiltViewModel
+import androidx.navigation.NavHostController
+import androidx.navigation.compose.NavHost
+import androidx.navigation.compose.composable
+import androidx.navigation.compose.rememberNavController
+import com.wismna.geoffroy.donext.domain.model.TaskList
+import com.wismna.geoffroy.donext.presentation.screen.TaskListScreen
+import com.wismna.geoffroy.donext.presentation.ui.theme.DoNextTheme
+import com.wismna.geoffroy.donext.presentation.viewmodel.MainViewModel
+import dagger.hilt.android.AndroidEntryPoint
+
+@AndroidEntryPoint
+class MainActivity : ComponentActivity() {
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ enableEdgeToEdge()
+ setContent {
+ DoNextTheme {
+ Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
+ val viewModel: MainViewModel = hiltViewModel()
+ MainScreen(
+ viewModel,
+ modifier = Modifier.padding(innerPadding)
+ )
+ }
+ }
+ }
+ }
+}
+
+@OptIn(ExperimentalMaterial3Api::class)
+@Composable
+fun MainScreen(viewModel: MainViewModel, modifier: Modifier = Modifier) {
+ val navController = rememberNavController()
+
+ if (viewModel.isLoading) {
+ // Show loading or empty state
+ Box(Modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
+ CircularProgressIndicator()
+ }
+ } else {
+ val startDestination = viewModel.taskLists[0]
+ // TODO: get last opened tab from saved settings
+ var selectedDestination by rememberSaveable { mutableIntStateOf(0) }
+
+ Scaffold(modifier = modifier) { contentPadding ->
+ PrimaryTabRow(
+ selectedTabIndex = selectedDestination,
+ modifier = Modifier.padding(contentPadding)
+ ) {
+ viewModel.taskLists.forEachIndexed { index, destination ->
+ Tab(
+ selected = selectedDestination == index,
+ onClick = {
+ navController.navigate(route = destination.name)
+ selectedDestination = index
+ },
+ text = {
+ Text(
+ text = destination.name,
+ maxLines = 2,
+ overflow = TextOverflow.Ellipsis
+ )
+ }
+ )
+ }
+ }
+ AppNavHost(navController, startDestination, viewModel)
+ }
+ }
+}
+
+@Composable
+fun AppNavHost(
+ navController: NavHostController,
+ startDestination: TaskList,
+ viewModel: MainViewModel,
+ modifier: Modifier = Modifier
+) {
+ NavHost(
+ navController,
+ startDestination = startDestination.name
+ ) {
+ viewModel.taskLists.forEach { destination ->
+ composable(destination.name) {
+ TaskListScreen(destination, modifier)
+ }
+ }
+ }
+}
+
diff --git a/donextv2/src/main/java/com/wismna/geoffroy/donext/presentation/screen/TaskListScreen.kt b/donextv2/src/main/java/com/wismna/geoffroy/donext/presentation/screen/TaskListScreen.kt
new file mode 100644
index 0000000..d16e625
--- /dev/null
+++ b/donextv2/src/main/java/com/wismna/geoffroy/donext/presentation/screen/TaskListScreen.kt
@@ -0,0 +1,19 @@
+package com.wismna.geoffroy.donext.presentation.screen
+
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import com.wismna.geoffroy.donext.domain.model.TaskList
+
+@Composable
+fun TaskListScreen(taskList: TaskList, modifier: Modifier = Modifier) {
+ Box(
+ modifier = Modifier.fillMaxSize(),
+ contentAlignment = Alignment.Center
+ ) {
+ Text("${taskList.name} Screen")
+ }
+}
\ No newline at end of file
diff --git a/donextv2/src/main/java/com/wismna/geoffroy/donext/presentation/ui/theme/Color.kt b/donextv2/src/main/java/com/wismna/geoffroy/donext/presentation/ui/theme/Color.kt
new file mode 100644
index 0000000..a1b8176
--- /dev/null
+++ b/donextv2/src/main/java/com/wismna/geoffroy/donext/presentation/ui/theme/Color.kt
@@ -0,0 +1,11 @@
+package com.wismna.geoffroy.donext.presentation.ui.theme
+
+import androidx.compose.ui.graphics.Color
+
+val Purple80 = Color(0xFFD0BCFF)
+val PurpleGrey80 = Color(0xFFCCC2DC)
+val Pink80 = Color(0xFFEFB8C8)
+
+val Purple40 = Color(0xFF6650a4)
+val PurpleGrey40 = Color(0xFF625b71)
+val Pink40 = Color(0xFF7D5260)
\ No newline at end of file
diff --git a/donextv2/src/main/java/com/wismna/geoffroy/donext/presentation/ui/theme/Theme.kt b/donextv2/src/main/java/com/wismna/geoffroy/donext/presentation/ui/theme/Theme.kt
new file mode 100644
index 0000000..56e735b
--- /dev/null
+++ b/donextv2/src/main/java/com/wismna/geoffroy/donext/presentation/ui/theme/Theme.kt
@@ -0,0 +1,57 @@
+package com.wismna.geoffroy.donext.presentation.ui.theme
+
+import android.os.Build
+import androidx.compose.foundation.isSystemInDarkTheme
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.darkColorScheme
+import androidx.compose.material3.dynamicDarkColorScheme
+import androidx.compose.material3.dynamicLightColorScheme
+import androidx.compose.material3.lightColorScheme
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.platform.LocalContext
+
+private val DarkColorScheme = darkColorScheme(
+ primary = Purple80,
+ secondary = PurpleGrey80,
+ tertiary = Pink80
+)
+
+private val LightColorScheme = lightColorScheme(
+ primary = Purple40,
+ secondary = PurpleGrey40,
+ tertiary = Pink40
+
+ /* Other default colors to override
+ background = Color(0xFFFFFBFE),
+ surface = Color(0xFFFFFBFE),
+ onPrimary = Color.White,
+ onSecondary = Color.White,
+ onTertiary = Color.White,
+ onBackground = Color(0xFF1C1B1F),
+ onSurface = Color(0xFF1C1B1F),
+ */
+)
+
+@Composable
+fun DoNextTheme(
+ darkTheme: Boolean = isSystemInDarkTheme(),
+ // Dynamic color is available on Android 12+
+ dynamicColor: Boolean = true,
+ content: @Composable () -> Unit
+) {
+ val colorScheme = when {
+ dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> {
+ val context = LocalContext.current
+ if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
+ }
+
+ darkTheme -> DarkColorScheme
+ else -> LightColorScheme
+ }
+
+ MaterialTheme(
+ colorScheme = colorScheme,
+ typography = Typography,
+ content = content
+ )
+}
\ No newline at end of file
diff --git a/donextv2/src/main/java/com/wismna/geoffroy/donext/presentation/ui/theme/Type.kt b/donextv2/src/main/java/com/wismna/geoffroy/donext/presentation/ui/theme/Type.kt
new file mode 100644
index 0000000..fdb6885
--- /dev/null
+++ b/donextv2/src/main/java/com/wismna/geoffroy/donext/presentation/ui/theme/Type.kt
@@ -0,0 +1,34 @@
+package com.wismna.geoffroy.donext.presentation.ui.theme
+
+import androidx.compose.material3.Typography
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.unit.sp
+
+// Set of Material typography styles to start with
+val Typography = Typography(
+ bodyLarge = TextStyle(
+ fontFamily = FontFamily.Default,
+ fontWeight = FontWeight.Normal,
+ fontSize = 16.sp,
+ lineHeight = 24.sp,
+ letterSpacing = 0.5.sp
+ )
+ /* Other default text styles to override
+ titleLarge = TextStyle(
+ fontFamily = FontFamily.Default,
+ fontWeight = FontWeight.Normal,
+ fontSize = 22.sp,
+ lineHeight = 28.sp,
+ letterSpacing = 0.sp
+ ),
+ labelSmall = TextStyle(
+ fontFamily = FontFamily.Default,
+ fontWeight = FontWeight.Medium,
+ fontSize = 11.sp,
+ lineHeight = 16.sp,
+ letterSpacing = 0.5.sp
+ )
+ */
+)
\ No newline at end of file
diff --git a/donextv2/src/main/java/com/wismna/geoffroy/donext/presentation/viewmodel/MainViewModel.kt b/donextv2/src/main/java/com/wismna/geoffroy/donext/presentation/viewmodel/MainViewModel.kt
new file mode 100644
index 0000000..0270dca
--- /dev/null
+++ b/donextv2/src/main/java/com/wismna/geoffroy/donext/presentation/viewmodel/MainViewModel.kt
@@ -0,0 +1,34 @@
+package com.wismna.geoffroy.donext.presentation.viewmodel
+
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.setValue
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.viewModelScope
+import com.wismna.geoffroy.donext.domain.model.TaskList
+import com.wismna.geoffroy.donext.domain.usecase.GetTaskListsUseCase
+import dagger.hilt.android.lifecycle.HiltViewModel
+import kotlinx.coroutines.flow.launchIn
+import kotlinx.coroutines.flow.onEach
+import javax.inject.Inject
+
+@HiltViewModel
+class MainViewModel @Inject constructor(
+ getTaskLists: GetTaskListsUseCase
+) : ViewModel() {
+
+ var taskLists by mutableStateOf>(emptyList())
+ private set
+
+ var isLoading by mutableStateOf(true)
+ private set
+
+ init {
+ getTaskLists()
+ .onEach { lists ->
+ taskLists = lists
+ isLoading = false
+ }
+ .launchIn(viewModelScope)
+ }
+}
\ No newline at end of file
diff --git a/donextv2/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/donextv2/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
new file mode 100644
index 0000000..036d09b
--- /dev/null
+++ b/donextv2/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/donextv2/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/donextv2/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
new file mode 100644
index 0000000..036d09b
--- /dev/null
+++ b/donextv2/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/donextv2/src/main/res/mipmap-hdpi/ic_launcher.png b/donextv2/src/main/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 0000000..707efd3
Binary files /dev/null and b/donextv2/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/donextv2/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/donextv2/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
new file mode 100644
index 0000000..371b7e7
Binary files /dev/null and b/donextv2/src/main/res/mipmap-hdpi/ic_launcher_foreground.png differ
diff --git a/donextv2/src/main/res/mipmap-hdpi/ic_launcher_round.png b/donextv2/src/main/res/mipmap-hdpi/ic_launcher_round.png
new file mode 100644
index 0000000..058c3aa
Binary files /dev/null and b/donextv2/src/main/res/mipmap-hdpi/ic_launcher_round.png differ
diff --git a/donextv2/src/main/res/mipmap-mdpi/ic_launcher.png b/donextv2/src/main/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 0000000..feb64ba
Binary files /dev/null and b/donextv2/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/donextv2/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/donextv2/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
new file mode 100644
index 0000000..150b8a9
Binary files /dev/null and b/donextv2/src/main/res/mipmap-mdpi/ic_launcher_foreground.png differ
diff --git a/donextv2/src/main/res/mipmap-mdpi/ic_launcher_round.png b/donextv2/src/main/res/mipmap-mdpi/ic_launcher_round.png
new file mode 100644
index 0000000..a8e31f7
Binary files /dev/null and b/donextv2/src/main/res/mipmap-mdpi/ic_launcher_round.png differ
diff --git a/donextv2/src/main/res/mipmap-xhdpi/ic_launcher.png b/donextv2/src/main/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 0000000..daa9a87
Binary files /dev/null and b/donextv2/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/donextv2/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/donextv2/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
new file mode 100644
index 0000000..6eb8939
Binary files /dev/null and b/donextv2/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png differ
diff --git a/donextv2/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/donextv2/src/main/res/mipmap-xhdpi/ic_launcher_round.png
new file mode 100644
index 0000000..f71ac93
Binary files /dev/null and b/donextv2/src/main/res/mipmap-xhdpi/ic_launcher_round.png differ
diff --git a/donextv2/src/main/res/mipmap-xxhdpi/ic_launcher.png b/donextv2/src/main/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 0000000..83aa6b4
Binary files /dev/null and b/donextv2/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/donextv2/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/donextv2/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
new file mode 100644
index 0000000..04b937a
Binary files /dev/null and b/donextv2/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png differ
diff --git a/donextv2/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/donextv2/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
new file mode 100644
index 0000000..92f4f87
Binary files /dev/null and b/donextv2/src/main/res/mipmap-xxhdpi/ic_launcher_round.png differ
diff --git a/donextv2/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/donextv2/src/main/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 0000000..dcab0cf
Binary files /dev/null and b/donextv2/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/donextv2/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/donextv2/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
new file mode 100644
index 0000000..9afbb52
Binary files /dev/null and b/donextv2/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png differ
diff --git a/donextv2/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/donextv2/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
new file mode 100644
index 0000000..1686c78
Binary files /dev/null and b/donextv2/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png differ
diff --git a/donextv2/src/main/res/values/colors.xml b/donextv2/src/main/res/values/colors.xml
new file mode 100644
index 0000000..a0f46dc
--- /dev/null
+++ b/donextv2/src/main/res/values/colors.xml
@@ -0,0 +1,4 @@
+
+
+ #303F9F
+
diff --git a/donextv2/src/main/res/values/strings.xml b/donextv2/src/main/res/values/strings.xml
new file mode 100644
index 0000000..a751aca
--- /dev/null
+++ b/donextv2/src/main/res/values/strings.xml
@@ -0,0 +1,4 @@
+
+ DoNext
+ MainActivity
+
\ No newline at end of file
diff --git a/donextv2/src/main/res/values/themes.xml b/donextv2/src/main/res/values/themes.xml
new file mode 100644
index 0000000..5c9c22a
--- /dev/null
+++ b/donextv2/src/main/res/values/themes.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/settings.gradle b/settings.gradle
index e7b4def..61f7534 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1 +1,2 @@
-include ':app'
+include ':donext'
+include ':donextv2'