Added basic MQTT functionality

This commit is contained in:
Cameron Cordes
2023-10-02 13:30:45 -04:00
parent f0bb26098a
commit aa4cca4bc0
7 changed files with 272 additions and 19 deletions

View File

@@ -20,10 +20,26 @@ android {
}
}
Properties mqtt_props = new Properties()
mqtt_props.load(new File('local.properties').newInputStream())
buildTypes {
debug {
buildConfigField("String", "MQTT_URL", mqtt_props["MQTT_URL"])
buildConfigField("Integer", "MQTT_PORT", mqtt_props["MQTT_PORT"])
buildConfigField("String", "MQTT_USER", mqtt_props["MQTT_USER"])
buildConfigField("String", "MQTT_PASSWORD", mqtt_props["MQTT_PASSWORD"])
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
buildConfigField("String", "MQTT_URL", mqtt_props["MQTT_URL"])
buildConfigField("Int", "MQTT_PORT", mqtt_props["MQTT_PORT"])
buildConfigField("String", "MQTT_USER", mqtt_props["MQTT_USER"])
buildConfigField("String", "MQTT_PASSWORD", mqtt_props["MQTT_PASSWORD"])
}
}
compileOptions {
@@ -35,6 +51,7 @@ android {
}
buildFeatures {
compose true
buildConfig true
}
composeOptions {
kotlinCompilerExtensionVersion '1.3.2'
@@ -48,15 +65,21 @@ android {
dependencies {
implementation 'androidx.core:core-ktx:1.8.0'
implementation 'androidx.core:core-ktx:1.10.1'
implementation platform('org.jetbrains.kotlin:kotlin-bom:1.8.0')
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1'
implementation 'androidx.activity:activity-compose:1.5.1'
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.6.1'
implementation 'androidx.activity:activity-compose:1.7.2'
implementation platform('androidx.compose:compose-bom:2022.10.00')
implementation 'androidx.compose.ui:ui'
implementation 'androidx.compose.ui:ui-graphics'
implementation 'androidx.compose.ui:ui-tooling-preview'
implementation 'androidx.compose.material3:material3'
implementation 'io.insert-koin:koin-android:3.4.2'
implementation 'io.insert-koin:koin-androidx-compose:3.4.5'
implementation 'org.eclipse.paho:org.eclipse.paho.mqttv5.client:1.2.5'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'