From 99f17ced8fcc0fb026950d4647903e632c047f8c Mon Sep 17 00:00:00 2001 From: Brad Ebinger Date: Wed, 11 Sep 2019 18:06:51 -0700 Subject: [PATCH] Expose ConnectionService Handler to remove flaky tests Test: atest TelecomUnitTests Change-Id: Ibb80b5739083ad9f85ee06f4d9f0017f4cb605bd --- telecomm/java/android/telecom/ConnectionService.java | 10 ++++++++++ telecomm/java/android/telecom/Logging/SessionManager.java | 14 ++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/telecomm/java/android/telecom/ConnectionService.java b/telecomm/java/android/telecom/ConnectionService.java index 35488100fb58..0abd9fc62b14 100644 --- a/telecomm/java/android/telecom/ConnectionService.java +++ b/telecomm/java/android/telecom/ConnectionService.java @@ -30,6 +30,7 @@ import android.os.ParcelFileDescriptor; import android.os.RemoteException; import android.telecom.Logging.Session; +import com.android.internal.annotations.VisibleForTesting; import com.android.internal.os.SomeArgs; import com.android.internal.telecom.IConnectionService; import com.android.internal.telecom.IConnectionServiceAdapter; @@ -2672,4 +2673,13 @@ public abstract class ConnectionService extends Service { return ++mId; } } + + /** + * Returns this handler, ONLY FOR TESTING. + * @hide + */ + @VisibleForTesting + public Handler getHandler() { + return mHandler; + } } diff --git a/telecomm/java/android/telecom/Logging/SessionManager.java b/telecomm/java/android/telecom/Logging/SessionManager.java index 949f7b7a89ae..49c3a7205d59 100644 --- a/telecomm/java/android/telecom/Logging/SessionManager.java +++ b/telecomm/java/android/telecom/Logging/SessionManager.java @@ -391,6 +391,20 @@ public class SessionManager { return mCurrentThreadId.get(); } + /** + * @return A String representation of the active sessions at the time that this method is + * called. + */ + @VisibleForTesting + public synchronized String printActiveSessions() { + StringBuilder message = new StringBuilder(); + for (ConcurrentHashMap.Entry entry : mSessionMapper.entrySet()) { + message.append(entry.getValue().printFullSessionTree()); + message.append("\n"); + } + return message.toString(); + } + @VisibleForTesting public synchronized void cleanupStaleSessions(long timeoutMs) { String logMessage = "Stale Sessions Cleaned:\n"; -- 2.11.0