浏览代码

add externalSiteSupport configs to the MDM

Signed-off-by: alperozturk <alper_ozturk@proton.me>
alperozturk 9 月之前
父节点
当前提交
e0ad34c472

+ 14 - 0
app/src/main/java/com/nextcloud/utils/mdm/MDMConfig.kt

@@ -15,6 +15,7 @@ import com.owncloud.android.utils.appConfig.AppConfigKeys
 object MDMConfig {
     fun multiAccountSupport(context: Context): Boolean {
         val multiAccountSupport = context.resources.getBoolean(R.bool.multiaccount_support)
+
         val disableMultiAccountViaMDM = context.getRestriction(
             AppConfigKeys.DisableMultiAccount,
             context.resources.getBoolean(R.bool.disable_multiaccount)
@@ -28,6 +29,7 @@ object MDMConfig {
             AppConfigKeys.DisableSharing,
             context.resources.getBoolean(R.bool.disable_sharing)
         )
+
         val shareViaLink = context.resources.getBoolean(R.bool.share_via_link_feature)
 
         return shareViaLink && disableShareViaMDM
@@ -38,6 +40,7 @@ object MDMConfig {
             AppConfigKeys.DisableSharing,
             context.resources.getBoolean(R.bool.disable_sharing)
         )
+
         val shareViaUsers = context.resources.getBoolean(R.bool.share_with_users_feature)
 
         return shareViaUsers && disableShareViaMDM
@@ -51,4 +54,15 @@ object MDMConfig {
 
         return !disableClipboardSupport
     }
+
+    fun externalSiteSupport(context: Context): Boolean {
+        val disableMoreExternalSiteViaMDM = context.getRestriction(
+            AppConfigKeys.DisableMoreExternalSite,
+            context.resources.getBoolean(R.bool.disable_more_external_site)
+        )
+
+        val showExternalLinks = context.resources.getBoolean(R.bool.show_external_links)
+
+        return showExternalLinks && !disableMoreExternalSiteViaMDM
+    }
 }

+ 4 - 6
app/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java

@@ -60,6 +60,7 @@ import com.nextcloud.ui.ChooseAccountDialogFragment;
 import com.nextcloud.ui.composeActivity.ComposeActivity;
 import com.nextcloud.ui.composeActivity.ComposeDestination;
 import com.nextcloud.utils.extensions.ContextExtensionsKt;
+import com.nextcloud.utils.mdm.MDMConfig;
 import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.authentication.PassCodeManager;
@@ -827,8 +828,7 @@ public abstract class DrawerActivity extends ToolbarActivity
 
     private void updateQuotaLink() {
         if (mQuotaTextLink != null) {
-            boolean disableMoreExternalSiteViaMDM = ContextExtensionsKt.getRestriction(this, AppConfigKeys.DisableMoreExternalSite, getResources().getBoolean(R.bool.disable_more_external_site));
-            if (getBaseContext().getResources().getBoolean(R.bool.show_external_links) && !disableMoreExternalSiteViaMDM) {
+            if (MDMConfig.INSTANCE.externalSiteSupport(this)) {
                 List<ExternalLink> quotas = externalLinksProvider.getExternalLink(ExternalLinkType.QUOTA);
 
                 float density = getResources().getDisplayMetrics().density;
@@ -977,8 +977,7 @@ public abstract class DrawerActivity extends ToolbarActivity
     }
 
     private void updateExternalLinksInDrawer() {
-        boolean disableMoreExternalSiteViaMDM = ContextExtensionsKt.getRestriction(this, AppConfigKeys.DisableMoreExternalSite, getResources().getBoolean(R.bool.disable_more_external_site));
-        if (mNavigationView != null && getBaseContext().getResources().getBoolean(R.bool.show_external_links) && !disableMoreExternalSiteViaMDM) {
+        if (mNavigationView != null && MDMConfig.INSTANCE.externalSiteSupport(this)) {
             mNavigationView.getMenu().removeGroup(R.id.drawer_menu_external_links);
 
             int greyColor = ContextCompat.getColor(this, R.color.drawer_menu_icon);
@@ -1227,8 +1226,7 @@ public abstract class DrawerActivity extends ToolbarActivity
      * Retrieves external links via api from 'external' app
      */
     public void fetchExternalLinks(final boolean force) {
-        boolean disableMoreExternalSiteViaMDM = ContextExtensionsKt.getRestriction(this, AppConfigKeys.DisableMoreExternalSite, getResources().getBoolean(R.bool.disable_more_external_site));
-        if (!getBaseContext().getResources().getBoolean(R.bool.show_external_links) || disableMoreExternalSiteViaMDM) {
+        if (!MDMConfig.INSTANCE.externalSiteSupport(this)) {
             return;
         }
 

+ 2 - 2
app/src/main/java/com/owncloud/android/ui/activity/SettingsActivity.java

@@ -51,6 +51,7 @@ import com.nextcloud.client.preferences.AppPreferences;
 import com.nextcloud.client.preferences.AppPreferencesImpl;
 import com.nextcloud.client.preferences.DarkMode;
 import com.nextcloud.utils.extensions.ContextExtensionsKt;
+import com.nextcloud.utils.mdm.MDMConfig;
 import com.owncloud.android.BuildConfig;
 import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
@@ -1103,8 +1104,7 @@ public class SettingsActivity extends PreferenceActivity
     }
 
     private void loadExternalSettingLinks(PreferenceCategory preferenceCategory) {
-        boolean disableMoreExternalSiteViaMDM = ContextExtensionsKt.getRestriction(this, AppConfigKeys.DisableMoreExternalSite, getResources().getBoolean(R.bool.disable_more_external_site));
-        if (getBaseContext().getResources().getBoolean(R.bool.show_external_links) && !disableMoreExternalSiteViaMDM) {
+        if (MDMConfig.INSTANCE.externalSiteSupport(this)) {
             ExternalLinksProvider externalLinksProvider = new ExternalLinksProvider(getContentResolver());
 
             for (final ExternalLink link : externalLinksProvider.getExternalLink(ExternalLinkType.SETTINGS)) {