Loading build/patches/Disable-Android-AppRestrictions.patch +43 −4 Original line number Diff line number Diff line Loading @@ -4,18 +4,53 @@ Subject: Disable Android AppRestrictions License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- chrome/browser/enterprise/util/BUILD.gn | 1 + .../enterprise/util/EnterpriseInfoImpl.java | 5 +++ chrome/browser/flags/BUILD.gn | 1 + .../cromite/sEnableAndroidAppRestriction.java | 39 +++++++++++++++++++ .../policy/AppRestrictionsProvider.java | 8 ++++ .../policy/AppRestrictionsProvider.java | 12 ++++++ .../DisableAndroidAppRestriction.inc | 13 +++++++ .../disable-android-app-restriction.inc | 3 ++ .../disable-android-app-restriction.inc | 1 + 6 files changed, 65 insertions(+) 8 files changed, 75 insertions(+) create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sEnableAndroidAppRestriction.java create mode 100644 cromite_flags/chrome/browser/about_flags_cc/DisableAndroidAppRestriction.inc create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/disable-android-app-restriction.inc create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/disable-android-app-restriction.inc diff --git a/chrome/browser/enterprise/util/BUILD.gn b/chrome/browser/enterprise/util/BUILD.gn --- a/chrome/browser/enterprise/util/BUILD.gn +++ b/chrome/browser/enterprise/util/BUILD.gn @@ -20,6 +20,7 @@ android_library("java") { "//build/android:build_java", "//chrome/browser/flags:java", "//chrome/browser/profiles/android:java", + "//components/policy/android:policy_java", "//third_party/androidx:androidx_annotation_annotation_java", "//third_party/jni_zero:jni_zero_java", ] diff --git a/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java b/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java --- a/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java +++ b/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java @@ -23,6 +23,7 @@ import org.chromium.base.metrics.RecordHistogram; import org.chromium.base.task.AsyncTask; import org.chromium.base.task.TaskTraits; import org.chromium.chrome.browser.flags.ChromeSwitches; +import org.chromium.components.policy.AppRestrictionsProvider; import java.util.LinkedList; import java.util.Queue; @@ -76,6 +77,10 @@ public class EnterpriseInfoImpl extends EnterpriseInfo { new AsyncTask<OwnedState>() { // TODO: Unit test this function. https://crbug.com/1099262 private OwnedState calculateIsRunningOnManagedProfile(Context context) { + if (!AppRestrictionsProvider.isEnabled()) { + return new OwnedState(/*hasDeviceOwnerApp*/false, + /*hasProfileOwnerApp*/false); + } boolean hasProfileOwnerApp = false; boolean hasDeviceOwnerApp = false; PackageManager packageManager = context.getPackageManager(); diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn --- a/chrome/browser/flags/BUILD.gn +++ b/chrome/browser/flags/BUILD.gn Loading Loading @@ -74,7 +109,7 @@ new file mode 100644 diff --git a/components/policy/android/java/src/org/chromium/components/policy/AppRestrictionsProvider.java b/components/policy/android/java/src/org/chromium/components/policy/AppRestrictionsProvider.java --- a/components/policy/android/java/src/org/chromium/components/policy/AppRestrictionsProvider.java +++ b/components/policy/android/java/src/org/chromium/components/policy/AppRestrictionsProvider.java @@ -17,6 +17,11 @@ import org.chromium.base.Log; @@ -17,6 +17,15 @@ import org.chromium.base.Log; */ public class AppRestrictionsProvider extends AbstractAppRestrictionsProvider { private static final String TAG = "AppResProvider"; Loading @@ -82,11 +117,15 @@ diff --git a/components/policy/android/java/src/org/chromium/components/policy/A + + public static void setEnabled(boolean value) { + mEnabled = value; + } + + public static boolean isEnabled() { + return mEnabled; + } /** * Get the app restriction information from provided user manager, and record some timing @@ -28,6 +33,9 @@ public class AppRestrictionsProvider extends AbstractAppRestrictionsProvider { @@ -28,6 +37,9 @@ public class AppRestrictionsProvider extends AbstractAppRestrictionsProvider { */ public static Bundle getApplicationRestrictionsFromUserManager( UserManager userManager, String packageName) { Loading Loading
build/patches/Disable-Android-AppRestrictions.patch +43 −4 Original line number Diff line number Diff line Loading @@ -4,18 +4,53 @@ Subject: Disable Android AppRestrictions License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- chrome/browser/enterprise/util/BUILD.gn | 1 + .../enterprise/util/EnterpriseInfoImpl.java | 5 +++ chrome/browser/flags/BUILD.gn | 1 + .../cromite/sEnableAndroidAppRestriction.java | 39 +++++++++++++++++++ .../policy/AppRestrictionsProvider.java | 8 ++++ .../policy/AppRestrictionsProvider.java | 12 ++++++ .../DisableAndroidAppRestriction.inc | 13 +++++++ .../disable-android-app-restriction.inc | 3 ++ .../disable-android-app-restriction.inc | 1 + 6 files changed, 65 insertions(+) 8 files changed, 75 insertions(+) create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sEnableAndroidAppRestriction.java create mode 100644 cromite_flags/chrome/browser/about_flags_cc/DisableAndroidAppRestriction.inc create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/disable-android-app-restriction.inc create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/disable-android-app-restriction.inc diff --git a/chrome/browser/enterprise/util/BUILD.gn b/chrome/browser/enterprise/util/BUILD.gn --- a/chrome/browser/enterprise/util/BUILD.gn +++ b/chrome/browser/enterprise/util/BUILD.gn @@ -20,6 +20,7 @@ android_library("java") { "//build/android:build_java", "//chrome/browser/flags:java", "//chrome/browser/profiles/android:java", + "//components/policy/android:policy_java", "//third_party/androidx:androidx_annotation_annotation_java", "//third_party/jni_zero:jni_zero_java", ] diff --git a/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java b/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java --- a/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java +++ b/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java @@ -23,6 +23,7 @@ import org.chromium.base.metrics.RecordHistogram; import org.chromium.base.task.AsyncTask; import org.chromium.base.task.TaskTraits; import org.chromium.chrome.browser.flags.ChromeSwitches; +import org.chromium.components.policy.AppRestrictionsProvider; import java.util.LinkedList; import java.util.Queue; @@ -76,6 +77,10 @@ public class EnterpriseInfoImpl extends EnterpriseInfo { new AsyncTask<OwnedState>() { // TODO: Unit test this function. https://crbug.com/1099262 private OwnedState calculateIsRunningOnManagedProfile(Context context) { + if (!AppRestrictionsProvider.isEnabled()) { + return new OwnedState(/*hasDeviceOwnerApp*/false, + /*hasProfileOwnerApp*/false); + } boolean hasProfileOwnerApp = false; boolean hasDeviceOwnerApp = false; PackageManager packageManager = context.getPackageManager(); diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn --- a/chrome/browser/flags/BUILD.gn +++ b/chrome/browser/flags/BUILD.gn Loading Loading @@ -74,7 +109,7 @@ new file mode 100644 diff --git a/components/policy/android/java/src/org/chromium/components/policy/AppRestrictionsProvider.java b/components/policy/android/java/src/org/chromium/components/policy/AppRestrictionsProvider.java --- a/components/policy/android/java/src/org/chromium/components/policy/AppRestrictionsProvider.java +++ b/components/policy/android/java/src/org/chromium/components/policy/AppRestrictionsProvider.java @@ -17,6 +17,11 @@ import org.chromium.base.Log; @@ -17,6 +17,15 @@ import org.chromium.base.Log; */ public class AppRestrictionsProvider extends AbstractAppRestrictionsProvider { private static final String TAG = "AppResProvider"; Loading @@ -82,11 +117,15 @@ diff --git a/components/policy/android/java/src/org/chromium/components/policy/A + + public static void setEnabled(boolean value) { + mEnabled = value; + } + + public static boolean isEnabled() { + return mEnabled; + } /** * Get the app restriction information from provided user manager, and record some timing @@ -28,6 +33,9 @@ public class AppRestrictionsProvider extends AbstractAppRestrictionsProvider { @@ -28,6 +37,9 @@ public class AppRestrictionsProvider extends AbstractAppRestrictionsProvider { */ public static Bundle getApplicationRestrictionsFromUserManager( UserManager userManager, String packageName) { Loading