admin
2020-08-08 3945f9a2c70335958c64c73894e3a1a14a7113b3
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
package com.handmark.pulltorefresh.library;
 
import java.util.HashSet;
 
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
 
import com.handmark.pulltorefresh.library.internal.LoadingLayout;
 
public class LoadingLayoutProxy implements ILoadingLayout {
 
    private final HashSet<LoadingLayout> mLoadingLayouts;
 
    LoadingLayoutProxy() {
        mLoadingLayouts = new HashSet<LoadingLayout>();
    }
 
    /**
     * This allows you to add extra LoadingLayout instances to this proxy. This
     * is only necessary if you keep your own instances, and want to have them
     * included in any
     * {@link PullToRefreshBase#createLoadingLayoutProxy(boolean, boolean)
     * createLoadingLayoutProxy(...)} calls.
     * 
     * @param layout - LoadingLayout to have included.
     */
    public void addLayout(LoadingLayout layout) {
        if (null != layout) {
            mLoadingLayouts.add(layout);
        }
    }
 
    @Override
    public void setLastUpdatedLabel(CharSequence label) {
        for (LoadingLayout layout : mLoadingLayouts) {
            layout.setLastUpdatedLabel(label);
        }
    }
 
    @Override
    public void setLoadingDrawable(Drawable drawable) {
        for (LoadingLayout layout : mLoadingLayouts) {
            layout.setLoadingDrawable(drawable);
        }
    }
 
    @Override
    public void setRefreshingLabel(CharSequence refreshingLabel) {
        for (LoadingLayout layout : mLoadingLayouts) {
            layout.setRefreshingLabel(refreshingLabel);
        }
    }
 
    @Override
    public void setPullLabel(CharSequence label) {
        for (LoadingLayout layout : mLoadingLayouts) {
            layout.setPullLabel(label);
        }
    }
 
    @Override
    public void setReleaseLabel(CharSequence label) {
        for (LoadingLayout layout : mLoadingLayouts) {
            layout.setReleaseLabel(label);
        }
    }
 
    public void setTextTypeface(Typeface tf) {
        for (LoadingLayout layout : mLoadingLayouts) {
            layout.setTextTypeface(tf);
        }
    }
}