瀏覽代碼

Previously TestActivity overwrote Capabilities on start
if there is no account passed to ThemeUtils when fetching primary Color, FileDataStorageManager is created, there we need application context, normal context is not enough for testing

Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>

tobiasKaminsky 4 年之前
父節點
當前提交
6a3f3051c4

+ 6 - 3
src/debug/java/com/nextcloud/client/TestActivity.kt

@@ -104,9 +104,12 @@ class TestActivity :
         if (!this::storage.isInitialized) {
             storage = FileDataStorageManager(account, contentResolver)
 
-            val ocCapability = OCCapability()
-            ocCapability.versionMayor = OwnCloudVersion.nextcloud_20.majorVersionNumber
-            storage.saveCapabilities(ocCapability)
+
+            if (!storage.capabilityExistsForAccount(account.name)) {
+                val ocCapability = OCCapability()
+                ocCapability.versionMayor = OwnCloudVersion.nextcloud_20.majorVersionNumber
+                storage.saveCapabilities(ocCapability)
+            }
         }
 
         return storage

+ 9 - 0
src/main/java/com/owncloud/android/datamodel/FileDataStorageManager.java

@@ -2126,6 +2126,15 @@ public class FileDataStorageManager {
         return capability;
     }
 
+    public boolean capabilityExistsForAccount(String accountName) {
+        Cursor cursor = getCapabilityCursorForAccount(accountName);
+
+        boolean exists = cursor.moveToFirst();
+        cursor.close();
+
+        return exists;
+    }
+
     private OCCapability createCapabilityInstance(Cursor cursor) {
         OCCapability capability = null;
         if (cursor != null) {

+ 4 - 3
src/main/java/com/owncloud/android/ui/dialog/SendShareDialog.java

@@ -194,10 +194,11 @@ public class SendShareDialog extends BottomSheetDialogFragment {
     }
 
     private void themeShareButtonImage(ImageView shareImageView) {
-        shareImageView.getBackground().setColorFilter(ThemeColorUtils.primaryColor(getContext(), true),
+        shareImageView.getBackground().setColorFilter(ThemeColorUtils.primaryColor(getContext().getApplicationContext(),
+                                                                                   true),
                                                       PorterDuff.Mode.SRC_IN);
-        shareImageView.getDrawable().mutate().setColorFilter(ThemeColorUtils.fontColor(getContext()),
-                PorterDuff.Mode.SRC_IN);
+        shareImageView.getDrawable().mutate().setColorFilter(ThemeColorUtils.fontColor(getContext().getApplicationContext()),
+                                                             PorterDuff.Mode.SRC_IN);
     }
 
     private void showResharingNotAllowedSnackbar() {

+ 1 - 1
src/main/java/com/owncloud/android/ui/fragment/FileDetailFragment.java

@@ -232,7 +232,7 @@ public class FileDetailFragment extends FileFragment implements OnClickListener,
         binding.tabLayout.addTab(binding.tabLayout.newTab().setText(R.string.drawer_item_activities).setIcon(R.drawable.ic_activity));
         binding.tabLayout.addTab(binding.tabLayout.newTab().setText(R.string.share_dialog_title).setIcon(R.drawable.shared_via_users));
 
-        ThemeLayoutUtils.colorTabLayout(getContext(), binding.tabLayout);
+        ThemeLayoutUtils.colorTabLayout(getContext().getApplicationContext(), binding.tabLayout);
 
         final FileDetailTabAdapter adapter = new FileDetailTabAdapter(getFragmentManager(), getFile(), user);
         binding.pager.setAdapter(adapter);