/** * Use this method only when using this class as an ordinary ImageView. * * @deprecated Use {@link #setController(DraweeController)} instead. */ @Override @Deprecated public void setImageResource(int resId) { init(getContext()); mDraweeHolder.setController(null); super.setImageResource(resId); }
/** * Use this method only when using this class as an ordinary ImageView. * * @deprecated Use {@link #setController(DraweeController)} instead. */ @Override @Deprecated public void setImageURI(Uri uri) { init(getContext()); mDraweeHolder.setController(null); super.setImageURI(uri); }
/** * Use this method only when using this class as an ordinary ImageView. * * @deprecated Use {@link #setController(DraweeController)} instead. */ @Override @Deprecated public void setImageDrawable(Drawable drawable) { init(getContext()); mDraweeHolder.setController(null); super.setImageDrawable(drawable); }
/** * Use this method only when using this class as an ordinary ImageView. * * @deprecated Use {@link #setController(DraweeController)} instead. */ @Override @Deprecated public void setImageBitmap(Bitmap bm) { init(getContext()); mDraweeHolder.setController(null); super.setImageBitmap(bm); }
@Override public boolean onTouchEvent(MotionEvent event) { if (mDraweeHolder.onTouchEvent(event)) { return true; } return super.onTouchEvent(event); }
/** This method is idempotent so it only has effect the first time it's called */ private void init(Context context) { if (mInitialised) { return; } mInitialised = true; mDraweeHolder = DraweeHolder.create(null, context); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { ColorStateList imageTintList = getImageTintList(); if (imageTintList == null) { return; } setColorFilter(imageTintList.getDefaultColor()); } }
@Override public String toString() { return Objects.toStringHelper(this) .add("holder", mDraweeHolder != null ? mDraweeHolder.toString() : "<no holder set>") .toString(); }
/** * Does the actual work of detaching. * * <p>Non-test subclasses should NOT override. Use onDetach for custom code. */ protected void doDetach() { mDraweeHolder.onDetach(); }
/** Gets the hierarchy if set, throws NPE otherwise. */ public DH getHierarchy() { return mDraweeHolder.getHierarchy(); }
@Override public void onStartTemporaryDetach() { super.onStartTemporaryDetach(); mDraweeHolder.onDetach(); }
@Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); mDraweeHolder.onDetach(); }
@Override protected void onAttachedToWindow() { super.onAttachedToWindow(); mDraweeHolder.onAttach(); }
/** Returns whether the controller is set or not. */ public boolean hasController() { return mDraweeHolder.getController() != null; }
/** Gets the controller if set, null otherwise. */ @Nullable public DraweeController getController() { return mDraweeHolder.getController(); }
/** Sets the controller. */ public void setController(@Nullable DraweeController draweeController) { mDraweeHolder.setController(draweeController); super.setImageDrawable(mDraweeHolder.getTopLevelDrawable()); }
/** Gets the top-level drawable if hierarchy is set, null otherwise. */ @Nullable public Drawable getTopLevelDrawable() { return mDraweeHolder.getTopLevelDrawable(); }
/** Sets the hierarchy. */ public void setHierarchy(DH hierarchy) { mDraweeHolder.setHierarchy(hierarchy); super.setImageDrawable(mDraweeHolder.getTopLevelDrawable()); }
@Override public void onFinishTemporaryDetach() { super.onFinishTemporaryDetach(); mDraweeHolder.onAttach(); }
/** Returns whether the hierarchy is set or not. */ public boolean hasHierarchy() { return mDraweeHolder.hasHierarchy(); }
/** * Does the actual work of attaching. * * <p>Non-test subclasses should NOT override. Use onAttach for custom code. */ protected void doAttach() { mDraweeHolder.onAttach(); }