diff options
Diffstat (limited to 'src/com/android/camera/PhotoMenu.java')
-rw-r--r-- | src/com/android/camera/PhotoMenu.java | 51 |
1 files changed, 23 insertions, 28 deletions
diff --git a/src/com/android/camera/PhotoMenu.java b/src/com/android/camera/PhotoMenu.java index 04346ebff..8a91df2bc 100644 --- a/src/com/android/camera/PhotoMenu.java +++ b/src/com/android/camera/PhotoMenu.java @@ -52,6 +52,7 @@ import android.widget.FrameLayout.LayoutParams; import com.android.camera.CameraPreference.OnPreferenceChangedListener; import com.android.camera.TsMakeupManager.MakeupLevelListener; import com.android.camera.app.CameraApp; +import com.android.camera.ui.CameraRootView; import com.android.camera.ui.CountdownTimerPopup; import com.android.camera.ui.ListSubMenu; import com.android.camera.ui.ListMenu; @@ -62,8 +63,6 @@ import com.android.camera.ui.RotateTextToast; import org.codeaurora.snapcam.R; import android.widget.HorizontalScrollView; import android.view.ViewGroup; -import android.view.WindowManager; -import android.view.Display; import com.android.camera.util.CameraUtil; import java.util.Locale; @@ -995,8 +994,6 @@ public class PhotoMenu extends MenuController if (!mIsDefaultToPortrait) { rotation = (rotation + 90) % 360; } - WindowManager wm = (WindowManager) mActivity.getSystemService(Context.WINDOW_SERVICE); - Display display = wm.getDefaultDisplay(); CharSequence[] entries = pref.getEntries(); CharSequence[] entryValues = pref.getEntryValues(); @@ -1025,26 +1022,26 @@ public class PhotoMenu extends MenuController LayoutInflater inflater = (LayoutInflater) mActivity.getSystemService( Context.LAYOUT_INFLATER_SERVICE); - FrameLayout basic = (FrameLayout) inflater.inflate( - gridRes, null, false); + FrameLayout basic = (FrameLayout) inflater.inflate(gridRes, null, false); mUI.dismissSceneModeMenu(); - LinearLayout previewMenuLayout = new LinearLayout(mActivity); - mUI.setPreviewMenuLayout(previewMenuLayout); + mUI.setPreviewMenuLayout(basic); ViewGroup.LayoutParams params = null; + CameraRootView rootView = mUI.getRootView(); if (portrait) { params = new ViewGroup.LayoutParams(size, LayoutParams.MATCH_PARENT); - previewMenuLayout.setLayoutParams(params); - ((ViewGroup) mUI.getRootView()).addView(previewMenuLayout); } else { params = new ViewGroup.LayoutParams(LayoutParams.MATCH_PARENT, size); - previewMenuLayout.setLayoutParams(params); - ((ViewGroup) mUI.getRootView()).addView(previewMenuLayout); - previewMenuLayout.setY(display.getHeight() - size); + + int rootViewBottom = rootView.getClientRectForOrientation(rotation).bottom; + basic.setY(rootViewBottom - size); } - basic.setLayoutParams(new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, - LayoutParams.MATCH_PARENT)); + basic.setLayoutParams(params); + rootView.addView(basic); + LinearLayout layout = (LinearLayout) basic.findViewById(R.id.layout); + Rect insets = rootView.getInsetsForOrientation(rotation); + layout.setPadding(insets.left, insets.top, insets.right, insets.bottom); final View[] views = new View[entries.length]; int init = pref.getCurrentIndex(); @@ -1099,7 +1096,6 @@ public class PhotoMenu extends MenuController layout2.setVisibility(View.GONE); } } - previewMenuLayout.addView(basic); mPreviewMenu = basic; } @@ -1146,8 +1142,6 @@ public class PhotoMenu extends MenuController if (!mIsDefaultToPortrait) { rotation = (rotation + 90) % 360; } - WindowManager wm = (WindowManager) mActivity.getSystemService(Context.WINDOW_SERVICE); - Display display = wm.getDefaultDisplay(); CharSequence[] entries = pref.getEntries(); Resources r = mActivity.getResources(); @@ -1178,22 +1172,24 @@ public class PhotoMenu extends MenuController gridRes, null, false); mUI.dismissSceneModeMenu(); - LinearLayout previewMenuLayout = new LinearLayout(mActivity); - mUI.setPreviewMenuLayout(previewMenuLayout); + mUI.setPreviewMenuLayout(basic); ViewGroup.LayoutParams params = null; + CameraRootView rootView = mUI.getRootView(); if (portrait) { params = new ViewGroup.LayoutParams(size, LayoutParams.MATCH_PARENT); - previewMenuLayout.setLayoutParams(params); - ((ViewGroup) mUI.getRootView()).addView(previewMenuLayout); } else { params = new ViewGroup.LayoutParams(LayoutParams.MATCH_PARENT, size); - previewMenuLayout.setLayoutParams(params); - ((ViewGroup) mUI.getRootView()).addView(previewMenuLayout); - previewMenuLayout.setY(display.getHeight() - size); + + int rootViewBottom = rootView.getClientRectForOrientation(rotation).bottom; + basic.setY(rootViewBottom - size); } - basic.setLayoutParams(new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, - LayoutParams.MATCH_PARENT)); + basic.setLayoutParams(params); + rootView.addView(basic); + LinearLayout layout = (LinearLayout) basic.findViewById(R.id.layout); + Rect insets = rootView.getInsetsForOrientation(rotation); + layout.setPadding(insets.left, insets.top, insets.right, insets.bottom); + final View[] views = new View[entries.length]; int init = pref.getCurrentIndex(); for (int i = 0; i < entries.length; i++) { @@ -1230,7 +1226,6 @@ public class PhotoMenu extends MenuController label.setText(entries[i]); layout.addView(layout2); } - previewMenuLayout.addView(basic); mPreviewMenu = basic; } |