1ed15d1a140986473bbe7fffd72ec9618c41c5979Angus Kongpackage com.android.camera.app; 2ad08811a71e246d45ecdf97402f08cf7bd68e83bChih-Chung Chang 39f1db5210361802a30a7866825c3b29ef5fe0024Angus Kongimport android.os.Handler; 4ad08811a71e246d45ecdf97402f08cf7bd68e83bChih-Chung Changimport android.view.OrientationEventListener; 5ad08811a71e246d45ecdf97402f08cf7bd68e83bChih-Chung Chang 69f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong/** 79f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong * An interface which defines the orientation manager. 89f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong */ 99f1db5210361802a30a7866825c3b29ef5fe0024Angus Kongpublic interface OrientationManager { 109f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong public final static int ORIENTATION_UNKNOWN = OrientationEventListener.ORIENTATION_UNKNOWN; 11ad08811a71e246d45ecdf97402f08cf7bd68e83bChih-Chung Chang 129f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong public interface OnOrientationChangeListener { 139f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong /** 149f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong * Called when the orientation changes. 159f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong * 169f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong * @param orientation The current orientation. 179f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong */ 189f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong public void onOrientationChanged(int orientation); 19ad08811a71e246d45ecdf97402f08cf7bd68e83bChih-Chung Chang } 20ad08811a71e246d45ecdf97402f08cf7bd68e83bChih-Chung Chang 219f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong /** 229f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong * Adds the 239f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong * {@link com.android.camera.app.OrientationManager.OnOrientationChangeListener}. 249f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong */ 259f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong public void addOnOrientationChangeListener( 269f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong Handler handler, OnOrientationChangeListener listener); 27ad08811a71e246d45ecdf97402f08cf7bd68e83bChih-Chung Chang 289f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong /** 299f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong * Removes the listener. 309f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong */ 319f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong public void removeOnOrientationChangeListener( 329f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong Handler handler, OnOrientationChangeListener listener); 33ad08811a71e246d45ecdf97402f08cf7bd68e83bChih-Chung Chang 34ce2b94917098f211cacaaebaa0f6b40021d3e3faAngus Kong /** 35ce2b94917098f211cacaaebaa0f6b40021d3e3faAngus Kong * Lock the framework orientation to the current device orientation 36ce2b94917098f211cacaaebaa0f6b40021d3e3faAngus Kong * rotates. No effect if the system setting of auto-rotation is off. 37ce2b94917098f211cacaaebaa0f6b40021d3e3faAngus Kong */ 389f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong void lockOrientation(); 39a314235e093032c2d6cdd1f1d3f6b5c10c3e75a7Your Name 40ce2b94917098f211cacaaebaa0f6b40021d3e3faAngus Kong /** 41ce2b94917098f211cacaaebaa0f6b40021d3e3faAngus Kong * Unlock the framework orientation, so it can change when the device 42ce2b94917098f211cacaaebaa0f6b40021d3e3faAngus Kong * rotates. No effect if the system setting of auto-rotation is off. 43ce2b94917098f211cacaaebaa0f6b40021d3e3faAngus Kong */ 449f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong void unlockOrientation(); 45ad08811a71e246d45ecdf97402f08cf7bd68e83bChih-Chung Chang 469dc4262cea73123b2a73cc0b0f762bb9ce2d5622Angus Kong /** @return Whether the orientation is locked by the app or the system. */ 479dc4262cea73123b2a73cc0b0f762bb9ce2d5622Angus Kong boolean isOrientationLocked(); 489dc4262cea73123b2a73cc0b0f762bb9ce2d5622Angus Kong 499f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong /** 509f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong * Returns the display rotation degrees relative to the natural orientation 519f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong * in clockwise. 529f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong * 539f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong * @return 0, 90, 180, or 270. 549f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong */ 559f1db5210361802a30a7866825c3b29ef5fe0024Angus Kong int getDisplayRotation(); 56ed15d1a140986473bbe7fffd72ec9618c41c5979Angus Kong} 57