Restructure the tree for Android Studio/Gradle builds and add the iOS-style home experience with pinned conversations, selection chrome, and scroll-aware search padding. Co-authored-by: Cursor <cursoragent@cursor.com>
90 lines
3.0 KiB
Groovy
90 lines
3.0 KiB
Groovy
plugins {
|
|
id 'com.android.application'
|
|
}
|
|
|
|
android {
|
|
namespace 'com.android.messaging'
|
|
compileSdk 35
|
|
|
|
defaultConfig {
|
|
applicationId 'com.android.messaging'
|
|
minSdk 33
|
|
targetSdk 34
|
|
versionCode 10001040
|
|
versionName '1.0.001'
|
|
vectorDrawables.useSupportLibrary true
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_17
|
|
targetCompatibility JavaVersion.VERSION_17
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled true
|
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),
|
|
rootProject.file('proguard-release.flags'),
|
|
rootProject.file('proguard.flags')
|
|
}
|
|
debug {
|
|
minifyEnabled false
|
|
}
|
|
}
|
|
|
|
lint {
|
|
abortOnError false
|
|
}
|
|
|
|
sourceSets {
|
|
main {
|
|
manifest.srcFile 'src/main/AndroidManifest.xml'
|
|
java.srcDirs = ['src/main/java']
|
|
res.srcDirs = ['src/main/res']
|
|
assets.srcDirs = ['src/main/assets']
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation project(':modules:colorpicker')
|
|
implementation project(':modules:chips')
|
|
implementation project(':modules:photoviewer')
|
|
implementation project(':modules:vcard')
|
|
|
|
implementation 'androidx.activity:activity:1.9.3'
|
|
implementation 'androidx.annotation:annotation:1.8.2'
|
|
implementation 'androidx.appcompat:appcompat:1.7.0'
|
|
implementation 'androidx.collection:collection:1.4.4'
|
|
implementation 'androidx.core:core:1.15.0'
|
|
implementation 'androidx.exifinterface:exifinterface:1.3.7'
|
|
implementation 'androidx.fragment:fragment:1.8.5'
|
|
implementation 'androidx.media:media:1.7.0'
|
|
implementation 'androidx.palette:palette:1.0.0'
|
|
implementation 'androidx.preference:preference:1.2.1'
|
|
implementation 'androidx.recyclerview:recyclerview:1.3.2'
|
|
implementation 'androidx.viewpager:viewpager:1.0.0'
|
|
implementation 'com.google.android.material:material:1.12.0'
|
|
implementation 'com.google.guava:guava:33.3.1-android'
|
|
implementation 'com.googlecode.libphonenumber:libphonenumber:8.13.50'
|
|
}
|
|
|
|
def messagingAvdSerial = rootProject.findProperty('messaging.avd.serial') ?: 'emulator-5556'
|
|
def adbExecutable = new File(android.sdkDirectory, 'platform-tools/adb.exe')
|
|
|
|
tasks.register('installMessaging', Exec) {
|
|
group = 'install'
|
|
description = "Install debug APK on ${messagingAvdSerial} only"
|
|
dependsOn 'assembleDebug'
|
|
def apk = layout.buildDirectory.file('outputs/apk/debug/app-debug.apk').get().asFile
|
|
commandLine adbExecutable.absolutePath, '-s', messagingAvdSerial, 'install', '-r', apk.absolutePath
|
|
}
|
|
|
|
tasks.register('launchMessaging', Exec) {
|
|
group = 'install'
|
|
description = "Launch Messaging on ${messagingAvdSerial}"
|
|
dependsOn 'installMessaging'
|
|
commandLine adbExecutable.absolutePath, '-s', messagingAvdSerial, 'shell', 'am', 'start',
|
|
'-n', 'com.android.messaging/.ui.conversationlist.ConversationListActivity'
|
|
}
|