Add auto-release and update system
This commit is contained in:
1 parent
502cdacb44
commit
0557679e9c
125 files changed
+6799
-1680
No files matched your search
@@ -0,0 +1,55 @@
|
||||
# سیستم آپدیت اجباری و مدیریت دسترسیها
|
||||
|
||||
این طرح شامل پیادهسازی مکانیزم بررسی نسخه جدید اپلیکیشن از طریق فایل JSON در گیتهاب و همچنین الزامی کردن دسترسیهای مورد نیاز برنامه (مشابه پروژه ابزار فروش) در بدو ورود کاربر است.
|
||||
|
||||
## User Review Required
|
||||
|
||||
- **لینک فایل آپدیت:** فعلاً از لینک `https://raw.githubusercontent.com/oqba26/MonthlyPaymentApp/main/update.json` استفاده شده است. لطفاً مطمئن شوید این فایل در مخزن شما وجود دارد.
|
||||
- **دسترسیهای اجباری:** دسترسیهای Contacts، Camera و Storage (برای نسخههای قدیمی) به صورت پیشفرض اجباری در نظر گرفته شدهاند.
|
||||
|
||||
## Proposed Changes
|
||||
|
||||
### [Dependencies]
|
||||
|
||||
#### [MODIFY] [libs.versions.toml](file:///E:/AndroidStudioProjects/MonthlyPaymentApp/gradle/libs.versions.toml)
|
||||
افزودن کتابخانههای Ktor برای Content Negotiation و Serialization جهت پردازش فایل JSON آپدیت.
|
||||
|
||||
#### [MODIFY] [build.gradle.kts](file:///E:/AndroidStudioProjects/MonthlyPaymentApp/app/build.gradle.kts)
|
||||
اضافه کردن وابستگیهای جدید به ماژول اپلیکیشن.
|
||||
|
||||
---
|
||||
|
||||
### [Update System]
|
||||
|
||||
#### [NEW] [UpdateManager.kt](file:///E:/AndroidStudioProjects/MonthlyPaymentApp/app/src/main/java/com/oqba26/monthlypaymentapp/util/UpdateManager.kt)
|
||||
کلاسی برای چک کردن نسخه جدید، دانلود APK و اجرای فرآیند نصب.
|
||||
|
||||
#### [NEW] [UpdateDialog.kt](file:///E:/AndroidStudioProjects/MonthlyPaymentApp/app/src/main/java/com/oqba26/monthlypaymentapp/ui/components/UpdateDialog.kt)
|
||||
رابط کاربری نمایش وجود نسخه جدید و گزارش پیشرفت دانلود.
|
||||
|
||||
---
|
||||
|
||||
### [Permissions & Manifest]
|
||||
|
||||
#### [NEW] [PermissionDialogs.kt](file:///E:/AndroidStudioProjects/MonthlyPaymentApp/app/src/main/java/com/oqba26/monthlypaymentapp/ui/components/PermissionDialogs.kt)
|
||||
دیالوگهای نمایش دسترسیهای الزامی و اخطار عدم دسترسی.
|
||||
|
||||
#### [MODIFY] [AndroidManifest.xml](file:///E:/AndroidStudioProjects/MonthlyPaymentApp/app/src/main/AndroidManifest.xml)
|
||||
افزودن مجوز `REQUEST_INSTALL_PACKAGES` و تعریف `FileProvider` برای نصب خودکار فایل APK.
|
||||
|
||||
#### [NEW] [file_paths.xml](file:///E:/AndroidStudioProjects/MonthlyPaymentApp/app/src/main/res/xml/file_paths.xml)
|
||||
تعریف مسیرهای مجاز برای `FileProvider`.
|
||||
|
||||
---
|
||||
|
||||
### [Integration]
|
||||
|
||||
#### [MODIFY] [MainActivity.kt](file:///E:/AndroidStudioProjects/MonthlyPaymentApp/app/src/main/java/com/oqba26/monthlypaymentapp/MainActivity.kt)
|
||||
یکپارچهسازی فرآیند بررسی آپدیت و چک کردن دسترسیها در زمان اجرای برنامه.
|
||||
|
||||
## Verification Plan
|
||||
|
||||
### Manual Verification
|
||||
1. اجرای برنامه و مشاهده دیالوگ دسترسیها (در صورت عدم تایید قبلی).
|
||||
2. شبیهسازی وجود آپدیت جدید با تغییر دستی `versionCode` در کد و بررسی نمایش دیالوگ آپدیت.
|
||||
3. تست فرآیند دانلود و باز شدن صفحه نصب اندروید.
|
||||
Reference in new issue
Block a user