package org.openhab.habdroid.ui.widget; import android.view.MotionEvent; import android.view.View; import android.widget.ImageButton; import org.openhab.habdroid.R; import org.openhab.domain.model.OpenHABItem; import org.openhab.habdroid.ui.OpenHABWidgetArrayAdapter; /** * Created by Tony Alpskog in 2014. */ public class OpenHABRollerShutterWidget extends OpenHABWidgetBase { public OpenHABRollerShutterWidget(IHABWidgetCommunication habWidgetCommunication, OpenHABWidgetArrayAdapter.ViewData viewData) { super(habWidgetCommunication, viewData); } @Override public View getWidget() { if (mViewData.labelTextView != null) mViewData.labelTextView.setText(mViewData.openHABWidget.getLabel()); ImageButton rollershutterUpButton = (ImageButton)mViewData.widgetView.findViewById(R.id.rollershutterbutton_up); ImageButton rollershutterStopButton = (ImageButton)mViewData.widgetView.findViewById(R.id.rollershutterbutton_stop); ImageButton rollershutterDownButton = (ImageButton)mViewData.widgetView.findViewById(R.id.rollershutterbutton_down); rollershutterUpButton.setTag(mViewData.openHABWidget.getItem()); rollershutterStopButton.setTag(mViewData.openHABWidget.getItem()); rollershutterDownButton.setTag(mViewData.openHABWidget.getItem()); rollershutterUpButton.setOnTouchListener(new View.OnTouchListener() { public boolean onTouch(View v, MotionEvent motionEvent) { ImageButton rollershutterButton = (ImageButton) v; OpenHABItem rollershutterItem = (OpenHABItem) rollershutterButton.getTag(); if (motionEvent.getActionMasked() == MotionEvent.ACTION_UP) mHABWidgetCommunication.sendItemCommand(rollershutterItem, "UP"); return false; } }); rollershutterStopButton.setOnTouchListener(new View.OnTouchListener() { public boolean onTouch(View v, MotionEvent motionEvent) { ImageButton rollershutterButton = (ImageButton) v; OpenHABItem rollershutterItem = (OpenHABItem) rollershutterButton.getTag(); if (motionEvent.getActionMasked() == MotionEvent.ACTION_UP) mHABWidgetCommunication.sendItemCommand(rollershutterItem, "STOP"); return false; } }); rollershutterDownButton.setOnTouchListener(new View.OnTouchListener() { public boolean onTouch(View v, MotionEvent motionEvent) { ImageButton rollershutterButton = (ImageButton) v; OpenHABItem rollershutterItem = (OpenHABItem) rollershutterButton.getTag(); if (motionEvent.getActionMasked() == MotionEvent.ACTION_UP) mHABWidgetCommunication.sendItemCommand(rollershutterItem, "DOWN"); return false; } }); return mViewData.widgetView; } }