Search in sources :

Example 41 with User

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;
}
Also used : Request(com.vodafone360.people.service.io.Request) QueueManager(com.vodafone360.people.service.io.QueueManager)

Example 42 with User

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;
}
Also used : Request(com.vodafone360.people.service.io.Request) QueueManager(com.vodafone360.people.service.io.QueueManager)

Example 43 with User

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;
}
Also used : Request(com.vodafone360.people.service.io.Request) QueueManager(com.vodafone360.people.service.io.QueueManager)

Example 44 with User

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;
    }
}
Also used : AuthSessionHolder(com.vodafone360.people.datatypes.AuthSessionHolder) ByteArrayInputStream(java.io.ByteArrayInputStream) IOException(java.io.IOException) IOException(java.io.IOException)

Example 45 with User

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));
    }
}
Also used : IntentFilter(android.content.IntentFilter) SimStateReceiver(com.vodafone360.people.service.receivers.SimStateReceiver)

Aggregations

ServiceStatus (com.vodafone360.people.service.ServiceStatus)22 Contact (com.vodafone360.people.datatypes.Contact)12 ArrayList (java.util.ArrayList)12 User (com.vodafone360.people.engine.presence.User)11 Hashtable (java.util.Hashtable)9 ContactDetail (com.vodafone360.people.datatypes.ContactDetail)7 Request (com.vodafone360.people.service.io.Request)7 MediumTest (android.test.suitebuilder.annotation.MediumTest)6 PersistSettings (com.vodafone360.people.service.PersistSettings)6 QueueManager (com.vodafone360.people.service.io.QueueManager)6 SmallTest (android.test.suitebuilder.annotation.SmallTest)4 Identity (com.vodafone360.people.datatypes.Identity)4 ServerIdInfo (com.vodafone360.people.database.DatabaseHelper.ServerIdInfo)3 RegistrationDetails (com.vodafone360.people.datatypes.RegistrationDetails)3 NetworkPresence (com.vodafone360.people.engine.presence.NetworkPresence)3 Cursor (android.database.Cursor)2 SQLiteStatement (android.database.sqlite.SQLiteStatement)2 ContactIdInfo (com.vodafone360.people.database.tables.ContactsTable.ContactIdInfo)2 AuthSessionHolder (com.vodafone360.people.datatypes.AuthSessionHolder)2 ContactChanges (com.vodafone360.people.datatypes.ContactChanges)2