浏览代码

Merge pull request #2911 from nextcloud/updateAndroidSvg

Fix SVG Display
Andy Scherzinger 6 年之前
父节点
当前提交
4610ca8b00
共有 2 个文件被更改,包括 24 次插入17 次删除
  1. 3 2
      build.gradle
  2. 21 15
      src/main/java/com/owncloud/android/ui/preview/PreviewImageFragment.java

+ 3 - 2
build.gradle

@@ -12,6 +12,7 @@ buildscript {
             url 'https://oss.sonatype.org/content/repositories/snapshots/'
         }
         google()
+        mavenCentral()
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:3.1.4'
@@ -226,7 +227,7 @@ dependencies {
     implementation 'com.jakewharton:butterknife:8.8.1'
     annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
     implementation 'org.greenrobot:eventbus:3.0.0'
-    implementation 'com.googlecode.ez-vcard:ez-vcard:0.10.2'
+    implementation 'com.googlecode.ez-vcard:ez-vcard:0.10.4'
     implementation 'org.lukhnos:nnio:0.2'
     implementation 'com.madgag.spongycastle:pkix:1.54.0.0'
     implementation 'com.google.code.gson:gson:2.8.2'
@@ -239,7 +240,7 @@ dependencies {
     implementation ('com.github.bumptech.glide:glide:3.7.0') {
         exclude group: "com.android.support"
     }
-    implementation 'com.caverock:androidsvg:1.2.1'
+    implementation 'com.caverock:androidsvg:1.3'
     implementation "com.android.support:support-annotations:${supportLibraryVersion}"
     implementation 'com.google.code.gson:gson:2.8.2'
 

+ 21 - 15
src/main/java/com/owncloud/android/ui/preview/PreviewImageFragment.java

@@ -553,25 +553,31 @@ public class PreviewImageFragment extends FileFragment {
         private void showLoadedImage(LoadImage result) {
             final PhotoView imageView = mImageViewRef.get();
             Bitmap bitmap = result.bitmap;
-
-            if (imageView != null && bitmap != null) {
-                Log_OC.d(TAG, "Showing image with resolution " + bitmap.getWidth() + "x" +
-                        bitmap.getHeight());
-
-                if (MIME_TYPE_PNG.equalsIgnoreCase(result.ocFile.getMimeType()) ||
-                        MIME_TYPE_SVG.equalsIgnoreCase(result.ocFile.getMimeType()) ||
-                        MIME_TYPE_GIF.equalsIgnoreCase(result.ocFile.getMimeType())) {
-                    if (getResources() != null) {
-                        imageView.setImageDrawable(generateCheckerboardLayeredDrawable(result, bitmap));
+            Drawable drawable = result.drawable;
+
+            if (imageView != null) {
+                if (bitmap != null) {
+                    Log_OC.d(TAG, "Showing image with resolution " + bitmap.getWidth() + "x" +
+                            bitmap.getHeight());
+
+                    if (MIME_TYPE_PNG.equalsIgnoreCase(result.ocFile.getMimeType()) ||
+                            MIME_TYPE_GIF.equalsIgnoreCase(result.ocFile.getMimeType())) {
+                        if (getResources() != null) {
+                            imageView.setImageDrawable(generateCheckerboardLayeredDrawable(result, bitmap));
+                        } else {
+                            imageView.setImageBitmap(bitmap);
+                        }
                     } else {
                         imageView.setImageBitmap(bitmap);
                     }
-                } else {
-                    imageView.setImageBitmap(bitmap);
-                }
 
-                imageView.setVisibility(View.VISIBLE);
-                mBitmap = bitmap;  // needs to be kept for recycling when not useful
+                    imageView.setVisibility(View.VISIBLE);
+                    mBitmap = bitmap;  // needs to be kept for recycling when not useful
+                } else if (drawable != null
+                        && MIME_TYPE_SVG.equalsIgnoreCase(result.ocFile.getMimeType())
+                        && getResources() != null) {
+                    imageView.setImageDrawable(generateCheckerboardLayeredDrawable(result, null));
+                }
             }
 
             mMultiView.setVisibility(View.GONE);