From fa8b0ba2bf16c09b3d10eee5648a7085058054ba Mon Sep 17 00:00:00 2001 From: Makoto Onuki Date: Mon, 7 Oct 2019 16:49:04 -0700 Subject: [PATCH] Fix trivial hidden API uses Bug: 142281756 Test: boot Test: atest frameworks/base/services/tests/mockingservicestests/src/com/android/server/DeviceIdleControllerTest.java Change-Id: I3438e62731118462a4cf8db954a5a95a5908d7a8 --- .../android/server/DeviceIdleController.java | 17 ++++++++-------- .../controllers/ConnectivityController.java | 10 +++++----- .../server/DeviceIdleControllerTest.java | 20 +++++++++---------- 3 files changed, 23 insertions(+), 24 deletions(-) diff --git a/apex/jobscheduler/service/java/com/android/server/DeviceIdleController.java b/apex/jobscheduler/service/java/com/android/server/DeviceIdleController.java index 65aaf20ecacbb..d6661c2c86160 100644 --- a/apex/jobscheduler/service/java/com/android/server/DeviceIdleController.java +++ b/apex/jobscheduler/service/java/com/android/server/DeviceIdleController.java @@ -1684,7 +1684,7 @@ public class DeviceIdleController extends SystemService static class Injector { private final Context mContext; - private ConnectivityService mConnectivityService; + private ConnectivityManager mConnectivityManager; private Constants mConstants; private LocationManager mLocationManager; @@ -1705,12 +1705,11 @@ public class DeviceIdleController extends SystemService return new AppStateTracker(ctx, looper); } - ConnectivityService getConnectivityService() { - if (mConnectivityService == null) { - mConnectivityService = (ConnectivityService) ServiceManager.getService( - Context.CONNECTIVITY_SERVICE); + ConnectivityManager getConnectivityManager() { + if (mConnectivityManager == null) { + mConnectivityManager = mContext.getSystemService(ConnectivityManager.class); } - return mConnectivityService; + return mConnectivityManager; } Constants getConstants(DeviceIdleController controller, Handler handler, @@ -1909,7 +1908,7 @@ public class DeviceIdleController extends SystemService if (getContext().getResources().getBoolean( com.android.internal.R.bool.config_autoPowerModePrefetchLocation)) { - mLocationRequest = new LocationRequest() + mLocationRequest = LocationRequest.create() .setQuality(LocationRequest.ACCURACY_FINE) .setInterval(0) .setFastestInterval(0) @@ -2497,9 +2496,9 @@ public class DeviceIdleController extends SystemService } void updateConnectivityState(Intent connIntent) { - ConnectivityService cm; + ConnectivityManager cm; synchronized (this) { - cm = mInjector.getConnectivityService(); + cm = mInjector.getConnectivityManager(); } if (cm == null) { return; diff --git a/apex/jobscheduler/service/java/com/android/server/job/controllers/ConnectivityController.java b/apex/jobscheduler/service/java/com/android/server/job/controllers/ConnectivityController.java index 43e8dfb6bab64..7d3630338fc1a 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/controllers/ConnectivityController.java +++ b/apex/jobscheduler/service/java/com/android/server/job/controllers/ConnectivityController.java @@ -34,6 +34,7 @@ import android.os.Looper; import android.os.Message; import android.os.UserHandle; import android.text.format.DateUtils; +import android.util.ArrayMap; import android.util.ArraySet; import android.util.DataUnit; import android.util.Log; @@ -441,7 +442,7 @@ public final class ConnectivityController extends StateController implements synchronized (mLock) { // Since this is a really hot codepath, temporarily cache any // answers that we get from ConnectivityManager. - final SparseArray networkToCapabilities = new SparseArray<>(); + final ArrayMap networkToCapabilities = new ArrayMap<>(); boolean changed = false; if (filterUid == -1) { @@ -460,17 +461,16 @@ public final class ConnectivityController extends StateController implements } private boolean updateTrackedJobsLocked(ArraySet jobs, Network filterNetwork, - SparseArray networkToCapabilities) { + ArrayMap networkToCapabilities) { if (jobs == null || jobs.size() == 0) { return false; } final Network network = mConnManager.getActiveNetworkForUid(jobs.valueAt(0).getSourceUid()); - final int netId = network != null ? network.netId : -1; - NetworkCapabilities capabilities = networkToCapabilities.get(netId); + NetworkCapabilities capabilities = networkToCapabilities.get(network); if (capabilities == null) { capabilities = mConnManager.getNetworkCapabilities(network); - networkToCapabilities.put(netId, capabilities); + networkToCapabilities.put(network, capabilities); } final boolean networkMatch = (filterNetwork == null || Objects.equals(filterNetwork, network)); diff --git a/services/tests/mockingservicestests/src/com/android/server/DeviceIdleControllerTest.java b/services/tests/mockingservicestests/src/com/android/server/DeviceIdleControllerTest.java index 108b017fc76ca..2aa625a657ef5 100644 --- a/services/tests/mockingservicestests/src/com/android/server/DeviceIdleControllerTest.java +++ b/services/tests/mockingservicestests/src/com/android/server/DeviceIdleControllerTest.java @@ -108,7 +108,7 @@ public class DeviceIdleControllerTest { @Mock private AlarmManager mAlarmManager; @Mock - private ConnectivityService mConnectivityService; + private ConnectivityManager mConnectivityManager; @Mock private ContentResolver mContentResolver; @Mock @@ -127,7 +127,7 @@ public class DeviceIdleControllerTest { private SensorManager mSensorManager; class InjectorForTest extends DeviceIdleController.Injector { - ConnectivityService connectivityService; + ConnectivityManager connectivityManager; LocationManager locationManager; ConstraintController constraintController; // Freeze time for testing. @@ -155,8 +155,8 @@ public class DeviceIdleControllerTest { } @Override - ConnectivityService getConnectivityService() { - return connectivityService; + ConnectivityManager getConnectivityManager() { + return connectivityManager; } @Override @@ -347,19 +347,19 @@ public class DeviceIdleControllerTest { public void testUpdateConnectivityState() { // No connectivity service final boolean isConnected = mDeviceIdleController.isNetworkConnected(); - mInjector.connectivityService = null; + mInjector.connectivityManager = null; mDeviceIdleController.updateConnectivityState(null); assertEquals(isConnected, mDeviceIdleController.isNetworkConnected()); // No active network info - mInjector.connectivityService = mConnectivityService; - doReturn(null).when(mConnectivityService).getActiveNetworkInfo(); + mInjector.connectivityManager = mConnectivityManager; + doReturn(null).when(mConnectivityManager).getActiveNetworkInfo(); mDeviceIdleController.updateConnectivityState(null); assertFalse(mDeviceIdleController.isNetworkConnected()); // Active network info says connected. final NetworkInfo ani = mock(NetworkInfo.class); - doReturn(ani).when(mConnectivityService).getActiveNetworkInfo(); + doReturn(ani).when(mConnectivityManager).getActiveNetworkInfo(); doReturn(true).when(ani).isConnected(); mDeviceIdleController.updateConnectivityState(null); assertTrue(mDeviceIdleController.isNetworkConnected()); @@ -1827,10 +1827,10 @@ public class DeviceIdleControllerTest { } private void setNetworkConnected(boolean connected) { - mInjector.connectivityService = mConnectivityService; + mInjector.connectivityManager = mConnectivityManager; final NetworkInfo ani = mock(NetworkInfo.class); doReturn(connected).when(ani).isConnected(); - doReturn(ani).when(mConnectivityService).getActiveNetworkInfo(); + doReturn(ani).when(mConnectivityManager).getActiveNetworkInfo(); mDeviceIdleController.updateConnectivityState(null); }