Installed APK sequence was system splash -> white WebView -> web splash -> home. The activity now holds the system splash (core-splashscreen) until the page calls TadrisinoAndroid.appReady(), after its first non-boot screen; released after 10s or on a main-frame load error so a dead site shows the WebView error, not an endless splash. Older APKs have no appReady and are unaffected. Debug build compiles; not run on a device. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
111 lines
3.6 KiB
Kotlin
111 lines
3.6 KiB
Kotlin
// plugins {
|
|
// id("com.android.application")
|
|
// id("org.jetbrains.kotlin.android")
|
|
// }
|
|
|
|
// android {
|
|
// // ⚠️ اسمِ پکیج باید همانی باشد که در پیشخانِ بازار ثبت است. com.tadrisino.app را بازار
|
|
// // برای حسابِ شرکت «Product is not found» جواب داد (یعنی هست)، ولی سنیور تأیید نکرده
|
|
// // که همان اپِ ریاضی است (CLAUDE.mdِ بکاند، ۲۰۲۶-۰۹-۳۰).
|
|
// namespace = "com.tadrisino.app"
|
|
// compileSdk = 34
|
|
|
|
// defaultConfig {
|
|
// applicationId = "com.tadrisino.math.app"
|
|
// minSdk = 23
|
|
// targetSdk = 34
|
|
// versionCode = 1
|
|
// versionName = "1.0.0"
|
|
|
|
// // آدرسِ همان فرانتِ وب. دامنه عوض شود، فقط همین خط.
|
|
// buildConfigField("String", "WEB_URL", "\"https://math.tadrisino2.ir/\"")
|
|
// // کلیدِ RSAِ عمومیِ اپ از پیشخانِ بازار (بخشِ «پرداخت درونبرنامهای»). کلیدِ عمومی
|
|
// // است و در اپ مینشیند؛ رمز نیست. تا پر نشود، اپ خرید را شروع نمیکند.
|
|
// buildConfigField("String", "BAZAAR_RSA_KEY", "\"\"")
|
|
// }
|
|
|
|
// buildFeatures {
|
|
// buildConfig = true
|
|
// }
|
|
|
|
// buildTypes {
|
|
// release {
|
|
// isMinifyEnabled = false
|
|
// }
|
|
// }
|
|
|
|
// compileOptions {
|
|
// sourceCompatibility = JavaVersion.VERSION_17
|
|
// targetCompatibility = JavaVersion.VERSION_17
|
|
// }
|
|
// kotlinOptions {
|
|
// jvmTarget = "17"
|
|
// }
|
|
// }
|
|
|
|
// dependencies {
|
|
// implementation("androidx.appcompat:appcompat:1.7.0")
|
|
// implementation("androidx.activity:activity-ktx:1.9.2")
|
|
// implementation("com.github.cafebazaar.Poolakey:poolakey:2.2.0")
|
|
// }
|
|
|
|
plugins {
|
|
id("com.android.application")
|
|
id("org.jetbrains.kotlin.android")
|
|
}
|
|
|
|
android {
|
|
// Package name must match the one registered on Cafe Bazaar.
|
|
// Confirm the final applicationId before publishing.
|
|
namespace = "com.tadrisino.app"
|
|
compileSdk = 34
|
|
|
|
defaultConfig {
|
|
applicationId = "com.tadrisino.math.app"
|
|
minSdk = 23
|
|
targetSdk = 34
|
|
versionCode = 1
|
|
versionName = "1.0.0"
|
|
|
|
// URL of the web frontend.
|
|
buildConfigField("String", "WEB_URL", "\"https://math.tadrisino2.ir/\"")
|
|
// Public RSA key from the Cafe Bazaar panel. Purchases won't start until it is filled in.
|
|
buildConfigField("String", "BAZAAR_RSA_KEY", "\"\"")
|
|
}
|
|
|
|
buildFeatures {
|
|
buildConfig = true
|
|
}
|
|
|
|
signingConfigs {
|
|
create("release") {
|
|
storeFile = file("my-release-key.keystore")
|
|
storePassword = providers.gradleProperty("MYAPP_STORE_PASSWORD").orNull
|
|
keyAlias = "my-key-alias"
|
|
keyPassword = providers.gradleProperty("MYAPP_KEY_PASSWORD").orNull
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
isMinifyEnabled = false
|
|
signingConfig = signingConfigs.getByName("release")
|
|
}
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility = JavaVersion.VERSION_17
|
|
targetCompatibility = JavaVersion.VERSION_17
|
|
}
|
|
kotlinOptions {
|
|
jvmTarget = "17"
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation("androidx.appcompat:appcompat:1.7.0")
|
|
implementation("androidx.activity:activity-ktx:1.9.2")
|
|
// اسپلشِ سیستم تا آمادهشدنِ اولین صفحهی وب میماند (MainActivity.keepSplash).
|
|
implementation("androidx.core:core-splashscreen:1.0.1")
|
|
implementation("com.github.cafebazaar.Poolakey:poolakey:2.2.0")
|
|
} |