diff --git a/.gitignore b/.gitignore index 9cf01b5..586d6fc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ .vercel .DS_Store *-monitor + +.cursor \ No newline at end of file diff --git a/android/.gitignore b/android/.gitignore index b08a615..f511e00 100644 --- a/android/.gitignore +++ b/android/.gitignore @@ -13,4 +13,11 @@ .externalNativeBuild .cxx local.properties -/app/release/* \ No newline at end of file +/app/release/* + +*.apk + +# Firebase configuration files +/app/src/dev/google-services.json +/app/src/prod/google-services.json +/app/google-services.json \ No newline at end of file diff --git a/android/.idea/compiler.xml b/android/.idea/compiler.xml index fb7f4a8..b589d56 100644 --- a/android/.idea/compiler.xml +++ b/android/.idea/compiler.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/android/.idea/deploymentTargetDropDown.xml b/android/.idea/deploymentTargetDropDown.xml new file mode 100644 index 0000000..83eadcf --- /dev/null +++ b/android/.idea/deploymentTargetDropDown.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/gradle.xml b/android/.idea/gradle.xml index a2d7c21..cb865f6 100644 --- a/android/.idea/gradle.xml +++ b/android/.idea/gradle.xml @@ -4,15 +4,15 @@ diff --git a/android/.idea/migrations.xml b/android/.idea/migrations.xml new file mode 100644 index 0000000..f8051a6 --- /dev/null +++ b/android/.idea/migrations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/android/.idea/misc.xml b/android/.idea/misc.xml index 42d4ab2..b34d1d5 100644 --- a/android/.idea/misc.xml +++ b/android/.idea/misc.xml @@ -1,4 +1,3 @@ - - + diff --git a/android/app/build.gradle b/android/app/build.gradle index efcc512..90c53d7 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -1,6 +1,5 @@ plugins { id 'com.android.application' - id 'com.google.gms.google-services' id 'com.google.firebase.crashlytics' } @@ -8,7 +7,6 @@ android { compileSdk 32 defaultConfig { - applicationId "com.vernu.sms" minSdk 24 targetSdk 32 versionCode 15 @@ -22,13 +20,50 @@ android { // } // } } + signingConfigs { + debug { + storeFile file("${System.getenv("HOME")}/.android/debug.keystore") + storePassword "android" + keyAlias "androiddebugkey" + keyPassword "android" + } + } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + // TODO: Change to release signing config + signingConfig signingConfigs.debug + } + debug { + minifyEnabled false + debuggable true + signingConfig signingConfigs.debug + } + } + + flavorDimensions "environment" + + productFlavors { + dev { + dimension "environment" + applicationId "com.vernu.sms.dev" + versionNameSuffix "-dev" + buildConfigField "String", "API_BASE_URL", '"https://api.dev.textbee.dev/api/v1/"' + buildConfigField "String", "ENVIRONMENT", '"development"' + resValue "string", "app_name", "textbee.dev (Dev)" + } + + prod { + dimension "environment" + applicationId "com.vernu.sms" + buildConfigField "String", "API_BASE_URL", '"https://api.textbee.dev/api/v1/"' + buildConfigField "String", "ENVIRONMENT", '"production"' + resValue "string", "app_name", "textbee.dev" } } + compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 @@ -62,3 +97,4 @@ dependencies { // annotationProcessor "androidx.room:room-compiler:$room_version" } +apply plugin: 'com.google.gms.google-services' \ No newline at end of file diff --git a/android/app/google-services.json b/android/app/google-services.json deleted file mode 100644 index 1f97404..0000000 --- a/android/app/google-services.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "project_info": { - "project_number": "14326313838", - "project_id": "vernu-sms", - "storage_bucket": "vernu-sms.appspot.com" - }, - "client": [ - { - "client_info": { - "mobilesdk_app_id": "1:14326313838:android:4ea4380d88b057e9eb877f", - "android_client_info": { - "package_name": "com.vernu.sms" - } - }, - "oauth_client": [ - { - "client_id": "14326313838-0kmpefogqk8h5ntf2mth4e9cht9pbfai.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyDNZP2HeVPZ6_V9oq2UTYWmJ4FfenrRBIQ" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "14326313838-0kmpefogqk8h5ntf2mth4e9cht9pbfai.apps.googleusercontent.com", - "client_type": 3 - } - ] - } - } - } - ], - "configuration_version": "1" -} \ No newline at end of file diff --git a/android/app/src/dev/google-services.sample.json b/android/app/src/dev/google-services.sample.json new file mode 100644 index 0000000..d8bfa78 --- /dev/null +++ b/android/app/src/dev/google-services.sample.json @@ -0,0 +1,39 @@ +{ + "project_info": { + "project_number": "YOUR_DEV_PROJECT_NUMBER", + "project_id": "your-dev-project-id", + "storage_bucket": "your-dev-project-id.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:YOUR_DEV_PROJECT_NUMBER:android:YOUR_DEV_APP_ID", + "android_client_info": { + "package_name": "com.vernu.sms.dev" + } + }, + "oauth_client": [ + { + "client_id": "YOUR_DEV_CLIENT_ID", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "YOUR_DEV_API_KEY" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "YOUR_DEV_CLIENT_ID", + "client_type": 3 + } + ] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/android/app/src/main/java/com/vernu/sms/AppConstants.java b/android/app/src/main/java/com/vernu/sms/AppConstants.java index f3f6cb7..6fac6bd 100644 --- a/android/app/src/main/java/com/vernu/sms/AppConstants.java +++ b/android/app/src/main/java/com/vernu/sms/AppConstants.java @@ -3,7 +3,7 @@ package com.vernu.sms; import android.Manifest; public class AppConstants { - public static final String API_BASE_URL = "https://api.textbee.dev/api/v1/"; + public static final String API_BASE_URL = BuildConfig.API_BASE_URL; public static final String[] requiredPermissions = new String[]{ Manifest.permission.SEND_SMS, Manifest.permission.READ_SMS, diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index b145bf7..e5f8fdc 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -1,3 +1,2 @@ - textbee.dev \ No newline at end of file diff --git a/android/app/src/prod/google-services.sample.json 21-20-33-409.json b/android/app/src/prod/google-services.sample.json 21-20-33-409.json new file mode 100644 index 0000000..d8bfa78 --- /dev/null +++ b/android/app/src/prod/google-services.sample.json 21-20-33-409.json @@ -0,0 +1,39 @@ +{ + "project_info": { + "project_number": "YOUR_DEV_PROJECT_NUMBER", + "project_id": "your-dev-project-id", + "storage_bucket": "your-dev-project-id.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:YOUR_DEV_PROJECT_NUMBER:android:YOUR_DEV_APP_ID", + "android_client_info": { + "package_name": "com.vernu.sms.dev" + } + }, + "oauth_client": [ + { + "client_id": "YOUR_DEV_CLIENT_ID", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "YOUR_DEV_API_KEY" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "YOUR_DEV_CLIENT_ID", + "client_type": 3 + } + ] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file