Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
d03f6ac
chore(deps): bump gradle-wrapper from 9.3.1 to 9.4.0
dependabot[bot] Mar 8, 2026
46b8d42
chore(deps): bump agp from 9.0.1 to 9.1.0
dependabot[bot] Mar 8, 2026
c24cdf2
chore(deps): bump agp from 9.0.1 to 9.1.0 (#108)
JeelDobariya38 Mar 9, 2026
07ba7aa
chore(deps): bump gradle-wrapper from 9.3.1 to 9.4.0 (#107)
JeelDobariya38 Mar 9, 2026
3277f0a
chore(deps): just improve syntax. linting...
JeelDobariya38 Mar 9, 2026
586c265
chore(deps): remove libs.plugins.kotlin.android as not need after agp…
JeelDobariya38 Mar 9, 2026
c258ed3
chore(deps): add kotlin multiplatform plugin as dependency
JeelDobariya38 Mar 9, 2026
004d7b8
chore(deps): add compose multiplatform plugin as dependency
JeelDobariya38 Mar 9, 2026
2241224
chore(deps): naming consistency.
JeelDobariya38 Mar 9, 2026
5015b46
feat: made a basic cmp/kmp android library for design system.
JeelDobariya38 Mar 10, 2026
c369597
feat: just move/migrate all passcodes theme kotlin code to ths new de…
JeelDobariya38 Mar 10, 2026
66a4669
chore: remove temporary code
JeelDobariya38 Mar 10, 2026
77892c8
feat: made a default material3 theme
JeelDobariya38 Mar 10, 2026
6d5fe94
refactor: naming of colors
JeelDobariya38 Mar 10, 2026
64a25f2
refactor: color scheme to color theme
JeelDobariya38 Mar 10, 2026
4939e7c
feat: made language feature & theme feature as preview features
JeelDobariya38 Mar 10, 2026
b946dee
refactor: modularize navigation code using entry provider scope dsl o…
JeelDobariya38 Mar 10, 2026
c416d26
chore: migrated the database to v2
JeelDobariya38 Mar 14, 2026
e0c3ff7
refactor: minimal changes so that app can at-least build & run
JeelDobariya38 Mar 15, 2026
653b945
chore(deps-fix): fix the dependency for android test runner.
JeelDobariya38 Mar 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -47,16 +47,16 @@ val devRoundIcon = "@mipmap/dev_ic_launcher_round"


plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.androidApplication)
alias(libs.plugins.composeCompiler)
alias(libs.plugins.ksp)
alias(libs.plugins.jetbrains.kotlin.serialization)
alias(libs.plugins.oss.licenses)
alias(libs.plugins.kotlinSerialization)
alias(libs.plugins.ossLicenses)
}

kotlin {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_21)
jvmTarget = JvmTarget.JVM_21
}
}

Expand Down Expand Up @@ -205,6 +205,7 @@ android {

dependencies {
// In project library / feature modules
implementation(project(":design_system"))
implementation(project(":core"))
implementation(project(":database"))
implementation(project(":password_manager"))
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
android:theme="@style/PasscodesTheme.Default"
tools:targetApi="33" >

<activity android:name=".ui.MainActivity" />
<activity android:name=".MainActivity" />

<activity
android:name=".oldui.MainActivity"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.jeeldobariya.passcodes.ui
package com.jeeldobariya.passcodes

import android.content.Intent
import android.os.Bundle
Expand All @@ -10,9 +10,9 @@ import androidx.compose.runtime.getValue
import androidx.compose.ui.platform.LocalContext
import com.jeeldobariya.passcodes.core.feature_flags.FeatureFlagsSettings
import com.jeeldobariya.passcodes.core.feature_flags.featureFlagsDatastore
import com.jeeldobariya.passcodes.design_system.theme.PasscodesTheme
import com.jeeldobariya.passcodes.navigation.NavigationRoot
import com.jeeldobariya.passcodes.oldui.MainActivity
import com.jeeldobariya.passcodes.ui.ui.theme.PasscodesTheme

class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
Expand All @@ -36,4 +36,4 @@ class MainActivity : ComponentActivity() {
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package com.jeeldobariya.passcodes.navigation

import androidx.navigation3.runtime.EntryProviderScope
import androidx.navigation3.runtime.NavKey
import com.jeeldobariya.passcodes.core.navigation.Route
import com.jeeldobariya.passcodes.presentation.about_screen.ClassicalAboutScreen
import com.jeeldobariya.passcodes.presentation.about_screen.ModernAboutScreen
import com.jeeldobariya.passcodes.presentation.main_screen.ClassicalMainScreen
import com.jeeldobariya.passcodes.presentation.main_screen.ModernMainScreen
import com.jeeldobariya.passcodes.presentation.setting_screen.ClassicalSettingsScreen
import com.jeeldobariya.passcodes.presentation.setting_screen.ModernSettingsScreen

fun EntryProviderScope<NavKey>.modernMainAppEntriesProvider(navigateTo: (Route) -> Unit) {
entry<Route.Home> {
ModernMainScreen(navigateTo)
}

entry<Route.Settings> {
ModernSettingsScreen()
}

entry<Route.AboutUs> {
ModernAboutScreen()
}
}

fun EntryProviderScope<NavKey>.classicalMainAppEntriesProvider(navigateTo: (Route) -> Unit) {
entry<Route.Home> {
ClassicalMainScreen(navigateTo = navigateTo)
}

entry<Route.Settings> {
ClassicalSettingsScreen()
}

entry<Route.AboutUs> {
ClassicalAboutScreen()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,8 @@ import androidx.navigation3.ui.NavDisplay
import com.jeeldobariya.passcodes.core.datastore.AppSettings
import com.jeeldobariya.passcodes.core.datastore.appDatastore
import com.jeeldobariya.passcodes.core.navigation.Route
import com.jeeldobariya.passcodes.password_manager.presentation.load_password.ClassicalLoadPasswordScreen
import com.jeeldobariya.passcodes.password_manager.presentation.password_manager.ClassicalPasswordManagerScreen
import com.jeeldobariya.passcodes.password_manager.presentation.password_manager.ModernPasswordManagerScreen
import com.jeeldobariya.passcodes.password_manager.presentation.save_password.ClassicalSavePasswordScreen
import com.jeeldobariya.passcodes.password_manager.presentation.save_password.ModernSavePasswordScreen
import com.jeeldobariya.passcodes.password_manager.presentation.update_password.ClassicalUpdatePasswordScreen
import com.jeeldobariya.passcodes.password_manager.presentation.update_password.ModernUpdatePasswordScreen
import com.jeeldobariya.passcodes.password_manager.presentation.view_password.ClassicalViewPasswordScreen
import com.jeeldobariya.passcodes.presentation.about_screen.ClassicalAboutScreen
import com.jeeldobariya.passcodes.presentation.main_screen.ClassicalMainScreen
import com.jeeldobariya.passcodes.presentation.setting_screen.ClassicalSettingsScreen
import com.jeeldobariya.passcodes.presentation.about_screen.ModernAboutScreen
import com.jeeldobariya.passcodes.presentation.main_screen.ModernMainScreen
import com.jeeldobariya.passcodes.presentation.setting_screen.ModernSettingsScreen
import com.jeeldobariya.passcodes.password_manager.navigation.classicalPasswordManagerEntriesProvider
import com.jeeldobariya.passcodes.password_manager.navigation.modernPasswordManagerEntriesProvider


@Composable
Expand All @@ -42,37 +30,8 @@ private fun ModernNavigationRoot(backStack: NavBackStack<NavKey>, navigateTo: (R
rememberViewModelStoreNavEntryDecorator()
),
entryProvider = entryProvider {
entry<Route.Home> {
ModernMainScreen(navigateTo)
}

entry<Route.Settings> {
ModernSettingsScreen()
}

entry<Route.AboutUs> {
ModernAboutScreen()
}

entry<Route.PasswordManager> {
ModernPasswordManagerScreen(navigateTo)
}

entry<Route.LoadPassword> {
ModernPasswordManagerScreen(navigateTo)
}

entry<Route.SavePassword> {
ModernSavePasswordScreen()
}

entry<Route.ViewPassword> { // Theoretically, Should be treated as `UpdatePassword` Route in Modern Layout...
ModernUpdatePasswordScreen(it.id)
}

entry<Route.UpdatePassword> {
ModernUpdatePasswordScreen(it.id)
}
modernMainAppEntriesProvider(navigateTo = navigateTo)
modernPasswordManagerEntriesProvider(navigateTo = navigateTo)
}
)
}
Expand All @@ -89,37 +48,8 @@ private fun ClassicalNavigationRoot(backStack: NavBackStack<NavKey>, navigateTo:
rememberViewModelStoreNavEntryDecorator()
),
entryProvider = entryProvider {
entry<Route.Home> {
ClassicalMainScreen(navigateTo = navigateTo)
}

entry<Route.Settings> {
ClassicalSettingsScreen()
}

entry<Route.AboutUs> {
ClassicalAboutScreen()
}

entry<Route.PasswordManager> {
ClassicalPasswordManagerScreen(navigateTo = navigateTo)
}

entry<Route.LoadPassword> {
ClassicalLoadPasswordScreen(navigateTo = navigateTo)
}

entry<Route.SavePassword> {
ClassicalSavePasswordScreen()
}

entry<Route.ViewPassword> {
ClassicalViewPasswordScreen(passwordId = it.id, navigateTo = navigateTo)
}

entry<Route.UpdatePassword> {
ClassicalUpdatePasswordScreen(passwordId = it.id)
}
classicalMainAppEntriesProvider(navigateTo = navigateTo)
classicalPasswordManagerEntriesProvider(navigateTo = navigateTo)
}
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ class MainActivity : AppCompatActivity() {
if (featureFlagsDatastore.data.first().isPreviewLayoutEnabled) {
Intent(
this@MainActivity,
com.jeeldobariya.passcodes.ui.MainActivity::class.java
com.jeeldobariya.passcodes.MainActivity::class.java
).also {
startActivity(it)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ import androidx.compose.ui.unit.dp
import androidx.core.net.toUri
import com.jeeldobariya.passcodes.Constant
import com.jeeldobariya.passcodes.R
import com.jeeldobariya.passcodes.ui.ui.theme.PasscodesTheme
import com.jeeldobariya.passcodes.design_system.theme.PasscodesTheme


@Composable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.jeeldobariya.passcodes.R
import com.jeeldobariya.passcodes.ui.ui.theme.PasscodesTheme
import com.jeeldobariya.passcodes.design_system.theme.PasscodesTheme

@Composable
fun ModernAboutScreen() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.jeeldobariya.passcodes.R
import com.jeeldobariya.passcodes.core.navigation.Route
import com.jeeldobariya.passcodes.ui.ui.theme.PasscodesTheme
import com.jeeldobariya.passcodes.design_system.theme.PasscodesTheme

@Composable
fun ClassicalMainScreen(navigateTo: (Route) -> Unit) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.jeeldobariya.passcodes.R
import com.jeeldobariya.passcodes.core.navigation.Route
import com.jeeldobariya.passcodes.ui.ui.theme.PasscodesTheme
import com.jeeldobariya.passcodes.design_system.theme.PasscodesTheme


@Composable
Expand Down
Loading
Loading