1 /*
2  * Copyright (C) 2018 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.dialer.glidephotomanager;
18 
19 import android.support.annotation.MainThread;
20 import android.widget.ImageView;
21 import android.widget.QuickContactBadge;
22 
23 /** Class to load photo for call/contacts */
24 public interface GlidePhotoManager {
25 
26   /**
27    * Load {@code photoInfo} into the {@code badge}. The loading is performed in the background and a
28    * placeholder will be used appropriately. {@code badge} must be already attached to an
29    * activity/fragment, and the load will be automatically canceled if the lifecycle of the activity
30    * ends.
31    */
32   @MainThread
loadQuickContactBadge(QuickContactBadge badge, PhotoInfo photoInfo)33   void loadQuickContactBadge(QuickContactBadge badge, PhotoInfo photoInfo);
34 
35   /**
36    * Load {@code photoInfo} into the {@code imageView}. The loading is performed in the background
37    * and a placeholder will be used appropriately. {@code imageView} must be already attached to an
38    * activity/fragment, and the load will be automatically canceled if the lifecycle of the activity
39    * ends.
40    */
41   @MainThread
loadContactPhoto(ImageView imageView, PhotoInfo photoInfo)42   void loadContactPhoto(ImageView imageView, PhotoInfo photoInfo);
43 }
44