summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/TsMakeupManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/camera/TsMakeupManager.java')
-rw-r--r--src/com/android/camera/TsMakeupManager.java476
1 files changed, 0 insertions, 476 deletions
diff --git a/src/com/android/camera/TsMakeupManager.java b/src/com/android/camera/TsMakeupManager.java
deleted file mode 100644
index db3505b45..000000000
--- a/src/com/android/camera/TsMakeupManager.java
+++ /dev/null
@@ -1,476 +0,0 @@
-/*
-* Copyright (C) 2014,2015 Thundersoft Corporation
-* All rights Reserved
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-package com.android.camera;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.text.TextUtils;
-import android.util.Log;
-import android.view.Display;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.view.WindowManager;
-import android.widget.FrameLayout;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.RelativeLayout;
-import android.widget.SeekBar;
-import android.widget.TextView;
-import android.widget.LinearLayout.LayoutParams;
-import android.widget.SeekBar.OnSeekBarChangeListener;
-
-import com.android.camera.ui.RotateLayout;
-import com.android.camera.util.CameraUtil;
-
-import org.codeaurora.snapcam.R;
-
-public class TsMakeupManager implements OnSeekBarChangeListener {
- private static final String TAG = "TsMakeupManager";
- private PhotoUI mUI;
- private PhotoMenu mMenu;
- private CameraActivity mActivity;
- private PreferenceGroup mPreferenceGroup;
- private View mTsMakeupSwitcher;
-
- private RelativeLayout mMakeupLayoutRoot;
- private LinearLayout mMakeupLevelRoot;
- private LinearLayout mMakeupSingleRoot;
-
- public static final String MAKEUP_ON = "On";
- public static final String MAKEUP_OFF = "Off";
- public static final String MAKEUP_NONE = "none";
-
- private static final int MODE_NONE = 0;
- private static final int MODE_WHITEN = 1;
- private static final int MODE_CLEAN = 2;
- private int mMode = MODE_NONE;
- private int mSingleSelectedIndex = MODE_NONE;
-
- private static final int MAKEUP_UI_STATUS_NONE = 0;
- private static final int MAKEUP_UI_STATUS_ON = 1;
- private static final int MAKEUP_UI_STATUS_OFF = 2;
- private static final int MAKEUP_UI_STATUS_DISMISS = 3;
- private int mMakeupUIStatus = MAKEUP_UI_STATUS_NONE;
-
- private static final int CLICK_THRESHOLD = 200;
-
- public static final boolean HAS_TS_MAKEUP = android.os.SystemProperties.getBoolean("persist.ts.rtmakeup", false);
-
- private MakeupLevelListener mMakeupLevelListener;
- interface MakeupLevelListener {
- void onMakeupLevel(String key, String value);
- }
-
- public void setMakeupLevelListener(MakeupLevelListener l) {
- mMakeupLevelListener = l;
- }
-
- public TsMakeupManager(CameraActivity activity, PhotoMenu menu, PhotoUI ui, PreferenceGroup preferenceGroup, View makeupSwitcher) {
- mActivity = activity;
- mUI = ui;
- mMenu = menu;
- mPreferenceGroup = preferenceGroup;
- mTsMakeupSwitcher = makeupSwitcher;
-
- mMakeupLayoutRoot = (RelativeLayout) mUI.getRootView().findViewById(R.id.id_tsmakeup_level_layout_root);
-
- mMakeupUIStatus = MAKEUP_UI_STATUS_NONE;
- }
-
- public View getMakeupLayoutRoot() {
- return mMakeupLayoutRoot;
- }
-
- public boolean isShowMakeup() {
- return mMakeupLayoutRoot != null && mMakeupLayoutRoot.isShown();
- }
-
- public void removeAllViews() {
- if(mMakeupSingleRoot != null) {
- mMakeupSingleRoot.removeAllViews();
- mMakeupSingleRoot = null;
- }
- if(mMakeupLevelRoot != null) {
- mMakeupLevelRoot.removeAllViews();
- mMakeupLevelRoot = null;
- }
- if(mMakeupLayoutRoot != null) {
- mMakeupLayoutRoot.removeAllViews();
- }
- }
-
- public void dismissMakeupUI() {
- mMakeupUIStatus = MAKEUP_UI_STATUS_DISMISS;
- removeAllViews();
- if(mMakeupLayoutRoot != null) {
- mMakeupLayoutRoot.setVisibility(View.GONE);
- }
- }
-
- public void resetMakeupUIStatus() {
- mMakeupUIStatus = MAKEUP_UI_STATUS_NONE;
- }
-
- private void changeMakeupIcon(String value) {
- if( !TextUtils.isEmpty(value) ) {
- String prefValue = MAKEUP_ON;
- if(MAKEUP_OFF.equals(value)) {
- prefValue = MAKEUP_OFF;
- }
- final IconListPreference pref = (IconListPreference) mPreferenceGroup
- .findPreference(CameraSettings.KEY_TS_MAKEUP_UILABLE);
- if(pref == null)
- return;
- pref.setValue(prefValue);
- int index = pref.getCurrentIndex();
- ImageView iv = (ImageView) mTsMakeupSwitcher;
- iv.setImageResource(((IconListPreference) pref).getLargeIconIds()[index]);
- pref.setMakeupSeekBarValue(prefValue);
- }
- }
-
- public void hideMakeupUI() {
- final IconListPreference pref = (IconListPreference) mPreferenceGroup
- .findPreference(CameraSettings.KEY_TS_MAKEUP_UILABLE);
- if(pref == null)
- return;
- mMakeupUIStatus = MAKEUP_UI_STATUS_NONE;
- String tsMakeupOn = pref.getValue();
- Log.d(TAG, "TsMakeupManager.hideMakeupUI(): tsMakeupOn is " + tsMakeupOn);
- if(MAKEUP_ON.equals(tsMakeupOn)) {
- int index = pref.findIndexOfValue(pref.getValue());
- CharSequence[] values = pref.getEntryValues();
- index = (index + 1) % values.length;
- pref.setMakeupSeekBarValue((String)values[index]);
- ImageView iv = (ImageView) mTsMakeupSwitcher;
- iv.setImageResource(((IconListPreference) pref).getLargeIconIds()[index]);
- mMakeupLevelListener.onMakeupLevel(CameraSettings.KEY_TS_MAKEUP_LEVEL, pref.getValue());
-
- IconListPreference levelPref = (IconListPreference) mPreferenceGroup
- .findPreference(CameraSettings.KEY_TS_MAKEUP_LEVEL);
- levelPref.setValueIndex(0); //Turn Off the Makeup feature;
-
-
- mMakeupLayoutRoot.setVisibility(View.GONE);
- mMakeupLayoutRoot.removeAllViews();
- if(mMakeupSingleRoot != null) {
- mMakeupSingleRoot.removeAllViews();
- mMakeupSingleRoot = null;
- }
- if(mMakeupLevelRoot != null) {
- mMakeupLevelRoot.removeAllViews();
- mMakeupLevelRoot = null;
- }
- }
- }
-
- public void showMakeupView() {
- mMakeupUIStatus = MAKEUP_UI_STATUS_OFF;
- mMakeupLayoutRoot.setVisibility(View.GONE);
- mMakeupLayoutRoot.removeAllViews();
- if(mMakeupSingleRoot != null) {
- mMakeupSingleRoot.removeAllViews();
- mMakeupSingleRoot = null;
- }
- if(mMakeupLevelRoot != null) {
- mMakeupLevelRoot.removeAllViews();
- mMakeupLevelRoot = null;
- }
-
- if(mMakeupSingleRoot != null && mMakeupSingleRoot.getVisibility() == View.VISIBLE) {
- showSingleView(MAKEUP_NONE);
- return;
- }
-
- if(mMakeupUIStatus == MAKEUP_UI_STATUS_DISMISS)
- return;
-
- mMakeupLayoutRoot.setVisibility(View.VISIBLE);
- final IconListPreference pref = (IconListPreference) mPreferenceGroup
- .findPreference(CameraSettings.KEY_TS_MAKEUP_LEVEL);
- if (pref == null)
- return;
-
- if(mMakeupLevelRoot != null) {
- mMakeupLevelRoot.removeAllViews();
- mMakeupLevelRoot = null;
- }
- mMakeupLayoutRoot.removeAllViews();
-
- mMakeupUIStatus = MAKEUP_UI_STATUS_ON;
-
- int rotation = CameraUtil.getDisplayRotation(mActivity);
- boolean mIsDefaultToPortrait = CameraUtil.isDefaultToPortrait(mActivity);
- if (!mIsDefaultToPortrait) {
- rotation = (rotation + 90) % 360;
- }
- CharSequence[] entries = pref.getEntries();
- int[] thumbnails = pref.getThumbnailIds();
-
- WindowManager wm = (WindowManager) mActivity.getSystemService(Context.WINDOW_SERVICE);
- Display display = wm.getDefaultDisplay();
- int width = display.getWidth();
- int height = display.getHeight();
- Resources r = mActivity.getResources();
- int margin = (int) (r.getDimension(R.dimen.tsmakeup_mode_paddingBottom));
- int levelBgSize = (int) (r.getDimension(R.dimen.tsmakeup_mode_level_size));
-
- Log.d(TAG, "TsMakeupManager.showMakeupView(): rotation is " + rotation + ", WH is (" + width + ", " + height + "), margin is "
- + margin + ", levelBgSize is " + levelBgSize);
-
- int gridRes = 0;
- boolean portrait = (rotation == 0) || (rotation == 180);
- int size = height;
- if (portrait) {
- gridRes = R.layout.ts_makeup_level_view_port;
- size = width;
- } else {
- gridRes = R.layout.ts_makeup_level_view_land;
- size = height;
- }
- int itemWidth = size / entries.length;
-
- LayoutInflater inflater = (LayoutInflater) mActivity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-
- LinearLayout layout = (LinearLayout) inflater.inflate(gridRes, null, false);
- mMakeupLevelRoot = layout;
- mUI.setMakeupMenuLayout(layout);
-
- LinearLayout.LayoutParams params = null;
- if(portrait) {
- params = new LayoutParams(itemWidth, itemWidth);
- params.gravity = Gravity.CENTER_VERTICAL;
- } else {
- params = new LayoutParams(itemWidth, itemWidth);
- params.gravity = Gravity.CENTER_HORIZONTAL;
- }
-
- RelativeLayout.LayoutParams rootParams = null;
- if(rotation == 0) {
- rootParams = new RelativeLayout.LayoutParams(size, levelBgSize);
-// rootParams.bottomMargin = margin;
- rootParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
- } else if(rotation == 90) {
- rootParams = new RelativeLayout.LayoutParams(levelBgSize, size);
-// rootParams.rightMargin = margin;
- rootParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
- } else if(rotation == 180) {
- rootParams = new RelativeLayout.LayoutParams(size, levelBgSize);
-// rootParams.topMargin = margin;
- rootParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
- } else if(rotation == 270) {
- rootParams = new RelativeLayout.LayoutParams(levelBgSize, size);
-// rootParams.leftMargin = margin;
- rootParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
- }
-
- final View[] views = new View[entries.length];
- int init = pref.getCurrentIndex();
- for (int i = 0; i < entries.length; i++) {
- RotateLayout layout2 = (RotateLayout) inflater.inflate(
- R.layout.ts_makeup_item_view, null, false);
-
- ImageView imageView = (ImageView) layout2.findViewById(R.id.image);
- TextView label = (TextView) layout2.findViewById(R.id.label);
- final int j = i;
-
- layout2.setOnTouchListener(new View.OnTouchListener() {
- private long startTime;
-
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- if (event.getAction() == MotionEvent.ACTION_DOWN) {
- startTime = System.currentTimeMillis();
- } else if (event.getAction() == MotionEvent.ACTION_UP) {
- if (System.currentTimeMillis() - startTime < CLICK_THRESHOLD) {
- pref.setValueIndex(j);
- changeMakeupIcon(pref.getValue());
- mMakeupLevelListener.onMakeupLevel(pref.getKey(), pref.getValue());
- for (View v1 : views) {
- v1.setSelected(false);
- }
- View border = v.findViewById(R.id.image);
- border.setSelected(true);
-
- showSingleView(pref.getValue());
- mUI.adjustOrientation();
- }
- }
- return true;
- }
- });
-
- View border = layout2.findViewById(R.id.image);
- views[j] = border;
- if (i == init) {
- border.setSelected(true);
- }
- imageView.setImageResource(thumbnails[i]);
- label.setText(entries[i]);
- layout.addView(layout2, params);
- }
- mMakeupLayoutRoot.addView(layout, rootParams);
- }
-
- private void showSingleView(String value) {
- if(MAKEUP_NONE.equals(value)) {
- if(mMakeupSingleRoot != null) {
- mMakeupSingleRoot.removeAllViews();
- mMakeupSingleRoot = null;
- }
- mMakeupLayoutRoot.removeAllViews();
- int rotation = CameraUtil.getDisplayRotation(mActivity);
- boolean mIsDefaultToPortrait = CameraUtil.isDefaultToPortrait(mActivity);
- if (!mIsDefaultToPortrait) {
- rotation = (rotation + 90) % 360;
- }
-
- WindowManager wm = (WindowManager) mActivity.getSystemService(Context.WINDOW_SERVICE);
- Display display = wm.getDefaultDisplay();
- int width = display.getWidth();
- int height = display.getHeight();
- Resources r = mActivity.getResources();
- int margin = (int) (r.getDimension(R.dimen.tsmakeup_mode_paddingBottom));
- int levelBgSize = (int) (r.getDimension(R.dimen.tsmakeup_mode_level_size));
-
- Log.d(TAG, "TsMakeupManager.showSingleView(): rotation is " + rotation + ", WH is (" + width + ", " + height + "), margin is "
- + margin + ", levelBgSize is " + levelBgSize);
-
- int gridRes = R.layout.ts_makeup_single_level_view_port;
- int size = width;
-
- LayoutInflater inflater = (LayoutInflater) mActivity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-
- final LinearLayout layout = (LinearLayout) inflater.inflate(gridRes, null, false);
- mMakeupSingleRoot = layout;
- mUI.setMakeupMenuLayout(layout);
-
- RelativeLayout.LayoutParams rootParams = new RelativeLayout.LayoutParams(size, android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT);
- rootParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
-
- mMakeupLayoutRoot.addView(layout, rootParams);
- final SeekBar seekBar = (SeekBar) layout.findViewById(R.id.seekbar_makeup_level);
- seekBar.setOnSeekBarChangeListener(this);
- setSingleView(layout);
-
- mMode = MODE_NONE;
-
- layout.findViewById(R.id.id_layout_makeup_back).setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- mMakeupSingleRoot.removeAllViews();
- mMakeupLayoutRoot.removeView(mMakeupSingleRoot);
- mMakeupSingleRoot = null;
-
- mSingleSelectedIndex = MODE_NONE;
- mMode = MODE_NONE;
-
- showMakeupView();
- mUI.adjustOrientation();
- }
- });
-
- layout.findViewById(R.id.id_layout_makeup_whiten).setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- if(mMode == MODE_WHITEN) {
- seekBar.setVisibility(View.GONE);
- mMode = MODE_NONE;
- return;
- }
- mSingleSelectedIndex = MODE_WHITEN;
- seekBar.setVisibility(View.VISIBLE);
- seekBar.setProgress(getPrefValue(CameraSettings.KEY_TS_MAKEUP_LEVEL_WHITEN));
- mMode = MODE_WHITEN;
- setSingleView(layout);
- }
- });
-
- layout.findViewById(R.id.id_layout_makeup_clean).setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- if(mMode == MODE_CLEAN) {
- seekBar.setVisibility(View.GONE);
- mMode = MODE_NONE;
- return;
- }
- mSingleSelectedIndex = MODE_CLEAN;
- seekBar.setVisibility(View.VISIBLE);
- seekBar.setProgress(getPrefValue(CameraSettings.KEY_TS_MAKEUP_LEVEL_CLEAN));
- mMode = MODE_CLEAN;
- setSingleView(layout);
- }
- });
- }
- }
-
- private void setSingleView(LinearLayout layout) {
- if(mSingleSelectedIndex == MODE_WHITEN) {
- layout.findViewById(R.id.id_iv_makeup_whiten).setSelected(true);
- layout.findViewById(R.id.id_iv_makeup_clean).setSelected(false);
- } else if(mSingleSelectedIndex == MODE_CLEAN) {
- layout.findViewById(R.id.id_iv_makeup_whiten).setSelected(false);
- layout.findViewById(R.id.id_iv_makeup_clean).setSelected(true);
- }
- }
-
- @Override
- public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
- }
-
- @Override
- public void onStartTrackingTouch(SeekBar seekBar) {
-
- }
-
- @Override
- public void onStopTrackingTouch(SeekBar seekBar) {
- setSeekbarValue(seekBar.getProgress());
- }
-
- private void setSeekbarValue(int value) {
- String key = CameraSettings.KEY_TS_MAKEUP_LEVEL_WHITEN;
- if(mMode == MODE_CLEAN) {
- key = CameraSettings.KEY_TS_MAKEUP_LEVEL_CLEAN;
- }
- Log.d(TAG, "TsMakeupManager.onStopTrackingTouch(): value is " + value + ", key is " + key);
- setEffectValue(key, String.valueOf(value));
- }
-
- private void setEffectValue(String key, String value) {
- final ListPreference pref = (ListPreference) mPreferenceGroup.findPreference(key);
- if (pref == null)
- return;
-
- pref.setMakeupSeekBarValue(value);
- mMakeupLevelListener.onMakeupLevel(key, value);
- }
-
- private int getPrefValue(String key) {
- ListPreference pref = mPreferenceGroup.findPreference(key);
- String value = pref.getValue();
- Log.d(TAG, "TsMakeupManager.getPrefValue(): value is " + value + ", key is " + key);
- if(TextUtils.isEmpty(value)) {
- value = mActivity.getString(R.string.pref_camera_tsmakeup_level_default);
- }
- return Integer.parseInt(value);
- }
-}