Advertisement
Guest User

Untitled

a guest
Dec 5th, 2013
19
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 2.60 KB | None | 0 0
  1. diff --git a/core/java/android/widget/ImageView.java b/core/java/android/widget/ImageView.java
  2. index 9e35a23..9b57e35 100644
  3. --- a/core/java/android/widget/ImageView.java
  4. +++ b/core/java/android/widget/ImageView.java
  5. @@ -357,7 +357,6 @@ public class ImageView extends View {
  6.      @android.view.RemotableViewMethod
  7.      public void setImageResource(int resId) {
  8.          if (mUri != null || mResource != resId) {
  9. -            updateDrawable(null);
  10.              mResource = resId;
  11.              mUri = null;
  12.  
  13. @@ -389,7 +388,6 @@ public class ImageView extends View {
  14.          if (mResource != 0 ||
  15.                  (mUri != uri &&
  16.                   (uri == null || mUri == null || !uri.equals(mUri)))) {
  17. -            updateDrawable(null);
  18.              mResource = 0;
  19.              mUri = uri;
  20.  
  21. @@ -621,25 +619,26 @@ public class ImageView extends View {
  22.          }
  23.      }
  24.  
  25. -    private void resolveUri() {
  26. -        if (mDrawable != null) {
  27. -            return;
  28. -        }
  29. -
  30. -        Resources rsrc = getResources();
  31. -        if (rsrc == null) {
  32. -            return;
  33. +    private void ensureResolvedUri() {
  34. +        if (mDrawable == null) {
  35. +            resolveUri();
  36.          }
  37. +    }
  38.  
  39. +    private void resolveUri() {
  40.          Drawable d = null;
  41. +        Resources rsrc = getResources();
  42.  
  43. -        if (mResource != 0) {
  44. +        if (rsrc == null) {
  45. +            // Can't resolve any drawable, fall through to clearing the drawable
  46. +        } else if (mResource != 0) {
  47.              try {
  48.                  d = rsrc.getDrawable(mResource);
  49.              } catch (Exception e) {
  50.                  Log.w("ImageView", "Unable to find resource: " + mResource, e);
  51.                  // Don't try again.
  52.                  mUri = null;
  53. +                mResource = 0;
  54.              }
  55.          } else if (mUri != null) {
  56.              String scheme = mUri.getScheme();
  57. @@ -669,7 +668,7 @@ public class ImageView extends View {
  58.                          }
  59.                      }
  60.                  }
  61. -        } else {
  62. +            } else {
  63.                  d = Drawable.createFromPath(mUri.toString());
  64.              }
  65.      
  66. @@ -679,7 +678,7 @@ public class ImageView extends View {
  67.                  mUri = null;
  68.              }
  69.          } else {
  70. -            return;
  71. +            // No drawable to resolve
  72.          }
  73.  
  74.          updateDrawable(d);
  75. @@ -757,7 +756,7 @@ public class ImageView extends View {
  76.  
  77.      @Override
  78.      protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
  79. -        resolveUri();
  80. +        ensureResolvedUri();
  81.          int w;
  82.          int h;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement