package com.kuxhausen.huemore.net;
import com.kuxhausen.huemore.state.BulbState;
import com.kuxhausen.huemore.state.BulbState.Alert;
import com.kuxhausen.huemore.state.BulbState.Effect;
public class MockNetBulb implements NetworkBulb {
public BulbState mKnown = new BulbState();
public BulbState mTarget = new BulbState();
long mId = (long) (Math.random() * Integer.MAX_VALUE);
@Override
public void setState(BulbState state) {
if (state != null) {
mTarget = BulbState.merge(state, mTarget);
}
}
@Override
public BulbState getState(GetStateConfidence confidence) {
BulbState result = new BulbState();
switch (confidence) {
case GUESS:
BulbState guess = new BulbState();
guess.setPercentBri(50);
guess.setOn(true);
guess.setAlert(Alert.NONE);
guess.setEffect(Effect.NONE);
guess.setMiredCT(300);
guess.setTransitionTime(BulbState.TRANSITION_TIME_DEFAULT);
result = BulbState.merge(guess, result);
case KNOWN:
result = BulbState.merge(mKnown, result);
case DESIRED:
result = BulbState.merge(mTarget, result);
}
return result;
}
@Override
public ConnectivityState getConnectivityState() {
throw new UnsupportedOperationException();
}
@Override
public String getName() {
throw new UnsupportedOperationException();
}
@Override
public void rename(String name) {
throw new UnsupportedOperationException();
}
@Override
public Long getBaseId() {
return mId;
}
}