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 @@
-
@@ -7,7 +6,7 @@
-
+
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