RequestManagerFragment.java revision 5f4610b54d517be58105bcf73ce3291ba79f9f40
1package com.bumptech.glide.manager;
2
3import android.annotation.TargetApi;
4import android.app.Fragment;
5import com.bumptech.glide.RequestManager;
6
7/**
8 * A view-less {@link android.app.Fragment} used to safely store an {@link com.bumptech.glide.RequestManager} that
9 * can be used to start, stop and manage Glide requests started for targets the fragment or activity this fragment is a
10 * child of.
11 *
12 * @see com.bumptech.glide.manager.SupportRequestManagerFragment
13 * @see com.bumptech.glide.manager.RequestManagerRetriever
14 * @see com.bumptech.glide.RequestManager
15 */
16@TargetApi(11)
17public class RequestManagerFragment extends Fragment {
18    private RequestManager requestManager;
19
20    /**
21     * Sets the current {@link com.bumptech.glide.RequestManager}.
22     *
23     * @param requestManager The request manager to use.
24     */
25    public void setRequestManager(RequestManager requestManager) {
26        this.requestManager = requestManager;
27    }
28
29    /**
30     * Returns the current {@link com.bumptech.glide.RequestManager} or null if none exists.
31     */
32    public RequestManager getRequestManager() {
33        return requestManager;
34    }
35
36    @Override
37    public void onStart() {
38        super.onStart();
39        if (requestManager != null) {
40            requestManager.onStart();
41        }
42    }
43
44    @Override
45    public void onStop() {
46        super.onStop();
47        if (requestManager != null) {
48            requestManager.onStop();
49        }
50    }
51
52    @Override
53    public void onDestroy() {
54        super.onDestroy();
55        if (requestManager != null) {
56            requestManager.onDestroy();
57        }
58    }
59}
60