summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/service/carrier/CarrierMessagingServiceWrapper.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/core/java/android/service/carrier/CarrierMessagingServiceWrapper.java b/core/java/android/service/carrier/CarrierMessagingServiceWrapper.java
index de2c6f778fcd..afff8fec3872 100644
--- a/core/java/android/service/carrier/CarrierMessagingServiceWrapper.java
+++ b/core/java/android/service/carrier/CarrierMessagingServiceWrapper.java
@@ -20,6 +20,7 @@ import android.annotation.CallbackExecutor;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
+import android.app.ActivityManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
@@ -28,8 +29,10 @@ import android.net.Uri;
import android.os.Binder;
import android.os.IBinder;
import android.os.RemoteException;
+import android.os.UserHandle;
import android.telephony.SmsMessage;
+import com.android.internal.telephony.flags.Flags;
import com.android.internal.util.Preconditions;
import java.util.List;
@@ -91,8 +94,12 @@ public final class CarrierMessagingServiceWrapper implements AutoCloseable {
mOnServiceReadyCallback = onServiceReadyCallback;
mServiceReadyCallbackExecutor = executor;
mContext = context;
- return context.bindService(intent, mCarrierMessagingServiceConnection,
- Context.BIND_AUTO_CREATE);
+ return Flags.supportCarrierServicesForHsum()
+ ? context.bindServiceAsUser(intent, mCarrierMessagingServiceConnection,
+ Context.BIND_AUTO_CREATE,
+ UserHandle.of(ActivityManager.getCurrentUser()))
+ : context.bindService(intent, mCarrierMessagingServiceConnection,
+ Context.BIND_AUTO_CREATE);
}
/**