From 4ad7ca056fcb93f8be0dcb60417fdc6e34bd3c95 Mon Sep 17 00:00:00 2001 From: Jeremy Joslin Date: Mon, 13 Feb 2017 11:35:03 -0800 Subject: [PATCH] Adding a little more verbose logging. Log statements to help track the request call path. Test: manual Change-Id: I68cfdf68cf8adcece45de2a60bec94e6f06be761 --- core/java/android/net/NetworkRecommendationProvider.java | 11 ++++++++++- .../core/java/com/android/server/NetworkScoreService.java | 3 +++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/core/java/android/net/NetworkRecommendationProvider.java b/core/java/android/net/NetworkRecommendationProvider.java index 5739c79b8f96..83958640016c 100644 --- a/core/java/android/net/NetworkRecommendationProvider.java +++ b/core/java/android/net/NetworkRecommendationProvider.java @@ -1,6 +1,7 @@ package android.net; import android.annotation.SystemApi; +import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; @@ -20,6 +21,7 @@ import java.util.concurrent.atomic.AtomicBoolean; @SystemApi public abstract class NetworkRecommendationProvider { private static final String TAG = "NetworkRecProvider"; + private static final boolean VERBOSE = Build.IS_DEBUGGABLE && Log.isLoggable(TAG, Log.VERBOSE); /** The key into the callback Bundle where the RecommendationResult will be found. */ public static final String EXTRA_RECOMMENDATION_RESULT = "android.net.extra.RECOMMENDATION_RESULT"; @@ -91,8 +93,10 @@ public abstract class NetworkRecommendationProvider { * @param result a {@link RecommendationResult} instance. */ public void onResult(RecommendationResult result) { + if (VERBOSE) Log.v(TAG, "onResult(seq=" + mSequence + ")"); if (!mCallbackRun.compareAndSet(false, true)) { - throw new IllegalStateException("The callback cannot be run more than once."); + throw new IllegalStateException("The callback cannot be run more than once. " + + "seq=" + mSequence); } final Bundle data = new Bundle(); data.putInt(EXTRA_SEQUENCE, mSequence); @@ -102,6 +106,7 @@ public abstract class NetworkRecommendationProvider { } catch (RemoteException e) { Log.w(TAG, "Callback failed for seq: " + mSequence, e); } + if (VERBOSE) Log.v(TAG, "onResult() complete. seq=" + mSequence); } @Override @@ -134,9 +139,13 @@ public abstract class NetworkRecommendationProvider { @Override public void requestRecommendation(final RecommendationRequest request, final IRemoteCallback callback, final int sequence) throws RemoteException { + if (VERBOSE) Log.v(TAG, "requestRecommendation(seq=" + sequence + ")"); mHandler.post(new Runnable() { @Override public void run() { + if (VERBOSE) { + Log.v(TAG, "requestRecommendation(seq=" + sequence + ") running..."); + } ResultCallback resultCallback = new ResultCallback(callback, sequence); onRequestRecommendation(request, resultCallback); } diff --git a/services/core/java/com/android/server/NetworkScoreService.java b/services/core/java/com/android/server/NetworkScoreService.java index f9b5db6c0b0e..3e8985295c66 100644 --- a/services/core/java/com/android/server/NetworkScoreService.java +++ b/services/core/java/com/android/server/NetworkScoreService.java @@ -917,6 +917,7 @@ public class NetworkScoreService extends INetworkScoreService.Stub { return; } writer.println("Current scorer: " + currentScorer); + writer.println("RecommendationRequestTimeoutMs: " + mRecommendationRequestTimeoutMs); sendCacheUpdateCallback(new BiConsumer() { @Override @@ -1086,6 +1087,7 @@ public class NetworkScoreService extends INetworkScoreService.Stub { final RecommendationResult result = data.getParcelable(EXTRA_RECOMMENDATION_RESULT); final int sequence = data.getInt(EXTRA_SEQUENCE, -1); + if (VERBOSE) Log.v(TAG, "callback received for sequence " + sequence); onRemoteMethodResult(result, sequence); } }; @@ -1105,6 +1107,7 @@ public class NetworkScoreService extends INetworkScoreService.Stub { RecommendationResult getRecommendationResult(INetworkRecommendationProvider target, RecommendationRequest request) throws RemoteException, TimeoutException { final int sequence = onBeforeRemoteCall(); + if (VERBOSE) Log.v(TAG, "getRecommendationResult() seq=" + sequence); target.requestRecommendation(request, mCallback, sequence); return getResultTimed(sequence); } -- 2.11.0