diff options
| author | 2024-04-17 18:52:26 +0000 | |
|---|---|---|
| committer | 2024-04-18 22:20:28 +0000 | |
| commit | 535b278366e6b488ff0d08706e27e946c0ba9936 (patch) | |
| tree | fa33ae871acbb935e89a0c33701f619c8684040e | |
| parent | 52bd4f135acdb36fbc7f3a4402bb29416e3ba06c (diff) | |
Dump IkeSession in VcnGatewayConnection#dump
Bug: 288599290
Test: atest FrameworksVcnTests && atest CtsVcnTestCases
Test: adb shell dumpsys vcn_management
FLAG: NONE mainline API flag not accessible; using try catch
block to gate the behaviors
Change-Id: I6e868b7c51d32754be53944957c79ee2413a2d14
| -rw-r--r-- | services/core/java/com/android/server/vcn/Vcn.java | 4 | ||||
| -rw-r--r-- | services/core/java/com/android/server/vcn/VcnGatewayConnection.java | 22 |
2 files changed, 26 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/vcn/Vcn.java b/services/core/java/com/android/server/vcn/Vcn.java index 37f04501bf28..5a5f7ef7b225 100644 --- a/services/core/java/com/android/server/vcn/Vcn.java +++ b/services/core/java/com/android/server/vcn/Vcn.java @@ -626,8 +626,12 @@ public class Vcn extends Handler { * Dumps the state of this Vcn for logging and debugging purposes. * * <p>PII and credentials MUST NEVER be dumped here. + * + * <p>This method is not thread safe and MUST run on the VCN thread. */ public void dump(IndentingPrintWriter pw) { + mVcnContext.ensureRunningOnLooperThread(); + pw.println("Vcn (" + mSubscriptionGroup + "):"); pw.increaseIndent(); diff --git a/services/core/java/com/android/server/vcn/VcnGatewayConnection.java b/services/core/java/com/android/server/vcn/VcnGatewayConnection.java index 3094b182093b..8d378a021f17 100644 --- a/services/core/java/com/android/server/vcn/VcnGatewayConnection.java +++ b/services/core/java/com/android/server/vcn/VcnGatewayConnection.java @@ -2580,8 +2580,12 @@ public class VcnGatewayConnection extends StateMachine { * Dumps the state of this VcnGatewayConnection for logging and debugging purposes. * * <p>PII and credentials MUST NEVER be dumped here. + * + * <p>This method is not thread safe and MUST run on the VCN thread. */ public void dump(IndentingPrintWriter pw) { + mVcnContext.ensureRunningOnLooperThread(); + pw.println("VcnGatewayConnection (" + mConnectionConfig.getGatewayConnectionName() + "):"); pw.increaseIndent(); @@ -2602,6 +2606,19 @@ public class VcnGatewayConnection extends StateMachine { mUnderlyingNetworkController.dump(pw); pw.println(); + if (mIkeSession == null) { + pw.println("mIkeSession: null"); + } else { + pw.println("mIkeSession:"); + + // Add a try catch block in case IkeSession#dump is not thread-safe + try { + mIkeSession.dump(pw); + } catch (Exception e) { + Slog.wtf(TAG, "Failed to dump IkeSession: " + e); + } + } + pw.decreaseIndent(); } @@ -2905,6 +2922,11 @@ public class VcnGatewayConnection extends StateMachine { public void setNetwork(@NonNull Network network) { mImpl.setNetwork(network); } + + /** Dumps the state of the IkeSession */ + public void dump(@NonNull IndentingPrintWriter pw) { + mImpl.dump(pw); + } } /** Proxy Implementation of WakeLock, used for testing. */ |