Loading core/java/android/net/INetworkScoreService.aidl +8 −0 Original line number Diff line number Diff line Loading @@ -109,4 +109,12 @@ interface INetworkScoreService * @hide */ boolean isCallerActiveScorer(int callingUid); /** * Obtain the package name of the current active network scorer. * * @return the full package name of the current active scorer, or null if there is no active * scorer. */ String getActiveScorerPackage(); } core/java/android/net/NetworkScoreManager.java +4 −4 Original line number Diff line number Diff line Loading @@ -170,11 +170,11 @@ public class NetworkScoreManager { * scorer. */ public String getActiveScorerPackage() { NetworkScorerAppData app = new NetworkScorerAppManager(mContext).getActiveScorer(); if (app == null) { return null; try { return mService.getActiveScorerPackage(); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } return app.packageName; } /** Loading services/core/java/com/android/server/NetworkScoreService.java +16 −0 Original line number Diff line number Diff line Loading @@ -432,6 +432,22 @@ public class NetworkScoreService extends INetworkScoreService.Stub { } } /** * Obtain the package name of the current active network scorer. * * @return the full package name of the current active scorer, or null if there is no active * scorer. */ @Override public String getActiveScorerPackage() { synchronized (mServiceConnectionLock) { if (mServiceConnection != null) { return mServiceConnection.mComponentName.getPackageName(); } } return null; } @Override public void disableScoring() { // Only the active scorer or the system should be allowed to disable scoring. Loading services/tests/servicestests/src/com/android/server/NetworkScoreServiceTest.java +16 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import static android.net.NetworkScoreManager.CACHE_FILTER_NONE; import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertFalse; import static junit.framework.Assert.assertNotNull; import static junit.framework.Assert.assertNull; import static junit.framework.Assert.assertTrue; import static junit.framework.Assert.fail; Loading Loading @@ -470,6 +471,21 @@ public class NetworkScoreServiceTest { assertTrue(mNetworkScoreService.isCallerActiveScorer(Binder.getCallingUid())); } @Test public void testGetActiveScorerPackage_notActive() throws Exception { mNetworkScoreService.systemRunning(); assertNull(mNetworkScoreService.getActiveScorerPackage()); } @Test public void testGetActiveScorerPackage_active() throws Exception { when(mNetworkScorerAppManager.getActiveScorer()).thenReturn(NEW_SCORER); mNetworkScoreService.systemRunning(); assertEquals(NEW_SCORER.packageName, mNetworkScoreService.getActiveScorerPackage()); } // "injects" the mock INetworkRecommendationProvider into the NetworkScoreService. private void injectProvider() { final ComponentName componentName = new ComponentName(NEW_SCORER.packageName, Loading Loading
core/java/android/net/INetworkScoreService.aidl +8 −0 Original line number Diff line number Diff line Loading @@ -109,4 +109,12 @@ interface INetworkScoreService * @hide */ boolean isCallerActiveScorer(int callingUid); /** * Obtain the package name of the current active network scorer. * * @return the full package name of the current active scorer, or null if there is no active * scorer. */ String getActiveScorerPackage(); }
core/java/android/net/NetworkScoreManager.java +4 −4 Original line number Diff line number Diff line Loading @@ -170,11 +170,11 @@ public class NetworkScoreManager { * scorer. */ public String getActiveScorerPackage() { NetworkScorerAppData app = new NetworkScorerAppManager(mContext).getActiveScorer(); if (app == null) { return null; try { return mService.getActiveScorerPackage(); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } return app.packageName; } /** Loading
services/core/java/com/android/server/NetworkScoreService.java +16 −0 Original line number Diff line number Diff line Loading @@ -432,6 +432,22 @@ public class NetworkScoreService extends INetworkScoreService.Stub { } } /** * Obtain the package name of the current active network scorer. * * @return the full package name of the current active scorer, or null if there is no active * scorer. */ @Override public String getActiveScorerPackage() { synchronized (mServiceConnectionLock) { if (mServiceConnection != null) { return mServiceConnection.mComponentName.getPackageName(); } } return null; } @Override public void disableScoring() { // Only the active scorer or the system should be allowed to disable scoring. Loading
services/tests/servicestests/src/com/android/server/NetworkScoreServiceTest.java +16 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import static android.net.NetworkScoreManager.CACHE_FILTER_NONE; import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertFalse; import static junit.framework.Assert.assertNotNull; import static junit.framework.Assert.assertNull; import static junit.framework.Assert.assertTrue; import static junit.framework.Assert.fail; Loading Loading @@ -470,6 +471,21 @@ public class NetworkScoreServiceTest { assertTrue(mNetworkScoreService.isCallerActiveScorer(Binder.getCallingUid())); } @Test public void testGetActiveScorerPackage_notActive() throws Exception { mNetworkScoreService.systemRunning(); assertNull(mNetworkScoreService.getActiveScorerPackage()); } @Test public void testGetActiveScorerPackage_active() throws Exception { when(mNetworkScorerAppManager.getActiveScorer()).thenReturn(NEW_SCORER); mNetworkScoreService.systemRunning(); assertEquals(NEW_SCORER.packageName, mNetworkScoreService.getActiveScorerPackage()); } // "injects" the mock INetworkRecommendationProvider into the NetworkScoreService. private void injectProvider() { final ComponentName componentName = new ComponentName(NEW_SCORER.packageName, Loading