payfrit-user/android/app/build.gradle.kts
John Mizerek bc81ca98b0 Add native Kotlin beacon scanner for faster detection
- Add AltBeacon library for native Android beacon scanning
- Create BeaconScanner.kt with 2-second scan duration
- Set up MethodChannel bridge in MainActivity.kt
- Add beacon_channel.dart for Dart/native communication
- Update splash_screen.dart to use native scanner on Android
- Keep dchs_flutter_beacon for iOS compatibility

Native scanner eliminates Flutter plugin warmup overhead.
Beacons broadcast at 200ms, so 2s scan captures ~10 samples.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 00:53:46 -08:00

69 lines
1.9 KiB
Kotlin

import java.util.Properties
import java.io.FileInputStream
plugins {
id("com.android.application")
id("kotlin-android")
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
id("dev.flutter.flutter-gradle-plugin")
}
// Load key.properties
val keystorePropertiesFile = rootProject.file("key.properties")
val keystoreProperties = Properties()
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
}
android {
namespace = "com.payfrit.app"
compileSdk = flutter.compileSdkVersion
ndkVersion = flutter.ndkVersion
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_17.toString()
}
defaultConfig {
applicationId = "com.payfrit.app"
minSdk = flutter.minSdkVersion
targetSdk = flutter.targetSdkVersion
versionCode = flutter.versionCode
versionName = flutter.versionName
}
signingConfigs {
create("release") {
keyAlias = keystoreProperties["keyAlias"] as String?
keyPassword = keystoreProperties["keyPassword"] as String?
storeFile = keystoreProperties["storeFile"]?.let { file(it) }
storePassword = keystoreProperties["storePassword"] as String?
}
}
buildTypes {
release {
signingConfig = signingConfigs.getByName("release")
isMinifyEnabled = false
isShrinkResources = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
}
dependencies {
// AltBeacon library for native beacon scanning
implementation("org.altbeacon:android-beacon-library:2.20.6")
}
flutter {
source = "../.."
}