Add dumpsys and log messages to help debug Carrier Wi-Fi

Zero functional change: only dumpsys + some verbose logic
logging.

Bug: 112536285
Test: build, run, observe logs with specific carrier config
Merged-In: I204882f29ff2dbf0d2fc274b2aa9f821602712a2
Change-Id: I204882f29ff2dbf0d2fc274b2aa9f821602712a2
diff --git a/service/java/com/android/server/wifi/CarrierNetworkConfig.java b/service/java/com/android/server/wifi/CarrierNetworkConfig.java
index 91e22af..78dbe3a 100644
--- a/service/java/com/android/server/wifi/CarrierNetworkConfig.java
+++ b/service/java/com/android/server/wifi/CarrierNetworkConfig.java
@@ -36,6 +36,9 @@
 import android.util.Base64;
 import android.util.Log;
 
+import java.io.FileDescriptor;
+import java.io.PrintWriter;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -52,9 +55,18 @@
     private static final int CONFIG_ELEMENT_SIZE = 2;
     private static final Uri CONTENT_URI = Uri.parse("content://carrier_information/carrier");
 
+    private boolean mDbg = false;
+
     private final Map<String, NetworkInfo> mCarrierNetworkMap;
     private boolean mIsCarrierImsiEncryptionInfoAvailable = false;
 
+    /**
+     * Enable/disable verbose logging.
+     */
+    public void enableVerboseLogging(int verbose) {
+        mDbg = verbose > 0;
+    }
+
     public CarrierNetworkConfig(@NonNull Context context, @NonNull Looper looper,
             @NonNull FrameworkFacade framework) {
         mCarrierNetworkMap = new HashMap<>();
@@ -149,6 +161,12 @@
             mEapType = eapType;
             mCarrierName = carrierName;
         }
+
+        @Override
+        public String toString() {
+            return new StringBuffer("NetworkInfo: eap=").append(mEapType).append(
+                    ", carrier=").append(mCarrierName).toString();
+        }
     }
 
     /**
@@ -203,6 +221,10 @@
         }
         String[] networkConfigs = carrierConfig.getStringArray(
                 CarrierConfigManager.KEY_CARRIER_WIFI_STRING_ARRAY);
+        if (mDbg) {
+            Log.v(TAG, "processNetworkConfig: networkConfigs="
+                    + Arrays.deepToString(networkConfigs));
+        }
         if (networkConfigs == null) {
             return;
         }
@@ -224,9 +246,11 @@
                 }
                 mCarrierNetworkMap.put(ssid, new NetworkInfo(eapType, carrierName));
             } catch (NumberFormatException e) {
-                Log.e(TAG, "Failed to parse EAP type: " + e.getMessage());
+                Log.e(TAG, "Failed to parse EAP type: '" + configArr[EAP_TYPE_INDEX] + "' "
+                        + e.getMessage());
             } catch (IllegalArgumentException e) {
-                Log.e(TAG, "Failed to decode SSID: " + e.getMessage());
+                Log.e(TAG, "Failed to decode SSID: '" + configArr[ENCODED_SSID_INDEX] + "' "
+                        + e.getMessage());
             }
         }
     }
@@ -249,4 +273,12 @@
         }
         return -1;
     }
+
+    /** Dump state. */
+    public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
+        pw.println(TAG + ": ");
+        pw.println("mCarrierNetworkMap=" + mCarrierNetworkMap);
+        pw.println("mIsCarrierImsiEncryptionInfoAvailable="
+                + mIsCarrierImsiEncryptionInfoAvailable);
+    }
 }
diff --git a/service/java/com/android/server/wifi/WifiConnectivityManager.java b/service/java/com/android/server/wifi/WifiConnectivityManager.java
index d10d800..216c27c 100644
--- a/service/java/com/android/server/wifi/WifiConnectivityManager.java
+++ b/service/java/com/android/server/wifi/WifiConnectivityManager.java
@@ -1435,5 +1435,6 @@
         pw.println("WifiConnectivityManager - Log End ----");
         mOpenNetworkNotifier.dump(fd, pw, args);
         mCarrierNetworkNotifier.dump(fd, pw, args);
+        mCarrierNetworkConfig.dump(fd, pw, args);
     }
 }
diff --git a/service/java/com/android/server/wifi/WifiInjector.java b/service/java/com/android/server/wifi/WifiInjector.java
index dbf730a..89a7f45 100644
--- a/service/java/com/android/server/wifi/WifiInjector.java
+++ b/service/java/com/android/server/wifi/WifiInjector.java
@@ -326,6 +326,7 @@
         mHalDeviceManager.enableVerboseLogging(verbose);
         mScanRequestProxy.enableVerboseLogging(verbose);
         mWakeupController.enableVerboseLogging(verbose);
+        mCarrierNetworkConfig.enableVerboseLogging(verbose);
         LogcatLog.enableVerboseLogging(verbose);
     }
 
diff --git a/service/java/com/android/server/wifi/WifiStateMachine.java b/service/java/com/android/server/wifi/WifiStateMachine.java
index 901059d..744b6a1 100644
--- a/service/java/com/android/server/wifi/WifiStateMachine.java
+++ b/service/java/com/android/server/wifi/WifiStateMachine.java
@@ -4039,6 +4039,7 @@
                         Pair<String, String> identityPair =
                                 TelephonyUtil.getSimIdentity(getTelephonyManager(),
                                         new TelephonyUtil(), targetWificonfiguration);
+                        Log.i(TAG, "SUP_REQUEST_IDENTITY: identityPair=" + identityPair);
                         if (identityPair != null && identityPair.first != null) {
                             mWifiNative.simIdentityResponse(mInterfaceName, netId,
                                     identityPair.first, identityPair.second);