diff options
6 files changed, 62 insertions, 23 deletions
diff --git a/core/java/android/app/admin/flags/flags.aconfig b/core/java/android/app/admin/flags/flags.aconfig index 5a41c65535e6..bbd07b8c21ea 100644 --- a/core/java/android/app/admin/flags/flags.aconfig +++ b/core/java/android/app/admin/flags/flags.aconfig @@ -41,3 +41,10 @@ flag { description: "Improve access to security logging in the context of Zero Trust." bug: "295324350" } + +flag { + name: "dumpsys_policy_engine_migration_enabled" + namespace: "enterprise" + description: "Update DumpSys to include information about migrated APIs in DPE" + bug: "304999634" +} diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/ActiveAdmin.java b/services/devicepolicy/java/com/android/server/devicepolicy/ActiveAdmin.java index c42a4573d2e3..17638fcaba68 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/ActiveAdmin.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/ActiveAdmin.java @@ -21,6 +21,8 @@ import static android.app.admin.DevicePolicyManager.PASSWORD_COMPLEXITY_NONE; import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED; import static android.app.admin.WifiSsidPolicy.WIFI_SSID_POLICY_TYPE_ALLOWLIST; import static android.app.admin.WifiSsidPolicy.WIFI_SSID_POLICY_TYPE_DENYLIST; +import static android.app.admin.flags.Flags.dumpsysPolicyEngineMigrationEnabled; +import static android.app.admin.flags.Flags.policyEngineMigrationV2Enabled; import static android.net.NetworkCapabilities.NET_ENTERPRISE_ID_1; import static com.android.server.devicepolicy.DevicePolicyManagerService.LOG_TAG; @@ -1295,8 +1297,29 @@ class ActiveAdmin { pw.print("encryptionRequested="); pw.println(encryptionRequested); - pw.print("disableCamera="); - pw.println(disableCamera); + if (!dumpsysPolicyEngineMigrationEnabled()) { + pw.print("disableCamera="); + pw.println(disableCamera); + + pw.print("disableScreenCapture="); + pw.println(disableScreenCapture); + + pw.print("requireAutoTime="); + pw.println(requireAutoTime); + + if (permittedInputMethods != null) { + pw.print("permittedInputMethods="); + pw.println(permittedInputMethods); + } + + pw.println("userRestrictions:"); + UserRestrictionsUtils.dumpRestrictions(pw, " ", userRestrictions); + } + + if (!policyEngineMigrationV2Enabled() || !dumpsysPolicyEngineMigrationEnabled()) { + pw.print("mUsbDataSignaling="); + pw.println(mUsbDataSignalingEnabled); + } pw.print("disableCallerId="); pw.println(disableCallerId); @@ -1307,12 +1330,6 @@ class ActiveAdmin { pw.print("disableBluetoothContactSharing="); pw.println(disableBluetoothContactSharing); - pw.print("disableScreenCapture="); - pw.println(disableScreenCapture); - - pw.print("requireAutoTime="); - pw.println(requireAutoTime); - pw.print("forceEphemeralUsers="); pw.println(forceEphemeralUsers); @@ -1330,11 +1347,6 @@ class ActiveAdmin { pw.println(permittedAccessiblityServices); } - if (permittedInputMethods != null) { - pw.print("permittedInputMethods="); - pw.println(permittedInputMethods); - } - if (permittedNotificationListeners != null) { pw.print("permittedNotificationListeners="); pw.println(permittedNotificationListeners); @@ -1368,9 +1380,6 @@ class ActiveAdmin { pw.println(organizationName); } - pw.println("userRestrictions:"); - UserRestrictionsUtils.dumpRestrictions(pw, " ", userRestrictions); - pw.print("defaultEnabledRestrictionsAlreadySet="); pw.println(defaultEnabledRestrictionsAlreadySet); @@ -1442,9 +1451,6 @@ class ActiveAdmin { pw.print("mAdminCanGrantSensorsPermissions="); pw.println(mAdminCanGrantSensorsPermissions); - pw.print("mUsbDataSignaling="); - pw.println(mUsbDataSignalingEnabled); - pw.print("mWifiMinimumSecurityLevel="); pw.println(mWifiMinimumSecurityLevel); diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java index 323d387eff1a..e0232b1e1fc5 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java @@ -59,6 +59,7 @@ import android.os.UserHandle; import android.os.UserManager; import android.telephony.TelephonyManager; import android.util.AtomicFile; +import android.util.IndentingPrintWriter; import android.util.Log; import android.util.SparseArray; import android.util.Xml; @@ -1578,6 +1579,25 @@ final class DevicePolicyEngine { } } + public void dump(IndentingPrintWriter pw) { + synchronized (mLock) { + pw.println("Local Policies: "); + for (int i = 0; i < mLocalPolicies.size(); i++) { + for (PolicyKey policy : mLocalPolicies.get(mLocalPolicies.keyAt(i)).keySet()) { + PolicyState<?> policyState = mLocalPolicies.get( + mLocalPolicies.keyAt(i)).get(policy); + pw.println(policyState); + } + } + pw.println(); + pw.println("Global Policies: "); + for (PolicyKey policy : mGlobalPolicies.keySet()) { + PolicyState<?> policyState = mGlobalPolicies.get(policy); + pw.println(policyState); + } + } + } + private void write() { synchronized (mLock) { Log.d(TAG, "Writing device policies to file."); diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index 5f2d87cf7e80..1ff117e2c60b 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -219,6 +219,7 @@ import static android.app.admin.ProvisioningException.ERROR_REMOVE_NON_REQUIRED_ import static android.app.admin.ProvisioningException.ERROR_SETTING_PROFILE_OWNER_FAILED; import static android.app.admin.ProvisioningException.ERROR_SET_DEVICE_OWNER_FAILED; import static android.app.admin.ProvisioningException.ERROR_STARTING_PROFILE_FAILED; +import static android.app.admin.flags.Flags.dumpsysPolicyEngineMigrationEnabled; import static android.app.admin.flags.Flags.policyEngineMigrationV2Enabled; import static android.content.Intent.ACTION_MANAGED_PROFILE_AVAILABLE; import static android.content.Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE; @@ -11022,6 +11023,10 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { pw.println(); mStatLogger.dump(pw); pw.println(); + if (dumpsysPolicyEngineMigrationEnabled()) { + mDevicePolicyEngine.dump(pw); + pw.println(); + } pw.println("Encryption Status: " + getEncryptionStatusName(getEncryptionStatus())); pw.println("Logout user: " + getLogoutUserIdUnchecked()); pw.println(); diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/EnforcingAdmin.java b/services/devicepolicy/java/com/android/server/devicepolicy/EnforcingAdmin.java index 006642235615..49ffb0d01019 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/EnforcingAdmin.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/EnforcingAdmin.java @@ -327,6 +327,6 @@ final class EnforcingAdmin { public String toString() { return "EnforcingAdmin { mPackageName= " + mPackageName + ", mComponentName= " + mComponentName + ", mAuthorities= " + mAuthorities + ", mUserId= " - + mUserId + ", mIsRoleAuthority= " + mIsRoleAuthority + " }"; + + mUserId + ", mIsRoleAuthority= " + mIsRoleAuthority + " }\n"; } } diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/PolicyState.java b/services/devicepolicy/java/com/android/server/devicepolicy/PolicyState.java index 22464d5c5241..c2e370eeec44 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/PolicyState.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/PolicyState.java @@ -189,9 +189,10 @@ final class PolicyState<V> { @Override public String toString() { - return "PolicyState { mPolicyDefinition= " + mPolicyDefinition + ", mPoliciesSetByAdmins= " - + mPoliciesSetByAdmins + ", mCurrentResolvedPolicy= " + mCurrentResolvedPolicy - + " }"; + return "\nPolicyKey - " + mPolicyDefinition.getPolicyKey() + + "\nmPolicyDefinition= \n\t" + mPolicyDefinition + + "\nmPoliciesSetByAdmins= \n\t" + mPoliciesSetByAdmins + + ",\nmCurrentResolvedPolicy= \n\t" + mCurrentResolvedPolicy + " }"; } void saveToXml(TypedXmlSerializer serializer) throws IOException { |