Loading src/java/com/android/internal/telephony/SubscriptionController.java +6 −0 Original line number Diff line number Diff line Loading @@ -4821,9 +4821,15 @@ public class SubscriptionController extends ISub.Stub { * @throws IllegalArgumentException if subId is invalid. */ @Override @Nullable public UserHandle getSubscriptionUserHandle(int subId) { enforceManageSubscriptionUserAssociation("getSubscriptionUserHandle"); if (!mContext.getResources().getBoolean( com.android.internal.R.bool.config_enable_get_subscription_user_handle)) { return null; } long token = Binder.clearCallingIdentity(); try { String userHandleStr = getSubscriptionProperty(subId, SubscriptionManager.USER_HANDLE); Loading src/java/com/android/internal/telephony/subscription/SubscriptionManagerService.java +6 −0 Original line number Diff line number Diff line Loading @@ -2988,11 +2988,17 @@ public class SubscriptionManagerService extends ISub.Stub { * @throws IllegalArgumentException if {@code subId} is invalid. */ @Override @Nullable @RequiresPermission(Manifest.permission.MANAGE_SUBSCRIPTION_USER_ASSOCIATION) public UserHandle getSubscriptionUserHandle(int subId) { enforcePermissions("getSubscriptionUserHandle", Manifest.permission.MANAGE_SUBSCRIPTION_USER_ASSOCIATION); if (!mContext.getResources().getBoolean( com.android.internal.R.bool.config_enable_get_subscription_user_handle)) { return null; } long token = Binder.clearCallingIdentity(); try { SubscriptionInfoInternal subInfo = mSubscriptionDatabaseManager Loading tests/telephonytests/src/com/android/internal/telephony/SubscriptionControllerTest.java +16 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ import android.content.ContentResolver; import android.content.ContentValues; import android.content.Intent; import android.content.pm.PackageManager; import android.content.res.Resources; import android.os.Build; import android.os.Bundle; import android.os.Handler; Loading Loading @@ -2142,6 +2143,7 @@ public class SubscriptionControllerTest extends TelephonyTest { @Test public void setSubscriptionUserHandle_withoutPermission() { testInsertSim(); enableGetSubscriptionUserHandle(); /* Get SUB ID */ int[] subIds = mSubscriptionControllerUT.getActiveSubIdList(/*visibleOnly*/false); assertTrue(subIds != null && subIds.length != 0); Loading @@ -2156,6 +2158,7 @@ public class SubscriptionControllerTest extends TelephonyTest { @Test public void setGetSubscriptionUserHandle_userHandleNull() { testInsertSim(); enableGetSubscriptionUserHandle(); /* Get SUB ID */ int[] subIds = mSubscriptionControllerUT.getActiveSubIdList(/*visibleOnly*/false); assertTrue(subIds != null && subIds.length != 0); Loading @@ -2169,6 +2172,8 @@ public class SubscriptionControllerTest extends TelephonyTest { @Test public void setSubscriptionUserHandle_invalidSubId() { enableGetSubscriptionUserHandle(); assertThrows(IllegalArgumentException.class, () -> mSubscriptionControllerUT.setSubscriptionUserHandle( UserHandle.of(UserHandle.USER_SYSTEM), Loading @@ -2178,6 +2183,7 @@ public class SubscriptionControllerTest extends TelephonyTest { @Test public void setGetSubscriptionUserHandle_withValidUserHandleAndSubId() { testInsertSim(); enableGetSubscriptionUserHandle(); /* Get SUB ID */ int[] subIds = mSubscriptionControllerUT.getActiveSubIdList(/*visibleOnly*/false); assertTrue(subIds != null && subIds.length != 0); Loading @@ -2193,6 +2199,7 @@ public class SubscriptionControllerTest extends TelephonyTest { @Test public void getSubscriptionUserHandle_withoutPermission() { testInsertSim(); enableGetSubscriptionUserHandle(); /* Get SUB ID */ int[] subIds = mSubscriptionControllerUT.getActiveSubIdList(/*visibleOnly*/false); assertTrue(subIds != null && subIds.length != 0); Loading @@ -2205,8 +2212,17 @@ public class SubscriptionControllerTest extends TelephonyTest { @Test public void getSubscriptionUserHandle_invalidSubId() { enableGetSubscriptionUserHandle(); assertThrows(IllegalArgumentException.class, () -> mSubscriptionControllerUT.getSubscriptionUserHandle( SubscriptionManager.DEFAULT_SUBSCRIPTION_ID)); } private void enableGetSubscriptionUserHandle() { Resources mResources = mock(Resources.class); doReturn(true).when(mResources).getBoolean( eq(com.android.internal.R.bool.config_enable_get_subscription_user_handle)); doReturn(mResources).when(mContext).getResources(); } } No newline at end of file tests/telephonytests/src/com/android/internal/telephony/subscription/SubscriptionManagerServiceTest.java +6 −1 Original line number Diff line number Diff line Loading @@ -64,6 +64,7 @@ import android.app.PropertyInvalidatedCache; import android.compat.testing.PlatformCompatChangeRule; import android.content.Intent; import android.content.pm.PackageManager; import android.content.res.Resources; import android.os.Build; import android.os.Bundle; import android.os.Looper; Loading Loading @@ -916,8 +917,12 @@ public class SubscriptionManagerServiceTest extends TelephonyTest { @Test public void testSetGetSubscriptionUserHandle() { insertSubscription(FAKE_SUBSCRIPTION_INFO1); Resources mResources = Mockito.mock(Resources.class); doReturn(true).when(mResources).getBoolean( eq(com.android.internal.R.bool.config_enable_get_subscription_user_handle)); doReturn(mResources).when(mContext).getResources(); // Should fail without MODIFY_PHONE_STATE // Should fail without MANAGE_SUBSCRIPTION_USER_ASSOCIATION assertThrows(SecurityException.class, () -> mSubscriptionManagerServiceUT .setSubscriptionUserHandle(new UserHandle(12), 1)); Loading Loading
src/java/com/android/internal/telephony/SubscriptionController.java +6 −0 Original line number Diff line number Diff line Loading @@ -4821,9 +4821,15 @@ public class SubscriptionController extends ISub.Stub { * @throws IllegalArgumentException if subId is invalid. */ @Override @Nullable public UserHandle getSubscriptionUserHandle(int subId) { enforceManageSubscriptionUserAssociation("getSubscriptionUserHandle"); if (!mContext.getResources().getBoolean( com.android.internal.R.bool.config_enable_get_subscription_user_handle)) { return null; } long token = Binder.clearCallingIdentity(); try { String userHandleStr = getSubscriptionProperty(subId, SubscriptionManager.USER_HANDLE); Loading
src/java/com/android/internal/telephony/subscription/SubscriptionManagerService.java +6 −0 Original line number Diff line number Diff line Loading @@ -2988,11 +2988,17 @@ public class SubscriptionManagerService extends ISub.Stub { * @throws IllegalArgumentException if {@code subId} is invalid. */ @Override @Nullable @RequiresPermission(Manifest.permission.MANAGE_SUBSCRIPTION_USER_ASSOCIATION) public UserHandle getSubscriptionUserHandle(int subId) { enforcePermissions("getSubscriptionUserHandle", Manifest.permission.MANAGE_SUBSCRIPTION_USER_ASSOCIATION); if (!mContext.getResources().getBoolean( com.android.internal.R.bool.config_enable_get_subscription_user_handle)) { return null; } long token = Binder.clearCallingIdentity(); try { SubscriptionInfoInternal subInfo = mSubscriptionDatabaseManager Loading
tests/telephonytests/src/com/android/internal/telephony/SubscriptionControllerTest.java +16 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ import android.content.ContentResolver; import android.content.ContentValues; import android.content.Intent; import android.content.pm.PackageManager; import android.content.res.Resources; import android.os.Build; import android.os.Bundle; import android.os.Handler; Loading Loading @@ -2142,6 +2143,7 @@ public class SubscriptionControllerTest extends TelephonyTest { @Test public void setSubscriptionUserHandle_withoutPermission() { testInsertSim(); enableGetSubscriptionUserHandle(); /* Get SUB ID */ int[] subIds = mSubscriptionControllerUT.getActiveSubIdList(/*visibleOnly*/false); assertTrue(subIds != null && subIds.length != 0); Loading @@ -2156,6 +2158,7 @@ public class SubscriptionControllerTest extends TelephonyTest { @Test public void setGetSubscriptionUserHandle_userHandleNull() { testInsertSim(); enableGetSubscriptionUserHandle(); /* Get SUB ID */ int[] subIds = mSubscriptionControllerUT.getActiveSubIdList(/*visibleOnly*/false); assertTrue(subIds != null && subIds.length != 0); Loading @@ -2169,6 +2172,8 @@ public class SubscriptionControllerTest extends TelephonyTest { @Test public void setSubscriptionUserHandle_invalidSubId() { enableGetSubscriptionUserHandle(); assertThrows(IllegalArgumentException.class, () -> mSubscriptionControllerUT.setSubscriptionUserHandle( UserHandle.of(UserHandle.USER_SYSTEM), Loading @@ -2178,6 +2183,7 @@ public class SubscriptionControllerTest extends TelephonyTest { @Test public void setGetSubscriptionUserHandle_withValidUserHandleAndSubId() { testInsertSim(); enableGetSubscriptionUserHandle(); /* Get SUB ID */ int[] subIds = mSubscriptionControllerUT.getActiveSubIdList(/*visibleOnly*/false); assertTrue(subIds != null && subIds.length != 0); Loading @@ -2193,6 +2199,7 @@ public class SubscriptionControllerTest extends TelephonyTest { @Test public void getSubscriptionUserHandle_withoutPermission() { testInsertSim(); enableGetSubscriptionUserHandle(); /* Get SUB ID */ int[] subIds = mSubscriptionControllerUT.getActiveSubIdList(/*visibleOnly*/false); assertTrue(subIds != null && subIds.length != 0); Loading @@ -2205,8 +2212,17 @@ public class SubscriptionControllerTest extends TelephonyTest { @Test public void getSubscriptionUserHandle_invalidSubId() { enableGetSubscriptionUserHandle(); assertThrows(IllegalArgumentException.class, () -> mSubscriptionControllerUT.getSubscriptionUserHandle( SubscriptionManager.DEFAULT_SUBSCRIPTION_ID)); } private void enableGetSubscriptionUserHandle() { Resources mResources = mock(Resources.class); doReturn(true).when(mResources).getBoolean( eq(com.android.internal.R.bool.config_enable_get_subscription_user_handle)); doReturn(mResources).when(mContext).getResources(); } } No newline at end of file
tests/telephonytests/src/com/android/internal/telephony/subscription/SubscriptionManagerServiceTest.java +6 −1 Original line number Diff line number Diff line Loading @@ -64,6 +64,7 @@ import android.app.PropertyInvalidatedCache; import android.compat.testing.PlatformCompatChangeRule; import android.content.Intent; import android.content.pm.PackageManager; import android.content.res.Resources; import android.os.Build; import android.os.Bundle; import android.os.Looper; Loading Loading @@ -916,8 +917,12 @@ public class SubscriptionManagerServiceTest extends TelephonyTest { @Test public void testSetGetSubscriptionUserHandle() { insertSubscription(FAKE_SUBSCRIPTION_INFO1); Resources mResources = Mockito.mock(Resources.class); doReturn(true).when(mResources).getBoolean( eq(com.android.internal.R.bool.config_enable_get_subscription_user_handle)); doReturn(mResources).when(mContext).getResources(); // Should fail without MODIFY_PHONE_STATE // Should fail without MANAGE_SUBSCRIPTION_USER_ASSOCIATION assertThrows(SecurityException.class, () -> mSubscriptionManagerServiceUT .setSubscriptionUserHandle(new UserHandle(12), 1)); Loading