Răsfoiți Sursa

also fix #1976

Signed-off-by: tobiaskaminsky <tobias@kaminsky.me>
tobiaskaminsky 7 ani în urmă
părinte
comite
3145260054

+ 15 - 13
src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java

@@ -1027,22 +1027,13 @@ public abstract class DrawerActivity extends ToolbarActivity implements DisplayU
                 MenuSimpleTarget target = new MenuSimpleTarget<Drawable>(id) {
                     @Override
                     public void onResourceReady(Drawable resource, GlideAnimation glideAnimation) {
-                        mNavigationView.getMenu().findItem(getIdMenuItem()).setIcon(
-                                ThemeUtils.tintDrawable(resource, greyColor));
+                        setExternalLinkIcon(getIdMenuItem(), resource, greyColor);
                     }
 
                     @Override
                     public void onLoadFailed(Exception e, Drawable errorDrawable) {
                         super.onLoadFailed(e, errorDrawable);
-                        MenuItem menuItem = mNavigationView.getMenu().findItem(getIdMenuItem());
-
-                        if (menuItem != null) {
-                            if (errorDrawable != null) {
-                                menuItem.setIcon(errorDrawable.getCurrent());
-                            } else {
-                                menuItem.setIcon(R.drawable.ic_link_grey);
-                            }
-                        }
+                        setExternalLinkIcon(getIdMenuItem(), errorDrawable, greyColor);
                     }
                 };
 
@@ -1051,6 +1042,18 @@ public abstract class DrawerActivity extends ToolbarActivity implements DisplayU
         }
     }
 
+    private void setExternalLinkIcon(int id, Drawable drawable, int greyColor) {
+        MenuItem menuItem = mNavigationView.getMenu().findItem(id);
+
+        if (menuItem != null) {
+            if (drawable != null) {
+                menuItem.setIcon(ThemeUtils.tintDrawable(drawable, greyColor));
+            } else {
+                menuItem.setIcon(R.drawable.ic_link_grey);
+            }
+        }
+    }
+
     public void updateHeaderBackground() {
         if (getAccount() != null &&
                 getStorageManager().getCapability(getAccount().name).getServerBackground() != null) {
@@ -1372,8 +1375,6 @@ public abstract class DrawerActivity extends ToolbarActivity implements DisplayU
 
                 Account account = AccountUtils.getCurrentOwnCloudAccount(DrawerActivity.this);
 
-                externalLinksProvider.deleteAllExternalLinks();
-
                 if (account != null && getStorageManager() != null &&
                         getStorageManager().getCapability(account.name) != null &&
                         getStorageManager().getCapability(account.name).getExternalLinks().isTrue()) {
@@ -1407,6 +1408,7 @@ public abstract class DrawerActivity extends ToolbarActivity implements DisplayU
                                 FileActivity.APP_OPENED_COUNT, String.valueOf(count + 1));
                     }
                 } else {
+                    externalLinksProvider.deleteAllExternalLinks();
                     Log_OC.d("ExternalLinks", "links disabled");
                 }
                 runOnUiThread(() -> updateExternalLinksInDrawer());