CarrierServiceBindHelper: incorrect user unlocked event received in HSUM

This CL fixes the issue that CarrierServiceBindHelper always register to
receive ACTION_USER_UNLOCKED from system user by registering the
receiver for current user instead.

It keeps the same behavior for non-HSUM devices but let secondary users
(e.g. Main user) in HSUM receive the event for current user.

Bug: 345523452
Test: atest FrameworksTelephonyTests
Test: CarrierService regressoin test on both Phone andd Tablet
Flag: com.android.internal.telephony.flags.support_carrier_services_for_hsum
Change-Id: Ice803050271f720dee6bfb2177fe5197bf67c7ed
diff --git a/src/java/com/android/internal/telephony/CarrierServiceBindHelper.java b/src/java/com/android/internal/telephony/CarrierServiceBindHelper.java
index 960d794..55baecc 100644
--- a/src/java/com/android/internal/telephony/CarrierServiceBindHelper.java
+++ b/src/java/com/android/internal/telephony/CarrierServiceBindHelper.java
@@ -45,6 +45,7 @@
 import android.util.SparseArray;
 
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.telephony.flags.Flags;
 import com.android.internal.telephony.util.TelephonyUtils;
 
 import java.io.FileDescriptor;
@@ -171,7 +172,7 @@
                 context, mHandler.getLooper(), UserHandle.ALL);
         try {
             Context contextAsUser = mContext.createPackageContextAsUser(mContext.getPackageName(),
-                0, UserHandle.SYSTEM);
+                0, Flags.supportCarrierServicesForHsum() ? UserHandle.CURRENT : UserHandle.SYSTEM);
             contextAsUser.registerReceiver(mUserUnlockedReceiver,
                 new IntentFilter(Intent.ACTION_USER_UNLOCKED), null /* broadcastPermission */,
                 mHandler);