package jp.co.cyberagent.stf.query;
import android.content.Context;
import android.content.Intent;
import com.google.protobuf.GeneratedMessageLite;
import com.google.protobuf.InvalidProtocolBufferException;
import jp.co.cyberagent.stf.IdentityActivity;
import jp.co.cyberagent.stf.proto.Wire;
public class DoIdentifyResponder extends AbstractResponder {
public DoIdentifyResponder(Context context) {
super(context);
}
@Override
public GeneratedMessageLite respond(Wire.Envelope envelope) throws InvalidProtocolBufferException {
Wire.DoIdentifyRequest request =
Wire.DoIdentifyRequest.parseFrom(envelope.getMessage());
showIdentity(request.getSerial());
return Wire.Envelope.newBuilder()
.setId(envelope.getId())
.setType(Wire.MessageType.DO_IDENTIFY)
.setMessage(Wire.DoIdentifyResponse.newBuilder()
.setSuccess(true)
.build()
.toByteString())
.build();
}
@Override
public void cleanup() {
// No-op
}
private void showIdentity(String serial) {
Intent intent = new Intent(context, IdentityActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(IdentityActivity.EXTRA_SERIAL, serial);
context.startActivity(intent);
}
}