java类android.graphics.drawable.Drawable.Callback的实例源码

MultiCallback.java 文件源码 项目:sketch 阅读 27 收藏 0 点赞 0 评论 0
@Override
public void invalidateDrawable(@NonNull final Drawable who) {
    for (int i = 0; i < mCallbacks.size(); i++) {
        final CallbackWeakReference reference = mCallbacks.get(i);
        final Callback callback = reference.get();
        if (callback != null) {
            if (mUseViewInvalidate && callback instanceof View) {
                ((View) callback).invalidate();
            } else {
                callback.invalidateDrawable(who);
            }
        } else {
            // Always remove null references to reduce list size
            mCallbacks.remove(reference);
        }
    }
}
MaterialProgressDrawable.java 文件源码 项目:letv 阅读 29 收藏 0 点赞 0 评论 0
public Ring(Callback callback) {
    this.mCallback = callback;
    this.mPaint.setStrokeCap(Cap.SQUARE);
    this.mPaint.setAntiAlias(true);
    this.mPaint.setStyle(Style.STROKE);
    this.mArrowPaint.setStyle(Style.FILL);
    this.mArrowPaint.setAntiAlias(true);
}
AnimatedVectorDrawableCompat.java 文件源码 项目:boohee_v5.6 阅读 29 收藏 0 点赞 0 评论 0
public AnimatedVectorDrawableCompatState(Context context, AnimatedVectorDrawableCompatState copy, Callback owner, Resources res) {
    if (copy != null) {
        this.mChangingConfigurations = copy.mChangingConfigurations;
        if (copy.mVectorDrawable != null) {
            ConstantState cs = copy.mVectorDrawable.getConstantState();
            if (res != null) {
                this.mVectorDrawable = (VectorDrawableCompat) cs.newDrawable(res);
            } else {
                this.mVectorDrawable = (VectorDrawableCompat) cs.newDrawable();
            }
            this.mVectorDrawable = (VectorDrawableCompat) this.mVectorDrawable.mutate();
            this.mVectorDrawable.setCallback(owner);
            this.mVectorDrawable.setBounds(copy.mVectorDrawable.getBounds());
            this.mVectorDrawable.setAllowCaching(false);
        }
        if (copy.mAnimators != null) {
            int numAnimators = copy.mAnimators.size();
            this.mAnimators = new ArrayList(numAnimators);
            this.mTargetNameMap = new ArrayMap(numAnimators);
            for (int i = 0; i < numAnimators; i++) {
                Animator anim = (Animator) copy.mAnimators.get(i);
                Animator animClone = anim.clone();
                String targetName = (String) copy.mTargetNameMap.get(anim);
                animClone.setTarget(this.mVectorDrawable.getTargetByName(targetName));
                this.mAnimators.add(animClone);
                this.mTargetNameMap.put(animClone, targetName);
            }
        }
    }
}
MaterialProgressDrawable.java 文件源码 项目:boohee_v5.6 阅读 35 收藏 0 点赞 0 评论 0
public Ring(Callback callback) {
    this.mCallback = callback;
    this.mPaint.setStrokeCap(Cap.SQUARE);
    this.mPaint.setAntiAlias(true);
    this.mPaint.setStyle(Style.STROKE);
    this.mArrowPaint.setStyle(Style.FILL);
    this.mArrowPaint.setAntiAlias(true);
}
C0004d.java 文件源码 项目:solved-hacking-problem 阅读 36 收藏 0 点赞 0 评论 0
public C0004d(Context context, C0004d c0004d, Callback callback, Resources resources) {
    int i = 0;
    if (c0004d != null) {
        this.f12a = c0004d.f12a;
        if (c0004d.f13b != null) {
            ConstantState constantState = c0004d.f13b.getConstantState();
            if (resources != null) {
                this.f13b = (C0011l) constantState.newDrawable(resources);
            } else {
                this.f13b = (C0011l) constantState.newDrawable();
            }
            this.f13b = (C0011l) this.f13b.mutate();
            this.f13b.setCallback(callback);
            this.f13b.setBounds(c0004d.f13b.getBounds());
            this.f13b.m34a(false);
        }
        if (c0004d.f14c != null) {
            int size = c0004d.f14c.size();
            this.f14c = new ArrayList(size);
            this.f15d = new C0107a(size);
            while (i < size) {
                Animator animator = (Animator) c0004d.f14c.get(i);
                Animator clone = animator.clone();
                String str = (String) c0004d.f15d.get(animator);
                clone.setTarget(this.f13b.m33a(str));
                this.f14c.add(clone);
                this.f15d.put(clone, str);
                i++;
            }
        }
    }
}
C0004d.java 文件源码 项目:solved-hacking-problem 阅读 36 收藏 0 点赞 0 评论 0
public C0004d(Context context, C0004d c0004d, Callback callback, Resources resources) {
    int i = 0;
    if (c0004d != null) {
        this.f12a = c0004d.f12a;
        if (c0004d.f13b != null) {
            ConstantState constantState = c0004d.f13b.getConstantState();
            if (resources != null) {
                this.f13b = (C0011l) constantState.newDrawable(resources);
            } else {
                this.f13b = (C0011l) constantState.newDrawable();
            }
            this.f13b = (C0011l) this.f13b.mutate();
            this.f13b.setCallback(callback);
            this.f13b.setBounds(c0004d.f13b.getBounds());
            this.f13b.m34a(false);
        }
        if (c0004d.f14c != null) {
            int size = c0004d.f14c.size();
            this.f14c = new ArrayList(size);
            this.f15d = new C0107a(size);
            while (i < size) {
                Animator animator = (Animator) c0004d.f14c.get(i);
                Animator clone = animator.clone();
                String str = (String) c0004d.f15d.get(animator);
                clone.setTarget(this.f13b.m33a(str));
                this.f14c.add(clone);
                this.f15d.put(clone, str);
                i++;
            }
        }
    }
}
ChipDrawable.java 文件源码 项目:material-components-android 阅读 34 收藏 0 点赞 0 评论 0
@Override
public void invalidateDrawable(@NonNull Drawable who) {
  Callback callback = getCallback();
  if (callback != null) {
    callback.invalidateDrawable(this);
  }
}
ChipDrawable.java 文件源码 项目:material-components-android 阅读 33 收藏 0 点赞 0 评论 0
@Override
public void scheduleDrawable(@NonNull Drawable who, @NonNull Runnable what, long when) {
  Callback callback = getCallback();
  if (callback != null) {
    callback.scheduleDrawable(this, what, when);
  }
}
ChipDrawable.java 文件源码 项目:material-components-android 阅读 33 收藏 0 点赞 0 评论 0
@Override
public void unscheduleDrawable(@NonNull Drawable who, @NonNull Runnable what) {
  Callback callback = getCallback();
  if (callback != null) {
    callback.unscheduleDrawable(this, what);
  }
}
AnimationDrawableCallback.java 文件源码 项目:inbbbox-android 阅读 24 收藏 0 点赞 0 评论 0
@Override
public void invalidateDrawable(@NonNull Drawable who) {
    final Callback callback = callbackWeakReference.get();
    if (callback != null) {
        callback.invalidateDrawable(who);
    }
    checkCanFinishAnimation(who);
}
AnimationDrawableCallback.java 文件源码 项目:inbbbox-android 阅读 28 收藏 0 点赞 0 评论 0
@Override
public void scheduleDrawable(@NonNull Drawable who, @NonNull Runnable what, long when) {
    final Callback callback = callbackWeakReference.get();
    if (callback != null) {
        callback.scheduleDrawable(who, what, when);
    }
}
AnimationDrawableCallback.java 文件源码 项目:inbbbox-android 阅读 27 收藏 0 点赞 0 评论 0
@Override
public void unscheduleDrawable(@NonNull Drawable who, @NonNull Runnable what) {
    final Callback callback = callbackWeakReference.get();
    if (callback != null) {
        callback.unscheduleDrawable(who, what);
    }
}
MaterialProgressDrawable.java 文件源码 项目:FMTech 阅读 35 收藏 0 点赞 0 评论 0
public Ring(Drawable.Callback paramCallback)
{
  this.mCallback = paramCallback;
  this.mPaint.setStrokeCap(Paint.Cap.SQUARE);
  this.mPaint.setAntiAlias(true);
  this.mPaint.setStyle(Paint.Style.STROKE);
  this.mArrowPaint.setStyle(Paint.Style.FILL);
  this.mArrowPaint.setAntiAlias(true);
}
EmojiProvider.java 文件源码 项目:TextSecureSMP 阅读 41 收藏 0 点赞 0 评论 0
public Spannable emojify(CharSequence text, Callback callback) {
  Matcher                matches = EMOJI_RANGE.matcher(text);
  SpannableStringBuilder builder = new SpannableStringBuilder(text);

  while (matches.find()) {
    int codePoint = matches.group().codePointAt(0);
    Drawable drawable = getEmojiDrawable(codePoint, EMOJI_SMALL);
    if (drawable != null) {
      builder.setSpan(new InvalidatingDrawableSpan(drawable, callback), matches.start(), matches.end(),
                      Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    }
  }

  return builder;
}
dq.java 文件源码 项目:QuizUpWinner 阅读 27 收藏 0 点赞 0 评论 0
public final void invalidateDrawable(Drawable paramDrawable)
{
  if (fg.cD())
  {
    Drawable.Callback localCallback = getCallback();
    if (localCallback != null)
      localCallback.invalidateDrawable(this);
  }
}
dq.java 文件源码 项目:QuizUpWinner 阅读 25 收藏 0 点赞 0 评论 0
public final void scheduleDrawable(Drawable paramDrawable, Runnable paramRunnable, long paramLong)
{
  if (fg.cD())
  {
    Drawable.Callback localCallback = getCallback();
    if (localCallback != null)
      localCallback.scheduleDrawable(this, paramRunnable, paramLong);
  }
}
dq.java 文件源码 项目:QuizUpWinner 阅读 27 收藏 0 点赞 0 评论 0
public final void unscheduleDrawable(Drawable paramDrawable, Runnable paramRunnable)
{
  if (fg.cD())
  {
    Drawable.Callback localCallback = getCallback();
    if (localCallback != null)
      localCallback.unscheduleDrawable(this, paramRunnable);
  }
}
MultiCallback.java 文件源码 项目:sketch 阅读 24 收藏 0 点赞 0 评论 0
@Override
public void scheduleDrawable(@NonNull final Drawable who, @NonNull final Runnable what, final long when) {
    for (int i = 0; i < mCallbacks.size(); i++) {
        final CallbackWeakReference reference = mCallbacks.get(i);
        final Callback callback = reference.get();
        if (callback != null) {
            callback.scheduleDrawable(who, what, when);
        } else {
            // Always remove null references to reduce Set size
            mCallbacks.remove(reference);
        }
    }
}
MultiCallback.java 文件源码 项目:sketch 阅读 25 收藏 0 点赞 0 评论 0
@Override
public void unscheduleDrawable(@NonNull final Drawable who, @NonNull final Runnable what) {
    for (int i = 0; i < mCallbacks.size(); i++) {
        final CallbackWeakReference reference = mCallbacks.get(i);
        final Callback callback = reference.get();
        if (callback != null) {
            callback.unscheduleDrawable(who, what);
        } else {
            // Always remove null references to reduce list size
            mCallbacks.remove(reference);
        }
    }
}
MultiCallback.java 文件源码 项目:sketch 阅读 25 收藏 0 点赞 0 评论 0
/**
 * Associates given {@link Callback}. If callback has been already added, nothing happens.
 *
 * @param callback Callback to be associated
 */
public void addView(final Callback callback) {
    for (int i = 0; i < mCallbacks.size(); i++) {
        final CallbackWeakReference reference = mCallbacks.get(i);
        final Callback item = reference.get();
        if (item == null) {
            // Always remove null references to reduce list size
            mCallbacks.remove(reference);
        }
    }
    mCallbacks.addIfAbsent(new CallbackWeakReference(callback));
}
MultiCallback.java 文件源码 项目:sketch 阅读 24 收藏 0 点赞 0 评论 0
/**
 * Disassociates given {@link Callback}. If callback is not associated, nothing happens.
 *
 * @param callback Callback to be disassociated
 */
public void removeView(final Callback callback) {
    for (int i = 0; i < mCallbacks.size(); i++) {
        final CallbackWeakReference reference = mCallbacks.get(i);
        final Callback item = reference.get();
        if (item == null || item == callback) {
            // Always remove null references to reduce list size
            mCallbacks.remove(reference);
        }
    }
}
AnimatingImageSpan.java 文件源码 项目:PeSanKita-android 阅读 25 收藏 0 点赞 0 评论 0
public AnimatingImageSpan(Drawable drawable, Callback callback) {
  super(drawable, ALIGN_BOTTOM);
  drawable.setCallback(callback);
}
AnimatingImageSpan.java 文件源码 项目:Nird2 阅读 22 收藏 0 点赞 0 评论 0
AnimatingImageSpan(Drawable drawable, Callback callback) {
    super(drawable, ALIGN_BOTTOM);
    drawable.setCallback(callback);
}
AnimatingImageSpan.java 文件源码 项目:Nird2 阅读 25 收藏 0 点赞 0 评论 0
AnimatingImageSpan(Drawable drawable, Callback callback) {
    super(drawable, ALIGN_BOTTOM);
    drawable.setCallback(callback);
}
AnimatingImageSpan.java 文件源码 项目:Cable-Android 阅读 24 收藏 0 点赞 0 评论 0
public AnimatingImageSpan(Drawable drawable, Callback callback) {
  super(drawable, ALIGN_BOTTOM);
  drawable.setCallback(callback);
}
AnimationDrawableCallback.java 文件源码 项目:inbbbox-android 阅读 31 收藏 0 点赞 0 评论 0
public AnimationDrawableCallback(AnimationDrawable animationDrawable, Callback callback) {
    lastFrameWeakReference = new WeakReference<>(
            animationDrawable.getFrame(animationDrawable.getNumberOfFrames() - 1));
    callbackWeakReference = new WeakReference<>(callback);
}
InvalidatingDrawableSpan.java 文件源码 项目:TextSecureSMP 阅读 23 收藏 0 点赞 0 评论 0
public InvalidatingDrawableSpan(Drawable drawable, Callback callback) {
  super(drawable, ALIGN_BOTTOM);
  drawable.setCallback(callback);
}
AnimatingImageSpan.java 文件源码 项目:Silence 阅读 23 收藏 0 点赞 0 评论 0
public AnimatingImageSpan(Drawable drawable, Callback callback) {
  super(drawable, ALIGN_BOTTOM);
  drawable.setCallback(callback);
}
MultiCallback.java 文件源码 项目:sketch 阅读 25 收藏 0 点赞 0 评论 0
CallbackWeakReference(final Callback r) {
    super(r);
}
MultiCallback.java 文件源码 项目:sketch 阅读 29 收藏 0 点赞 0 评论 0
@Override
public int hashCode() {
    final Callback callback = get();
    return callback != null ? callback.hashCode() : 0;
}


问题


面经


文章

微信
公众号

扫码关注公众号