admin
2022-01-07 8dfe5354073b700af45d5cb472dd5f003e6f3f25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
package com.ysvideo.zhibo.app.util.ad;
 
import android.content.Context;
 
 
import com.ysvideo.zhibo.app.entity.ad.ExpressAdContainer;
import com.ysvideo.zhibo.library_ad.AdUtil;
 
import java.util.List;
import java.util.Stack;
 
/**
 * 搜索结果列表广告管理器
 */
public class SearchResultAdManager {
    private Context mContext;
    private Stack<ExpressAdContainer> adStack = new Stack<>();
    private static SearchResultAdManager instance;
    private ExpressAdManager expressAdManager;
 
    public SearchResultAdManager(Context context) {
        mContext = context;
        if (expressAdManager == null) {
            try {
                expressAdManager = ExpressAdManager.getInstance(mContext);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
 
    public static SearchResultAdManager getInstance(Context context) {
        if (instance == null) {
            instance = new SearchResultAdManager(context);
        }
        return instance;
    }
 
 
    /**
     * 加载广告
     *
     * @param count
     */
    public void loadAD(int count, final ExpressAdManager.IAdLoadListener adLoadListener) {
        if (expressAdManager == null)
            return;
//        expressAdManager.loadSearchResultSmallAd(count, new ExpressAdManager.IAdLoadListener() {
//            @Override
//            public void onSuccess(List<ExpressAdContainer> adList) {
//
//                if (adList != null)
//                    for (ExpressAdContainer ad : adList)
//                        ExpressAdManager.renderAd(null, ad, new ExpressAdManager.IAdRenderListener() {
//                            @Override
//                            public void onRenderSuccess(List<ExpressAdContainer> adList) {
//                                if (adList != null)
//                                    for (ExpressAdContainer ad : adList) {
//                                        adStack.push(ad);
//                                    }
//                                if (adLoadListener != null)
//                                    adLoadListener.onSuccess(adList);
//                            }
//
//                            @Override
//                            public void onRenderFail(List<ExpressAdContainer> adList) {
//
//                            }
//                        }, null);
//
//            }
//        });
    }
 
    /**
     * 消费广告
     *
     * @return
     */
    public synchronized ExpressAdContainer consumeAD() {
        if (!adStack.empty())
            return adStack.pop();
        return null;
    }
 
 
    /**
     * 自动加载广告
     */
    public void autoLoadAd() {
        if (adStack.size() < 2) {
            loadAD(1, null);
        }
    }
 
 
}