Search in sources :

Example 1 with RegisteredUsersApiResponse

use of com.applozic.mobicomkit.feed.RegisteredUsersApiResponse in project Applozic-Android-SDK by AppLozic.

the class UserService method getRegisteredUsersList.

// Cleanup: rename (syncRegisteredUsers)
/**
 * Retrieves a list of registered users from the server. They are also saved locally.
 *
 * <p>This methods updates the local user/contact data for these retrieved users
 * by calling {@link UserService#processUserDetail(Set)}.</p>
 *
 * <p>You can use the asynchronous {@link RegisteredUsersAsyncTask} instead of directly using this method.</p>
 *
 * <p>Note: This method has database and network operation. Run it asynchronously.</p>
 *
 * @param startTime the start time in milliseconds. eg: a start time of X will return all the
 *                  registered users created after X. pass 0 for all users.
 * @return the server api response. use {@link RegisteredUsersApiResponse#getUsers()}
 */
@Nullable
public synchronized RegisteredUsersApiResponse getRegisteredUsersList(@NonNull Long startTime, int pageSize) {
    String response = userClientService.getRegisteredUsers(startTime, pageSize);
    RegisteredUsersApiResponse apiResponse = null;
    if (!TextUtils.isEmpty(response) && !MobiComKitConstants.ERROR.equals(response)) {
        apiResponse = (RegisteredUsersApiResponse) GsonUtils.getObjectFromJson(response, RegisteredUsersApiResponse.class);
        if (apiResponse != null) {
            processUserDetail(apiResponse.getUsers());
            userPreference.setRegisteredUsersLastFetchTime(apiResponse.getLastFetchTime());
        }
        return apiResponse;
    }
    return null;
}
Also used : RegisteredUsersApiResponse(com.applozic.mobicomkit.feed.RegisteredUsersApiResponse) Nullable(androidx.annotation.Nullable)

Example 2 with RegisteredUsersApiResponse

use of com.applozic.mobicomkit.feed.RegisteredUsersApiResponse in project Applozic-Android-SDK by AppLozic.

the class UserServiceTest method getRegisteredUsersList.

@Test
public void getRegisteredUsersList() {
    RegisteredUsersApiResponse expectedRegisteredUsersApiResponse = new RegisteredUsersApiResponse();
    UserDetail[] expectedUserDetails = (UserDetail[]) GsonUtils.getObjectFromJson(userDetailsApiResponse, UserDetail[].class);
    Set<UserDetail> userDetailSet = new HashSet<>(Arrays.asList(expectedUserDetails));
    expectedRegisteredUsersApiResponse.setLastFetchTime(12345L);
    expectedRegisteredUsersApiResponse.setTotalUnreadCount(100);
    expectedRegisteredUsersApiResponse.setUsers(userDetailSet);
    String response = GsonUtils.getJsonFromObject(expectedRegisteredUsersApiResponse, RegisteredUsersApiResponse.class);
    Mockito.when(userClientService.getRegisteredUsers(ArgumentMatchers.anyLong(), ArgumentMatchers.anyInt())).thenReturn(response);
    RegisteredUsersApiResponse registeredUsersApiResponse = userService.getRegisteredUsersList(ArgumentMatchers.anyLong(), ArgumentMatchers.anyInt());
    Truth.assertThat(registeredUsersApiResponse.toString()).isEqualTo(expectedRegisteredUsersApiResponse.toString());
    Mockito.verify(appContactService, Mockito.times(expectedRegisteredUsersApiResponse.getUsers().size())).upsert(ArgumentMatchers.any(Contact.class));
}
Also used : UserDetail(com.applozic.mobicomkit.api.account.user.UserDetail) RegisteredUsersApiResponse(com.applozic.mobicomkit.feed.RegisteredUsersApiResponse) HashSet(java.util.HashSet) Contact(com.applozic.mobicommons.people.contact.Contact) Test(org.junit.Test)

Example 3 with RegisteredUsersApiResponse

use of com.applozic.mobicomkit.feed.RegisteredUsersApiResponse in project Applozic-Android-SDK by AppLozic.

the class ContactSelectionFragment method processDownloadRegisteredUsers.

public void processDownloadRegisteredUsers() {
    if (footerView != null) {
        footerView.setVisibility(View.VISIBLE);
    }
    RegisteredUsersAsyncTask.TaskListener usersAsyncTaskTaskListener = new RegisteredUsersAsyncTask.TaskListener() {

        @Override
        public void onSuccess(RegisteredUsersApiResponse registeredUsersApiResponse, String[] userIdArray) {
            if (footerView != null) {
                footerView.setVisibility(View.GONE);
            }
            if (registeredUsersApiResponse != null) {
                try {
                    if (!Utils.isInternetAvailable(getActivity())) {
                        Toast toast = Toast.makeText(getActivity(), getActivity().getString(R.string.applozic_contacts_loading_error), Toast.LENGTH_SHORT);
                        toast.setGravity(Gravity.CENTER, 0, 0);
                        toast.show();
                    }
                    if (registeredUsersApiResponse != null && contactsGroupId == null) {
                        getLoaderManager().restartLoader(ContactSelectionFragment.ContactsQuery.QUERY_ID, null, ContactSelectionFragment.this);
                    }
                } catch (Exception e) {
                }
            }
        }

        @Override
        public void onFailure(RegisteredUsersApiResponse registeredUsersApiResponse, String[] userIdArray, Exception exception) {
            if (footerView != null) {
                footerView.setVisibility(View.GONE);
            }
            String error = getString(Utils.isInternetAvailable(getActivity()) ? R.string.applozic_server_error : R.string.you_need_network_access_for_block_or_unblock);
            Toast toast = Toast.makeText(getActivity(), error, Toast.LENGTH_LONG);
            toast.setGravity(Gravity.CENTER, 0, 0);
            toast.show();
        }

        @Override
        public void onCompletion() {
        }
    };
    RegisteredUsersAsyncTask usersAsyncTask = new RegisteredUsersAsyncTask(getActivity(), usersAsyncTaskTaskListener, alCustomizationSettings.getTotalRegisteredUserToFetch(), userPreference.getRegisteredUsersLastFetchTime(), null, null, true);
    AlTask.execute(usersAsyncTask);
}
Also used : Toast(android.widget.Toast) RegisteredUsersAsyncTask(com.applozic.mobicomkit.api.account.user.RegisteredUsersAsyncTask) RegisteredUsersApiResponse(com.applozic.mobicomkit.feed.RegisteredUsersApiResponse) SpannableString(android.text.SpannableString)

Example 4 with RegisteredUsersApiResponse

use of com.applozic.mobicomkit.feed.RegisteredUsersApiResponse in project Applozic-Android-SDK by AppLozic.

the class AppContactFragment method processLoadRegisteredUsers.

public void processLoadRegisteredUsers() {
    if (footerView != null) {
        footerView.setVisibility(View.VISIBLE);
    }
    RegisteredUsersAsyncTask.TaskListener usersAsyncTaskTaskListener = new RegisteredUsersAsyncTask.TaskListener() {

        @Override
        public void onSuccess(RegisteredUsersApiResponse registeredUsersApiResponse, String[] userIdArray) {
            if (footerView != null) {
                footerView.setVisibility(View.GONE);
            }
            try {
                if (registeredUsersApiResponse != null) {
                    getLoaderManager().restartLoader(AppContactFragment.ContactsQuery.QUERY_ID, null, AppContactFragment.this);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        @Override
        public void onFailure(RegisteredUsersApiResponse registeredUsersApiResponse, String[] userIdArray, Exception exception) {
            if (footerView != null) {
                footerView.setVisibility(View.GONE);
            }
            String error = getString(Utils.isInternetAvailable(getActivity()) ? R.string.applozic_server_error : R.string.you_need_network_access_for_block_or_unblock);
            Toast toast = Toast.makeText(getActivity(), error, Toast.LENGTH_LONG);
            toast.setGravity(Gravity.CENTER, 0, 0);
            toast.show();
        }

        @Override
        public void onCompletion() {
        }
    };
    RegisteredUsersAsyncTask usersAsyncTask = new RegisteredUsersAsyncTask(getActivity(), usersAsyncTaskTaskListener, alCustomizationSettings.getTotalRegisteredUserToFetch(), userPreference.getRegisteredUsersLastFetchTime(), null, null, true);
    AlTask.execute(usersAsyncTask);
}
Also used : Toast(android.widget.Toast) RegisteredUsersAsyncTask(com.applozic.mobicomkit.api.account.user.RegisteredUsersAsyncTask) RegisteredUsersApiResponse(com.applozic.mobicomkit.feed.RegisteredUsersApiResponse) SpannableString(android.text.SpannableString)

Example 5 with RegisteredUsersApiResponse

use of com.applozic.mobicomkit.feed.RegisteredUsersApiResponse in project Applozic-Android-SDK by AppLozic.

the class ChannelInfoActivity method processLoadRegisteredUsers.

public void processLoadRegisteredUsers() {
    final ProgressDialog progressDialog = ProgressDialog.show(ChannelInfoActivity.this, "", getString(R.string.applozic_contacts_loading_info), true);
    RegisteredUsersAsyncTask.TaskListener usersAsyncTaskTaskListener = new RegisteredUsersAsyncTask.TaskListener() {

        @Override
        public void onSuccess(RegisteredUsersApiResponse registeredUsersApiResponse, String[] userIdArray) {
            if (progressDialog != null && progressDialog.isShowing()) {
                progressDialog.dismiss();
            }
            userPreference.setWasContactListServerCallAlreadyDone(true);
            Intent addMemberIntent = new Intent(ChannelInfoActivity.this, ContactSelectionActivity.class);
            addMemberIntent.putExtra(ContactSelectionActivity.CHECK_BOX, true);
            addMemberIntent.putExtra(ContactSelectionActivity.CHANNEL_OBJECT, channel);
            startActivityForResult(addMemberIntent, REQUEST_CODE_FOR_CONTACT);
        }

        @Override
        public void onFailure(RegisteredUsersApiResponse registeredUsersApiResponse, String[] userIdArray, Exception exception) {
            if (progressDialog != null && progressDialog.isShowing()) {
                progressDialog.dismiss();
            }
            String error = getString(Utils.isInternetAvailable(ChannelInfoActivity.this) ? R.string.applozic_server_error : R.string.you_need_network_access_for_block_or_unblock);
            Toast toast = Toast.makeText(ChannelInfoActivity.this, error, Toast.LENGTH_LONG);
            toast.setGravity(Gravity.CENTER, 0, 0);
            toast.show();
        }

        @Override
        public void onCompletion() {
        }
    };
    RegisteredUsersAsyncTask usersAsyncTask = new RegisteredUsersAsyncTask(ChannelInfoActivity.this, usersAsyncTaskTaskListener, alCustomizationSettings.getTotalRegisteredUserToFetch(), userPreference.getRegisteredUsersLastFetchTime(), null, null, true);
    AlTask.execute(usersAsyncTask);
}
Also used : Toast(android.widget.Toast) RegisteredUsersAsyncTask(com.applozic.mobicomkit.api.account.user.RegisteredUsersAsyncTask) RegisteredUsersApiResponse(com.applozic.mobicomkit.feed.RegisteredUsersApiResponse) Intent(android.content.Intent) ProgressDialog(android.app.ProgressDialog) UnsupportedEncodingException(java.io.UnsupportedEncodingException)

Aggregations

RegisteredUsersApiResponse (com.applozic.mobicomkit.feed.RegisteredUsersApiResponse)7 Toast (android.widget.Toast)5 RegisteredUsersAsyncTask (com.applozic.mobicomkit.api.account.user.RegisteredUsersAsyncTask)5 ProgressDialog (android.app.ProgressDialog)3 Intent (android.content.Intent)3 SpannableString (android.text.SpannableString)2 Nullable (androidx.annotation.Nullable)1 UserDetail (com.applozic.mobicomkit.api.account.user.UserDetail)1 Contact (com.applozic.mobicommons.people.contact.Contact)1 UnsupportedEncodingException (java.io.UnsupportedEncodingException)1 HashSet (java.util.HashSet)1 Test (org.junit.Test)1