package com.gettingmobile.google; public final class StaticAuthenticator implements Authenticator { public static final int AUTH_TOKEN_TIMEOUT_MS = 1000 /*ms*/ * 60 /*s*/ * 60 /*min*/ * 12 /*h*/; // we assume 12 hours public static final int EDIT_TOKEN_TIMEOUT_MS = 1000 /*ms*/ * 60 /*s*/ * 30 /*min*/; // we assume 30 minutes private String authToken = ""; private long authTokenTimestamp = 0; private String editToken = ""; private long editTokenTimestamp = 0; public StaticAuthenticator(String authToken) { setAuthToken(authToken); } public StaticAuthenticator() { this(null); } @Override public boolean hasValidAuthToken() { return authToken.length() > 0 && (System.currentTimeMillis() - authTokenTimestamp) < AUTH_TOKEN_TIMEOUT_MS; } @Override public String getAuthToken() { return authToken; } public void setAuthToken(String authToken) { this.authToken = authToken != null ? authToken : ""; authTokenTimestamp = System.currentTimeMillis(); } @Override public boolean hasValidEditToken() { return editToken.length() > 0 && (System.currentTimeMillis() - editTokenTimestamp) < EDIT_TOKEN_TIMEOUT_MS; } @Override public String getEditToken() { return editToken; } @Override public void setEditToken(String editToken) { this.editToken = editToken != null ? editToken : ""; editTokenTimestamp = System.currentTimeMillis(); } }