Feat(P3): Modularize module and add Pardakht Novin support

- Split `p3` module into `p3_pardakht_novin` and `p3_sepehr` sub-modules
- Create `pardakht_novin_app` module with dedicated WebView and Hilt configuration
- Rename P3 services, printers, and models to be vendor-specific (e.g., `P3PardakhtNovinService`)
- Add `p3_pardakht_novin` and `p3_sepehr` product flavors to `tis_app` and `stage_app`
- Update project settings and build configurations to include the new modular structure
- Implement Sepehr-specific POS and Printer services in the new module
This commit is contained in:
Amir Mousavi
2026-06-16 00:18:45 +03:30
parent 1246a35771
commit 5d60f62c20
85 changed files with 2031 additions and 64 deletions
+18 -9
View File
@@ -23,13 +23,19 @@ android {
flavorDimensions.add("module")
productFlavors {
create("p3") {
create("p3_novin") {
versionCode = 1
versionName = "1.0"
dimension = "module"
applicationId = "com.example.stage_app_p3"
manifestPlaceholders["appName"] = "TisP3"
applicationId = "com.example.stage_app_p3_novin"
manifestPlaceholders["appName"] = "TisP3Novin"
}
create("p3_sepehr") {
versionCode = 1
versionName = "1.0"
dimension = "module"
applicationId = "com.example.stage_app_p3_sepehr"
manifestPlaceholders["appName"] = "TisP3Sepehr"
}
create("ps4") {
versionCode = 1
@@ -44,11 +50,14 @@ android {
dimension = "module"
applicationId = "com.example.stage_app"
manifestPlaceholders["appName"] = "Tis"
}
}
buildTypes {
debug {
applicationIdSuffix = ".debug"
signingConfig = signingConfigs.getByName("debug")
}
release {
isMinifyEnabled = false
proguardFiles(
@@ -67,14 +76,14 @@ android {
compose = true
buildConfig = true
}
}
dependencies {
implementation(project(":core"))
implementation(project(":design_system"))
"p3Implementation"(project(":p3"))
"p3_novinImplementation"(project(":p3:p3_pardakht_novin"))
"p3_sepehrImplementation"(project(":p3:p3_sepehr"))
"ps4Implementation"(project(":ps4"))
implementation(libs.hilt.android)
@@ -97,4 +106,4 @@ dependencies {
androidTestImplementation(libs.androidx.junit)
debugImplementation(libs.androidx.compose.ui.test.manifest)
debugImplementation(libs.androidx.compose.ui.tooling)
}
}
@@ -2,8 +2,8 @@ package com.example.tis_app.di
import com.example.core.domain.Printer
import com.example.core.domain.PspService
import com.example.p3.P3Printer
import com.example.p3.P3Service
import com.example.p3_pardakht_novin.P3Printer
import com.example.p3_pardakht_novin.P3Service
import dagger.Binds
import dagger.Module
import dagger.hilt.InstallIn