From dfa70644d328516415550ba22fc199694e98b400 Mon Sep 17 00:00:00 2001 From: aringot <alexis.ringot@fhstp.ac.at> Date: Thu, 30 Aug 2018 12:39:40 +0200 Subject: [PATCH] Fixed bug: alert did not pop up after a detection while app visible --- .../at/ac/fhstp/sonicontrol/MainActivity.java | 35 ++++++++++++++----- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/SoniControl/app/src/main/java/at/ac/fhstp/sonicontrol/MainActivity.java b/SoniControl/app/src/main/java/at/ac/fhstp/sonicontrol/MainActivity.java index ebbab418..e67ea27e 100644 --- a/SoniControl/app/src/main/java/at/ac/fhstp/sonicontrol/MainActivity.java +++ b/SoniControl/app/src/main/java/at/ac/fhstp/sonicontrol/MainActivity.java @@ -459,23 +459,40 @@ public class MainActivity extends BaseActivity implements Scan.DetectionListener Manifest.permission.ACCESS_FINE_LOCATION); if((!(isGPSEnabled && gpsEnabled) && !(isNetworkEnabled && networkEnabled)) || status != PackageManager.PERMISSION_GRANTED){ - btnAlertSpoof.setEnabled(false); - btnAlertDismissAlways.setEnabled(false); - txtNoLocation.setText(R.string.on_alert_no_location_message); + runOnUiThread(new Runnable() { + @Override + public void run() { + btnAlertSpoof.setEnabled(false); + btnAlertDismissAlways.setEnabled(false); + txtNoLocation.setText(R.string.on_alert_no_location_message); + } + }); }else if(!saveJsonFile){ - btnAlertSpoof.setEnabled(false); - btnAlertDismissAlways.setEnabled(false); - txtNoLocation.setText(R.string.on_alert_no_location_message); + runOnUiThread(new Runnable() { + @Override + public void run() { + btnAlertSpoof.setEnabled(false); + btnAlertDismissAlways.setEnabled(false); + txtNoLocation.setText(R.string.alert_no_json_file_message); + } + }); }else{ - btnAlertSpoof.setEnabled(true); - btnAlertDismissAlways.setEnabled(true); + runOnUiThread(new Runnable() { + @Override + public void run() { + btnAlertSpoof.setEnabled(true); + btnAlertDismissAlways.setEnabled(true); + txtNoLocation.setText(""); + } + }); } sigType = signalType; //set the technology variable to the latest detected one boolean activityExists = settings.getBoolean("active", false); if (activityExists) { - uiHandler.post(displayAlert); + runOnUiThread(displayAlert); + //uiHandler.post(displayAlert); NOTE: runOnUiThread will execute code directly, not post } } -- GitLab