Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Check whether the room exists to handled the cases where the user is invited or he has joined.
- // CAUTION: the room may exist whereas the user membership is neither invited nor joined.
- final Room room = mSession.getDataHandler().getRoom(publicRoom.roomId, false);
- if (null != room && room.isInvited()) {
- Log.d(LOG_TAG, "manageRoom : the user is invited -> display the preview " + VectorApp.getCurrentActivity());
- CommonActivityUtils.previewRoom(getActivity(), roomPreviewData);
- } else if (null != room && room.isJoined()) {
- Log.d(LOG_TAG, "manageRoom : the user joined the room -> open the room");
- final Map<String, Object> params = new HashMap<>();
- params.put(VectorRoomActivity.EXTRA_MATRIX_ID, mSession.getMyUserId());
- params.put(VectorRoomActivity.EXTRA_ROOM_ID, publicRoom.roomId);
- if (!TextUtils.isEmpty(publicRoom.name)) {
- params.put(VectorRoomActivity.EXTRA_DEFAULT_NAME, publicRoom.name);
- }
- if (!TextUtils.isEmpty(publicRoom.topic)) {
- params.put(VectorRoomActivity.EXTRA_DEFAULT_TOPIC, publicRoom.topic);
- }
- CommonActivityUtils.goToRoomPage(getActivity(), mSession, params);
- } else {
- // Display a preview by default.
- Log.d(LOG_TAG, "manageRoom : display the preview");
- mInitializationSpinnerView.setVisibility(View.VISIBLE);
- roomPreviewData.fetchPreviewData(new ApiCallback<Void>() {
- private void onDone() {
- if (!isAdded()) {
- return;
- }
- mInitializationSpinnerView.setVisibility(View.GONE);
- CommonActivityUtils.previewRoom(getActivity(), roomPreviewData);
- }
- @Override
- public void onSuccess(Void info) {
- onDone();
- }
- private void onError() {
- if (!isAdded()) {
- return;
- }
- roomPreviewData.setPublicRoom(publicRoom);
- roomPreviewData.setRoomName(publicRoom.name);
- onDone();
- }
- @Override
- public void onNetworkError(Exception e) {
- onError();
- }
- @Override
- public void onMatrixError(MatrixError e) {
- onError();
- }
- @Override
- public void onUnexpectedError(Exception e) {
- onError();
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement