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;
}
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));
}
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);
}
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);
}
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);
}
Aggregations