Loading res/values/dimens.xml +4 −4 Original line number Diff line number Diff line Loading @@ -75,13 +75,13 @@ <dimen name="onscreen_indicators_height_xlarge">36dp</dimen> <dimen name="onscreen_exposure_indicator_text_size_xlarge">18dp</dimen> <dimen name="pie_radius_start">80dp</dimen> <dimen name="pie_radius_increment">60dp</dimen> <dimen name="pie_radius_increment">48dp</dimen> <dimen name="pie_touch_slop">12dp</dimen> <dimen name="pie_touch_offset">40dp</dimen> <dimen name="pie_touch_offset">32dp</dimen> <dimen name="pie_view_size">48dp</dimen> <dimen name="pie_arc_offset">48dp</dimen> <dimen name="pie_item_radius">206dp</dimen> <dimen name="pie_arc_radius">362dp</dimen> <dimen name="pie_item_radius">370dp</dimen> <dimen name="pie_arc_radius">214dp</dimen> <dimen name="focus_radius_offset">8dp</dimen> <dimen name="focus_inner_offset">24dp</dimen> <dimen name="focus_outer_stroke">3dp</dimen> Loading src/com/android/camera/PhotoMenu.java +16 −9 Original line number Diff line number Diff line Loading @@ -34,6 +34,15 @@ public class PhotoMenu extends PieController TimerSettingPopup.Listener, ListPrefSettingPopup.Listener { private static String TAG = "CAM_photomenu"; private static final int POS_HDR = 0; private static final int POS_EXP = 1; private static final int POS_MORE = 2; private static final int POS_FLASH = 3; private static final int POS_SWITCH = 4; private static final int POS_WB = 1; private static final int POS_SET = 2; private final String mSettingOff; private PhotoUI mUI; Loading @@ -53,20 +62,19 @@ public class PhotoMenu extends PieController super.initialize(group); mPopup = null; mSecondPopup = null; float sweep = (float) (SWEEP * Math.PI); PieItem item = null; // flash if (group.findPreference(CameraSettings.KEY_FLASH_MODE) != null) { item = makeItem(CameraSettings.KEY_FLASH_MODE, CENTER - sweep, sweep); item = makeItem(CameraSettings.KEY_FLASH_MODE, POS_FLASH, 5); mRenderer.addItem(item); } // exposure compensation item = makeItem(CameraSettings.KEY_EXPOSURE, CENTER + sweep, sweep); item = makeItem(CameraSettings.KEY_EXPOSURE, POS_EXP, 5); mRenderer.addItem(item); // camera switcher if (group.findPreference(CameraSettings.KEY_CAMERA_ID) != null) { item = makeItem(R.drawable.ic_switch_photo_facing_holo_light); item.setFixedSlice(CENTER - 2 * sweep, sweep); item.setPosition(POS_SWITCH, 5); item.setOnClickListener(new OnClickListener() { @Override public void onClick(PieItem item) { Loading @@ -88,7 +96,7 @@ public class PhotoMenu extends PieController // hdr if (group.findPreference(CameraSettings.KEY_CAMERA_HDR) != null) { item = makeItem(R.drawable.ic_hdr); item.setFixedSlice(CENTER + 2 * sweep, sweep); item.setPosition(POS_HDR, 5); item.setOnClickListener(new OnClickListener() { @Override public void onClick(PieItem item) { Loading @@ -108,11 +116,10 @@ public class PhotoMenu extends PieController // more settings PieItem more = makeItem(R.drawable.ic_settings_holo_light); more.setFixedSlice(CENTER, sweep); more.setPosition(POS_MORE, 5); mRenderer.addItem(more); // white balance item = makeItem(CameraSettings.KEY_WHITE_BALANCE, CENTER + sweep, sweep); item = makeItem(CameraSettings.KEY_WHITE_BALANCE, POS_WB, 5); more.addItem(item); // settings popup mOtherKeys = new String[] { Loading @@ -124,7 +131,7 @@ public class PhotoMenu extends PieController CameraSettings.KEY_TIMER_SOUND_EFFECTS, }; item = makeItem(R.drawable.ic_settings_holo_light); item.setFixedSlice(CENTER, sweep); item.setPosition(POS_SET, 5); item.setOnClickListener(new OnClickListener() { @Override public void onClick(PieItem item) { Loading src/com/android/camera/PieController.java +5 −16 Original line number Diff line number Diff line Loading @@ -37,10 +37,6 @@ public class PieController { protected static final int MODE_PHOTO = 0; protected static final int MODE_VIDEO = 1; protected static float CENTER = (float) Math.PI / 2; protected static final float SWEEP = 0.06f; protected CameraActivity mActivity; protected PreferenceGroup mPreferenceGroup; protected OnPreferenceChangedListener mListener; Loading Loading @@ -88,7 +84,7 @@ public class PieController { return new PieItem(drawable, 0); } public PieItem makeItem(String prefKey, float center, float sweep) { public PieItem makeItem(String prefKey, int position, int count) { final IconListPreference pref = (IconListPreference) mPreferenceGroup.findPreference(prefKey); if (pref == null) return null; Loading @@ -103,8 +99,7 @@ public class PieController { resid = pref.getSingleIcon(); } PieItem item = makeItem(resid); // use center and sweep to determine layout item.setFixedSlice(center, sweep); item.setPosition(position, count); mPreferences.add(pref); mPreferenceMap.put(pref, item); int nOfEntries = pref.getEntries().length; Loading @@ -116,7 +111,7 @@ public class PieController { } else { inner = makeItem(pref.getEntries()[i]); } layoutInner(inner, i, nOfEntries); inner.setPosition(i, nOfEntries); item.addItem(inner); final int index = i; inner.setOnClickListener(new OnClickListener() { Loading @@ -137,14 +132,8 @@ public class PieController { return item; } protected void layoutInner(PieItem item, int ix, int n) { float sweep = (float) (SWEEP * Math.PI);//FLOAT_PI_DIVIDED_BY_TWO / Math.max(n, 5); float start = CENTER + (n - 1) * (sweep / 2f); item.setFixedSlice(start - ix * sweep, sweep); } public void addItem(String prefKey, float center, float sweep) { PieItem item = makeItem(prefKey, center, sweep); public void addItem(String prefKey, int position, int count) { PieItem item = makeItem(prefKey, position, count); mRenderer.addItem(item); } Loading src/com/android/camera/VideoMenu.java +11 −6 Original line number Diff line number Diff line Loading @@ -34,6 +34,10 @@ public class VideoMenu extends PieController TimeIntervalPopup.Listener { private static String TAG = "CAM_VideoMenu"; private static final int POS_WB = 1; private static final int POS_SET = 2; private static final int POS_FLASH = 3; private static final int POS_SWITCH = 4; private VideoUI mUI; private String[] mOtherKeys; Loading @@ -53,13 +57,14 @@ public class VideoMenu extends PieController super.initialize(group); mPopup = null; mPopupStatus = POPUP_NONE; float sweep = (float)(SWEEP * Math.PI); addItem(CameraSettings.KEY_VIDEOCAMERA_FLASH_MODE, CENTER - sweep, sweep); addItem(CameraSettings.KEY_WHITE_BALANCE, CENTER + sweep, sweep); PieItem item = makeItem(CameraSettings.KEY_VIDEOCAMERA_FLASH_MODE, POS_FLASH, 5); mRenderer.addItem(item); item = makeItem(CameraSettings.KEY_WHITE_BALANCE, POS_WB, 5); mRenderer.addItem(item); // camera switcher PieItem item = makeItem(R.drawable.ic_switch_video_facing_holo_light); item.setFixedSlice(CENTER - 2 * sweep, sweep); item = makeItem(R.drawable.ic_switch_video_facing_holo_light); item.setPosition(POS_SWITCH, 5); item.setOnClickListener(new OnClickListener() { @Override Loading @@ -84,7 +89,7 @@ public class VideoMenu extends PieController CameraSettings.KEY_RECORD_LOCATION }; item = makeItem(R.drawable.ic_settings_holo_light); item.setFixedSlice(CENTER, sweep); item.setPosition(POS_SET, 5); item.setOnClickListener(new OnClickListener() { @Override public void onClick(PieItem item) { Loading src/com/android/camera/ui/PieItem.java +20 −53 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ package com.android.camera.ui; import android.content.Context; import android.graphics.Canvas; import android.graphics.Path; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import java.util.ArrayList; Loading @@ -36,12 +35,9 @@ public class PieItem { private Drawable mDrawable; private int level; private float mCenter; private float start; private float sweep; private float animate; private int inner; private int outer; private int mPosition; private int mCount; private boolean mSelected; private boolean mEnabled; private List<PieItem> mItems; Loading @@ -61,9 +57,19 @@ public class PieItem { setAlpha(1f); } mEnabled = true; setAnimationAngle(getAnimationAngle()); start = -1; mCenter = -1; } public void setPosition(int pos, int count) { mPosition = pos; mCount = count; } public int getPosition() { return mPosition; } public int getCount() { return mCount; } public boolean hasItems() { Loading @@ -85,6 +91,10 @@ public class PieItem { mItems = null; } public void setLevel(int level) { this.level = level; } public void setPath(Path p) { mPath = p; } Loading @@ -102,14 +112,6 @@ public class PieItem { mDrawable.setAlpha((int) (255 * alpha)); } public void setAnimationAngle(float a) { animate = a; } public float getAnimationAngle() { return animate; } public void setEnabled(boolean enabled) { mEnabled = enabled; if (mChangeAlphaWhenDisabled) { Loading Loading @@ -137,41 +139,6 @@ public class PieItem { return level; } public void setGeometry(float st, float sw, int inside, int outside) { start = st; sweep = sw; inner = inside; outer = outside; } public void setFixedSlice(float center, float sweep) { mCenter = center; this.sweep = sweep; } public float getCenter() { return mCenter; } public float getStart() { return start; } public float getStartAngle() { return start + animate; } public float getSweep() { return sweep; } public int getInnerRadius() { return inner; } public int getOuterRadius() { return outer; } public void setOnClickListener(OnClickListener listener) { mOnClickListener = listener; Loading Loading
res/values/dimens.xml +4 −4 Original line number Diff line number Diff line Loading @@ -75,13 +75,13 @@ <dimen name="onscreen_indicators_height_xlarge">36dp</dimen> <dimen name="onscreen_exposure_indicator_text_size_xlarge">18dp</dimen> <dimen name="pie_radius_start">80dp</dimen> <dimen name="pie_radius_increment">60dp</dimen> <dimen name="pie_radius_increment">48dp</dimen> <dimen name="pie_touch_slop">12dp</dimen> <dimen name="pie_touch_offset">40dp</dimen> <dimen name="pie_touch_offset">32dp</dimen> <dimen name="pie_view_size">48dp</dimen> <dimen name="pie_arc_offset">48dp</dimen> <dimen name="pie_item_radius">206dp</dimen> <dimen name="pie_arc_radius">362dp</dimen> <dimen name="pie_item_radius">370dp</dimen> <dimen name="pie_arc_radius">214dp</dimen> <dimen name="focus_radius_offset">8dp</dimen> <dimen name="focus_inner_offset">24dp</dimen> <dimen name="focus_outer_stroke">3dp</dimen> Loading
src/com/android/camera/PhotoMenu.java +16 −9 Original line number Diff line number Diff line Loading @@ -34,6 +34,15 @@ public class PhotoMenu extends PieController TimerSettingPopup.Listener, ListPrefSettingPopup.Listener { private static String TAG = "CAM_photomenu"; private static final int POS_HDR = 0; private static final int POS_EXP = 1; private static final int POS_MORE = 2; private static final int POS_FLASH = 3; private static final int POS_SWITCH = 4; private static final int POS_WB = 1; private static final int POS_SET = 2; private final String mSettingOff; private PhotoUI mUI; Loading @@ -53,20 +62,19 @@ public class PhotoMenu extends PieController super.initialize(group); mPopup = null; mSecondPopup = null; float sweep = (float) (SWEEP * Math.PI); PieItem item = null; // flash if (group.findPreference(CameraSettings.KEY_FLASH_MODE) != null) { item = makeItem(CameraSettings.KEY_FLASH_MODE, CENTER - sweep, sweep); item = makeItem(CameraSettings.KEY_FLASH_MODE, POS_FLASH, 5); mRenderer.addItem(item); } // exposure compensation item = makeItem(CameraSettings.KEY_EXPOSURE, CENTER + sweep, sweep); item = makeItem(CameraSettings.KEY_EXPOSURE, POS_EXP, 5); mRenderer.addItem(item); // camera switcher if (group.findPreference(CameraSettings.KEY_CAMERA_ID) != null) { item = makeItem(R.drawable.ic_switch_photo_facing_holo_light); item.setFixedSlice(CENTER - 2 * sweep, sweep); item.setPosition(POS_SWITCH, 5); item.setOnClickListener(new OnClickListener() { @Override public void onClick(PieItem item) { Loading @@ -88,7 +96,7 @@ public class PhotoMenu extends PieController // hdr if (group.findPreference(CameraSettings.KEY_CAMERA_HDR) != null) { item = makeItem(R.drawable.ic_hdr); item.setFixedSlice(CENTER + 2 * sweep, sweep); item.setPosition(POS_HDR, 5); item.setOnClickListener(new OnClickListener() { @Override public void onClick(PieItem item) { Loading @@ -108,11 +116,10 @@ public class PhotoMenu extends PieController // more settings PieItem more = makeItem(R.drawable.ic_settings_holo_light); more.setFixedSlice(CENTER, sweep); more.setPosition(POS_MORE, 5); mRenderer.addItem(more); // white balance item = makeItem(CameraSettings.KEY_WHITE_BALANCE, CENTER + sweep, sweep); item = makeItem(CameraSettings.KEY_WHITE_BALANCE, POS_WB, 5); more.addItem(item); // settings popup mOtherKeys = new String[] { Loading @@ -124,7 +131,7 @@ public class PhotoMenu extends PieController CameraSettings.KEY_TIMER_SOUND_EFFECTS, }; item = makeItem(R.drawable.ic_settings_holo_light); item.setFixedSlice(CENTER, sweep); item.setPosition(POS_SET, 5); item.setOnClickListener(new OnClickListener() { @Override public void onClick(PieItem item) { Loading
src/com/android/camera/PieController.java +5 −16 Original line number Diff line number Diff line Loading @@ -37,10 +37,6 @@ public class PieController { protected static final int MODE_PHOTO = 0; protected static final int MODE_VIDEO = 1; protected static float CENTER = (float) Math.PI / 2; protected static final float SWEEP = 0.06f; protected CameraActivity mActivity; protected PreferenceGroup mPreferenceGroup; protected OnPreferenceChangedListener mListener; Loading Loading @@ -88,7 +84,7 @@ public class PieController { return new PieItem(drawable, 0); } public PieItem makeItem(String prefKey, float center, float sweep) { public PieItem makeItem(String prefKey, int position, int count) { final IconListPreference pref = (IconListPreference) mPreferenceGroup.findPreference(prefKey); if (pref == null) return null; Loading @@ -103,8 +99,7 @@ public class PieController { resid = pref.getSingleIcon(); } PieItem item = makeItem(resid); // use center and sweep to determine layout item.setFixedSlice(center, sweep); item.setPosition(position, count); mPreferences.add(pref); mPreferenceMap.put(pref, item); int nOfEntries = pref.getEntries().length; Loading @@ -116,7 +111,7 @@ public class PieController { } else { inner = makeItem(pref.getEntries()[i]); } layoutInner(inner, i, nOfEntries); inner.setPosition(i, nOfEntries); item.addItem(inner); final int index = i; inner.setOnClickListener(new OnClickListener() { Loading @@ -137,14 +132,8 @@ public class PieController { return item; } protected void layoutInner(PieItem item, int ix, int n) { float sweep = (float) (SWEEP * Math.PI);//FLOAT_PI_DIVIDED_BY_TWO / Math.max(n, 5); float start = CENTER + (n - 1) * (sweep / 2f); item.setFixedSlice(start - ix * sweep, sweep); } public void addItem(String prefKey, float center, float sweep) { PieItem item = makeItem(prefKey, center, sweep); public void addItem(String prefKey, int position, int count) { PieItem item = makeItem(prefKey, position, count); mRenderer.addItem(item); } Loading
src/com/android/camera/VideoMenu.java +11 −6 Original line number Diff line number Diff line Loading @@ -34,6 +34,10 @@ public class VideoMenu extends PieController TimeIntervalPopup.Listener { private static String TAG = "CAM_VideoMenu"; private static final int POS_WB = 1; private static final int POS_SET = 2; private static final int POS_FLASH = 3; private static final int POS_SWITCH = 4; private VideoUI mUI; private String[] mOtherKeys; Loading @@ -53,13 +57,14 @@ public class VideoMenu extends PieController super.initialize(group); mPopup = null; mPopupStatus = POPUP_NONE; float sweep = (float)(SWEEP * Math.PI); addItem(CameraSettings.KEY_VIDEOCAMERA_FLASH_MODE, CENTER - sweep, sweep); addItem(CameraSettings.KEY_WHITE_BALANCE, CENTER + sweep, sweep); PieItem item = makeItem(CameraSettings.KEY_VIDEOCAMERA_FLASH_MODE, POS_FLASH, 5); mRenderer.addItem(item); item = makeItem(CameraSettings.KEY_WHITE_BALANCE, POS_WB, 5); mRenderer.addItem(item); // camera switcher PieItem item = makeItem(R.drawable.ic_switch_video_facing_holo_light); item.setFixedSlice(CENTER - 2 * sweep, sweep); item = makeItem(R.drawable.ic_switch_video_facing_holo_light); item.setPosition(POS_SWITCH, 5); item.setOnClickListener(new OnClickListener() { @Override Loading @@ -84,7 +89,7 @@ public class VideoMenu extends PieController CameraSettings.KEY_RECORD_LOCATION }; item = makeItem(R.drawable.ic_settings_holo_light); item.setFixedSlice(CENTER, sweep); item.setPosition(POS_SET, 5); item.setOnClickListener(new OnClickListener() { @Override public void onClick(PieItem item) { Loading
src/com/android/camera/ui/PieItem.java +20 −53 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ package com.android.camera.ui; import android.content.Context; import android.graphics.Canvas; import android.graphics.Path; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import java.util.ArrayList; Loading @@ -36,12 +35,9 @@ public class PieItem { private Drawable mDrawable; private int level; private float mCenter; private float start; private float sweep; private float animate; private int inner; private int outer; private int mPosition; private int mCount; private boolean mSelected; private boolean mEnabled; private List<PieItem> mItems; Loading @@ -61,9 +57,19 @@ public class PieItem { setAlpha(1f); } mEnabled = true; setAnimationAngle(getAnimationAngle()); start = -1; mCenter = -1; } public void setPosition(int pos, int count) { mPosition = pos; mCount = count; } public int getPosition() { return mPosition; } public int getCount() { return mCount; } public boolean hasItems() { Loading @@ -85,6 +91,10 @@ public class PieItem { mItems = null; } public void setLevel(int level) { this.level = level; } public void setPath(Path p) { mPath = p; } Loading @@ -102,14 +112,6 @@ public class PieItem { mDrawable.setAlpha((int) (255 * alpha)); } public void setAnimationAngle(float a) { animate = a; } public float getAnimationAngle() { return animate; } public void setEnabled(boolean enabled) { mEnabled = enabled; if (mChangeAlphaWhenDisabled) { Loading Loading @@ -137,41 +139,6 @@ public class PieItem { return level; } public void setGeometry(float st, float sw, int inside, int outside) { start = st; sweep = sw; inner = inside; outer = outside; } public void setFixedSlice(float center, float sweep) { mCenter = center; this.sweep = sweep; } public float getCenter() { return mCenter; } public float getStart() { return start; } public float getStartAngle() { return start + animate; } public float getSweep() { return sweep; } public int getInnerRadius() { return inner; } public int getOuterRadius() { return outer; } public void setOnClickListener(OnClickListener listener) { mOnClickListener = listener; Loading