Home | History | Annotate | Download | only in DemoKit
      1 package com.google.android.DemoKit;
      2 
      3 import android.text.SpannableStringBuilder;
      4 import android.text.style.RelativeSizeSpan;
      5 import android.text.style.SubscriptSpan;
      6 import android.view.ViewGroup;
      7 import android.widget.TextView;
      8 
      9 public class ServoController implements Slider.SliderPositionListener {
     10 	private final int mServoNumber;
     11 	private final byte mCommandTarget;
     12 	private TextView mLabel;
     13 	private Slider mSlider;
     14 	private DemoKitActivity mActivity;
     15 
     16 	public ServoController(DemoKitActivity activity, int servoNumber) {
     17 		mActivity = activity;
     18 		mServoNumber = servoNumber;
     19 		mCommandTarget = (byte) (servoNumber - 1 + 0x10);
     20 	}
     21 
     22 	public void attachToView(ViewGroup targetView) {
     23 		mLabel = (TextView) targetView.getChildAt(0);
     24 		SpannableStringBuilder ssb = new SpannableStringBuilder("Servo");
     25 		ssb.append(String.valueOf(mServoNumber));
     26 		ssb.setSpan(new SubscriptSpan(), 5, 6, 0);
     27 		ssb.setSpan(new RelativeSizeSpan(0.7f), 5, 6, 0);
     28 		mLabel.setText(ssb);
     29 		mSlider = (Slider) targetView.getChildAt(1);
     30 		mSlider.setPositionListener(this);
     31 	}
     32 
     33 	public void onPositionChange(double value) {
     34 		byte v = (byte) (value * 255);
     35 		mActivity.sendCommand(DemoKitActivity.LED_SERVO_COMMAND,
     36 				mCommandTarget, v);
     37 	}
     38 
     39 }
     40