FilmstripContentPanel.java revision 3488188fa8dff9a90021446e6ed4f9c321c4d4db
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 /** 3801054e922aa547b937a71131ad04c6bd15356240Angus Kong * Callback when the filmstrip becomes invisible or gone. 3901054e922aa547b937a71131ad04c6bd15356240Angus Kong */ 4001054e922aa547b937a71131ad04c6bd15356240Angus Kong public void onFilmstripHidden(); 4101054e922aa547b937a71131ad04c6bd15356240Angus Kong 4201054e922aa547b937a71131ad04c6bd15356240Angus Kong /** 4301054e922aa547b937a71131ad04c6bd15356240Angus Kong * Callback when the filmstrip is shown in full-screen. 4401054e922aa547b937a71131ad04c6bd15356240Angus Kong */ 4501054e922aa547b937a71131ad04c6bd15356240Angus Kong public void onFilmstripShown(); 4601054e922aa547b937a71131ad04c6bd15356240Angus Kong } 4701054e922aa547b937a71131ad04c6bd15356240Angus Kong 48b2510252fb020f3ccb88787c870930427377b9dfAngus Kong /** Sets the listener. */ 4901054e922aa547b937a71131ad04c6bd15356240Angus Kong void setFilmstripListener(FilmstripLayout.Listener listener); 5001054e922aa547b937a71131ad04c6bd15356240Angus Kong 511f9db2dfe59c33228103c54523281501ef52c9baAngus Kong /** 521f9db2dfe59c33228103c54523281501ef52c9baAngus Kong * Hides this panel with animation. 531f9db2dfe59c33228103c54523281501ef52c9baAngus Kong * 541f9db2dfe59c33228103c54523281501ef52c9baAngus Kong * @return {@code false} if already hidden. 551f9db2dfe59c33228103c54523281501ef52c9baAngus Kong */ 561f9db2dfe59c33228103c54523281501ef52c9baAngus Kong boolean animateHide(); 571f9db2dfe59c33228103c54523281501ef52c9baAngus Kong 588a2350a3d557465b53445685db0f9ac838cf90c5Angus Kong /** Hides this panel */ 59b2510252fb020f3ccb88787c870930427377b9dfAngus Kong void hide(); 60b2510252fb020f3ccb88787c870930427377b9dfAngus Kong 618a2350a3d557465b53445685db0f9ac838cf90c5Angus Kong /** Shows this panel */ 62b2510252fb020f3ccb88787c870930427377b9dfAngus Kong void show(); 63b2510252fb020f3ccb88787c870930427377b9dfAngus Kong 6401054e922aa547b937a71131ad04c6bd15356240Angus Kong /** 6501054e922aa547b937a71131ad04c6bd15356240Angus Kong * Called when the back key is pressed. 6601054e922aa547b937a71131ad04c6bd15356240Angus Kong * 6701054e922aa547b937a71131ad04c6bd15356240Angus Kong * @return Whether the UI responded to the key event. 6801054e922aa547b937a71131ad04c6bd15356240Angus Kong */ 6901054e922aa547b937a71131ad04c6bd15356240Angus Kong boolean onBackPressed(); 7001054e922aa547b937a71131ad04c6bd15356240Angus Kong} 71