Loading src/java/com/android/internal/telephony/InboundSmsHandler.java +8 −8 Original line number Diff line number Diff line Loading @@ -25,7 +25,6 @@ import static android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_SK import static android.telephony.TelephonyManager.PHONE_TYPE_CDMA; import android.app.Activity; import android.app.ActivityManager; import android.app.AppOpsManager; import android.app.BroadcastOptions; import android.app.Notification; Loading @@ -50,13 +49,11 @@ import android.os.Bundle; import android.os.Message; import android.os.PowerManager; import android.os.PowerWhitelistManager; import android.os.RemoteException; import android.os.UserHandle; import android.os.UserManager; import android.provider.Telephony; import android.provider.Telephony.Sms.Intents; import android.service.carrier.CarrierMessagingService; import com.android.telephony.Rlog; import android.telephony.SmsMessage; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; Loading @@ -73,6 +70,7 @@ import com.android.internal.telephony.util.TelephonyUtils; import com.android.internal.util.HexDump; import com.android.internal.util.State; import com.android.internal.util.StateMachine; import com.android.telephony.Rlog; import java.io.ByteArrayOutputStream; import java.io.FileDescriptor; Loading Loading @@ -1164,12 +1162,14 @@ public abstract class InboundSmsHandler extends StateMachine { if (user.equals(UserHandle.ALL)) { // Get a list of currently started users. int[] users = null; try { users = ActivityManager.getService().getRunningUserIds(); } catch (RemoteException re) { } if (users == null) { final List<UserHandle> userHandles = mUserManager.getUserHandles(false); if (userHandles.isEmpty()) { users = new int[] {user.getIdentifier()}; } else { users = new int[userHandles.size()]; for (int i = 0; i < userHandles.size(); i++) { users[i] = userHandles.get(i).getIdentifier(); } } // Deliver the broadcast only to those running users that are permitted // by user policy. Loading tests/telephonytests/src/com/android/internal/telephony/gsm/GsmInboundSmsHandlerTest.java +5 −6 Original line number Diff line number Diff line Loading @@ -42,7 +42,6 @@ import android.database.Cursor; import android.net.Uri; import android.os.AsyncResult; import android.os.Bundle; import android.os.RemoteException; import android.os.UserHandle; import android.os.UserManager; import android.provider.Telephony; Loading Loading @@ -76,6 +75,8 @@ import org.mockito.ArgumentCaptor; import org.mockito.Mock; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; @RunWith(AndroidTestingRunner.class) @TestableLooper.RunWithLooper Loading Loading @@ -198,11 +199,9 @@ public class GsmInboundSmsHandlerTest extends TelephonyTest { UserManager userManager = (UserManager)mContext.getSystemService(Context.USER_SERVICE); doReturn(true).when(userManager).isUserUnlocked(); try { doReturn(new int[]{UserHandle.USER_SYSTEM}).when(mIActivityManager).getRunningUserIds(); } catch (RemoteException re) { fail("Unexpected RemoteException: " + re.getStackTrace()); } List<UserHandle> userHandles = new ArrayList(); userHandles.add(UserHandle.SYSTEM); doReturn(userHandles).when(userManager).getUserHandles(anyBoolean()); mSmsMessage.mWrappedSmsMessage = mGsmSmsMessage; Loading Loading
src/java/com/android/internal/telephony/InboundSmsHandler.java +8 −8 Original line number Diff line number Diff line Loading @@ -25,7 +25,6 @@ import static android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_SK import static android.telephony.TelephonyManager.PHONE_TYPE_CDMA; import android.app.Activity; import android.app.ActivityManager; import android.app.AppOpsManager; import android.app.BroadcastOptions; import android.app.Notification; Loading @@ -50,13 +49,11 @@ import android.os.Bundle; import android.os.Message; import android.os.PowerManager; import android.os.PowerWhitelistManager; import android.os.RemoteException; import android.os.UserHandle; import android.os.UserManager; import android.provider.Telephony; import android.provider.Telephony.Sms.Intents; import android.service.carrier.CarrierMessagingService; import com.android.telephony.Rlog; import android.telephony.SmsMessage; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; Loading @@ -73,6 +70,7 @@ import com.android.internal.telephony.util.TelephonyUtils; import com.android.internal.util.HexDump; import com.android.internal.util.State; import com.android.internal.util.StateMachine; import com.android.telephony.Rlog; import java.io.ByteArrayOutputStream; import java.io.FileDescriptor; Loading Loading @@ -1164,12 +1162,14 @@ public abstract class InboundSmsHandler extends StateMachine { if (user.equals(UserHandle.ALL)) { // Get a list of currently started users. int[] users = null; try { users = ActivityManager.getService().getRunningUserIds(); } catch (RemoteException re) { } if (users == null) { final List<UserHandle> userHandles = mUserManager.getUserHandles(false); if (userHandles.isEmpty()) { users = new int[] {user.getIdentifier()}; } else { users = new int[userHandles.size()]; for (int i = 0; i < userHandles.size(); i++) { users[i] = userHandles.get(i).getIdentifier(); } } // Deliver the broadcast only to those running users that are permitted // by user policy. Loading
tests/telephonytests/src/com/android/internal/telephony/gsm/GsmInboundSmsHandlerTest.java +5 −6 Original line number Diff line number Diff line Loading @@ -42,7 +42,6 @@ import android.database.Cursor; import android.net.Uri; import android.os.AsyncResult; import android.os.Bundle; import android.os.RemoteException; import android.os.UserHandle; import android.os.UserManager; import android.provider.Telephony; Loading Loading @@ -76,6 +75,8 @@ import org.mockito.ArgumentCaptor; import org.mockito.Mock; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; @RunWith(AndroidTestingRunner.class) @TestableLooper.RunWithLooper Loading Loading @@ -198,11 +199,9 @@ public class GsmInboundSmsHandlerTest extends TelephonyTest { UserManager userManager = (UserManager)mContext.getSystemService(Context.USER_SERVICE); doReturn(true).when(userManager).isUserUnlocked(); try { doReturn(new int[]{UserHandle.USER_SYSTEM}).when(mIActivityManager).getRunningUserIds(); } catch (RemoteException re) { fail("Unexpected RemoteException: " + re.getStackTrace()); } List<UserHandle> userHandles = new ArrayList(); userHandles.add(UserHandle.SYSTEM); doReturn(userHandles).when(userManager).getUserHandles(anyBoolean()); mSmsMessage.mWrappedSmsMessage = mGsmSmsMessage; Loading