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);
}
public static interface WifiManager.ScoreChangeCallback {
method public void onScoreChange(int, int);
method public void onTriggerUpdateOfWifiUsabilityStats(int);
public static interface WifiManager.ScoreUpdateObserver {
method public void notifyScoreUpdate(int, int);
method public void triggerUpdateOfWifiUsabilityStats(int);
}
public static interface WifiManager.SoftApCallback {
@@ -7475,9 +7475,9 @@ package android.net.wifi {
}
public static interface WifiManager.WifiConnectedNetworkScorer {
method public void setScoreChangeCallback(@NonNull android.net.wifi.WifiManager.ScoreChangeCallback);
method public void start(int);
method public void stop(int);
method public void onSetScoreUpdateObserver(@NonNull android.net.wifi.WifiManager.ScoreUpdateObserver);
method public void onStart(int);
method public void onStop(int);
}
public final class WifiMigration {

View File

@@ -21,9 +21,9 @@ package android.net.wifi;
*
* @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;
import android.net.wifi.IScoreChangeCallback;
import android.net.wifi.IScoreUpdateObserver;
/**
* Interface for Wi-Fi connected network scorer.
@@ -25,9 +25,9 @@ import android.net.wifi.IScoreChangeCallback;
*/
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}.
*
* @hide
*/
@SystemApi
public interface ScoreChangeCallback {
public interface ScoreUpdateObserver {
/**
* Called by applications to indicate network status.
*
* @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.
* 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}.
@@ -6009,36 +6009,36 @@ public class WifiManager {
* {@link addOnWifiUsabilityStatsListener(Executor, OnWifiUsabilityStatsListener)}.
*
* @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
*/
private class ScoreChangeCallbackProxy implements ScoreChangeCallback {
private final IScoreChangeCallback mScoreChangeCallback;
private class ScoreUpdateObserverProxy implements ScoreUpdateObserver {
private final IScoreUpdateObserver mScoreUpdateObserver;
private ScoreChangeCallbackProxy(IScoreChangeCallback callback) {
mScoreChangeCallback = callback;
private ScoreUpdateObserverProxy(IScoreUpdateObserver observer) {
mScoreUpdateObserver = observer;
}
@Override
public void onScoreChange(int sessionId, int score) {
public void notifyScoreUpdate(int sessionId, int score) {
try {
mScoreChangeCallback.onScoreChange(sessionId, score);
mScoreUpdateObserver.notifyScoreUpdate(sessionId, score);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
}
@Override
public void onTriggerUpdateOfWifiUsabilityStats(int sessionId) {
public void triggerUpdateOfWifiUsabilityStats(int sessionId) {
try {
mScoreChangeCallback.onTriggerUpdateOfWifiUsabilityStats(sessionId);
mScoreUpdateObserver.triggerUpdateOfWifiUsabilityStats(sessionId);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
@@ -6058,21 +6058,21 @@ public class WifiManager {
* Called by framework to indicate the start of a 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.
* @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.
* @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.
*/
void setScoreChangeCallback(@NonNull ScoreChangeCallback cbImpl);
void onSetScoreUpdateObserver(@NonNull ScoreUpdateObserver observerImpl);
}
/**
@@ -6090,32 +6090,32 @@ public class WifiManager {
}
@Override
public void start(int sessionId) {
public void onStart(int sessionId) {
if (mVerboseLoggingEnabled) {
Log.v(TAG, "WifiConnectedNetworkScorer: " + "start: sessionId=" + sessionId);
Log.v(TAG, "WifiConnectedNetworkScorer: " + "onStart: sessionId=" + sessionId);
}
Binder.clearCallingIdentity();
mExecutor.execute(() -> mScorer.start(sessionId));
mExecutor.execute(() -> mScorer.onStart(sessionId));
}
@Override
public void stop(int sessionId) {
public void onStop(int sessionId) {
if (mVerboseLoggingEnabled) {
Log.v(TAG, "WifiConnectedNetworkScorer: " + "stop: sessionId=" + sessionId);
Log.v(TAG, "WifiConnectedNetworkScorer: " + "onStop: sessionId=" + sessionId);
}
Binder.clearCallingIdentity();
mExecutor.execute(() -> mScorer.stop(sessionId));
mExecutor.execute(() -> mScorer.onStop(sessionId));
}
@Override
public void setScoreChangeCallback(IScoreChangeCallback cbImpl) {
public void onSetScoreUpdateObserver(IScoreUpdateObserver observerImpl) {
if (mVerboseLoggingEnabled) {
Log.v(TAG, "WifiConnectedNetworkScorer: "
+ "setScoreChangeCallback: cbImpl=" + cbImpl);
+ "onSetScoreUpdateObserver: observerImpl=" + observerImpl);
}
Binder.clearCallingIdentity();
mExecutor.execute(() -> mScorer.setScoreChangeCallback(
new ScoreChangeCallbackProxy(cbImpl)));
mExecutor.execute(() -> mScorer.onSetScoreUpdateObserver(
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
public void verifyScorerReceiveScoreChangeCallbackAfterRegistration() throws Exception {
public void verifyScorerReceiveScoreUpdateObserverAfterRegistration() throws Exception {
mExecutor = new SynchronousExecutor();
mWifiManager.setWifiConnectedNetworkScorer(mExecutor, mWifiConnectedNetworkScorer);
ArgumentCaptor<IWifiConnectedNetworkScorer.Stub> scorerCaptor =
ArgumentCaptor.forClass(IWifiConnectedNetworkScorer.Stub.class);
verify(mWifiService).setWifiConnectedNetworkScorer(any(IBinder.class),
scorerCaptor.capture());
scorerCaptor.getValue().setScoreChangeCallback(any());
scorerCaptor.getValue().onSetScoreUpdateObserver(any());
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
public void verifyScorerReceiveSessionIdWhenStartStopIsCalled() throws Exception {
@@ -2375,11 +2376,11 @@ public class WifiManagerTest {
ArgumentCaptor.forClass(IWifiConnectedNetworkScorer.Stub.class);
verify(mWifiService).setWifiConnectedNetworkScorer(any(IBinder.class),
callbackCaptor.capture());
callbackCaptor.getValue().start(0);
callbackCaptor.getValue().stop(10);
callbackCaptor.getValue().onStart(0);
callbackCaptor.getValue().onStop(10);
mLooper.dispatchAll();
verify(mWifiConnectedNetworkScorer).start(0);
verify(mWifiConnectedNetworkScorer).stop(10);
verify(mWifiConnectedNetworkScorer).onStart(0);
verify(mWifiConnectedNetworkScorer).onStop(10);
}
@Test