use of com.vodafone360.people.engine.presence.User in project 360-Engine-for-Android by 360.
the class Auth method getSessionByCredentials.
/**
* Implementation of "getsessionbycredentials" API. Used to login to an
* existing VF360 account.
*
* @param engine Handle to LoginEngine which handles requests using this
* API.
* @param username User-name for account.
* @param password Password for account.
* @param more Additional login details or NULL.
* @return Request ID generated for this request.
* @throws NullPointerException when engine is NULL
* @throws NullPointerException when username is NULL
* @throws NullPointerException when password is NULL
*/
public static int getSessionByCredentials(BaseEngine engine, String username, String password, Map<String, List<String>> more) {
if (engine == null) {
throw new NullPointerException("Auth.getSessionByCredentials() engine cannot be NULL");
}
if (username == null) {
throw new NullPointerException("Auth.getSessionByCredentials() username cannot be NULL");
}
if (password == null) {
throw new NullPointerException("Auth.getSessionByCredentials() password cannot be NULL");
}
String ts = "" + (System.currentTimeMillis() / 1000);
Request request = new Request(FUNCTION_GET_SESSION, Request.Type.SIGN_IN, engine.engineId(), false, Settings.API_REQUESTS_TIMEOUT_AUTH);
request.addData("hash", AuthUtils.getMd5Hash(SettingsManager.getProperty(Settings.APP_SECRET_KEY).toLowerCase() + "&" + ts + "&" + username.toLowerCase() + "&" + password.toLowerCase()));
request.addData(TIMESTAMP, ts);
request.addData(USERNAME, username.toLowerCase());
QueueManager queue = QueueManager.getInstance();
int requestId = queue.addRequest(request);
queue.fireQueueStateChanged();
return requestId;
}
use of com.vodafone360.people.engine.presence.User in project 360-Engine-for-Android by 360.
the class Auth method getUsernameState.
/**
* Implementation of "auth/getusernamestate" API.
*
* @param engine Handle to LoginEngine which handles requests using this
* API.
* @param username User name for this account.
* @return Request id generated for this request.
* @return -1 when username is NULL.
* @throws NullPointerException when engine is NULL
*/
public static int getUsernameState(BaseEngine engine, String username) {
if (engine == null) {
throw new NullPointerException("Auth.getUsernameState() engine cannot be NULL");
}
if (username == null) {
LogUtils.logE("Auth.GetUsernameState() username must not be NULL, return -1");
return -1;
}
Request request = new Request(FUNCTION_GET_USERNAME_STATE, Request.Type.TEXT_RESPONSE_ONLY, engine.engineId(), false, Settings.API_REQUESTS_TIMEOUT_AUTH);
request.addData(USERNAME, username);
QueueManager queue = QueueManager.getInstance();
int requestId = queue.addRequest(request);
queue.fireQueueStateChanged();
return requestId;
}
use of com.vodafone360.people.engine.presence.User in project 360-Engine-for-Android by 360.
the class Auth method signupUserCrypted.
/**
* Implementation of "auth/signupusercrypted" API. Encrypted signup to new
* account.
*
* @param engine Handle to LoginEngine which handles requests using this
* API.
* @param fullname Full name of user
* @param username Username chosen for new account
* @param password Password chosen for new account
* @param timestamp Current timestamp.
* @param email Email address associated with this account.
* @param birthDate Birthday of user signing up (there is a minimum age
* limit for users).
* @param msisdn MSIDN for user.
* @param acceptedTAndC Whether user has accepted terms and conditions.
* @param countryCode String identifier identifying country.
* @param timezone Timezone identifier.
* @param language Lauguage identifier.
* @param mobileOperatorId ID of mobile operator.
* @param mobileModelId Mobile device ID.
* @param sendConfirmationMail True if confirmation email to be sent to
* user.
* @param sendConfirmationSms True if confirmation SMS to be sent to user.
* @param subscribeToNewsletter True if user wishes to subscribe to
* newsletter.
* @return Request ID generated for this request.
* @throws NullPointerException when engine is NULL
* @throws NullPointerException when acceptedTAndC is NULL
* @throws NullPointerException when mobileOperatorId is NULL
* @throws NullPointerException when mobileModelId is NULL
* @throws NullPointerException when sendConfirmationMail is NULL
* @throws NullPointerException when sendConfirmationSms is NULL
* @throws NullPointerException when subscribeToNewsletter is NULL
*/
public static int signupUserCrypted(BaseEngine engine, String fullname, String username, byte[] password, long timestamp, String email, String birthDate, String msisdn, Boolean acceptedTAndC, String countryCode, String timezone, String language, Long mobileOperatorId, Long mobileModelId, Boolean sendConfirmationMail, Boolean sendConfirmationSms, Boolean subscribeToNewsletter) {
if (engine == null) {
throw new NullPointerException("Auth.signupUserCrypted() engine cannot be NULL");
}
if (acceptedTAndC == null) {
throw new NullPointerException("Auth.signupUserCrypted() acceptedTAndC cannot be NULL");
}
if (mobileOperatorId == null) {
throw new NullPointerException("Auth.signupUserCrypted() mobileOperatorId cannot be NULL");
}
if (mobileModelId == null) {
throw new NullPointerException("Auth.signupUserCrypted() mobileModelId cannot be NULL");
}
if (sendConfirmationMail == null) {
throw new NullPointerException("Auth.signupUserCrypted() sendConfirmationMail cannot be NULL");
}
if (sendConfirmationSms == null) {
throw new NullPointerException("Auth.signupUserCrypted() sendConfirmationSms cannot be NULL");
}
if (subscribeToNewsletter == null) {
throw new NullPointerException("Auth.signupUserCrypted() subscribeToNewsletter cannot be NULL");
}
String ts = "" + (System.currentTimeMillis() / 1000);
Request request = new Request(FUNCTION_SIGNUP_USER_CRYPTED, Request.Type.SIGN_UP, engine.engineId(), false, Settings.API_REQUESTS_TIMEOUT_AUTH);
request.addData(FULLNAME, fullname);
request.addData(USERNAME, username);
request.addData(PASSWORD, password);
request.addData(EMAIL, email);
request.addData(BIRTHDATE, birthDate);
request.addData(MSISDN, msisdn);
request.addData(ACCEPTED_T_AND_C, acceptedTAndC.toString());
request.addData(COUNTY_CODE, countryCode);
request.addData(TIMESTAMP, ts);
request.addData(TIMEZONE, timezone);
request.addData(LANGUAGE, language);
request.addData(MOBILE_OPERATOR_ID, mobileOperatorId.toString());
request.addData(MOBILE_MODE_ID, mobileModelId.toString());
request.addData(SEND_CONFIRMATION_MAIL, sendConfirmationMail.toString());
request.addData(SEND_CONFIRMAITON_SMS, sendConfirmationSms.toString());
request.addData(SUBSCRIBE_TO_NEWSLETTER, subscribeToNewsletter.toString());
QueueManager queue = QueueManager.getInstance();
int requestId = queue.addRequest(request);
queue.fireQueueStateChanged();
return requestId;
}
use of com.vodafone360.people.engine.presence.User in project 360-Engine-for-Android by 360.
the class HeartbeatSenderThread method sendHeartbeat.
/**
* Prepares the necessary Hessian payload and writes it directly to the open
* output-stream of the socket.
*
* @throws Exception Thrown if there was an unknown problem writing to the
* output-stream.
* @throws IOException Thrown if there was a problem regarding IO while
* writing to the output-stream.
*/
public void sendHeartbeat() throws IOException, Exception {
byte[] rpgMsg = null;
try {
rpgMsg = getHeartbeatHessianPayload();
} catch (NullPointerException e) {
// Stop connnection and log out
ConnectionManager.getInstance().onLoginStateChanged(false);
EngineManager.getInstance().getLoginEngine().logoutAndRemoveUser();
}
try {
// Try and issue the request
if (Settings.sEnableProtocolTrace) {
Long userID = null;
AuthSessionHolder auth = LoginEngine.getSession();
if (auth != null) {
userID = auth.userID;
}
HttpConnectionThread.logI("RpgTcpHeartbeatSender.sendHeartbeat()", "\n * Sending a heartbeat for user ID " + userID + "----------------------------------------" + HessianUtils.getInHessian(new ByteArrayInputStream(rpgMsg), true) + "\n");
}
if (null != mOs) {
synchronized (mOs) {
mOs.write(rpgMsg);
mOs.flush();
}
}
} catch (IOException ioe) {
HttpConnectionThread.logE("RpgTcpHeartbeatSender.sendHeartbeat()", "Could not write HB to OS!", ioe);
throw ioe;
} catch (Exception e) {
HttpConnectionThread.logE("RpgTcpHeartbeatSender.sendHeartbeat()", "Could not send HB to OS! Unknown: ", e);
throw e;
} finally {
rpgMsg = null;
}
}
use of com.vodafone360.people.engine.presence.User in project 360-Engine-for-Android by 360.
the class UserDataProtection method performStartupChecks.
/**
* Performs the checks needed when the 360 Service is started.
*
* This method checks if the user has changed and if the SIM card id cannot be read, sets a
* SIM state changes listener.
*/
public void performStartupChecks() {
LogUtils.logD("UserDataProtection.performStartupChecks()");
final int simState = SimCard.getState(mContext);
if (simState == TelephonyManager.SIM_STATE_ABSENT || simState == TelephonyManager.SIM_STATE_READY) {
processUserChanges();
} else {
LogUtils.logD("UserDataProtection.performStartupChecks() - SIM_STATE_UNKNOWN, register a SimStateReceiver.");
// SIM is not ready, register a listener for Sim state changes to check
// the subscriber id when possible
mSimStateReceiver = new SimStateReceiver(this);
mContext.registerReceiver(mSimStateReceiver, new IntentFilter(SimStateReceiver.INTENT_SIM_STATE_CHANGED));
}
}
Aggregations