Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 425a0fdc authored by Jeremy Joslin's avatar Jeremy Joslin Committed by android-build-merger
Browse files

Merge "Move getActiveScorerPackage() to the score service."

am: b5488ec3

Change-Id: I8819c482a87a8c78ad0a1a39dda74b5ee2e7da4c
parents 49b68ad0 b5488ec3
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -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();
}
+4 −4
Original line number Diff line number Diff line
@@ -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;
    }

    /**
+16 −0
Original line number Diff line number Diff line
@@ -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.
+16 −0
Original line number Diff line number Diff line
@@ -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;

@@ -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,