Loading src/java/com/android/internal/telephony/dataconnection/DataServiceManager.java +4 −4 Original line number Diff line number Diff line Loading @@ -39,7 +39,7 @@ import android.os.PersistableBundle; import android.os.RegistrantList; import android.os.RemoteException; import android.os.UserHandle; import android.permission.PermissionManager; import android.permission.LegacyPermissionManager; import android.telephony.AccessNetworkConstants; import android.telephony.AccessNetworkConstants.TransportType; import android.telephony.AnomalyReporter; Loading Loading @@ -89,7 +89,7 @@ public class DataServiceManager extends Handler { private final CarrierConfigManager mCarrierConfigManager; private final AppOpsManager mAppOps; private final PermissionManager mPermissionManager; private final LegacyPermissionManager mPermissionManager; private final int mTransportType; Loading Loading @@ -347,8 +347,8 @@ public class DataServiceManager extends Handler { // NOTE: Do NOT use AppGlobals to retrieve the permission manager; AppGlobals // caches the service instance, but we need to explicitly request a new service // so it can be mocked out for tests mPermissionManager = (PermissionManager) phone.getContext().getSystemService(Context.PERMISSION_SERVICE); mPermissionManager = (LegacyPermissionManager) phone.getContext().getSystemService( Context.LEGACY_PERMISSION_SERVICE); mAppOps = (AppOpsManager) phone.getContext().getSystemService(Context.APP_OPS_SERVICE); IntentFilter intentFilter = new IntentFilter(); Loading src/java/com/android/internal/telephony/ims/ImsServiceController.java +4 −4 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ import android.os.IBinder; import android.os.IInterface; import android.os.RemoteException; import android.os.UserHandle; import android.permission.PermissionManager; import android.permission.LegacyPermissionManager; import android.telephony.AnomalyReporter; import android.telephony.ims.ImsService; import android.telephony.ims.aidl.IImsConfig; Loading Loading @@ -223,7 +223,7 @@ public class ImsServiceController { private static final long CHANGE_PERMISSION_TIMEOUT_MS = 15 * 1000; // 15 seconds private final ComponentName mComponentName; private final HandlerThread mHandlerThread = new HandlerThread("ImsServiceControllerHandler"); private final PermissionManager mPermissionManager; private final LegacyPermissionManager mPermissionManager; private ImsFeatureBinderRepository mRepo; private ImsServiceControllerCallbacks mCallbacks; private ExponentialBackoff mBackoff; Loading Loading @@ -321,8 +321,8 @@ public class ImsServiceController { 2, /* multiplier */ mHandlerThread.getLooper(), mRestartImsServiceRunnable); mPermissionManager = (PermissionManager) mContext.getSystemService(Context.PERMISSION_SERVICE); mPermissionManager = (LegacyPermissionManager) mContext.getSystemService( Context.LEGACY_PERMISSION_SERVICE); mRepo = repo; mPackageManager = mContext.getPackageManager(); Loading tests/telephonytests/src/com/android/internal/telephony/ContextFixture.java +1 −0 Original line number Diff line number Diff line Loading @@ -266,6 +266,7 @@ public class ContextFixture implements TestFixture<Context> { case Context.DISPLAY_SERVICE: case Context.POWER_SERVICE: case Context.PERMISSION_SERVICE: case Context.LEGACY_PERMISSION_SERVICE: // These are final classes so cannot be mocked, // return real services. return TestApplication.getAppContext().getSystemService(name); Loading tests/telephonytests/src/com/android/internal/telephony/TelephonyPermissionsTest.java +10 −10 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ import android.os.Build; import android.os.Bundle; import android.os.IBinder; import android.os.ServiceManager; import android.permission.PermissionManager; import android.permission.LegacyPermissionManager; import android.provider.DeviceConfig; import android.provider.Settings; import android.telephony.SubscriptionManager; Loading @@ -46,7 +46,7 @@ import android.test.mock.MockContentResolver; import android.test.suitebuilder.annotation.SmallTest; import com.android.internal.util.test.FakeSettingsProvider; import com.android.server.pm.permission.PermissionManagerService; import com.android.server.pm.permission.LegacyPermissionManagerService; import org.junit.Before; import org.junit.Test; Loading Loading @@ -88,7 +88,7 @@ public class TelephonyPermissionsTest { @Mock private TelephonyManager mTelephonyManagerMockForSub2; @Mock private PermissionManagerService mMockPermissionManagerService; private LegacyPermissionManagerService mMockLegacyPermissionManagerService; private MockContentResolver mMockContentResolver; private FakeSettingsConfigProvider mFakeSettingsConfigProvider; Loading @@ -107,10 +107,10 @@ public class TelephonyPermissionsTest { when(mMockSubscriptionManager.getCompleteActiveSubscriptionIdList()).thenReturn( new int[]{SUB_ID}); PermissionManager permissionManager = new PermissionManager(mMockContext, null, mMockPermissionManagerService); when(mMockContext.getSystemService(Context.PERMISSION_SERVICE)).thenReturn( permissionManager); LegacyPermissionManager legacyPermissionManager = new LegacyPermissionManager( mMockLegacyPermissionManagerService); when(mMockContext.getSystemService(Context.LEGACY_PERMISSION_SERVICE)).thenReturn( legacyPermissionManager); // By default, assume we have no permissions or app-ops bits. doThrow(new SecurityException()).when(mMockContext) Loading Loading @@ -325,8 +325,8 @@ public class TelephonyPermissionsTest { // performed by a SystemAPI in PermissionManager; this test verifies when this API returns // the calling package meets the requirements for device identifier access the telephony // check also returns true. when(mMockPermissionManagerService.checkDeviceIdentifierAccess(PACKAGE, MSG, FEATURE, PID, UID)).thenReturn(PackageManager.PERMISSION_GRANTED); when(mMockLegacyPermissionManagerService.checkDeviceIdentifierAccess(PACKAGE, MSG, FEATURE, PID, UID)).thenReturn(PackageManager.PERMISSION_GRANTED); assertTrue( TelephonyPermissions.checkCallingOrSelfReadDeviceIdentifiers(mMockContext, SUB_ID, PACKAGE, FEATURE, MSG)); Loading Loading @@ -616,7 +616,7 @@ public class TelephonyPermissionsTest { android.Manifest.permission.READ_DEVICE_CONFIG)).thenReturn( PackageManager.PERMISSION_GRANTED); when(mMockPermissionManagerService.checkDeviceIdentifierAccess(any(), any(), any(), when(mMockLegacyPermissionManagerService.checkDeviceIdentifierAccess(any(), any(), any(), anyInt(), anyInt())).thenReturn(PackageManager.PERMISSION_DENIED); // TelephonyPermissions queries DeviceConfig to determine if the identifier access Loading tests/telephonytests/src/com/android/internal/telephony/TelephonyTest.java +11 −7 Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ import android.os.MessageQueue; import android.os.RegistrantList; import android.os.ServiceManager; import android.os.UserManager; import android.permission.PermissionManager; import android.permission.LegacyPermissionManager; import android.provider.BlockedNumberContract; import android.provider.DeviceConfig; import android.provider.Settings; Loading Loading @@ -106,6 +106,7 @@ import com.android.internal.telephony.uicc.UiccController; import com.android.internal.telephony.uicc.UiccProfile; import com.android.internal.telephony.uicc.UiccSlot; import com.android.server.pm.PackageManagerService; import com.android.server.pm.permission.LegacyPermissionManagerService; import com.android.server.pm.permission.PermissionManagerService; import org.mockito.Mock; Loading Loading @@ -202,6 +203,8 @@ public abstract class TelephonyTest { @Mock protected PackageManagerService mMockPackageManager; @Mock protected LegacyPermissionManagerService mMockLegacyPermissionManager; @Mock protected PermissionManagerService mMockPermissionManager; protected NetworkRegistrationInfo mNetworkRegistrationInfo = Loading Loading @@ -622,6 +625,7 @@ public abstract class TelephonyTest { mSST.mRestrictedState = mRestrictedState; mServiceManagerMockedServices.put("connectivity_metrics_logger", mConnMetLoggerBinder); mServiceManagerMockedServices.put("package", mMockPackageManager); mServiceManagerMockedServices.put("legacy_permission", mMockLegacyPermissionManager); mServiceManagerMockedServices.put("permissionmgr", mMockPermissionManager); logd("mMockPermissionManager replaced"); doReturn(new int[]{AccessNetworkConstants.TRANSPORT_TYPE_WWAN, Loading Loading @@ -829,9 +833,10 @@ public abstract class TelephonyTest { // appop, and device / profile owner checks). This sets up the PermissionManager to return // that access requirements are met. setIdentifierAccess(true); PermissionManager permissionManager = new PermissionManager(mContext, null, mMockPermissionManager); doReturn(permissionManager).when(mContext).getSystemService(eq(Context.PERMISSION_SERVICE)); LegacyPermissionManager legacyPermissionManager = new LegacyPermissionManager(mMockLegacyPermissionManager); doReturn(legacyPermissionManager).when(mContext) .getSystemService(Context.LEGACY_PERMISSION_SERVICE); // Also make sure all appop checks fails, to not interfere tests. Tests should explicitly // mock AppOpManager to return allowed/default mode. Note by default a mock returns 0 which // is MODE_ALLOWED, hence this setup is necessary. Loading Loading @@ -866,9 +871,8 @@ public abstract class TelephonyTest { protected void setIdentifierAccess(boolean hasAccess) { doReturn(hasAccess ? PackageManager.PERMISSION_GRANTED : PackageManager.PERMISSION_DENIED).when( mMockPermissionManager).checkDeviceIdentifierAccess(any(), any(), any(), anyInt(), anyInt()); : PackageManager.PERMISSION_DENIED).when(mMockLegacyPermissionManager) .checkDeviceIdentifierAccess(any(), any(), any(), anyInt(), anyInt()); } protected void setCarrierPrivileges(boolean hasCarrierPrivileges) { Loading Loading
src/java/com/android/internal/telephony/dataconnection/DataServiceManager.java +4 −4 Original line number Diff line number Diff line Loading @@ -39,7 +39,7 @@ import android.os.PersistableBundle; import android.os.RegistrantList; import android.os.RemoteException; import android.os.UserHandle; import android.permission.PermissionManager; import android.permission.LegacyPermissionManager; import android.telephony.AccessNetworkConstants; import android.telephony.AccessNetworkConstants.TransportType; import android.telephony.AnomalyReporter; Loading Loading @@ -89,7 +89,7 @@ public class DataServiceManager extends Handler { private final CarrierConfigManager mCarrierConfigManager; private final AppOpsManager mAppOps; private final PermissionManager mPermissionManager; private final LegacyPermissionManager mPermissionManager; private final int mTransportType; Loading Loading @@ -347,8 +347,8 @@ public class DataServiceManager extends Handler { // NOTE: Do NOT use AppGlobals to retrieve the permission manager; AppGlobals // caches the service instance, but we need to explicitly request a new service // so it can be mocked out for tests mPermissionManager = (PermissionManager) phone.getContext().getSystemService(Context.PERMISSION_SERVICE); mPermissionManager = (LegacyPermissionManager) phone.getContext().getSystemService( Context.LEGACY_PERMISSION_SERVICE); mAppOps = (AppOpsManager) phone.getContext().getSystemService(Context.APP_OPS_SERVICE); IntentFilter intentFilter = new IntentFilter(); Loading
src/java/com/android/internal/telephony/ims/ImsServiceController.java +4 −4 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ import android.os.IBinder; import android.os.IInterface; import android.os.RemoteException; import android.os.UserHandle; import android.permission.PermissionManager; import android.permission.LegacyPermissionManager; import android.telephony.AnomalyReporter; import android.telephony.ims.ImsService; import android.telephony.ims.aidl.IImsConfig; Loading Loading @@ -223,7 +223,7 @@ public class ImsServiceController { private static final long CHANGE_PERMISSION_TIMEOUT_MS = 15 * 1000; // 15 seconds private final ComponentName mComponentName; private final HandlerThread mHandlerThread = new HandlerThread("ImsServiceControllerHandler"); private final PermissionManager mPermissionManager; private final LegacyPermissionManager mPermissionManager; private ImsFeatureBinderRepository mRepo; private ImsServiceControllerCallbacks mCallbacks; private ExponentialBackoff mBackoff; Loading Loading @@ -321,8 +321,8 @@ public class ImsServiceController { 2, /* multiplier */ mHandlerThread.getLooper(), mRestartImsServiceRunnable); mPermissionManager = (PermissionManager) mContext.getSystemService(Context.PERMISSION_SERVICE); mPermissionManager = (LegacyPermissionManager) mContext.getSystemService( Context.LEGACY_PERMISSION_SERVICE); mRepo = repo; mPackageManager = mContext.getPackageManager(); Loading
tests/telephonytests/src/com/android/internal/telephony/ContextFixture.java +1 −0 Original line number Diff line number Diff line Loading @@ -266,6 +266,7 @@ public class ContextFixture implements TestFixture<Context> { case Context.DISPLAY_SERVICE: case Context.POWER_SERVICE: case Context.PERMISSION_SERVICE: case Context.LEGACY_PERMISSION_SERVICE: // These are final classes so cannot be mocked, // return real services. return TestApplication.getAppContext().getSystemService(name); Loading
tests/telephonytests/src/com/android/internal/telephony/TelephonyPermissionsTest.java +10 −10 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ import android.os.Build; import android.os.Bundle; import android.os.IBinder; import android.os.ServiceManager; import android.permission.PermissionManager; import android.permission.LegacyPermissionManager; import android.provider.DeviceConfig; import android.provider.Settings; import android.telephony.SubscriptionManager; Loading @@ -46,7 +46,7 @@ import android.test.mock.MockContentResolver; import android.test.suitebuilder.annotation.SmallTest; import com.android.internal.util.test.FakeSettingsProvider; import com.android.server.pm.permission.PermissionManagerService; import com.android.server.pm.permission.LegacyPermissionManagerService; import org.junit.Before; import org.junit.Test; Loading Loading @@ -88,7 +88,7 @@ public class TelephonyPermissionsTest { @Mock private TelephonyManager mTelephonyManagerMockForSub2; @Mock private PermissionManagerService mMockPermissionManagerService; private LegacyPermissionManagerService mMockLegacyPermissionManagerService; private MockContentResolver mMockContentResolver; private FakeSettingsConfigProvider mFakeSettingsConfigProvider; Loading @@ -107,10 +107,10 @@ public class TelephonyPermissionsTest { when(mMockSubscriptionManager.getCompleteActiveSubscriptionIdList()).thenReturn( new int[]{SUB_ID}); PermissionManager permissionManager = new PermissionManager(mMockContext, null, mMockPermissionManagerService); when(mMockContext.getSystemService(Context.PERMISSION_SERVICE)).thenReturn( permissionManager); LegacyPermissionManager legacyPermissionManager = new LegacyPermissionManager( mMockLegacyPermissionManagerService); when(mMockContext.getSystemService(Context.LEGACY_PERMISSION_SERVICE)).thenReturn( legacyPermissionManager); // By default, assume we have no permissions or app-ops bits. doThrow(new SecurityException()).when(mMockContext) Loading Loading @@ -325,8 +325,8 @@ public class TelephonyPermissionsTest { // performed by a SystemAPI in PermissionManager; this test verifies when this API returns // the calling package meets the requirements for device identifier access the telephony // check also returns true. when(mMockPermissionManagerService.checkDeviceIdentifierAccess(PACKAGE, MSG, FEATURE, PID, UID)).thenReturn(PackageManager.PERMISSION_GRANTED); when(mMockLegacyPermissionManagerService.checkDeviceIdentifierAccess(PACKAGE, MSG, FEATURE, PID, UID)).thenReturn(PackageManager.PERMISSION_GRANTED); assertTrue( TelephonyPermissions.checkCallingOrSelfReadDeviceIdentifiers(mMockContext, SUB_ID, PACKAGE, FEATURE, MSG)); Loading Loading @@ -616,7 +616,7 @@ public class TelephonyPermissionsTest { android.Manifest.permission.READ_DEVICE_CONFIG)).thenReturn( PackageManager.PERMISSION_GRANTED); when(mMockPermissionManagerService.checkDeviceIdentifierAccess(any(), any(), any(), when(mMockLegacyPermissionManagerService.checkDeviceIdentifierAccess(any(), any(), any(), anyInt(), anyInt())).thenReturn(PackageManager.PERMISSION_DENIED); // TelephonyPermissions queries DeviceConfig to determine if the identifier access Loading
tests/telephonytests/src/com/android/internal/telephony/TelephonyTest.java +11 −7 Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ import android.os.MessageQueue; import android.os.RegistrantList; import android.os.ServiceManager; import android.os.UserManager; import android.permission.PermissionManager; import android.permission.LegacyPermissionManager; import android.provider.BlockedNumberContract; import android.provider.DeviceConfig; import android.provider.Settings; Loading Loading @@ -106,6 +106,7 @@ import com.android.internal.telephony.uicc.UiccController; import com.android.internal.telephony.uicc.UiccProfile; import com.android.internal.telephony.uicc.UiccSlot; import com.android.server.pm.PackageManagerService; import com.android.server.pm.permission.LegacyPermissionManagerService; import com.android.server.pm.permission.PermissionManagerService; import org.mockito.Mock; Loading Loading @@ -202,6 +203,8 @@ public abstract class TelephonyTest { @Mock protected PackageManagerService mMockPackageManager; @Mock protected LegacyPermissionManagerService mMockLegacyPermissionManager; @Mock protected PermissionManagerService mMockPermissionManager; protected NetworkRegistrationInfo mNetworkRegistrationInfo = Loading Loading @@ -622,6 +625,7 @@ public abstract class TelephonyTest { mSST.mRestrictedState = mRestrictedState; mServiceManagerMockedServices.put("connectivity_metrics_logger", mConnMetLoggerBinder); mServiceManagerMockedServices.put("package", mMockPackageManager); mServiceManagerMockedServices.put("legacy_permission", mMockLegacyPermissionManager); mServiceManagerMockedServices.put("permissionmgr", mMockPermissionManager); logd("mMockPermissionManager replaced"); doReturn(new int[]{AccessNetworkConstants.TRANSPORT_TYPE_WWAN, Loading Loading @@ -829,9 +833,10 @@ public abstract class TelephonyTest { // appop, and device / profile owner checks). This sets up the PermissionManager to return // that access requirements are met. setIdentifierAccess(true); PermissionManager permissionManager = new PermissionManager(mContext, null, mMockPermissionManager); doReturn(permissionManager).when(mContext).getSystemService(eq(Context.PERMISSION_SERVICE)); LegacyPermissionManager legacyPermissionManager = new LegacyPermissionManager(mMockLegacyPermissionManager); doReturn(legacyPermissionManager).when(mContext) .getSystemService(Context.LEGACY_PERMISSION_SERVICE); // Also make sure all appop checks fails, to not interfere tests. Tests should explicitly // mock AppOpManager to return allowed/default mode. Note by default a mock returns 0 which // is MODE_ALLOWED, hence this setup is necessary. Loading Loading @@ -866,9 +871,8 @@ public abstract class TelephonyTest { protected void setIdentifierAccess(boolean hasAccess) { doReturn(hasAccess ? PackageManager.PERMISSION_GRANTED : PackageManager.PERMISSION_DENIED).when( mMockPermissionManager).checkDeviceIdentifierAccess(any(), any(), any(), anyInt(), anyInt()); : PackageManager.PERMISSION_DENIED).when(mMockLegacyPermissionManager) .checkDeviceIdentifierAccess(any(), any(), any(), anyInt(), anyInt()); } protected void setCarrierPrivileges(boolean hasCarrierPrivileges) { Loading