Check if the supervision service is null before calling it in SupervisionManager.

Test: n/a
Bug: 394066725
Flag: android.app.supervision.flags.deprecate_dpm_supervision_apis
Change-Id: If8ec00ae2836f8ff1c8f8dc0b31e30ac45c57278
diff --git a/core/java/android/app/supervision/SupervisionManager.java b/core/java/android/app/supervision/SupervisionManager.java
index a4efd77..d307055 100644
--- a/core/java/android/app/supervision/SupervisionManager.java
+++ b/core/java/android/app/supervision/SupervisionManager.java
@@ -33,7 +33,7 @@
 @SystemService(Context.SUPERVISION_SERVICE)
 public class SupervisionManager {
     private final Context mContext;
-    private final ISupervisionManager mService;
+    @Nullable private final ISupervisionManager mService;
 
     /**
      * Activity action: ask the human user to enable supervision for this user. Only the app that
@@ -66,7 +66,7 @@
 
     /** @hide */
     @UnsupportedAppUsage
-    public SupervisionManager(Context context, ISupervisionManager service) {
+    public SupervisionManager(Context context, @Nullable ISupervisionManager service) {
         mContext = context;
         mService = service;
     }
@@ -93,11 +93,14 @@
             value = android.Manifest.permission.INTERACT_ACROSS_USERS,
             conditional = true)
     public boolean isSupervisionEnabledForUser(@UserIdInt int userId) {
-        try {
-            return mService.isSupervisionEnabledForUser(userId);
-        } catch (RemoteException e) {
-            throw e.rethrowFromSystemServer();
+        if (mService != null) {
+            try {
+                return mService.isSupervisionEnabledForUser(userId);
+            } catch (RemoteException e) {
+                throw e.rethrowFromSystemServer();
+            }
         }
+        return false;
     }
 
     /**
@@ -122,10 +125,12 @@
             value = android.Manifest.permission.INTERACT_ACROSS_USERS,
             conditional = true)
     public void setSupervisionEnabledForUser(@UserIdInt int userId, boolean enabled) {
-        try {
-            mService.setSupervisionEnabledForUser(userId, enabled);
-        } catch (RemoteException e) {
-            throw e.rethrowFromSystemServer();
+        if (mService != null) {
+            try {
+                mService.setSupervisionEnabledForUser(userId, enabled);
+            } catch (RemoteException e) {
+                throw e.rethrowFromSystemServer();
+            }
         }
     }
 
@@ -138,10 +143,13 @@
     @UserHandleAware
     @Nullable
     public String getActiveSupervisionAppPackage() {
-        try {
-            return mService.getActiveSupervisionAppPackage(mContext.getUserId());
-        } catch (RemoteException e) {
-            throw e.rethrowFromSystemServer();
+        if (mService != null) {
+            try {
+                return mService.getActiveSupervisionAppPackage(mContext.getUserId());
+            } catch (RemoteException e) {
+                throw e.rethrowFromSystemServer();
+            }
         }
+        return null;
     }
 }