[Manual Network Selection] UX improvement

Original design abort a network scan when screen off and restart scan
when screen on.

Under the situation of network scan time longer than screen off time,
user may not get any result but keeping in scanning screen.

This CL improve this situation by avoiding stop and rescan for the case
user didn't leave this UI and previous scan is in progressing.

Bug: 140448617
Test: Manual testing leave and back to UI, and screen off-on.
Change-Id: I74ffa574dac932ca7fcd76411cad4ec0cc88f25f
diff --git a/src/com/android/settings/network/telephony/NetworkSelectSettings.java b/src/com/android/settings/network/telephony/NetworkSelectSettings.java
index e288763..4c62de2 100644
--- a/src/com/android/settings/network/telephony/NetworkSelectSettings.java
+++ b/src/com/android/settings/network/telephony/NetworkSelectSettings.java
@@ -135,6 +135,9 @@
         super.onStart();
 
         updateForbiddenPlmns();
+        if (isProgressBarVisible()) {
+            return;
+        }
         setProgressBarVisible(true);
 
         mNetworkScanHelper.startNetworkScan(
@@ -157,7 +160,6 @@
     @Override
     public void onStop() {
         super.onStop();
-        stopNetworkQuery();
     }
 
     @Override
@@ -377,6 +379,13 @@
         mConnectedPreferenceCategory.setVisible(true);
     }
 
+    private boolean isProgressBarVisible() {
+        if (mProgressHeader == null) {
+            return false;
+        }
+        return (mProgressHeader.getVisibility() == View.VISIBLE);
+    }
+
     protected void setProgressBarVisible(boolean visible) {
         if (mProgressHeader != null) {
             mProgressHeader.setVisibility(visible ? View.VISIBLE : View.GONE);
@@ -425,6 +434,7 @@
 
     @Override
     public void onDestroy() {
+        stopNetworkQuery();
         mNetworkScanExecutor.shutdown();
         super.onDestroy();
     }