Extension API: Comments from API review council are addressed

Addressed all comments from API review council by renaming ScoreChangeCallback, the methods in ScoreChangeCallback, and the methods in WifiConnectedNetworkScorer.

Bug: 150878285
Bug: 135573686
Bug: 122133502

Test: atest android.net.wifi

Signed-off-by: Mingguang Xu <mingguangxu@google.com>
Change-Id: I823b52a95c2501c7431295573747f2228d1f50b0
This commit is contained in:
Mingguang Xu
2020-03-05 14:50:50 -08:00
parent b958df7d90
commit d54ef49075
5 changed files with 53 additions and 52 deletions

View File

@@ -7453,9 +7453,9 @@ package android.net.wifi {
method public void onWifiUsabilityStats(int, boolean, @NonNull android.net.wifi.WifiUsabilityStatsEntry); method public void onWifiUsabilityStats(int, boolean, @NonNull android.net.wifi.WifiUsabilityStatsEntry);
} }
public static interface WifiManager.ScoreChangeCallback { public static interface WifiManager.ScoreUpdateObserver {
method public void onScoreChange(int, int); method public void notifyScoreUpdate(int, int);
method public void onTriggerUpdateOfWifiUsabilityStats(int); method public void triggerUpdateOfWifiUsabilityStats(int);
} }
public static interface WifiManager.SoftApCallback { public static interface WifiManager.SoftApCallback {
@@ -7475,9 +7475,9 @@ package android.net.wifi {
} }
public static interface WifiManager.WifiConnectedNetworkScorer { public static interface WifiManager.WifiConnectedNetworkScorer {
method public void setScoreChangeCallback(@NonNull android.net.wifi.WifiManager.ScoreChangeCallback); method public void onSetScoreUpdateObserver(@NonNull android.net.wifi.WifiManager.ScoreUpdateObserver);
method public void start(int); method public void onStart(int);
method public void stop(int); method public void onStop(int);
} }
public final class WifiMigration { public final class WifiMigration {

View File

@@ -21,9 +21,9 @@ package android.net.wifi;
* *
* @hide * @hide
*/ */
oneway interface IScoreChangeCallback oneway interface IScoreUpdateObserver
{ {
void onScoreChange(int sessionId, int score); void notifyScoreUpdate(int sessionId, int score);
void onTriggerUpdateOfWifiUsabilityStats(int sessionId); void triggerUpdateOfWifiUsabilityStats(int sessionId);
} }

View File

@@ -16,7 +16,7 @@
package android.net.wifi; package android.net.wifi;
import android.net.wifi.IScoreChangeCallback; import android.net.wifi.IScoreUpdateObserver;
/** /**
* Interface for Wi-Fi connected network scorer. * Interface for Wi-Fi connected network scorer.
@@ -25,9 +25,9 @@ import android.net.wifi.IScoreChangeCallback;
*/ */
oneway interface IWifiConnectedNetworkScorer oneway interface IWifiConnectedNetworkScorer
{ {
void start(int sessionId); void onStart(int sessionId);
void stop(int sessionId); void onStop(int sessionId);
void setScoreChangeCallback(IScoreChangeCallback cbImpl); void onSetScoreUpdateObserver(IScoreUpdateObserver observerImpl);
} }

View File

@@ -5986,22 +5986,22 @@ public class WifiManager {
} }
/** /**
* Callback interface for framework to receive network status changes and trigger of updating * Callback interface for framework to receive network status updates and trigger of updating
* {@link WifiUsabilityStatsEntry}. * {@link WifiUsabilityStatsEntry}.
* *
* @hide * @hide
*/ */
@SystemApi @SystemApi
public interface ScoreChangeCallback { public interface ScoreUpdateObserver {
/** /**
* Called by applications to indicate network status. * Called by applications to indicate network status.
* *
* @param sessionId The ID to indicate current Wi-Fi network connection obtained from * @param sessionId The ID to indicate current Wi-Fi network connection obtained from
* {@link WifiConnectedNetworkScorer#start(int)}. * {@link WifiConnectedNetworkScorer#onStart(int)}.
* @param score The score representing link quality of current Wi-Fi network connection. * @param score The score representing link quality of current Wi-Fi network connection.
* Populated by connected network scorer in applications.. * Populated by connected network scorer in applications..
*/ */
void onScoreChange(int sessionId, int score); void notifyScoreUpdate(int sessionId, int score);
/** /**
* Called by applications to trigger an update of {@link WifiUsabilityStatsEntry}. * Called by applications to trigger an update of {@link WifiUsabilityStatsEntry}.
@@ -6009,36 +6009,36 @@ public class WifiManager {
* {@link addOnWifiUsabilityStatsListener(Executor, OnWifiUsabilityStatsListener)}. * {@link addOnWifiUsabilityStatsListener(Executor, OnWifiUsabilityStatsListener)}.
* *
* @param sessionId The ID to indicate current Wi-Fi network connection obtained from * @param sessionId The ID to indicate current Wi-Fi network connection obtained from
* {@link WifiConnectedNetworkScorer#start(int)}. * {@link WifiConnectedNetworkScorer#onStart(int)}.
*/ */
void onTriggerUpdateOfWifiUsabilityStats(int sessionId); void triggerUpdateOfWifiUsabilityStats(int sessionId);
} }
/** /**
* Callback proxy for {@link ScoreChangeCallback} objects. * Callback proxy for {@link ScoreUpdateObserver} objects.
* *
* @hide * @hide
*/ */
private class ScoreChangeCallbackProxy implements ScoreChangeCallback { private class ScoreUpdateObserverProxy implements ScoreUpdateObserver {
private final IScoreChangeCallback mScoreChangeCallback; private final IScoreUpdateObserver mScoreUpdateObserver;
private ScoreChangeCallbackProxy(IScoreChangeCallback callback) { private ScoreUpdateObserverProxy(IScoreUpdateObserver observer) {
mScoreChangeCallback = callback; mScoreUpdateObserver = observer;
} }
@Override @Override
public void onScoreChange(int sessionId, int score) { public void notifyScoreUpdate(int sessionId, int score) {
try { try {
mScoreChangeCallback.onScoreChange(sessionId, score); mScoreUpdateObserver.notifyScoreUpdate(sessionId, score);
} catch (RemoteException e) { } catch (RemoteException e) {
throw e.rethrowFromSystemServer(); throw e.rethrowFromSystemServer();
} }
} }
@Override @Override
public void onTriggerUpdateOfWifiUsabilityStats(int sessionId) { public void triggerUpdateOfWifiUsabilityStats(int sessionId) {
try { try {
mScoreChangeCallback.onTriggerUpdateOfWifiUsabilityStats(sessionId); mScoreUpdateObserver.triggerUpdateOfWifiUsabilityStats(sessionId);
} catch (RemoteException e) { } catch (RemoteException e) {
throw e.rethrowFromSystemServer(); throw e.rethrowFromSystemServer();
} }
@@ -6058,21 +6058,21 @@ public class WifiManager {
* Called by framework to indicate the start of a network connection. * Called by framework to indicate the start of a network connection.
* @param sessionId The ID to indicate current Wi-Fi network connection. * @param sessionId The ID to indicate current Wi-Fi network connection.
*/ */
void start(int sessionId); void onStart(int sessionId);
/** /**
* Called by framework to indicate the end of a network connection. * Called by framework to indicate the end of a network connection.
* @param sessionId The ID to indicate current Wi-Fi network connection obtained from * @param sessionId The ID to indicate current Wi-Fi network connection obtained from
* {@link WifiConnectedNetworkScorer#start(int)}. * {@link WifiConnectedNetworkScorer#onStart(int)}.
*/ */
void stop(int sessionId); void onStop(int sessionId);
/** /**
* Framework sets callback for score change events after application sets its scorer. * Framework sets callback for score change events after application sets its scorer.
* @param cbImpl The instance for {@link WifiManager#ScoreChangeCallback}. Should be * @param observerImpl The instance for {@link WifiManager#ScoreUpdateObserver}. Should be
* implemented and instantiated by framework. * implemented and instantiated by framework.
*/ */
void setScoreChangeCallback(@NonNull ScoreChangeCallback cbImpl); void onSetScoreUpdateObserver(@NonNull ScoreUpdateObserver observerImpl);
} }
/** /**
@@ -6090,32 +6090,32 @@ public class WifiManager {
} }
@Override @Override
public void start(int sessionId) { public void onStart(int sessionId) {
if (mVerboseLoggingEnabled) { if (mVerboseLoggingEnabled) {
Log.v(TAG, "WifiConnectedNetworkScorer: " + "start: sessionId=" + sessionId); Log.v(TAG, "WifiConnectedNetworkScorer: " + "onStart: sessionId=" + sessionId);
} }
Binder.clearCallingIdentity(); Binder.clearCallingIdentity();
mExecutor.execute(() -> mScorer.start(sessionId)); mExecutor.execute(() -> mScorer.onStart(sessionId));
} }
@Override @Override
public void stop(int sessionId) { public void onStop(int sessionId) {
if (mVerboseLoggingEnabled) { if (mVerboseLoggingEnabled) {
Log.v(TAG, "WifiConnectedNetworkScorer: " + "stop: sessionId=" + sessionId); Log.v(TAG, "WifiConnectedNetworkScorer: " + "onStop: sessionId=" + sessionId);
} }
Binder.clearCallingIdentity(); Binder.clearCallingIdentity();
mExecutor.execute(() -> mScorer.stop(sessionId)); mExecutor.execute(() -> mScorer.onStop(sessionId));
} }
@Override @Override
public void setScoreChangeCallback(IScoreChangeCallback cbImpl) { public void onSetScoreUpdateObserver(IScoreUpdateObserver observerImpl) {
if (mVerboseLoggingEnabled) { if (mVerboseLoggingEnabled) {
Log.v(TAG, "WifiConnectedNetworkScorer: " Log.v(TAG, "WifiConnectedNetworkScorer: "
+ "setScoreChangeCallback: cbImpl=" + cbImpl); + "onSetScoreUpdateObserver: observerImpl=" + observerImpl);
} }
Binder.clearCallingIdentity(); Binder.clearCallingIdentity();
mExecutor.execute(() -> mScorer.setScoreChangeCallback( mExecutor.execute(() -> mScorer.onSetScoreUpdateObserver(
new ScoreChangeCallbackProxy(cbImpl))); new ScoreUpdateObserverProxy(observerImpl)));
} }
} }

View File

@@ -2349,23 +2349,24 @@ public class WifiManagerTest {
} }
/** /**
* Verify that Wi-Fi connected scorer receives score change callback after registeration. * Verify that Wi-Fi connected scorer receives score update observer after registeration.
*/ */
@Test @Test
public void verifyScorerReceiveScoreChangeCallbackAfterRegistration() throws Exception { public void verifyScorerReceiveScoreUpdateObserverAfterRegistration() throws Exception {
mExecutor = new SynchronousExecutor(); mExecutor = new SynchronousExecutor();
mWifiManager.setWifiConnectedNetworkScorer(mExecutor, mWifiConnectedNetworkScorer); mWifiManager.setWifiConnectedNetworkScorer(mExecutor, mWifiConnectedNetworkScorer);
ArgumentCaptor<IWifiConnectedNetworkScorer.Stub> scorerCaptor = ArgumentCaptor<IWifiConnectedNetworkScorer.Stub> scorerCaptor =
ArgumentCaptor.forClass(IWifiConnectedNetworkScorer.Stub.class); ArgumentCaptor.forClass(IWifiConnectedNetworkScorer.Stub.class);
verify(mWifiService).setWifiConnectedNetworkScorer(any(IBinder.class), verify(mWifiService).setWifiConnectedNetworkScorer(any(IBinder.class),
scorerCaptor.capture()); scorerCaptor.capture());
scorerCaptor.getValue().setScoreChangeCallback(any()); scorerCaptor.getValue().onSetScoreUpdateObserver(any());
mLooper.dispatchAll(); mLooper.dispatchAll();
verify(mWifiConnectedNetworkScorer).setScoreChangeCallback(any()); verify(mWifiConnectedNetworkScorer).onSetScoreUpdateObserver(any());
} }
/** /**
* Verify that Wi-Fi connected scorer receives session ID when start/stop methods are called. * Verify that Wi-Fi connected scorer receives session ID when onStart/onStop methods
* are called.
*/ */
@Test @Test
public void verifyScorerReceiveSessionIdWhenStartStopIsCalled() throws Exception { public void verifyScorerReceiveSessionIdWhenStartStopIsCalled() throws Exception {
@@ -2375,11 +2376,11 @@ public class WifiManagerTest {
ArgumentCaptor.forClass(IWifiConnectedNetworkScorer.Stub.class); ArgumentCaptor.forClass(IWifiConnectedNetworkScorer.Stub.class);
verify(mWifiService).setWifiConnectedNetworkScorer(any(IBinder.class), verify(mWifiService).setWifiConnectedNetworkScorer(any(IBinder.class),
callbackCaptor.capture()); callbackCaptor.capture());
callbackCaptor.getValue().start(0); callbackCaptor.getValue().onStart(0);
callbackCaptor.getValue().stop(10); callbackCaptor.getValue().onStop(10);
mLooper.dispatchAll(); mLooper.dispatchAll();
verify(mWifiConnectedNetworkScorer).start(0); verify(mWifiConnectedNetworkScorer).onStart(0);
verify(mWifiConnectedNetworkScorer).stop(10); verify(mWifiConnectedNetworkScorer).onStop(10);
} }
@Test @Test