1 /*
2  * Copyright (C) 2014 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5  * in compliance with the License. You may obtain a copy of the License at
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software distributed under the License
10  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11  * or implied. See the License for the specific language governing permissions and limitations under
12  * the License.
13  */
14 
15 package com.android.camera.burst;
16 
17 import java.util.List;
18 import java.util.Set;
19 
20 /**
21  * The result of a captured burst.
22  * <p/>
23  * A BurstResult consists of a series of BurstArtifacts. Artifacts store their
24  * media content in BurstMediaItem containers.
25  * <p/>
26  * Each artifact has a type-name that specifies the kind of artifact it
27  * represents (e.g. GIF, collage, etc.). These types are implementation
28  * specific. An artifact only contains media items of a single type. A
29  * BurstMediaItem contains media content and associated metadata and can be an
30  * image, an animated GIF, a collage or any other drawable media.
31  */
32 public interface BurstResult {
33     /**
34      * Returns the list of all artifacts included in this result.
35      */
getArtifacts()36     public List<BurstArtifact> getArtifacts();
37 
38     /**
39      * Returns the set of unique artifact types included in this result.
40      */
getTypes()41     public Set<String> getTypes();
42 
43     /**
44      * Returns all artifacts of the specified type.
45      *
46      * @param type the type of artifacts
47      * @return list of artifacts of that type
48      */
getArtifactsByType(String type)49     public List<BurstArtifact> getArtifactsByType(String type);
50 }
51