final String convObjectIdString;
final WaveletDiffSnapshot convSnapshot;
@Nullable final ConnectResponse convConnectResponse;
if (clientVars.hasStaticClientVars()) {
isLive = false;
StaticClientVars vars = clientVars.getStaticClientVars();
randomSeed = vars.getRandomSeed();
userIdString = vars.getUserEmail();
haveOAuthToken = vars.getHaveOauthToken();
convObjectIdString = vars.getConvObjectId();
convSnapshot = vars.getConvSnapshot();
convConnectResponse = null;
useUdw = false;
udwData = null;
} else {
isLive = true;
LiveClientVars vars = clientVars.getLiveClientVars();
randomSeed = vars.getRandomSeed();
userIdString = vars.getUserEmail();
haveOAuthToken = vars.getHaveOauthToken();
convObjectIdString =
vars.getConvConnectResponse().getSignedSession().getSession().getObjectId();
convSnapshot = vars.getConvSnapshot();
convConnectResponse = vars.getConvConnectResponse();
if (!vars.hasUdw()) {
useUdw = false;
udwData = null;
} else {
useUdw = true;
udwData = vars.getUdw();
udwObjectId = new SlobId(vars.getUdw().getConnectResponse()
.getSignedSession().getSession().getObjectId());
}
VersionChecker versionChecker = new VersionChecker(rpc, vars.getClientVersion());
// NOTE(danilatos): Use the highest priority timer, since we can't afford to
// let it be starved due to some bug with another non-terminating
// high-priority task. This task runs infrequently and is very minimal so
// the risk of impacting the UI is low.
SchedulerInstance.getHighPriorityTimer().scheduleRepeating(versionChecker,