diff --git a/WallPanelApp/build.gradle b/WallPanelApp/build.gradle index 70b1846..07c2575 100644 --- a/WallPanelApp/build.gradle +++ b/WallPanelApp/build.gradle @@ -19,6 +19,7 @@ apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-android' apply plugin: 'kotlin-kapt' apply plugin: 'io.fabric' +apply plugin: 'com.google.gms.google-services' repositories { maven { url 'https://maven.fabric.io/public' } @@ -28,7 +29,7 @@ repositories { def versionMajor = 0 def versionMinor = 8 def versionPatch = 7 -def versionBuild = 1 // bump for dog food builds, public betas, etc. +def versionBuild = 2 // bump for dog food builds, public betas, etc. android { kapt { @@ -145,6 +146,9 @@ dependencies { implementation('com.crashlytics.sdk.android:answers:1.4.2@aar') { transitive = true; } + + // Firebase + implementation 'com.google.firebase:firebase-core:16.0.9' } configurations.all { diff --git a/WallPanelApp/src/main/java/com/thanksmister/iot/wallpanel/network/MQTTService.kt b/WallPanelApp/src/main/java/com/thanksmister/iot/wallpanel/network/MQTTService.kt index 4e1fcd2..a636403 100644 --- a/WallPanelApp/src/main/java/com/thanksmister/iot/wallpanel/network/MQTTService.kt +++ b/WallPanelApp/src/main/java/com/thanksmister/iot/wallpanel/network/MQTTService.kt @@ -153,7 +153,7 @@ class MQTTService(private var context: Context, options: MQTTOptions, try { mqttOptions?.let {mqttOptions -> mqttClient = MqttAndroidClient(context, mqttOptions.brokerUrl, mqttOptions.getClientId(), MemoryPersistence()) - mqttClient!!.setCallback(object : MqttCallbackExtended { + mqttClient?.setCallback(object : MqttCallbackExtended { override fun connectComplete(reconnect: Boolean, serverURI: String?) { subscribeToTopics(mqttOptions.getStateTopics()) } @@ -171,20 +171,14 @@ class MQTTService(private var context: Context, options: MQTTOptions, } try { - mqttClient!!.connect(options, null, object : IMqttActionListener { + mqttClient?.connect(options, null, object : IMqttActionListener { override fun onSuccess(asyncActionToken: IMqttToken) { val disconnectedBufferOptions = DisconnectedBufferOptions() disconnectedBufferOptions.isBufferEnabled = true disconnectedBufferOptions.bufferSize = 100 disconnectedBufferOptions.isPersistBuffer = false disconnectedBufferOptions.isDeleteOldestMessages = false - if (mqttClient != null) { - try { - mqttClient!!.setBufferOpts(disconnectedBufferOptions) - } catch (e: NullPointerException) { - Timber.e(e.message) - } - } + mqttClient?.setBufferOpts(disconnectedBufferOptions) listener?.handleMqttConnected() } diff --git a/WallPanelApp/src/main/java/com/thanksmister/iot/wallpanel/ui/fragments/SettingsFragment.kt b/WallPanelApp/src/main/java/com/thanksmister/iot/wallpanel/ui/fragments/SettingsFragment.kt index cf69759..6c100cb 100644 --- a/WallPanelApp/src/main/java/com/thanksmister/iot/wallpanel/ui/fragments/SettingsFragment.kt +++ b/WallPanelApp/src/main/java/com/thanksmister/iot/wallpanel/ui/fragments/SettingsFragment.kt @@ -184,35 +184,37 @@ class SettingsFragment : BaseSettingsFragment() { aboutPreference = findPreference("button_key_about") brightnessPreference = findPreference("button_key_brightness") - cameraPreference!!.onPreferenceClickListener = Preference.OnPreferenceClickListener { preference -> - view.let { Navigation.findNavController(it).navigate(R.id.camera_action) } - false - } - - mqttPreference!!.onPreferenceClickListener = Preference.OnPreferenceClickListener { preference -> - view.let { Navigation.findNavController(it).navigate(R.id.mqtt_action) } - false - } - - httpPreference!!.onPreferenceClickListener = Preference.OnPreferenceClickListener { preference -> - view.let { Navigation.findNavController(it).navigate(R.id.http_action) } - false - } - sensorsPreference!!.onPreferenceClickListener = Preference.OnPreferenceClickListener { preference -> - view.let { Navigation.findNavController(it).navigate(R.id.sensors_action) } - false - } + try { + cameraPreference!!.onPreferenceClickListener = Preference.OnPreferenceClickListener { preference -> + view.let { Navigation.findNavController(it).navigate(R.id.camera_action) } + false + } + mqttPreference!!.onPreferenceClickListener = Preference.OnPreferenceClickListener { preference -> + view.let { Navigation.findNavController(it).navigate(R.id.mqtt_action) } + false + } + httpPreference!!.onPreferenceClickListener = Preference.OnPreferenceClickListener { preference -> + view.let { Navigation.findNavController(it).navigate(R.id.http_action) } + false + } + sensorsPreference!!.onPreferenceClickListener = Preference.OnPreferenceClickListener { preference -> + view.let { Navigation.findNavController(it).navigate(R.id.sensors_action) } + false + } - aboutPreference!!.onPreferenceClickListener = Preference.OnPreferenceClickListener { preference -> - view.let { Navigation.findNavController(it).navigate(R.id.about_action) } - false - } + aboutPreference!!.onPreferenceClickListener = Preference.OnPreferenceClickListener { preference -> + view.let { Navigation.findNavController(it).navigate(R.id.about_action) } + false + } - brightnessPreference!!.onPreferenceClickListener = Preference.OnPreferenceClickListener { preference -> - screenUtils.setScreenBrightnessLevels() - Toast.makeText(requireContext(), getString(R.string.toast_screen_brightness_captured), Toast.LENGTH_SHORT).show() - false + brightnessPreference!!.onPreferenceClickListener = Preference.OnPreferenceClickListener { preference -> + screenUtils.setScreenBrightnessLevels() + Toast.makeText(requireContext(), getString(R.string.toast_screen_brightness_captured), Toast.LENGTH_SHORT).show() + false + } + } catch (e: IllegalArgumentException) { + Timber.d(e.message) } } diff --git a/build.gradle b/build.gradle index 471b917..6ff3884 100644 --- a/build.gradle +++ b/build.gradle @@ -29,6 +29,7 @@ buildscript { classpath 'com.android.tools.build:gradle:3.4.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath 'io.fabric.tools:gradle:1.+' + classpath 'com.google.gms:google-services:4.2.0' } }