app/src/main/java/me/zhanghai/android/douya/broadcast/content/LikeBroadcastManager.java

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

/*
 * Copyright (c) 2016 Zhang Hai <Dreaming.in.Code.ZH@Gmail.com>
 * All Rights Reserved.
 */

package me.zhanghai.android.douya.broadcast.content;

import android.content.Context;

import me.zhanghai.android.douya.R;
import me.zhanghai.android.douya.content.ResourceWriterManager;
import me.zhanghai.android.douya.network.api.info.apiv2.Broadcast;
import me.zhanghai.android.douya.util.ToastUtils;

public class LikeBroadcastManager extends ResourceWriterManager<LikeBroadcastWriter> {

    private static class InstanceHolder {
        public static final LikeBroadcastManager VALUE = new LikeBroadcastManager();
    }

    public static LikeBroadcastManager getInstance() {
        return InstanceHolder.VALUE;
    }

    /**
     * @deprecated Use {@link #write(Broadcast, boolean, Context)} instead.
     */
    public void write(long broadcastId, boolean like, Context context) {
        add(new LikeBroadcastWriter(broadcastId, like, this), context);
    }

    public boolean write(Broadcast broadcast, boolean like, Context context) {
        if (shouldWrite(broadcast, context)) {
            add(new LikeBroadcastWriter(broadcast, like, this), context);
            return true;
        } else {
            return false;
        }
    }

    private boolean shouldWrite(Broadcast broadcast, Context context) {
        if (broadcast.isAuthorOneself(context)) {
            ToastUtils.show(R.string.broadcast_like_error_cannot_like_oneself, context);
            return false;
        } else {
            return true;
        }
    }

    public boolean isWriting(long broadcastId) {
        return findWriter(broadcastId) != null;
    }

    public boolean isWritingLike(long broadcastId) {
        LikeBroadcastWriter writer = findWriter(broadcastId);
        return writer != null && writer.isLike();
    }

    private LikeBroadcastWriter findWriter(long broadcastId) {
        for (LikeBroadcastWriter writer : getWriters()) {
后面还有 7 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。