Advertisement
Smile_Studio

CK

Nov 21st, 2019
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.37 KB | None | 0 0
  1. // Check whether the room exists to handled the cases where the user is invited or he has joined.
  2.                     // CAUTION: the room may exist whereas the user membership is neither invited nor joined.
  3.                     final Room room = mSession.getDataHandler().getRoom(publicRoom.roomId, false);
  4.                     if (null != room && room.isInvited()) {
  5.                         Log.d(LOG_TAG, "manageRoom : the user is invited -> display the preview " + VectorApp.getCurrentActivity());
  6.                         CommonActivityUtils.previewRoom(getActivity(), roomPreviewData);
  7.                     } else if (null != room && room.isJoined()) {
  8.                         Log.d(LOG_TAG, "manageRoom : the user joined the room -> open the room");
  9.                         final Map<String, Object> params = new HashMap<>();
  10.                         params.put(VectorRoomActivity.EXTRA_MATRIX_ID, mSession.getMyUserId());
  11.                         params.put(VectorRoomActivity.EXTRA_ROOM_ID, publicRoom.roomId);
  12.  
  13.                         if (!TextUtils.isEmpty(publicRoom.name)) {
  14.                             params.put(VectorRoomActivity.EXTRA_DEFAULT_NAME, publicRoom.name);
  15.                         }
  16.  
  17.                         if (!TextUtils.isEmpty(publicRoom.topic)) {
  18.                             params.put(VectorRoomActivity.EXTRA_DEFAULT_TOPIC, publicRoom.topic);
  19.                         }
  20.  
  21.                         CommonActivityUtils.goToRoomPage(getActivity(), mSession, params);
  22.                     } else {
  23.                         // Display a preview by default.
  24.                         Log.d(LOG_TAG, "manageRoom : display the preview");
  25.                         mInitializationSpinnerView.setVisibility(View.VISIBLE);
  26.  
  27.                         roomPreviewData.fetchPreviewData(new ApiCallback<Void>() {
  28.                             private void onDone() {
  29.                                 if (!isAdded()) {
  30.                                     return;
  31.                                 }
  32.  
  33.                                 mInitializationSpinnerView.setVisibility(View.GONE);
  34.                                 CommonActivityUtils.previewRoom(getActivity(), roomPreviewData);
  35.                             }
  36.  
  37.                             @Override
  38.                             public void onSuccess(Void info) {
  39.                                 onDone();
  40.                             }
  41.  
  42.                             private void onError() {
  43.                                 if (!isAdded()) {
  44.                                     return;
  45.                                 }
  46.  
  47.                                 roomPreviewData.setPublicRoom(publicRoom);
  48.                                 roomPreviewData.setRoomName(publicRoom.name);
  49.                                 onDone();
  50.                             }
  51.  
  52.                             @Override
  53.                             public void onNetworkError(Exception e) {
  54.                                 onError();
  55.                             }
  56.  
  57.                             @Override
  58.                             public void onMatrixError(MatrixError e) {
  59.                                 onError();
  60.                             }
  61.  
  62.                             @Override
  63.                             public void onUnexpectedError(Exception e) {
  64.                                 onError();
  65.                             }
  66.                         });
  67.                     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement