diff options
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/service/gatekeeper/GateKeeperResponse.java | 48 |
1 files changed, 28 insertions, 20 deletions
diff --git a/core/java/android/service/gatekeeper/GateKeeperResponse.java b/core/java/android/service/gatekeeper/GateKeeperResponse.java index a512957d6040..287dc76a9b01 100644 --- a/core/java/android/service/gatekeeper/GateKeeperResponse.java +++ b/core/java/android/service/gatekeeper/GateKeeperResponse.java @@ -19,6 +19,8 @@ package android.service.gatekeeper; import android.os.Parcel; import android.os.Parcelable; +import com.android.internal.annotations.VisibleForTesting; + /** * Response object for a GateKeeper verification request. * @hide @@ -35,12 +37,28 @@ public final class GateKeeperResponse implements Parcelable { private byte[] mPayload; private boolean mShouldReEnroll; + /** Default constructor for response with generic response code **/ private GateKeeperResponse(int responseCode) { mResponseCode = responseCode; } - private GateKeeperResponse(int responseCode, int timeout) { - mResponseCode = responseCode; + @VisibleForTesting + public static GateKeeperResponse createGenericResponse(int responseCode) { + return new GateKeeperResponse(responseCode); + } + + private static GateKeeperResponse createRetryResponse(int timeout) { + GateKeeperResponse response = new GateKeeperResponse(RESPONSE_RETRY); + response.mTimeout = timeout; + return response; + } + + @VisibleForTesting + public static GateKeeperResponse createOkResponse(byte[] payload, boolean shouldReEnroll) { + GateKeeperResponse response = new GateKeeperResponse(RESPONSE_OK); + response.mPayload = payload; + response.mShouldReEnroll = shouldReEnroll; + return response; } @Override @@ -53,17 +71,20 @@ public final class GateKeeperResponse implements Parcelable { @Override public GateKeeperResponse createFromParcel(Parcel source) { int responseCode = source.readInt(); - GateKeeperResponse response = new GateKeeperResponse(responseCode); + final GateKeeperResponse response; if (responseCode == RESPONSE_RETRY) { - response.setTimeout(source.readInt()); + response = createRetryResponse(source.readInt()); } else if (responseCode == RESPONSE_OK) { - response.setShouldReEnroll(source.readInt() == 1); + final boolean shouldReEnroll = source.readInt() == 1; + byte[] payload = null; int size = source.readInt(); if (size > 0) { - byte[] payload = new byte[size]; + payload = new byte[size]; source.readByteArray(payload); - response.setPayload(payload); } + response = createOkResponse(payload, shouldReEnroll); + } else { + response = createGenericResponse(responseCode); } return response; } @@ -104,17 +125,4 @@ public final class GateKeeperResponse implements Parcelable { public int getResponseCode() { return mResponseCode; } - - private void setTimeout(int timeout) { - mTimeout = timeout; - } - - private void setShouldReEnroll(boolean shouldReEnroll) { - mShouldReEnroll = shouldReEnroll; - } - - private void setPayload(byte[] payload) { - mPayload = payload; - } - } |
