diff --git a/networksurvey/src/main/java/com/craxiom/networksurvey/fragments/DashboardFragment.java b/networksurvey/src/main/java/com/craxiom/networksurvey/fragments/DashboardFragment.java index fa20478b..475958ad 100644 --- a/networksurvey/src/main/java/com/craxiom/networksurvey/fragments/DashboardFragment.java +++ b/networksurvey/src/main/java/com/craxiom/networksurvey/fragments/DashboardFragment.java @@ -282,6 +282,8 @@ private void initializeUiListeners() binding.mqttFragmentButton.setOnClickListener(c -> navigateToMqttFragment()); binding.cdrHelpIcon.setOnClickListener(c -> showCdrHelpDialog()); + binding.fileHelpIcon.setOnClickListener(c -> showFileMqttHelpDialog()); + binding.mqttHelpIcon.setOnClickListener(c -> showFileMqttHelpDialog()); } private void navigateToMqttFragment() @@ -434,6 +436,23 @@ private void showCdrHelpDialog() alertBuilder.create().show(); } + /** + * Displays a dialog with some information about the difference between file logging and MQTT. + */ + private void showFileMqttHelpDialog() + { + final Context context = getContext(); + if (context == null) return; + + AlertDialog.Builder alertBuilder = new AlertDialog.Builder(context); + alertBuilder.setCancelable(true); + alertBuilder.setTitle(getString(R.string.file_help_title)); + alertBuilder.setMessage(getText(R.string.file_help)); + alertBuilder.setPositiveButton(android.R.string.ok, (dialog, which) -> { + }); + alertBuilder.create().show(); + } + @SuppressLint("ClickableViewAccessibility") private void initializeLoggingSwitch(SwitchCompat loggingSwitch, BiConsumer switchAction) { diff --git a/networksurvey/src/main/res/layout/fragment_dashboard.xml b/networksurvey/src/main/res/layout/fragment_dashboard.xml index 974c1055..7f6dcd37 100644 --- a/networksurvey/src/main/res/layout/fragment_dashboard.xml +++ b/networksurvey/src/main/res/layout/fragment_dashboard.xml @@ -51,12 +51,23 @@ android:src="@drawable/ic_action_bar_logging" /> + + + + + + File Logging & MQTT Streaming: Simplified + Need help understanding the File Logging and MQTT sections? Here\'s a quick guide:\n\n +File Logging Control:\n +This section is all about saving data locally to your phone. When you toggle one of the options to \'On\', +the app will start logging that data type to a file in GeoPackage and/or CSV format (depending on the configured +setting), which you can find on your device. Remember:\n +\n +- Toggle Cellular, Wi-Fi, Bluetooth, GNSS, and/or CDR under File Logging Control to save this data locally.\n +- Logging is completely optional and does not affect MQTT Streaming.\n +\n +MQTT Connection Status:\n +MQTT streaming lets you send your data in real-time to a remote server. No local storage is needed for this:\n +\n +- First, configure the broker connection settings.\n +- Ensure the switch is on to activate streaming.\n +- MQTT Streaming works independently of File Logging. You don\'t need to turn on File Logging to stream data.\n +\n +Use File Logging for local storage and MQTT Streaming for remote transmission. They both capture the same data, +but work independently, so you have full control over how you handle your data. + Bluetooth Permissions The Find Nearby Devices permission is needed to perform a Bluetooth scan for survey. If this permission is denied then Bluetooth survey will not work. @@ -127,6 +148,7 @@ Serving Cell Details %1$s Serving Cell Details Cellular Tower Icon + File Help Icon Neighbors GSM Neighbors CDMA Neighbors