Search in sources :

Example 1 with InvalidApplicationException

use of com.applozic.mobicomkit.exception.InvalidApplicationException in project Applozic-Android-SDK by AppLozic.

the class RegisterUserClientService method createAccount.

// final RegistrationResponse registrationResponse = createAccount(user);
// Intent intent = new Intent(context, ApplozicMqttIntentService.class);
// intent.putExtra(ApplozicMqttIntentService.CONNECTED_PUBLISH,true);
// ApplozicMqttIntentService.enqueueWork(context, intent);
// return registrationResponse;
public RegistrationResponse createAccount(User user) throws Exception {
    user.setDeviceType(Short.valueOf("1"));
    user.setPrefContactAPI(Short.valueOf("2"));
    user.setTimezone(TimeZone.getDefault().getID());
    user.setEnableEncryption(user.isEnableEncryption());
    MobiComUserPreference mobiComUserPreference = MobiComUserPreference.getInstance(context);
    Gson gson = new Gson();
    user.setAppVersionCode(MOBICOMKIT_VERSION_CODE);
    user.setApplicationId(getApplicationKey(context));
    user.setRegistrationId(mobiComUserPreference.getDeviceRegistrationId());
    if (getAppModuleName(context) != null) {
        user.setAppModuleName(getAppModuleName(context));
    }
    Utils.printLog(context, TAG, "Net status" + Utils.isInternetAvailable(context.getApplicationContext()));
    if (!Utils.isInternetAvailable(context.getApplicationContext())) {
        throw new ConnectException("No Internet Connection");
    }
    // Log.i(TAG, "App Id is: " + getApplicationKey(context));
    Utils.printLog(context, TAG, "Registration json " + gson.toJson(user));
    String response = httpRequestUtils.postJsonToServer(getCreateAccountUrl(), gson.toJson(user));
    Utils.printLog(context, TAG, "Registration response is: " + response);
    if (TextUtils.isEmpty(response) || response.contains("<html")) {
        throw new Exception("503 Service Unavailable");
    // return null;
    }
    if (response.contains(INVALID_APP_ID)) {
        throw new InvalidApplicationException("Invalid Application Id");
    }
    final RegistrationResponse registrationResponse = gson.fromJson(response, RegistrationResponse.class);
    if (registrationResponse.isPasswordInvalid()) {
        throw new UnAuthoriseException("Invalid uername/password");
    }
    Utils.printLog(context, "Registration response ", "is " + registrationResponse);
    if (registrationResponse.getNotificationResponse() != null) {
        Utils.printLog(context, "Registration response ", "" + registrationResponse.getNotificationResponse());
    }
    mobiComUserPreference.setEncryptionKey(registrationResponse.getEncryptionKey());
    mobiComUserPreference.enableEncryption(user.isEnableEncryption());
    mobiComUserPreference.setCountryCode(user.getCountryCode());
    mobiComUserPreference.setUserId(user.getUserId());
    mobiComUserPreference.setContactNumber(user.getContactNumber());
    mobiComUserPreference.setEmailVerified(user.isEmailVerified());
    mobiComUserPreference.setDisplayName(user.getDisplayName());
    mobiComUserPreference.setMqttBrokerUrl(registrationResponse.getBrokerUrl());
    mobiComUserPreference.setDeviceKeyString(registrationResponse.getDeviceKey());
    mobiComUserPreference.setEmailIdValue(user.getEmail());
    mobiComUserPreference.setImageLink(user.getImageLink());
    mobiComUserPreference.setSuUserKeyString(registrationResponse.getUserKey());
    mobiComUserPreference.setLastSyncTimeForMetadataUpdate(String.valueOf(registrationResponse.getCurrentTimeStamp()));
    mobiComUserPreference.setLastSyncTime(String.valueOf(registrationResponse.getCurrentTimeStamp()));
    mobiComUserPreference.setLastSeenAtSyncTime(String.valueOf(registrationResponse.getCurrentTimeStamp()));
    mobiComUserPreference.setChannelSyncTime(String.valueOf(registrationResponse.getCurrentTimeStamp()));
    mobiComUserPreference.setUserBlockSyncTime("10000");
    mobiComUserPreference.setPassword(user.getPassword());
    mobiComUserPreference.setPricingPackage(registrationResponse.getPricingPackage());
    mobiComUserPreference.setAuthenticationType(String.valueOf(user.getAuthenticationTypeId()));
    mobiComUserPreference.setUserRoleType(user.getRoleType());
    if (user.getUserTypeId() != null) {
        mobiComUserPreference.setUserTypeId(String.valueOf(user.getUserTypeId()));
    }
    if (!TextUtils.isEmpty(user.getNotificationSoundFilePath())) {
        mobiComUserPreference.setNotificationSoundFilePath(user.getNotificationSoundFilePath());
    }
    Contact contact = new Contact();
    contact.setUserId(user.getUserId());
    contact.setFullName(registrationResponse.getDisplayName());
    contact.setImageURL(registrationResponse.getImageLink());
    contact.setContactNumber(registrationResponse.getContactNumber());
    if (user.getUserTypeId() != null) {
        contact.setUserTypeId(user.getUserTypeId());
    }
    contact.setRoleType(user.getRoleType());
    contact.setMetadata(user.getMetadata());
    contact.setStatus(registrationResponse.getStatusMessage());
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        createNotificationChannel(context);
    }
    contact.processContactNumbers(context);
    new AppContactService(context).upsert(contact);
    Intent conversationIntentService = new Intent(context, ConversationIntentService.class);
    conversationIntentService.putExtra(ConversationIntentService.SYNC, false);
    ConversationIntentService.enqueueWork(context, conversationIntentService);
    Intent mutedUserListService = new Intent(context, ConversationIntentService.class);
    mutedUserListService.putExtra(ConversationIntentService.MUTED_USER_LIST_SYNC, true);
    ConversationIntentService.enqueueWork(context, mutedUserListService);
    Intent intent = new Intent(context, ApplozicMqttIntentService.class);
    intent.putExtra(ApplozicMqttIntentService.CONNECTED_PUBLISH, true);
    ApplozicMqttIntentService.enqueueWork(context, intent);
    return registrationResponse;
}
Also used : AppContactService(com.applozic.mobicomkit.contact.AppContactService) MobiComUserPreference(com.applozic.mobicomkit.api.account.user.MobiComUserPreference) Gson(com.google.gson.Gson) InvalidApplicationException(com.applozic.mobicomkit.exception.InvalidApplicationException) UnAuthoriseException(com.applozic.mobicomkit.exception.UnAuthoriseException) Intent(android.content.Intent) UnAuthoriseException(com.applozic.mobicomkit.exception.UnAuthoriseException) ConnectException(java.net.ConnectException) InvalidApplicationException(com.applozic.mobicomkit.exception.InvalidApplicationException) ConnectException(java.net.ConnectException) Contact(com.applozic.mobicommons.people.contact.Contact)

Example 2 with InvalidApplicationException

use of com.applozic.mobicomkit.exception.InvalidApplicationException in project Applozic-Android-SDK by AppLozic.

the class RegisterUserClientService method updateRegisteredAccount.

public RegistrationResponse updateRegisteredAccount(User user) throws Exception {
    RegistrationResponse registrationResponse = null;
    user.setDeviceType(Short.valueOf("1"));
    user.setPrefContactAPI(Short.valueOf("2"));
    user.setTimezone(TimeZone.getDefault().getID());
    MobiComUserPreference mobiComUserPreference = MobiComUserPreference.getInstance(context);
    Gson gson = new Gson();
    user.setEnableEncryption(mobiComUserPreference.isEncryptionEnabled());
    user.setAppVersionCode(MOBICOMKIT_VERSION_CODE);
    user.setApplicationId(getApplicationKey(context));
    user.setAuthenticationTypeId(Short.valueOf(mobiComUserPreference.getAuthenticationType()));
    if (!TextUtils.isEmpty(mobiComUserPreference.getUserTypeId())) {
        user.setUserTypeId(Short.valueOf(mobiComUserPreference.getUserTypeId()));
    }
    if (getAppModuleName(context) != null) {
        user.setAppModuleName(getAppModuleName(context));
    }
    if (!TextUtils.isEmpty(mobiComUserPreference.getDeviceRegistrationId())) {
        user.setRegistrationId(mobiComUserPreference.getDeviceRegistrationId());
    }
    Utils.printLog(context, TAG, "Registration update json " + gson.toJson(user));
    String response = httpRequestUtils.postJsonToServer(getUpdateAccountUrl(), gson.toJson(user));
    if (TextUtils.isEmpty(response) || response.contains("<html")) {
        throw null;
    }
    if (response.contains(INVALID_APP_ID)) {
        throw new InvalidApplicationException("Invalid Application Id");
    }
    registrationResponse = gson.fromJson(response, RegistrationResponse.class);
    if (registrationResponse.isPasswordInvalid()) {
        throw new UnAuthoriseException("Invalid uername/password");
    }
    Utils.printLog(context, TAG, "Registration update response: " + registrationResponse);
    mobiComUserPreference.setPricingPackage(registrationResponse.getPricingPackage());
    if (registrationResponse.getNotificationResponse() != null) {
        Utils.printLog(context, TAG, "Notification response: " + registrationResponse.getNotificationResponse());
    }
    return registrationResponse;
}
Also used : MobiComUserPreference(com.applozic.mobicomkit.api.account.user.MobiComUserPreference) Gson(com.google.gson.Gson) InvalidApplicationException(com.applozic.mobicomkit.exception.InvalidApplicationException) UnAuthoriseException(com.applozic.mobicomkit.exception.UnAuthoriseException)

Aggregations

MobiComUserPreference (com.applozic.mobicomkit.api.account.user.MobiComUserPreference)2 InvalidApplicationException (com.applozic.mobicomkit.exception.InvalidApplicationException)2 UnAuthoriseException (com.applozic.mobicomkit.exception.UnAuthoriseException)2 Gson (com.google.gson.Gson)2 Intent (android.content.Intent)1 AppContactService (com.applozic.mobicomkit.contact.AppContactService)1 Contact (com.applozic.mobicommons.people.contact.Contact)1 ConnectException (java.net.ConnectException)1