Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f530acf6 authored by Felipe Leme's avatar Felipe Leme Committed by Automerger Merge Worker
Browse files

Merge "2 minor DevicePolicyManagerService improvements." into sc-dev am: d7cda89c

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13712126

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I1338f60016adf6ebd621febb7430b96051aa22a8
parents 66afa501 d7cda89c
Loading
Loading
Loading
Loading
+32 −1
Original line number Diff line number Diff line
@@ -756,21 +756,25 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
        @Override
        public void onUserStarting(@NonNull TargetUser user) {
            if (user.isPreCreated()) return;
            mService.handleStartUser(user.getUserIdentifier());
        }
        @Override
        public void onUserUnlocking(@NonNull TargetUser user) {
            if (user.isPreCreated()) return;
            mService.handleUnlockUser(user.getUserIdentifier());
        }
        @Override
        public void onUserStopping(@NonNull TargetUser user) {
            if (user.isPreCreated()) return;
            mService.handleStopUser(user.getUserIdentifier());
        }
        @Override
        public void onUserUnlocked(@NonNull TargetUser user) {
            if (user.isPreCreated()) return;
            mService.handleOnUserUnlocked(user.getUserIdentifier());
        }
    }
@@ -9188,7 +9192,6 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
                pw.println();
                mStatLogger.dump(pw);
                pw.println();
                pw.println("Encryption Status: " + getEncryptionStatusName(getEncryptionStatus()));
                pw.println();
@@ -9204,7 +9207,9 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
                mPolicyCache.dump(pw);
                pw.println();
                mStateCache.dump(pw);
                pw.println();
            }
            dumpResources(pw);
        }
    }
@@ -9219,6 +9224,32 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
        pw.decreaseIndent();
    }
    private void dumpResources(IndentingPrintWriter pw) {
        mOverlayPackagesProvider.dump(pw);
        pw.println();
        pw.println("Other overlayable app resources");
        pw.increaseIndent();
        dumpResources(pw, mContext, "cross_profile_apps", R.array.cross_profile_apps);
        dumpResources(pw, mContext, "vendor_cross_profile_apps", R.array.vendor_cross_profile_apps);
        pw.decreaseIndent();
        pw.println();
    }
    static void dumpResources(IndentingPrintWriter pw, Context context, String resName, int resId) {
        String[] apps = context.getResources().getStringArray(resId);
        if (apps == null || apps.length == 0) {
            pw.printf("%s: empty\n", resName);
            return;
        }
        pw.printf("%s: %d app%s\n", resName, apps.length, apps.length == 1 ? "" : "s");
        pw.increaseIndent();
        for (int i = 0; i < apps.length; i++) {
            pw.printf("%d: %s\n", i, apps[i]);
        }
        pw.decreaseIndent();
    }
    @Override
    public void onShellCommand(FileDescriptor in, FileDescriptor out, FileDescriptor err,
            String[] args, ShellCallback callback, ResultReceiver resultReceiver) {
+37 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PRO
import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_USER;

import static com.android.internal.util.Preconditions.checkNotNull;
import static com.android.server.devicepolicy.DevicePolicyManagerService.dumpResources;

import android.annotation.NonNull;
import android.annotation.UserIdInt;
@@ -32,6 +33,7 @@ import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.util.ArraySet;
import android.util.IndentingPrintWriter;
import android.view.inputmethod.InputMethodInfo;

import com.android.internal.R;
@@ -224,4 +226,39 @@ public class OverlayPackagesProvider {
        }
        return new ArraySet<>(Arrays.asList(mContext.getResources().getStringArray(resId)));
    }

    void dump(IndentingPrintWriter pw) {
        pw.println("OverlayPackagesProvider");
        pw.increaseIndent();

        dumpResources(pw, mContext, "required_apps_managed_device",
                R.array.required_apps_managed_device);
        dumpResources(pw, mContext, "required_apps_managed_user",
                R.array.required_apps_managed_user);
        dumpResources(pw, mContext, "required_apps_managed_profile",
                R.array.required_apps_managed_profile);

        dumpResources(pw, mContext, "disallowed_apps_managed_device",
                R.array.disallowed_apps_managed_device);
        dumpResources(pw, mContext, "disallowed_apps_managed_user",
                R.array.disallowed_apps_managed_user);
        dumpResources(pw, mContext, "disallowed_apps_managed_device",
                R.array.disallowed_apps_managed_device);

        dumpResources(pw, mContext, "vendor_required_apps_managed_device",
                R.array.vendor_required_apps_managed_device);
        dumpResources(pw, mContext, "vendor_required_apps_managed_user",
                R.array.vendor_required_apps_managed_user);
        dumpResources(pw, mContext, "vendor_required_apps_managed_profile",
                R.array.vendor_required_apps_managed_profile);

        dumpResources(pw, mContext, "vendor_disallowed_apps_managed_user",
                R.array.vendor_disallowed_apps_managed_user);
        dumpResources(pw, mContext, "vendor_disallowed_apps_managed_device",
                R.array.vendor_disallowed_apps_managed_device);
        dumpResources(pw, mContext, "vendor_disallowed_apps_managed_profile",
                R.array.vendor_disallowed_apps_managed_profile);

        pw.decreaseIndent();
    }
}