101054e922aa547b937a71131ad04c6bd15356240Angus Kong/* 201054e922aa547b937a71131ad04c6bd15356240Angus Kong * Copyright (C) 2013 The Android Open Source Project 301054e922aa547b937a71131ad04c6bd15356240Angus Kong * 401054e922aa547b937a71131ad04c6bd15356240Angus Kong * Licensed under the Apache License, Version 2.0 (the "License"); 501054e922aa547b937a71131ad04c6bd15356240Angus Kong * you may not use this file except in compliance with the License. 601054e922aa547b937a71131ad04c6bd15356240Angus Kong * You may obtain a copy of the License at 701054e922aa547b937a71131ad04c6bd15356240Angus Kong * 801054e922aa547b937a71131ad04c6bd15356240Angus Kong * http://www.apache.org/licenses/LICENSE-2.0 901054e922aa547b937a71131ad04c6bd15356240Angus Kong * 1001054e922aa547b937a71131ad04c6bd15356240Angus Kong * Unless required by applicable law or agreed to in writing, software 1101054e922aa547b937a71131ad04c6bd15356240Angus Kong * distributed under the License is distributed on an "AS IS" BASIS, 1201054e922aa547b937a71131ad04c6bd15356240Angus Kong * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1301054e922aa547b937a71131ad04c6bd15356240Angus Kong * See the License for the specific language governing permissions and 1401054e922aa547b937a71131ad04c6bd15356240Angus Kong * limitations under the License. 1501054e922aa547b937a71131ad04c6bd15356240Angus Kong */ 1601054e922aa547b937a71131ad04c6bd15356240Angus Kong 1701054e922aa547b937a71131ad04c6bd15356240Angus Kongpackage com.android.camera.filmstrip; 1801054e922aa547b937a71131ad04c6bd15356240Angus Kong 1901054e922aa547b937a71131ad04c6bd15356240Angus Kongimport com.android.camera.widget.FilmstripLayout; 2001054e922aa547b937a71131ad04c6bd15356240Angus Kong 2101054e922aa547b937a71131ad04c6bd15356240Angus Kong/** 228a2350a3d557465b53445685db0f9ac838cf90c5Angus Kong * The filmstrip panel holding the filmstrip and other controls/widgets. 2301054e922aa547b937a71131ad04c6bd15356240Angus Kong */ 2401054e922aa547b937a71131ad04c6bd15356240Angus Kongpublic interface FilmstripContentPanel { 2501054e922aa547b937a71131ad04c6bd15356240Angus Kong /** 2601054e922aa547b937a71131ad04c6bd15356240Angus Kong * An listener interface extending {@link 2701054e922aa547b937a71131ad04c6bd15356240Angus Kong * com.android.camera.filmstrip.FilmstripController.FilmstripListener} defining extra callbacks 2801054e922aa547b937a71131ad04c6bd15356240Angus Kong * for filmstrip being shown and hidden. 2901054e922aa547b937a71131ad04c6bd15356240Angus Kong */ 3001054e922aa547b937a71131ad04c6bd15356240Angus Kong interface Listener extends FilmstripController.FilmstripListener { 3101054e922aa547b937a71131ad04c6bd15356240Angus Kong 3201054e922aa547b937a71131ad04c6bd15356240Angus Kong /** 333488188fa8dff9a90021446e6ed4f9c321c4d4dbErin Dahlgren * Callback on a swipe out of filmstrip. 343488188fa8dff9a90021446e6ed4f9c321c4d4dbErin Dahlgren */ 353488188fa8dff9a90021446e6ed4f9c321c4d4dbErin Dahlgren public void onSwipeOut(); 363488188fa8dff9a90021446e6ed4f9c321c4d4dbErin Dahlgren 373488188fa8dff9a90021446e6ed4f9c321c4d4dbErin Dahlgren /** 3873e09f39f7d4075f3c95d20bb229f354211d05c0Angus Kong * Callback on a swiping out begins. 3973e09f39f7d4075f3c95d20bb229f354211d05c0Angus Kong */ 4073e09f39f7d4075f3c95d20bb229f354211d05c0Angus Kong public void onSwipeOutBegin(); 4173e09f39f7d4075f3c95d20bb229f354211d05c0Angus Kong 4273e09f39f7d4075f3c95d20bb229f354211d05c0Angus Kong /** 4301054e922aa547b937a71131ad04c6bd15356240Angus Kong * Callback when the filmstrip becomes invisible or gone. 4401054e922aa547b937a71131ad04c6bd15356240Angus Kong */ 4501054e922aa547b937a71131ad04c6bd15356240Angus Kong public void onFilmstripHidden(); 4601054e922aa547b937a71131ad04c6bd15356240Angus Kong 4701054e922aa547b937a71131ad04c6bd15356240Angus Kong /** 4801054e922aa547b937a71131ad04c6bd15356240Angus Kong * Callback when the filmstrip is shown in full-screen. 4901054e922aa547b937a71131ad04c6bd15356240Angus Kong */ 5001054e922aa547b937a71131ad04c6bd15356240Angus Kong public void onFilmstripShown(); 5101054e922aa547b937a71131ad04c6bd15356240Angus Kong } 5201054e922aa547b937a71131ad04c6bd15356240Angus Kong 53b2510252fb020f3ccb88787c870930427377b9dfAngus Kong /** Sets the listener. */ 5401054e922aa547b937a71131ad04c6bd15356240Angus Kong void setFilmstripListener(FilmstripLayout.Listener listener); 5501054e922aa547b937a71131ad04c6bd15356240Angus Kong 561f9db2dfe59c33228103c54523281501ef52c9baAngus Kong /** 571f9db2dfe59c33228103c54523281501ef52c9baAngus Kong * Hides this panel with animation. 581f9db2dfe59c33228103c54523281501ef52c9baAngus Kong * 591f9db2dfe59c33228103c54523281501ef52c9baAngus Kong * @return {@code false} if already hidden. 601f9db2dfe59c33228103c54523281501ef52c9baAngus Kong */ 611f9db2dfe59c33228103c54523281501ef52c9baAngus Kong boolean animateHide(); 621f9db2dfe59c33228103c54523281501ef52c9baAngus Kong 638a2350a3d557465b53445685db0f9ac838cf90c5Angus Kong /** Hides this panel */ 64b2510252fb020f3ccb88787c870930427377b9dfAngus Kong void hide(); 65b2510252fb020f3ccb88787c870930427377b9dfAngus Kong 668a2350a3d557465b53445685db0f9ac838cf90c5Angus Kong /** Shows this panel */ 67b2510252fb020f3ccb88787c870930427377b9dfAngus Kong void show(); 68b2510252fb020f3ccb88787c870930427377b9dfAngus Kong 6901054e922aa547b937a71131ad04c6bd15356240Angus Kong /** 7001054e922aa547b937a71131ad04c6bd15356240Angus Kong * Called when the back key is pressed. 7101054e922aa547b937a71131ad04c6bd15356240Angus Kong * 7201054e922aa547b937a71131ad04c6bd15356240Angus Kong * @return Whether the UI responded to the key event. 7301054e922aa547b937a71131ad04c6bd15356240Angus Kong */ 7401054e922aa547b937a71131ad04c6bd15356240Angus Kong boolean onBackPressed(); 7501054e922aa547b937a71131ad04c6bd15356240Angus Kong} 76