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

Unverified Commit f0c8b7b9 authored by Carmelo Messina's avatar Carmelo Messina
Browse files

solves the case where FRE is not visible

parent e16f7a5a
Loading
Loading
Loading
Loading
+43 −4
Original line number Diff line number Diff line
@@ -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
@@ -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";
@@ -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) {