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
+3 -1
View File
@@ -1,6 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="21" />
<bytecodeTargetLevel target="21">
<module name="PSP.p3_pardakht_novin" target="21" />
</bytecodeTargetLevel>
</component>
</project>
+40 -7
View File
@@ -6,20 +6,29 @@
<option name="selectionMode" value="DROPDOWN" />
<DialogSelection />
</SelectionState>
<SelectionState runConfigName="tis_sep">
<option name="selectionMode" value="DROPDOWN" />
<DialogSelection />
</SelectionState>
<SelectionState runConfigName="tis_app">
<option name="selectionMode" value="DROPDOWN" />
<DropdownSelection timestamp="2026-05-12T16:21:58.593804400Z">
<DropdownSelection timestamp="2026-06-08T07:38:22.052645700Z">
<Target type="DEFAULT_BOOT">
<handle>
<DeviceId pluginId="PhysicalDevice" identifier="serial=TP030090489" />
<DeviceId pluginId="LocalEmulator" identifier="path=C:\Users\Amir Mousavi\.android\avd\Pixel_9_Pro.avd" />
</handle>
</Target>
</DropdownSelection>
<DialogSelection />
<DialogSelection>
<targets>
<Target type="DEFAULT_BOOT">
<handle>
<DeviceId pluginId="PhysicalDevice" identifier="serial=TP030078028" />
</handle>
</Target>
<Target type="DEFAULT_BOOT">
<handle>
<DeviceId pluginId="LocalEmulator" identifier="path=C:\Users\Amir Mousavi\.android\avd\Pixel_9_Pro.avd" />
</handle>
</Target>
</targets>
</DialogSelection>
</SelectionState>
<SelectionState runConfigName="stage_app">
<option name="selectionMode" value="DROPDOWN" />
@@ -32,6 +41,30 @@
</DropdownSelection>
<DialogSelection />
</SelectionState>
<SelectionState runConfigName="pardakht_novin_app">
<option name="selectionMode" value="DROPDOWN" />
<DropdownSelection timestamp="2026-06-08T07:38:22.052645700Z">
<Target type="DEFAULT_BOOT">
<handle>
<DeviceId pluginId="LocalEmulator" identifier="path=C:\Users\Amir Mousavi\.android\avd\Pixel_9_Pro.avd" />
</handle>
</Target>
</DropdownSelection>
<DialogSelection>
<targets>
<Target type="DEFAULT_BOOT">
<handle>
<DeviceId pluginId="PhysicalDevice" identifier="serial=TP030078028" />
</handle>
</Target>
<Target type="DEFAULT_BOOT">
<handle>
<DeviceId pluginId="LocalEmulator" identifier="path=C:\Users\Amir Mousavi\.android\avd\Pixel_9_Pro.avd" />
</handle>
</Target>
</targets>
</DialogSelection>
</SelectionState>
</selectionStates>
</component>
</project>
+7
View File
@@ -0,0 +1,7 @@
<component name="ProjectDictionaryState">
<dictionary name="project">
<words>
<w>Novin</w>
</words>
</dictionary>
</component>
+3
View File
@@ -13,6 +13,9 @@
<option value="$PROJECT_DIR$/core" />
<option value="$PROJECT_DIR$/design_system" />
<option value="$PROJECT_DIR$/p3" />
<option value="$PROJECT_DIR$/p3/p3_pardakht_novin" />
<option value="$PROJECT_DIR$/p3/p3_sepehr" />
<option value="$PROJECT_DIR$/pardakht_novin_app" />
<option value="$PROJECT_DIR$/ps4" />
<option value="$PROJECT_DIR$/stage_app" />
<option value="$PROJECT_DIR$/tis_app" />
+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="KotlinJpsPluginSettings">
<option name="externalSystemId" value="Gradle" />
<option name="version" value="2.3.10" />
</component>
</project>
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="MarkdownSettings">
<option name="previewPanelProviderInfo">
<ProviderInfo name="Compose (experimental)" className="com.intellij.markdown.compose.preview.ComposePanelProvider" />
</option>
</component>
</project>
+1
View File
@@ -4,6 +4,7 @@
<option name="approvalStates">
<map>
<entry key="20260504-162003-d0f92a5d-1a15-429a-82cc-cad6ed3c0e3e" value="true" />
<entry key="20260608-113233-cbd224e1-fbde-45e9-8023-20976cbde20f" value="true" />
</map>
</option>
</component>