15fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu/*
25fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu * Copyright (C) 2015 The Android Open Source Project
35fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu *
45fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu * Licensed under the Apache License, Version 2.0 (the "License");
55fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu * you may not use this file except in compliance with the License.
65fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu * You may obtain a copy of the License at
75fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu *
85fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu *      http://www.apache.org/licenses/LICENSE-2.0
95fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu *
105fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu * Unless required by applicable law or agreed to in writing, software
115fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu * distributed under the License is distributed on an "AS IS" BASIS,
125fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
135fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu * See the License for the specific language governing permissions and
145fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu * limitations under the License.
155fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu */
165fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu
175fb629902527b7c688358ece3ef1f181322fc2abSenpo Hupackage com.android.camera.session;
185fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu
195fb629902527b7c688358ece3ef1f181322fc2abSenpo Huimport android.location.Location;
205fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu
215fb629902527b7c688358ece3ef1f181322fc2abSenpo Hupublic interface CaptureSessionFactory {
225fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu    /**
235fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu     * Creates a new capture session.
245fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu     *
255fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu     * @param sessionManager the capture session manager.
26f0ff1a9aa44d04f680af7cec8b97c3b01d3e76bdSascha Haeberling     * @param sessionNotifier used to notify about updates to the status of a
27f0ff1a9aa44d04f680af7cec8b97c3b01d3e76bdSascha Haeberling     *            session.
285fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu     * @param title the title of the new session.
29f0ff1a9aa44d04f680af7cec8b97c3b01d3e76bdSascha Haeberling     * @param sessionStartMillis the start time of the new session (millis since
30f0ff1a9aa44d04f680af7cec8b97c3b01d3e76bdSascha Haeberling     *            epoch).
315fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu     * @param location the location of the new session.
325fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu     */
33f0ff1a9aa44d04f680af7cec8b97c3b01d3e76bdSascha Haeberling    public CaptureSession createNewSession(CaptureSessionManager sessionManager,
34f0ff1a9aa44d04f680af7cec8b97c3b01d3e76bdSascha Haeberling            SessionNotifier sessionNotifier, String title,
355fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu            long sessionStartMillis, Location location);
365fb629902527b7c688358ece3ef1f181322fc2abSenpo Hu}
37