Loading flags/misc.aconfig +0 −11 Original line number Diff line number Diff line Loading @@ -218,17 +218,6 @@ flag { } } # OWNER=rambowang TARGET=24Q4 flag { name: "support_phone_uid_check_for_multiuser" namespace: "telephony" description: "Check phone/system processes from UID with multiuser-aware way" bug:"328511085" metadata { purpose: PURPOSE_BUGFIX } } # OWNER=joonhunshin TARGET=24Q4 flag { name: "use_carrier_config_for_cfnry_time_via_mmi" Loading src/java/com/android/internal/telephony/MockModem.java +2 −7 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ import android.content.ServiceConnection; import android.os.IBinder; import android.os.UserHandle; import com.android.internal.telephony.flags.Flags; import com.android.telephony.Rlog; /** This class provides wrapper APIs for binding interfaces to mock service. */ Loading Loading @@ -161,12 +160,8 @@ public class MockModem { intent.setAction(actionName + phoneId); intent.putExtra(PHONE_ID, phoneId); if (Flags.supportPhoneUidCheckForMultiuser()) { status = mContext.bindServiceAsUser(intent, serviceConnection, Context.BIND_AUTO_CREATE, UserHandle.of(ActivityManager.getCurrentUser())); } else { status = mContext.bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE); } return status; } Loading src/java/com/android/internal/telephony/SMSDispatcher.java +0 −19 Original line number Diff line number Diff line Loading @@ -52,7 +52,6 @@ import android.os.Handler; import android.os.Looper; import android.os.Message; import android.os.PersistableBundle; import android.os.Process; import android.os.SystemClock; import android.os.UserHandle; import android.provider.Settings; Loading Loading @@ -3039,24 +3038,6 @@ public abstract class SMSDispatcher extends Handler { return SubscriptionManager.getSubscriptionId(mPhone.getPhoneId()); } @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) private void checkCallerIsPhoneOrCarrierApp() { int uid = Binder.getCallingUid(); int appId = UserHandle.getAppId(uid); if (appId == Process.PHONE_UID || uid == 0) { return; } try { PackageManager pm = mContext.getPackageManager(); ApplicationInfo ai = pm.getApplicationInfo(getCarrierAppPackageName(), 0); if (UserHandle.getAppId(ai.uid) != UserHandle.getAppId(Binder.getCallingUid())) { throw new SecurityException("Caller is not phone or carrier app!"); } } catch (PackageManager.NameNotFoundException re) { throw new SecurityException("Caller is not phone or carrier app!"); } } protected boolean isCdmaMo() { return mSmsDispatchersController.isCdmaMo(); } Loading src/java/com/android/internal/telephony/subscription/SubscriptionManagerService.java +3 −10 Original line number Diff line number Diff line Loading @@ -4557,17 +4557,10 @@ public class SubscriptionManagerService extends ISub.Stub { */ @NonNull private String getCallingPackage() { if (Flags.supportPhoneUidCheckForMultiuser()) { if (UserHandle.isSameApp(Binder.getCallingUid(), Process.PHONE_UID)) { // Too many packages running with phone uid. Just return one here. return "com.android.phone"; } } else { if (Binder.getCallingUid() == Process.PHONE_UID) { // Too many packages running with phone uid. Just return one here. return "com.android.phone"; } } return Arrays.toString(mContext.getPackageManager().getPackagesForUid( Binder.getCallingUid())); } Loading tests/telephonytests/src/com/android/internal/telephony/TelephonyPermissionsTest.java +0 −7 Original line number Diff line number Diff line Loading @@ -41,7 +41,6 @@ import android.os.Process; import android.os.ServiceManager; import android.os.UserHandle; import android.permission.LegacyPermissionManager; import android.platform.test.flag.junit.SetFlagsRule; import android.provider.DeviceConfig; import android.provider.Settings; import android.telephony.SubscriptionManager; Loading @@ -52,13 +51,11 @@ import android.test.mock.MockContentResolver; import androidx.test.filters.SmallTest; import com.android.internal.telephony.flags.FeatureFlags; import com.android.internal.telephony.flags.Flags; import com.android.internal.util.test.FakeSettingsProvider; import com.android.server.pm.permission.LegacyPermissionManagerService; import org.junit.After; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import java.lang.reflect.Field; Loading @@ -75,9 +72,6 @@ public class TelephonyPermissionsTest { private static final String FEATURE = "com.example.feature"; private static final String MSG = "message"; @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(); // Mocked classes private Context mMockContext; private AppOpsManager mMockAppOps; Loading @@ -97,7 +91,6 @@ public class TelephonyPermissionsTest { @Before public void setUp() throws Exception { mSetFlagsRule.enableFlags(Flags.FLAG_SUPPORT_PHONE_UID_CHECK_FOR_MULTIUSER); mMockContext = mock(Context.class); mMockAppOps = mock(AppOpsManager.class); mMockSubscriptionManager = mock(SubscriptionManager.class); Loading Loading
flags/misc.aconfig +0 −11 Original line number Diff line number Diff line Loading @@ -218,17 +218,6 @@ flag { } } # OWNER=rambowang TARGET=24Q4 flag { name: "support_phone_uid_check_for_multiuser" namespace: "telephony" description: "Check phone/system processes from UID with multiuser-aware way" bug:"328511085" metadata { purpose: PURPOSE_BUGFIX } } # OWNER=joonhunshin TARGET=24Q4 flag { name: "use_carrier_config_for_cfnry_time_via_mmi" Loading
src/java/com/android/internal/telephony/MockModem.java +2 −7 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ import android.content.ServiceConnection; import android.os.IBinder; import android.os.UserHandle; import com.android.internal.telephony.flags.Flags; import com.android.telephony.Rlog; /** This class provides wrapper APIs for binding interfaces to mock service. */ Loading Loading @@ -161,12 +160,8 @@ public class MockModem { intent.setAction(actionName + phoneId); intent.putExtra(PHONE_ID, phoneId); if (Flags.supportPhoneUidCheckForMultiuser()) { status = mContext.bindServiceAsUser(intent, serviceConnection, Context.BIND_AUTO_CREATE, UserHandle.of(ActivityManager.getCurrentUser())); } else { status = mContext.bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE); } return status; } Loading
src/java/com/android/internal/telephony/SMSDispatcher.java +0 −19 Original line number Diff line number Diff line Loading @@ -52,7 +52,6 @@ import android.os.Handler; import android.os.Looper; import android.os.Message; import android.os.PersistableBundle; import android.os.Process; import android.os.SystemClock; import android.os.UserHandle; import android.provider.Settings; Loading Loading @@ -3039,24 +3038,6 @@ public abstract class SMSDispatcher extends Handler { return SubscriptionManager.getSubscriptionId(mPhone.getPhoneId()); } @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) private void checkCallerIsPhoneOrCarrierApp() { int uid = Binder.getCallingUid(); int appId = UserHandle.getAppId(uid); if (appId == Process.PHONE_UID || uid == 0) { return; } try { PackageManager pm = mContext.getPackageManager(); ApplicationInfo ai = pm.getApplicationInfo(getCarrierAppPackageName(), 0); if (UserHandle.getAppId(ai.uid) != UserHandle.getAppId(Binder.getCallingUid())) { throw new SecurityException("Caller is not phone or carrier app!"); } } catch (PackageManager.NameNotFoundException re) { throw new SecurityException("Caller is not phone or carrier app!"); } } protected boolean isCdmaMo() { return mSmsDispatchersController.isCdmaMo(); } Loading
src/java/com/android/internal/telephony/subscription/SubscriptionManagerService.java +3 −10 Original line number Diff line number Diff line Loading @@ -4557,17 +4557,10 @@ public class SubscriptionManagerService extends ISub.Stub { */ @NonNull private String getCallingPackage() { if (Flags.supportPhoneUidCheckForMultiuser()) { if (UserHandle.isSameApp(Binder.getCallingUid(), Process.PHONE_UID)) { // Too many packages running with phone uid. Just return one here. return "com.android.phone"; } } else { if (Binder.getCallingUid() == Process.PHONE_UID) { // Too many packages running with phone uid. Just return one here. return "com.android.phone"; } } return Arrays.toString(mContext.getPackageManager().getPackagesForUid( Binder.getCallingUid())); } Loading
tests/telephonytests/src/com/android/internal/telephony/TelephonyPermissionsTest.java +0 −7 Original line number Diff line number Diff line Loading @@ -41,7 +41,6 @@ import android.os.Process; import android.os.ServiceManager; import android.os.UserHandle; import android.permission.LegacyPermissionManager; import android.platform.test.flag.junit.SetFlagsRule; import android.provider.DeviceConfig; import android.provider.Settings; import android.telephony.SubscriptionManager; Loading @@ -52,13 +51,11 @@ import android.test.mock.MockContentResolver; import androidx.test.filters.SmallTest; import com.android.internal.telephony.flags.FeatureFlags; import com.android.internal.telephony.flags.Flags; import com.android.internal.util.test.FakeSettingsProvider; import com.android.server.pm.permission.LegacyPermissionManagerService; import org.junit.After; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import java.lang.reflect.Field; Loading @@ -75,9 +72,6 @@ public class TelephonyPermissionsTest { private static final String FEATURE = "com.example.feature"; private static final String MSG = "message"; @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(); // Mocked classes private Context mMockContext; private AppOpsManager mMockAppOps; Loading @@ -97,7 +91,6 @@ public class TelephonyPermissionsTest { @Before public void setUp() throws Exception { mSetFlagsRule.enableFlags(Flags.FLAG_SUPPORT_PHONE_UID_CHECK_FOR_MULTIUSER); mMockContext = mock(Context.class); mMockAppOps = mock(AppOpsManager.class); mMockSubscriptionManager = mock(SubscriptionManager.class); Loading