123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978 |
- package kr.co.icontrols.wallpadmain.popup;
- import com.artncore.WallPadDataMgr.WallpadStatusData;
- import com.artncore.commons.DataClasses;
- import com.artncore.commons.Sdb_DataClasses;
- import com.artncore.commons.define;
- import com.artncore.wallpadapi.Sdb_LivingRoomLightAPI;
- import com.artncore.wallpadapi.WallPadAPI;
- import android.content.Context;
- import android.content.Intent;
- import android.graphics.Bitmap;
- import android.graphics.BitmapFactory;
- import android.graphics.Color;
- import android.graphics.drawable.Drawable;
- import android.os.Handler;
- import android.os.Looper;
- import android.os.Message;
- import android.util.Log;
- import android.view.Gravity;
- import android.view.MotionEvent;
- import android.view.View;
- import android.widget.ImageView;
- import android.widget.RelativeLayout;
- import android.widget.SeekBar;
- import com.util.LogUtil;
- import kr.co.icontrols.wallpadmain.MainActivity;
- import kr.co.icontrols.wallpadmain.PopupActivity;
- import kr.co.icontrols.wallpadmain.R;
- import kr.co.icontrols.wallpadmain.declare.*;
- import kr.co.icontrols.wallpadmain.util.POSITION;
- import kr.co.icontrols.wallpadsupport.*;
- import kr.co.icontrols.wallpadsupport.WpadImageView.TOUCH_KIND;
- import kr.co.icontrols.wallpadsupport.WpadSound.SND;
- public class ConfigurePreset extends WpadScreen {
- String TAG = "ConfigurePreset";
- Context mContext;
- WpadImageView IMG_BACKGROUND;
- WpadImageView BTN_CLOSE, BTN_SAVE, BTN_CANCEL;
- WpadTextView TXT_TITLE, TXT_SUBTITLE_01, TXT_SUBTITLE_02;
- int nTitleSize = 35;
- int nSubTitleSize = 25;
- String[] strTitle = { "독서 모드 설정", "휴식 모드 설정", "영화 모드 설정", "사용자 모드 설정" };
- private int nLivinglightPresetID = 0 ;
- private String strPresetInfo = null; // "Preset ID/전원:디밍:색온도" Ex) 1/on:10:1
- // [Class]
- /**
- * 에너지미터 데이터
- **/
- private class EMData {
- Sdb_DataClasses.LivingEnergyMeterClass NewLivingEM;
- boolean ControlType; //false:밝기, true:색상
- public EMData() {
- ControlType = false;
- NewLivingEM = new Sdb_DataClasses.LivingEnergyMeterClass();
- }
- }
- private EMData mEMData = null;
- // [SeekBar Value]
- WpadImageView IMG_BACK_SEEKBAR_DIM;
- WpadImageView IMG_BACK_SEEKBAR_COLOR;
- SeekBar SEEKBAR_CTRL_LIGHT_DIM;
- SeekBar SEEKBAR_CTRL_LIGHT_COLOR;
- public static final int step = 1;
- public static final int max = 100;
- public static final int min = 10;
- public int DimSeekBarValue = 10;
- public int ColorSeekBarValue = 10;
- public String BR_CTRL_LIGHT_LIVINGROOM = "kr.co.icontrols.wallpadglobalscreen.BR_CTRL_LIGHT_LIVINGROOM";
- public String BR_WALLPAD_DIAL_GLOBALSCREEN_TOUCH = "WALLPAD_DIAL_GLOBALSCREEN_TOUCH";
- private WallPadAPI mWallPadAPI = null;
- private Sdb_LivingRoomLightAPI mSdb_LivingRoomLightAPI = null; // 거실에너지미터
- // private LivingRoomEnergyMeterV2API mLivingRoomEnergyMeterV2API = null; // 대외향 - 거실 조명제어기 API
- public ConfigurePreset(Context context, RelativeLayout layout, WallPadAPI wallpadapi) {
- super(context, layout);
- try {
- Log.d(TAG, "[ConfigurePreset] ========== START ==========");
- mContext = context;
- initInfo();
- mEMData = new EMData();
- if (loadDeviceAPI(wallpadapi) >= 0) updateDeviceStatus(false);
- else EMDriverCheckHandler.sendEmptyMessage(0);
- IMG_BACKGROUND = new WpadImageView(context, TOUCH_KIND.NONE, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.IMAGES.BACKGROUND).W, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.IMAGES.BACKGROUND).H, R.drawable.back_popup_04, R.drawable.back_popup_04, ID.POPUPS.CONFIGUREPRESET.ELEMENTS.IMAGES.BACKGROUND);
- ViewRegistration(layout, IMG_BACKGROUND, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.IMAGES.BACKGROUND).X, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.IMAGES.BACKGROUND).Y);
- BTN_CLOSE = new WpadImageView(context, TOUCH_KIND.BUTTON, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.CLOSE).W, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.CLOSE).H, R.drawable.popup_btn_close_normal, R.drawable.popup_btn_close_pressed, ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.CLOSE);
- ViewRegistration(layout, BTN_CLOSE, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.CLOSE).X, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.CLOSE).Y);
- BTN_CLOSE.setTouchDelayMs(500);
- BTN_SAVE = new WpadImageView(context, TOUCH_KIND.BUTTON, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.SAVE).W, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.SAVE).H, R.drawable.popup_configurepreset_btn_save_normal, R.drawable.popup_configurepreset_btn_save_pressed, ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.SAVE);
- ViewRegistration(layout, BTN_SAVE, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.SAVE).X, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.SAVE).Y);
- BTN_SAVE.setTouchDelayMs(500);
- BTN_CANCEL = new WpadImageView(context, TOUCH_KIND.BUTTON, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.CANCEL).W, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.CANCEL).H, R.drawable.popup_configurepreset_btn_cancel_normal, R.drawable.popup_configurepreset_btn_cancel_pressed, ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.CANCEL);
- ViewRegistration(layout, BTN_CANCEL, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.CANCEL).X, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.CANCEL).Y);
- BTN_CANCEL.setTouchDelayMs(500);
- TXT_TITLE = new WpadTextView(context, false, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.TEXTS.TITLE).W, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.TEXTS.TITLE).H, Gravity.CENTER, Color.WHITE, nTitleSize, true, ID.POPUPS.CONFIGUREPRESET.ELEMENTS.TEXTS.TITLE);
- ViewRegistration(layout, TXT_TITLE, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.TEXTS.TITLE).X, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.TEXTS.TITLE).Y);
- TXT_TITLE.setText(strTitle[nLivinglightPresetID - 1]);
- TXT_SUBTITLE_01 = new WpadTextView(context, false, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.TEXTS.SUBTITLE_01).W, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.TEXTS.SUBTITLE_01).H, Gravity.CENTER, Color.WHITE, nSubTitleSize, true, ID.POPUPS.CONFIGUREPRESET.ELEMENTS.TEXTS.SUBTITLE_01);
- ViewRegistration(layout, TXT_SUBTITLE_01, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.TEXTS.SUBTITLE_01).X, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.TEXTS.SUBTITLE_01).Y);
- TXT_SUBTITLE_01.setText("밝기");
- TXT_SUBTITLE_02 = new WpadTextView(context, false, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.TEXTS.SUBTITLE_02).W, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.TEXTS.SUBTITLE_02).H, Gravity.CENTER, Color.WHITE, nSubTitleSize, true, ID.POPUPS.CONFIGUREPRESET.ELEMENTS.TEXTS.SUBTITLE_02);
- ViewRegistration(layout, TXT_SUBTITLE_02, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.TEXTS.SUBTITLE_02).X, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.TEXTS.SUBTITLE_02).Y);
- TXT_SUBTITLE_02.setText("색온도");
- registerSeekbar();
- syncPresetValue(nLivinglightPresetID);
- } catch (RuntimeException re) {
- LogUtil.errorLogInfo("", TAG, re);
- }
- catch (Exception e) {
- Log.e(TAG, "[Exception] ConfigurePreset(Context context, RelativeLayout layout)");
- //e.printStackTrace();
- LogUtil.errorLogInfo("", TAG, e);
- }
- }
- private void initInfo() {
- try {
- Intent intent = super.getScreenIntent();
- int nPresetID = intent.getIntExtra(Common.LIVINGLIGHT_PRESET_ID , -1);
- nLivinglightPresetID = nPresetID;
- Log.d(TAG, "[initInfo] Common.LIVINGLIGHT_PRESET_ID : " + nLivinglightPresetID);
- } catch (RuntimeException re) {
- LogUtil.errorLogInfo("", TAG, re);
- }
- catch (Exception e) {
- Log.e(TAG, "[Exception] initInfo()");
- //e.printStackTrace();
- LogUtil.errorLogInfo("", TAG, e);
- }
- }
- private WallpadStatusData GetDB() {
- return ((PopupActivity)(super.getContext())).GetDBObj();
- }
- @Override
- protected void onClose() {
- try {
- savePresetValue(nLivinglightPresetID, DimSeekBarValue, ColorSeekBarValue);
- super.onClose();
- Log.d(TAG, "[onClose] ========== START ==========");
- } catch (RuntimeException re) {
- LogUtil.errorLogInfo("", TAG, re);
- }
- catch (Exception e) {
- Log.e(TAG, "[Exception] onClose()");
- //e.printStackTrace();
- LogUtil.errorLogInfo("", TAG, e);
- }
- }
- @Override
- protected void onTouchEvent(View v, MotionEvent event) {
- try {
- super.onTouchEvent(v, event);
- int nTargetID = v.getId();
- int nEvent = event.getAction();
- if (nEvent == MotionEvent.ACTION_UP) {
- if (nTargetID == ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.CLOSE) {
- Sound().Play(SND.effect.TOUCH_LATCHED);
- ((PopupActivity)mContext).finish();
- }
- else if (nTargetID == ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.SAVE) {
- // int nSoundTime = Sound().PlayMent(SND.setting.SETTING);
- // savePresetValue(nLivinglightPresetID, DimSeekBarValue, ColorSeekBarValue);
- // sendHandlerMsgDelayed(HANDLERMSG.FINISH_SCREEN, 0, 0, nSoundTime + 500);
- // QA 이관을 위한 임시코드...나중에는 원인분석을 해야 함
- Sound().Play(SND.setting.SETTING);
- savePresetValue(nLivinglightPresetID, DimSeekBarValue, ColorSeekBarValue);
- sendHandlerMsgDelayed(HANDLERMSG.FINISH_SCREEN, 0, 0, 3000 + 500);
- }
- else if (nTargetID == ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.CANCEL) {
- Sound().Play(SND.effect.TOUCH_LATCHED);
- ((PopupActivity)mContext).finish();
- }
- }
- } catch (RuntimeException re) {
- LogUtil.errorLogInfo("", TAG, re);
- }
- catch (Exception e) {
- Log.e(TAG, "[Exception] onTouchEvent(View v, MotionEvent event)");
- //e.printStackTrace();
- LogUtil.errorLogInfo("", TAG, e);
- }
- }
- @Override
- protected int addBrActionFilter(String action) {
- return super.addBrActionFilter(action);
- }
- @Override
- protected void onBrReceive(Intent intent) {
- super.onBrReceive(intent);
- String strActionName = intent.getAction();
- Log.i(TAG, "[onBrReceive] strActionName = " + strActionName);
- if (strActionName.equals(BR_CTRL_LIGHT_LIVINGROOM)) {
- Log.i(TAG, "[onBrReceive] BR_LIGHT");
- updateDeviceStatus(false);
- updateDisplay();
- }
- else if (strActionName.equals(define.NOTIFY_DAIL)) {
- Log.i(TAG, "[onBrReceive] NOTIFY_DAIL");
- byte OnOff = intent.getByteExtra("ONOFF", (byte)0xEE);
- byte Dial = intent.getByteExtra("DIAL", (byte)0xEE);
- byte Level = intent.getByteExtra("LEVEL", (byte)0xEE);
- byte Color = intent.getByteExtra("COLOR", (byte)0xEE);
- Log.i(TAG, "[onBrReceive] OnOff [" + OnOff +"], Dial [" + Dial +"], Level [" + Level +"], Color [" + Color +"]");
- setFinishTimerReset();
- boolean LightOnOff = GetmData_LightOnOff();
- Log.i(TAG, "LightOnOff : " + LightOnOff);
- Log.i(TAG, "mEMData.ControlType : " + mEMData.ControlType);
- if (LightOnOff == false) {
- if (OnOff == 1) {
- // 켜짐이면
- if (Dial == 0) {
- // 조작 없음 이면
- //Sound().Play(SND.effect.TOUCH_LATCHED);
- if (mEMData.ControlType) {
- // 기존에 색온도 조절 중으로 밝기 조절로 변경
- mEMData.ControlType = false;
- }
- if ((DimSeekBarValue / 10) != (Level / 10)) SetDimSeekBarProgress(Level);
- if ((ColorSeekBarValue / 10) != (Color / 10)) SetColorSeekBarProgress(Color);
- }
- else if (Dial == 2) {
- // OFF 상태에서 조그버튼 길게 눌러 바로 색온도 조절 시
- OnOff = 1;
- }
- }
- }
- if (OnOff == 1) {
- // 켜짐이면
- if (mEMData.ControlType) {
- // 기존에 색온도 조절 중
- if (Dial == 1) {
- // 디밍 조절중
- mEMData.ControlType = false;
- }
- }
- else {
- // 기존에 밝기 조절 중
- if (Dial == 2) {
- // 색온도 조절 중
- mEMData.ControlType = true;
- }
- }
- if (Dial == 1) {
- // 디밍 조절중
- SetDimSeekBarProgress(Level);
- }
- else if (Dial == 2) {
- // 색온도 조절 중
- SetColorSeekBarProgress(Color);
- }
- }
- else {
- // 꺼짐
- if (Dial == 0) {
- super.finish();
- }
- }
- }
- }
- private void setPopupResult(String strValue) {
- try {
- Intent intent = new Intent();
- intent.putExtra(Common.BR_SENDER_SCREEN, ID.POPUPS.POPUP_CONFIGUREPRESET);
- intent.putExtra(Common.BR_RECEIVE_SCREEN, ID.SCREENS.SCREEN_MAIN);
- intent.putExtra(Common.BR_LIVINGLIGHT_PRESET_INFO, strValue);
- super.setPopupResult(intent);
- } catch (RuntimeException re) {
- LogUtil.errorLogInfo("", TAG, re);
- }
- catch (Exception e) {
- Log.e(TAG, "[Exception] setPopupResult()");
- //e.printStackTrace();
- LogUtil.errorLogInfo("", TAG, e);
- }
- }
- private POSITION getPosition(int nID) {
- // LOG("[GetPosition] nID = " + nID);
- POSITION position = new POSITION();
- position.setConfigurePresetPopupPosition(117, 30, 790, 540);
- try {
- switch (nID) {
- case ID.POPUPS.CONFIGUREPRESET.ELEMENTS.IMAGES.BACKGROUND:
- position.setConfigurePresetPopupPosition(117, 30, 790, 540);
- return position;
- case ID.POPUPS.CONFIGUREPRESET.ELEMENTS.IMAGES.BACK_SEEKBAR_DIM:
- position.setConfigurePresetPopupPosition(375, 115, 28, 300);
- return position;
- case ID.POPUPS.CONFIGUREPRESET.ELEMENTS.IMAGES.BACK_SEEKBAR_COLOR:
- position.setConfigurePresetPopupPosition(608, 115, 28, 300);
- return position;
- case ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.CLOSE:
- position.setConfigurePresetPopupPosition(839, 43, 56, 56);
- return position;
- case ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.SAVE:
- position.setConfigurePresetPopupPosition(212, 485, 290, 64);
- return position;
- case ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.CANCEL:
- position.setConfigurePresetPopupPosition(522, 485, 290, 64);
- return position;
- case ID.POPUPS.CONFIGUREPRESET.ELEMENTS.TEXTS.TITLE:
- position.setConfigurePresetPopupPosition(119, 32, 786, 89);
- return position;
- case ID.POPUPS.CONFIGUREPRESET.ELEMENTS.TEXTS.SUBTITLE_01:
- position.setConfigurePresetPopupPosition(339, 425, 100, 50);
- return position;
- case ID.POPUPS.CONFIGUREPRESET.ELEMENTS.TEXTS.SUBTITLE_02:
- position.setConfigurePresetPopupPosition(572, 425, 100, 50);
- return position;
- default:
- return position;
- }
- } catch (RuntimeException re) {
- LogUtil.errorLogInfo("", TAG, re);
- return position;
- }
- catch (Exception e) {
- Log.e(TAG, "[Exception] getPosition(int nID)");
- //e.printStackTrace();
- LogUtil.errorLogInfo("", TAG, e);
- return position;
- }
- }
- // =================================================================================================
- // [[ SeekBar 등록 ]] region
- // =================================================================================================
- private void registerSeekbar() {
- //SeekBar 배경 등록
- IMG_BACK_SEEKBAR_DIM = new WpadImageView(getContext(), TOUCH_KIND.BUTTON, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.IMAGES.BACK_SEEKBAR_DIM).W, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.IMAGES.BACK_SEEKBAR_DIM).H, R.drawable.popup_light_dim_seekbar_back, R.drawable.popup_light_dim_seekbar_back, ID.POPUPS.CONFIGUREPRESET.ELEMENTS.IMAGES.BACK_SEEKBAR_DIM);
- ViewRegistration(getLayout(), IMG_BACK_SEEKBAR_DIM, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.IMAGES.BACK_SEEKBAR_DIM).X, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.IMAGES.BACK_SEEKBAR_DIM).Y);
- IMG_BACK_SEEKBAR_COLOR = new WpadImageView(getContext(), TOUCH_KIND.BUTTON, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.IMAGES.BACK_SEEKBAR_COLOR).W, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.IMAGES.BACK_SEEKBAR_COLOR).H, R.drawable.popup_light_color_seekbar_back, R.drawable.popup_light_color_seekbar_back, ID.POPUPS.CONFIGUREPRESET.ELEMENTS.IMAGES.BACK_SEEKBAR_COLOR);
- ViewRegistration(getLayout(), IMG_BACK_SEEKBAR_COLOR, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.IMAGES.BACK_SEEKBAR_COLOR).X, getPosition(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.IMAGES.BACK_SEEKBAR_COLOR).Y);
- //SeekBar 등록
- SEEKBAR_CTRL_LIGHT_DIM = new SeekBar(getContext());
- SEEKBAR_CTRL_LIGHT_DIM.setId(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.SEEKBAR_DIM);
- SEEKBAR_CTRL_LIGHT_COLOR = new SeekBar(getContext());
- SEEKBAR_CTRL_LIGHT_COLOR.setId(ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.SEEKBAR_COLOR);
- Bitmap ThumbSizeDim = BitmapFactory.decodeResource(getContext().getResources(), R.drawable.light_dim_thumb);
- ThumbSizeDim = Bitmap.createScaledBitmap(ThumbSizeDim, WpadScale.getWidth(ThumbSizeDim.getWidth()), WpadScale.getWidth(ThumbSizeDim.getHeight()), true);
- ImageView IMG_THUMB_DIM = new ImageView(getContext());
- IMG_THUMB_DIM.setImageBitmap(ThumbSizeDim);
- SEEKBAR_CTRL_LIGHT_DIM.setThumb(IMG_THUMB_DIM.getDrawable());
- Bitmap ThumbSizeColor = BitmapFactory.decodeResource(getContext().getResources(), R.drawable.light_color_thumb);
- ThumbSizeColor = Bitmap.createScaledBitmap(ThumbSizeColor, WpadScale.getWidth(ThumbSizeColor.getWidth()), WpadScale.getWidth(ThumbSizeColor.getHeight()), true);
- ImageView IMG_THUMB_COLOR = new ImageView(getContext());
- IMG_THUMB_COLOR.setImageBitmap(ThumbSizeColor);
- SEEKBAR_CTRL_LIGHT_COLOR.setThumb(IMG_THUMB_COLOR.getDrawable());
- Drawable mDrawable = getContext().getResources().getDrawable(R.drawable.transparent_background);
- SEEKBAR_CTRL_LIGHT_DIM.setProgressDrawable(mDrawable);
- SEEKBAR_CTRL_LIGHT_DIM.setProgress(0);
- // SEEKBAR_CTRL_LIGHT_DIM.setBackgroundColor(Color.RED);
- SEEKBAR_CTRL_LIGHT_COLOR.setProgressDrawable(mDrawable);
- SEEKBAR_CTRL_LIGHT_COLOR.setProgress(0);
- // SEEKBAR_CTRL_LIGHT_COLOR.setBackgroundColor(Color.RED);
- RelativeLayout.LayoutParams Params_Dim = new RelativeLayout.LayoutParams(WpadScale.getWidth(350 - WpadScale.getWidth(ThumbSizeDim.getWidth()) / 2), WpadScale.getHeight(80));
- SEEKBAR_CTRL_LIGHT_DIM.setLayoutParams(Params_Dim);
- SEEKBAR_CTRL_LIGHT_DIM.setPadding((WpadScale.getWidth(ThumbSizeDim.getWidth()) / 2), 0, WpadScale.getWidth(ThumbSizeDim.getHeight()) / 2, 0);
- SEEKBAR_CTRL_LIGHT_DIM.setMax((max - min) / step);
- RelativeLayout.LayoutParams Params_Color = new RelativeLayout.LayoutParams(WpadScale.getWidth(350 - WpadScale.getWidth(ThumbSizeColor.getWidth()) / 2), WpadScale.getHeight(80));
- SEEKBAR_CTRL_LIGHT_COLOR.setLayoutParams(Params_Color);
- SEEKBAR_CTRL_LIGHT_COLOR.setPadding((WpadScale.getWidth(ThumbSizeColor.getWidth()) / 2), 0, WpadScale.getWidth(ThumbSizeColor.getHeight()) / 2, 0);
- SEEKBAR_CTRL_LIGHT_COLOR.setMax((max - min) / step);
- SEEKBAR_CTRL_LIGHT_DIM.setRotation(270);
- SEEKBAR_CTRL_LIGHT_DIM.setOnSeekBarChangeListener(mOnDimSeekBarChangeListener);
- SEEKBAR_CTRL_LIGHT_COLOR.setRotation(270);
- SEEKBAR_CTRL_LIGHT_COLOR.setOnSeekBarChangeListener(mOnColorSeekBarChangeListener);
- SEEKBAR_CTRL_LIGHT_DIM.setTranslationX(110);
- SEEKBAR_CTRL_LIGHT_DIM.setTranslationY(195);
- SEEKBAR_CTRL_LIGHT_COLOR.setTranslationX(343);
- SEEKBAR_CTRL_LIGHT_COLOR.setTranslationY(195);
- getLayout().addView(SEEKBAR_CTRL_LIGHT_DIM);
- getLayout().addView(SEEKBAR_CTRL_LIGHT_COLOR);
- }
- /**
- * Seekbar 터치 시 동작 처리
- * **/
- SeekBar.OnSeekBarChangeListener mOnDimSeekBarChangeListener = new SeekBar.OnSeekBarChangeListener() {
- @Override
- public void onStopTrackingTouch(SeekBar seekBar) {
- try {
- if (seekBar.getId() == ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.SEEKBAR_DIM) {
- Log.i(TAG, "[onStopTrackingTouch] DimSeekBarValue [" + DimSeekBarValue + "]");
- setFinishTimerReset();
- /**
- * 디밍, 색온도 제어 시작
- * **/
- com.artncore.commons.DataClasses.EnergyMeterV2.Device TempEM = new DataClasses.EnergyMeterV2.Device();
- if (mEMData.NewLivingEM.Data.LedLight == null) {
- Log.w(TAG, "[onStopTrackingTouch] mEMData.LivingEM.device.ledController == null");
- return;
- }
- TempEM.SetLedCount((byte) mEMData.NewLivingEM.Data.LedLight.length);
- for (int i = 0; i < mEMData.NewLivingEM.Data.LedLight.length; i++) {
- TempEM.ledController[i].device.Level = (byte) (DimSeekBarValue - (DimSeekBarValue % 10));
- Log.i(TAG, "[onStopTrackingTouch] TempEM.ledController[i].device.Level = " + TempEM.ledController[i].device.Level);
- }
- int ret = mSdb_LivingRoomLightAPI.SetLightDimming(define.DEVICE_ALL_OR_NOTHING, (byte) (DimSeekBarValue/10));
- if (ret >= 0) Sound().Play(SND.effect.TOUCH_LATCHED);
- else Sound().Play(SND.effect.TOUCH_UNLATCHED);
- /**
- * 디밍, 색온도 제어 끝
- * **/
- }
- } catch (RuntimeException re) {
- LogUtil.errorLogInfo("", TAG, re);
- }
- catch (Exception e) {
- Log.e(TAG, "[Exception] mOnSeekBarChangeListener.onStopTrackingTouch");
- //e.printStackTrace();
- LogUtil.errorLogInfo("", TAG, e);
- }
- }
- @Override
- public void onStartTrackingTouch(SeekBar seekBar) {
- }
- @Override
- public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
- if (seekBar.getId() == ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.SEEKBAR_DIM) {
- DimSeekBarValue = min + (progress * step);
- }
- }
- };
- /**
- * Seekbar 터치 시 동작 처리
- * **/
- SeekBar.OnSeekBarChangeListener mOnColorSeekBarChangeListener = new SeekBar.OnSeekBarChangeListener() {
- @Override
- public void onStopTrackingTouch(SeekBar seekBar) {
- try {
- if (seekBar.getId() == ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.SEEKBAR_COLOR) {
- Log.i(TAG, "[onStopTrackingTouch] ColorSeekBarValue [" + ColorSeekBarValue + "]");
- setFinishTimerReset();
- /**
- * 디밍, 색온도 제어 시작
- * **/
- com.artncore.commons.DataClasses.EnergyMeterV2.Device TempEM = new DataClasses.EnergyMeterV2.Device();
- if (mEMData.NewLivingEM.Data.LedLight == null) {
- Log.e(TAG, "[onStopTrackingTouch] mEMData.LivingEM.device.ledController == null");
- return;
- }
- TempEM.SetLedCount((byte) mEMData.NewLivingEM.Data.LedLight.length);
- for (int i = 0; i < mEMData.NewLivingEM.Data.LedLight.length; i++) {
- TempEM.ledController[i].device.Color = (byte) (ColorSeekBarValue - (ColorSeekBarValue % 10));
- Log.i(TAG, "[onStopTrackingTouch] TempEM.ledController[i].device.Color = " + TempEM.ledController[i].device.Color
- );
- }
- int ret = mSdb_LivingRoomLightAPI.SetLightColor(define.DEVICE_ALL_OR_NOTHING, (byte) (ColorSeekBarValue/10));
- if (ret >= 0) Sound().Play(SND.effect.TOUCH_LATCHED);
- else Sound().Play(SND.effect.TOUCH_UNLATCHED);
- /**
- * 디밍, 색온도 제어 끝
- * **/
- }
- } catch (RuntimeException re) {
- LogUtil.errorLogInfo("", TAG, re);
- }
- catch (Exception e) {
- Log.e(TAG, "[Exception] mOnSeekBarChangeListener.onStopTrackingTouch");
- //e.printStackTrace();
- LogUtil.errorLogInfo("", TAG, e);
- }
- }
- @Override
- public void onStartTrackingTouch(SeekBar seekBar) {
- }
- @Override
- public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
- if (seekBar.getId() == ID.POPUPS.CONFIGUREPRESET.ELEMENTS.BTNS.SEEKBAR_COLOR) {
- ColorSeekBarValue = min + (progress * step);
- }
- }
- };
- /**
- * 제어기기의 상태를 갱신한다.
- *
- * @param real - (boolean) true : 실시간 , false : 가장최근
- * @return (int) - >=0 : 성공, <0 : 실패
- */
- private int updateDeviceStatus(boolean real) {
- Log.i(TAG, "[updateDeviceStatus] - Start (real : " + real + ")");
- // 1. Api Load Check
- if (mSdb_LivingRoomLightAPI == null) {
- Log.e(TAG, "[updateDeviceStatus] mLivingRoomEnergyMeterV2API unload !!!");
- return -1;
- }
- // 2. Refresh
- try {
- int ret = mSdb_LivingRoomLightAPI.Refresh();
- if (ret < 0) {
- Log.e(TAG, "[updateDeviceStatus] Refresh(" + real + ") ret (" + ret + ") ErrorCode = " + mSdb_LivingRoomLightAPI.ErrorCode.ErrStr());
- return -2;
- }
- } catch (RuntimeException re) {
- LogUtil.errorLogInfo("", TAG, re);
- return -100;
- }
- catch (Exception e) {
- Log.e(TAG, "[updateDeviceStatus] - [Exception Error] lightApi.Refresh(" + real + ")");
- //e.printStackTrace();
- LogUtil.errorLogInfo("", TAG, e);
- return -100;
- }
- // 3. EMData Copy
- mEMData.NewLivingEM = mSdb_LivingRoomLightAPI.data;
- // 4. Debug Msg
- Log.i(TAG, "[updateDeviceStatus] - OK");
- return 0;
- }
- // =================================================================================================
- // [[ Draw ]] region
- // =================================================================================================
- /**
- * 변경되는 이미지를 다시 그린다.
- */
- private void updateDisplay() {
- if (mEMData == null) return;
- if (mEMData.NewLivingEM.Info.Install == false) return;
- if (mEMData.NewLivingEM.Info.LightGroup == null) return;
- if ((DimSeekBarValue / 10) != ((int) mEMData.NewLivingEM.Data.LedLight[0].Data.Dimming / 10)) {
- SetDimSeekBarProgress((int) mEMData.NewLivingEM.Data.LedLight[0].Data.Dimming);
- }
- if ((ColorSeekBarValue / 10) != ((int) mEMData.NewLivingEM.Data.LedLight[0].Data.Color / 10)) {
- SetColorSeekBarProgress((int) mEMData.NewLivingEM.Data.LedLight[0].Data.Color);
- }
- boolean tempLightStatus = false; //true면 간접등 또는 복도등 하나라도 켜짐
- for (int i = 1; i < mEMData.NewLivingEM.Data.LedLight.length; i++) {
- if (mEMData.NewLivingEM.Data.LedLight[i].Data.OnOff) {
- tempLightStatus = true;
- }
- }
- if (tempLightStatus) {
- if (mEMData.ControlType) {
- mEMData.ControlType = false;
- SetDimSeekBarProgress((int) mEMData.NewLivingEM.Data.LedLight[0].Data.Dimming);
- SetColorSeekBarProgress((int) mEMData.NewLivingEM.Data.LedLight[0].Data.Color);
- }
- }
- }
- /**
- * 조명 ON OFF 상태 반환
- * @return boolean true-하나라도 켜짐, false-모두 꺼짐
- * **/
- public boolean GetmData_LightOnOff() {
- boolean LightOnOff = false;
- if (mEMData.NewLivingEM.Data.LedLight == null) return false;
- for (int i = 0; i< mEMData.NewLivingEM.Data.LedLight.length; i++) {
- if (mEMData.NewLivingEM.Data.LedLight[i].Data.OnOff) {
- LightOnOff = true;
- }
- }
- return LightOnOff;
- }
- /**
- * SeekBar의 게이지를 설정할때 사용한다.
- * @param value 설정할 값
- * **/
- public void SetDimSeekBarProgress(int value) {
- Log.i(TAG, "[SetDimSeekBarProgress] value [" + value + "]");
- if (value - min < 0) {
- SEEKBAR_CTRL_LIGHT_DIM.setProgress(0);
- }
- else {
- SEEKBAR_CTRL_LIGHT_DIM.setProgress(value - min);
- }
- }
- public void SetColorSeekBarProgress(int value) {
- Log.i(TAG, "[SetColorSeekBarProgress] value [" + value + "]");
- if (value - min < 0) {
- SEEKBAR_CTRL_LIGHT_COLOR.setProgress(0);
- }
- else {
- SEEKBAR_CTRL_LIGHT_COLOR.setProgress(value - min);
- }
- }
- /**
- * 디바이스 API 를 Load 한다.
- *
- * @param mWallPadAPI - 생성시 전달받은 WallPadAPI
- * @return (int) - >=0 : 성공, <0 : 실패
- */
- private int loadDeviceAPI(WallPadAPI mWallPadAPI) {
- // 1. Mode Check
- Log.i(TAG, "[loadDeviceAPI] - Start");
- // 2. mWallPadAPI Check
- if (mWallPadAPI == null) {
- Log.e(TAG, "[loadDeviceAPI] - mWallPadAPI is null");
- return -2;
- }
- //////////////////////////////////////////////////////////////////////////////
- // Light
- //////////////////////////////////////////////////////////////////////////////
- // 3. Load API (Get_EnergyMeterV2Controller)
- Log.i(TAG, "[loadDeviceAPI] - Step1 : Light API Load...");
- try {
- mSdb_LivingRoomLightAPI = mWallPadAPI.Get_Sdb_LivingRoomLightAPI();
- } catch (RuntimeException re) {
- LogUtil.errorLogInfo("", TAG, re);
- return -100;
- }
- catch (Exception e) {
- Log.e(TAG, "[loadDeviceAPI] - [Exception Error] mWallPadAPI.Get_EnergyMeterV2Controller");
- Log.e(TAG, "[loadDeviceAPI] - " + e.toString());
- //e.printStackTrace();
- LogUtil.errorLogInfo("", TAG, e);
- return -100;
- }
- if (mSdb_LivingRoomLightAPI == null) {
- Log.e(TAG, "[loadDeviceAPI] - lightApi is null");
- return -4;
- }
- Log.i(TAG, "[loadDeviceAPI] - OK");
- return 0;
- }
- protected Handler EMDriverCheckHandler = new Handler() {
- @Override
- public void handleMessage(Message msg) {
- if (msg.what == 0) {
- if (loadDeviceAPI(mWallPadAPI) >= 0) {
- if (updateDeviceStatus(false) == 0) {
- EMDriverCheckHandler.sendEmptyMessageDelayed(1, 10);
- }
- else {
- EMDriverCheckHandler.sendEmptyMessageDelayed(0, 5000);
- }
- }
- else {
- Log.i(TAG, "EMDriverCheckHandler --> mAPI == null");
- EMDriverCheckHandler.sendEmptyMessageDelayed(0, 5000);
- }
- }
- else if (msg.what == 1) {
- Log.i(TAG, "EMDriverCheckHandler OK");
- if (mSdb_LivingRoomLightAPI != null) {
- registorBRName_LivingEM(true);
- updateDeviceStatus(false);
- registerBR(true);
- // // 조그버튼을 길게 눌러 색상 진입한 경우 BR 재 송신 처리
- // if(mintent != null)
- // {
- // byte OnOff = mintent.getByteExtra("ONOFF", (byte)0xEE);
- // byte Dial = mintent.getByteExtra("DIAL", (byte)0xEE);
- // byte Level = mintent.getByteExtra("LEVEL", (byte)0xEE);
- // byte Color = mintent.getByteExtra("COLOR", (byte)0xEE);
- //
- // if(Dial == (byte)0x02)
- // {
- // Intent Tempintent = new Intent();
- // Tempintent.setAction(define.NOTIFY_DAIL);
- // Tempintent.putExtra("ONOFF", OnOff);
- // Tempintent.putExtra("DIAL", Dial);
- // Tempintent.putExtra("LEVEL", Level);
- // Tempintent.putExtra("COLOR", Color);
- // getContext().sendBroadcast(Tempintent);
- // }
- // }
- updateDisplay();
- }
- }
- }
- };
- private boolean registorBRName_LivingEM(boolean bRegi) {
- try {
- Log.i(TAG, "[registorBRName_LivingEM] bRegi [" + bRegi + "]");
- if (mSdb_LivingRoomLightAPI == null) {
- Log.e(TAG, "[registorBRName_LivingEM] mLivingRoomEnergyMeterV2API is null!!");
- return false;
- }
- if (bRegi) mSdb_LivingRoomLightAPI.regChangedBR(BR_CTRL_LIGHT_LIVINGROOM);
- else mSdb_LivingRoomLightAPI.unregChangedBR(BR_CTRL_LIGHT_LIVINGROOM);
- return true;
- } catch (RuntimeException re) {
- LogUtil.errorLogInfo("", TAG, re);
- return false;
- }
- catch (Exception e) {
- Log.e(TAG, "[Exception] registorBRName_LivingEM(boolean bRegi)");
- //e.printStackTrace();
- LogUtil.errorLogInfo("", TAG, e);
- return false;
- }
- }
- /**
- * 디바이스에 알림 BR 을 등록한다. (거실 에너지미터)
- *
- * @return (int) - >=0 : 성공, <0 : 실패
- */
- private int registerBR(boolean OnOff) {
- Log.i(TAG, "[registerBR] - Start (OnOff:" + OnOff + ")");
- String BR_NAME = BR_CTRL_LIGHT_LIVINGROOM;
- // 1. Api Load Check
- if (mSdb_LivingRoomLightAPI == null) {
- Log.e(TAG, "[registerBR] - mLivingRoomEnergyMeterV2API unload !!!");
- return -1;
- }
- if (OnOff) {
- try {
- Log.i(TAG, "[registerBR] - regChangedBR START");
- mSdb_LivingRoomLightAPI.regChangedBR(BR_NAME);
- Log.i(TAG, "[registerBR] - regChangedBR END");
- } catch (RuntimeException re) {
- LogUtil.errorLogInfo("", TAG, re);
- return -101;
- }
- catch (Exception e) {
- Log.e(TAG, "[registerBR] - [Exception Error] mLivingRoomEnergyMeterV2API.regChangedBR");
- Log.e(TAG, "[registerBR] - " + e.toString());
- //e.printStackTrace();
- LogUtil.errorLogInfo("", TAG, e);
- return -101;
- }
- super.addBrActionFilter(BR_NAME);
- super.addBrActionFilter(define.NOTIFY_DAIL);
- }
- else {
- try {
- Log.i(TAG, "[registerBR] - unregChangedBR START");
- mSdb_LivingRoomLightAPI.unregChangedBR(BR_NAME);
- Log.i(TAG, "[registerBR] - unregChangedBR END");
- } catch (RuntimeException re) {
- LogUtil.errorLogInfo("", TAG, re);
- return -102;
- }
- catch (Exception e) {
- Log.e(TAG, "[registerBR] - [Exception Error] lightApi.unregChangedBR");
- Log.e(TAG, "[registerBR] - " + e.toString());
- //e.printStackTrace();
- LogUtil.errorLogInfo("", TAG, e);
- return -102;
- }
- super.removeBrActionFilter(BR_NAME);
- super.removeBrActionFilter(define.NOTIFY_DAIL);
- }
- return 0;
- }
- private void syncPresetValue(int nPresetID) {
- try {
- WallpadStatusData mWallpadStatusData = new WallpadStatusData(mContext);
- String strPresetValue = mWallpadStatusData.getLivinglightModeCtrlUnitValues(nLivinglightPresetID, 0);
- mWallpadStatusData.closeDB();
- Log.i(TAG, "[syncPresetValue] nPresetID [" + nPresetID + "], strPresetValue [" + strPresetValue + "]");
- String[] strParse = strPresetValue.split(":");
- EMData mTempEMData = new EMData();
- if (mEMData.NewLivingEM.Data.LedLight == null) {
- Log.e(TAG, "[syncPresetValue] mEMData.NewLivingEM.Data.LedLight == null");
- return;
- }
- mTempEMData.NewLivingEM.Data.setLedLight((byte) mEMData.NewLivingEM.Data.LedLight.length);
- for (int i = 0; i < mEMData.NewLivingEM.Data.LedLight.length; i++) {
- if (i == 0) {
- mTempEMData.NewLivingEM.Data.LedLight[i].Data.OnOff = (DataClasses.LedController.POWER.On == 1) ? true : false;
- mTempEMData.NewLivingEM.Data.LedLight[i].Data.Dimming = (byte) (MainActivity.mLightInfo.mPreset[nPresetID].mLights[0].DIM);
- mTempEMData.NewLivingEM.Data.LedLight[i].Data.Color = (byte) (MainActivity.mLightInfo.mPreset[nPresetID].mLights[0].COLOR);
- }
- else {
- mTempEMData.NewLivingEM.Data.LedLight[i].Data.OnOff = false;
- }
- }
- // 프리셋이 미설정 상태인 경우, 밝기 100(10)/색온도10(1)로 설정한다.
- if (mTempEMData.NewLivingEM.Data.LedLight[0].Data.Dimming == 0) mTempEMData.NewLivingEM.Data.LedLight[0].Data.Dimming = 10;
- if (mTempEMData.NewLivingEM.Data.LedLight[0].Data.Color == 0) mTempEMData.NewLivingEM.Data.LedLight[0].Data.Color = 1;
- for (int i = 0; i < mEMData.NewLivingEM.Data.LedLight.length; i++) {
- Log.d(TAG,"[syncPresetValue] Index [" + i + "], OnOff [" + mTempEMData.NewLivingEM.Data.LedLight[i].Data.OnOff + "], Level [" + mTempEMData.NewLivingEM.Data.LedLight[i].Data.Dimming + "], Color [" + mTempEMData.NewLivingEM.Data.LedLight[i].Data.Color + "]");
- }
- DimSeekBarValue = mTempEMData.NewLivingEM.Data.LedLight[0].Data.Dimming * 10;
- ColorSeekBarValue = mTempEMData.NewLivingEM.Data.LedLight[0].Data.Color * 10;
- Log.i(TAG, "[syncPresetValue] DimSeekBarValue [" + DimSeekBarValue + "], ColorSeekBarValue [" + ColorSeekBarValue + "]");
- SetDimSeekBarProgress(DimSeekBarValue);
- SetColorSeekBarProgress(ColorSeekBarValue);
- // int nResult = mSdb_LivingRoomLightAPI.SetLight(define.DEVICE_ALL_OR_NOTHING, true, (byte) (DimSeekBarValue / 10), (byte) (ColorSeekBarValue / 10));
- if(mSdb_LivingRoomLightAPI!=null)
- {
- int nResult = mSdb_LivingRoomLightAPI.SetLight((byte) 0, true, (byte) (DimSeekBarValue / 10), (byte) (ColorSeekBarValue / 10));
- Log.d(TAG,"[syncPresetValue] nResult [" + nResult + "]");
- // int nResultOnOff = mSdb_LivingRoomLightAPI.SetLightOnOff(define.DEVICE_ALL_OR_NOTHING, true);
- // int nResultDim = mSdb_LivingRoomLightAPI.SetLightDimming(define.DEVICE_ALL_OR_NOTHING, (byte) DimSeekBarValue);
- // int nResultColor = mSdb_LivingRoomLightAPI.SetLightColor(define.DEVICE_ALL_OR_NOTHING, (byte) ColorSeekBarValue);
- // Log.d(TAG,"[syncPresetValue] nResultOnOff [" + nResultOnOff + "], nResultDim [" + nResultDim + "], nResultColor [" + nResultColor + "]");
- }
- } catch (RuntimeException re) {
- LogUtil.errorLogInfo("", TAG, re);
- }
- catch (Exception e) {
- Log.e(TAG, "[Exception] syncPresetValue(int nPresetID)");
- //e.printStackTrace();
- LogUtil.errorLogInfo("", TAG, e);
- }
- }
- private void savePresetValue(int nPresetID, int nDim, int nColor) {
- try {
- Log.i(TAG, "[savePresetValue] nPresetID [" + nPresetID + "], nDim [" + nDim + "], nColor [" + nColor + "]");
- strPresetInfo = Integer.toString(nPresetID) + "/on:" + Integer.toString(nDim / 10) + ":" + Integer.toString(nColor / 10);
- setPopupResult(strPresetInfo);
- } catch (RuntimeException re) {
- LogUtil.errorLogInfo("", TAG, re);
- }
- catch (Exception e) {
- Log.e(TAG, "[Exception] savePresetValue(int nPresetID, int nDim, int nColor)");
- //e.printStackTrace();
- LogUtil.errorLogInfo("", TAG, e);
- }
- }
- // MainActivity Handler
- public final class HANDLERMSG {
- public final static int FINISH_SCREEN = 999;
- }
- public Handler MainHandler = new Handler(Looper.getMainLooper()) {
- public void handleMessage(Message msg) {
- Log.d(TAG, "[MainHandler] MainHandler : what [" + msg.what + "], arg1 [" + msg.arg1 + "], arg2 [" + msg.arg2 + "]");
- switch (msg.what) {
- case HANDLERMSG.FINISH_SCREEN:
- ((PopupActivity)mContext).finish();
- break;
- default:
- Log.d(TAG, "MainHandler : " + msg.what);
- break;
- }
- }
- };
- public void sendHandlerMsg(int what, int arg1, int arg2) {
- try {
- Log.i(TAG, "[sendHandlerMsg] what [" + what + "], arg1 [" + arg1 + "], arg2 [" + arg2 + "]");
- Message HandleMsg = MainHandler.obtainMessage();
- HandleMsg.what = what;
- HandleMsg.arg1 = arg1;
- HandleMsg.arg2 = arg2;
- MainHandler.sendMessage(HandleMsg);
- } catch (RuntimeException re) {
- LogUtil.errorLogInfo("", TAG, re);
- }
- catch (Exception e) {
- Log.e(TAG, "[Exception] sendHandlerMsg(msg)");
- //e.printStackTrace();
- LogUtil.errorLogInfo("", TAG, e);
- }
- }
- public void sendHandlerMsgDelayed(int what, int arg1, int arg2, long delay) {
- try {
- Log.i(TAG, "[sendHandlerMsgDelayed] what [" + what + "], arg1 [" + arg1 + "], arg2 [" + arg2 + "], delay [" + delay + "]");
- Message HandleMsg = MainHandler.obtainMessage();
- HandleMsg.what = what;
- HandleMsg.arg1 = arg1;
- HandleMsg.arg2 = arg2;
- MainHandler.sendMessageDelayed(HandleMsg, delay);
- } catch (RuntimeException re) {
- LogUtil.errorLogInfo("", TAG, re);
- }
- catch (Exception e) {
- Log.e(TAG, "[Exception] sendHandlerMsgDelayed(msg)");
- //e.printStackTrace();
- LogUtil.errorLogInfo("", TAG, e);
- }
- }
- }
|