blob: 4584a9f2c3a6af22aebbf429b5bb130e6f43eb3d [file] [log] [blame]
package com.google.android.DemoKit;
import android.text.SpannableStringBuilder;
import android.text.style.RelativeSizeSpan;
import android.text.style.SubscriptSpan;
import android.view.ViewGroup;
import android.widget.TextView;
public class ServoController implements Slider.SliderPositionListener {
private final int mServoNumber;
private final byte mCommandTarget;
private TextView mLabel;
private Slider mSlider;
private DemoKitActivity mActivity;
public ServoController(DemoKitActivity activity, int servoNumber) {
mActivity = activity;
mServoNumber = servoNumber;
mCommandTarget = (byte) (servoNumber - 1 + 0x10);
}
public void attachToView(ViewGroup targetView) {
mLabel = (TextView) targetView.getChildAt(0);
SpannableStringBuilder ssb = new SpannableStringBuilder("Servo");
ssb.append(String.valueOf(mServoNumber));
ssb.setSpan(new SubscriptSpan(), 5, 6, 0);
ssb.setSpan(new RelativeSizeSpan(0.7f), 5, 6, 0);
mLabel.setText(ssb);
mSlider = (Slider) targetView.getChildAt(1);
mSlider.setPositionListener(this);
}
public void onPositionChange(double value) {
byte v = (byte) (value * 255);
mActivity.sendCommand(DemoKitActivity.LED_SERVO_COMMAND,
mCommandTarget, v);
}
}