FinalizationActivity executed without work profile

Introduces better null handling for now to make it easier to debug. Does not fix the underlying issue.

Test: N/A
Bug: b/252983857
Change-Id: I2c093b84d8151a0a5db26ed698f3849949c94390
diff --git a/src/com/android/managedprovisioning/common/Utils.java b/src/com/android/managedprovisioning/common/Utils.java
index b579aa2..86e1ab0 100644
--- a/src/com/android/managedprovisioning/common/Utils.java
+++ b/src/com/android/managedprovisioning/common/Utils.java
@@ -26,6 +26,8 @@
 
 import static java.util.Objects.requireNonNull;
 
+import static java.util.Objects.requireNonNull;
+
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.StringRes;
@@ -357,9 +359,12 @@
      * <p>Note that we currently only support one managed profile per device.
      */
     // TODO: Add unit tests
+    @Nullable
     public UserHandle getManagedProfile(Context context) {
         DevicePolicyManager devicePolicyManager =
-                context.getSystemService(DevicePolicyManager.class);
+                requireNonNull(
+                        /* obj= */ context.getSystemService(DevicePolicyManager.class),
+                        /* message= */ "Unable to obtain DevicePolicyManager");
         int currentUserId = UserHandle.myUserId();
         List<UserHandle> managedProfiles =
                 devicePolicyManager.getPolicyManagedProfiles(UserHandle.of(currentUserId));
diff --git a/src/com/android/managedprovisioning/finalization/FinalizationController.java b/src/com/android/managedprovisioning/finalization/FinalizationController.java
index 7af64e8..1abfa84 100644
--- a/src/com/android/managedprovisioning/finalization/FinalizationController.java
+++ b/src/com/android/managedprovisioning/finalization/FinalizationController.java
@@ -21,6 +21,8 @@
 
 import static com.android.internal.util.Preconditions.checkNotNull;
 
+import static java.util.Objects.requireNonNull;
+
 import android.annotation.IntDef;
 import android.app.NotificationManager;
 import android.content.Context;
@@ -164,8 +166,11 @@
 
         mProvisioningFinalizedResult = PROVISIONING_FINALIZED_RESULT_NO_CHILD_ACTIVITY_LAUNCHED;
         if (params.provisioningAction.equals(ACTION_PROVISION_MANAGED_PROFILE)) {
-            UserManager userManager = mContext.getSystemService(UserManager.class);
-            if (!userManager.isUserUnlocked(mUtils.getManagedProfile(mContext))) {
+            var userManager = requireNonNull(
+                    /* obj= */ mContext.getSystemService(UserManager.class),
+                    /* message= */ "Unable to obtain UserManager");
+            var userHandle = mUtils.getManagedProfile(mContext);
+            if (!userManager.isUserUnlocked(userHandle)) {
                 mProvisioningFinalizedResult =
                         PROVISIONING_FINALIZED_RESULT_WAIT_FOR_WORK_PROFILE_AVAILABLE;
             } else {
@@ -183,7 +188,8 @@
     /**
      * @throws IllegalStateException if {@link #provisioningFinalized()} was not called before.
      */
-    @ProvisioningFinalizedResult int getProvisioningFinalizedResult() {
+    @ProvisioningFinalizedResult
+    int getProvisioningFinalizedResult() {
         if (mProvisioningFinalizedResult == 0) {
             throw new IllegalStateException("provisioningFinalized() has not been called.");
         }