Search in sources :

Example 1 with RequestCreateThread

use of com.fanap.podchat.requestobject.RequestCreateThread in project pod-chat-android-sdk by FanapSoft.

the class ChatCore method createThreadWithFile.

// 
// 1. Create thread.
// 2.1. Upload thread image and update thread info if RequestUploadImage is set.
// 2.2. Upload file to server with thread userGroupHash and send uploaded file as message by sendFileMessage.
// 
public ArrayList<String> createThreadWithFile(RequestCreateThreadWithFile request, @Nullable ProgressHandler.sendFileMessage progressHandler) {
    ArrayList<String> uniqueIds = new ArrayList<>();
    String requestUniqueId = generateUniqueId();
    uniqueIds.add(requestUniqueId);
    if (needReadStoragePermission(request.getFile().getActivity()))
        return uniqueIds;
    if (chatReady) {
        handlerSend.put(requestUniqueId, new ChatHandler() {

            @Override
            public void onThreadCreated(ResultThread thread) {
                super.onThreadCreated(thread);
                if (request.getUploadThreadImageRequest() != null)
                    new PodThreadManager().doThisAndGo(() -> updateThreadImage(thread, request.getUploadThreadImageRequest()));
                RequestFileMessage.Builder requestFileBuilder = new RequestFileMessage.Builder(request.getMessage() != null ? request.getMessage().getText() : null, request.getFile().getActivity(), thread.getThread().getId(), request.getFile().getFileUri(), request.getMessage() != null ? request.getMessage().getSystemMetadata() : null, request.getMessageType(), thread.getThread().getUserGroupHash());
                if (request.getFile() instanceof RequestUploadImage) {
                    requestFileBuilder.setImageHc(String.valueOf(((RequestUploadImage) request.getFile()).gethC()));
                    requestFileBuilder.setImageWc(String.valueOf(((RequestUploadImage) request.getFile()).getwC()));
                    requestFileBuilder.setImageXc(String.valueOf(((RequestUploadImage) request.getFile()).getxC()));
                    requestFileBuilder.setImageYc(String.valueOf(((RequestUploadImage) request.getFile()).getyC()));
                }
                RequestFileMessage requestFile = requestFileBuilder.build();
                sendFileMessage(requestFile, requestUniqueId, progressHandler);
            }
        });
        RequestCreateThread requestCreateThread = new RequestCreateThread.Builder(request.getType(), request.getInvitees()).title(request.getTitle()).withDescription(request.getDescription()).withImage(request.getImage()).withMetadata(request.getMessage() != null ? request.getMessage().getSystemMetadata() : null).build();
        createThread(requestCreateThread, requestUniqueId);
    // prepareCreateThreadWithFile(request, requestUniqueId, innerMessageUniqueId, forwardUniqueIds, "");
    } else {
        captureError(ChatConstant.ERROR_CHAT_READY, ChatConstant.ERROR_CODE_CHAT_READY, requestUniqueId);
    }
    return uniqueIds;
}
Also used : PodThreadManager(com.fanap.podchat.util.PodThreadManager) RequestUploadImage(com.fanap.podchat.requestobject.RequestUploadImage) GsonBuilder(com.google.gson.GsonBuilder) ArrayList(java.util.ArrayList) RequestCreateThread(com.fanap.podchat.requestobject.RequestCreateThread) ResultThread(com.fanap.podchat.model.ResultThread) RequestFileMessage(com.fanap.podchat.requestobject.RequestFileMessage)

Example 2 with RequestCreateThread

use of com.fanap.podchat.requestobject.RequestCreateThread in project pod-chat-android-sdk by FanapSoft.

the class ChatActivity method createThread.

private void createThread() {
    /**
     * int TO_BE_USER_SSO_ID = 1;
     * int TO_BE_USER_CONTACT_ID = 2;
     * int TO_BE_USER_CELLPHONE_NUMBER = 3;
     * int TO_BE_USER_USERNAME = 4;
     * int TO_BE_USER_ID = 5; // just for p2p
     */
    /**
     *"create thread"
     * This is Invitee object
     * ---->private int id;
     * ---->private int idType;
     *
     * createThreadTypes = {
     *NORMAL: 0,
     *OWNER_GROUP: 1,
     *PUBLIC_GROUP: 2,
     *CHANNEL_GROUP: 4,
     *CHANNEL: 8
     *       }
     */
    // Invitee[] invite = new Invitee[]{
    // new Invitee(2951, 2)
    // , new Invitee(1967, 2)
    // ,new Invitee(123, 5)
    // , new Invitee(824, 2)
    // };
    /**
     * CHANNEL_GROUP: 4,
     */
    // Invitee[] invite = new Invitee[]{
    // //       new Invitee(3361, 2)
    // //       , new Invitee(3102, 2)
    // //       new Invitee(091, 1),
    // //       new Invitee("22835", InviteType.Constants.TO_BE_USER_CONTACT_ID),
    // new Invitee("29782", InviteType.Constants.TO_BE_USER_CONTACT_ID),
    // //       new Invitee("27774", InviteType.Constants.TO_BE_USER_CONTACT_ID),
    // //       new Invitee("22835", InviteType.Constants.TO_BE_USER_CONTACT_ID),
    // //       new Invitee(5638, 2),
    // //       new Invitee("z.mohammadi", InviteType.Constants.TO_BE_USER_USERNAME),
    // //      new Invitee("p.khoshghadam", InviteType.Constants.TO_BE_USER_USERNAME),
    // //      new Invitee("m.hasanpour", InviteType.Constants.TO_BE_USER_USERNAME),
    // //      new Invitee("z.ershad", InviteType.Constants.TO_BE_USER_USERNAME),
    // //      new Invitee("samira.amiri", InviteType.Constants.TO_BE_USER_USERNAME),
    // //      new Invitee("s.heydarizadeh", InviteType.Constants.TO_BE_USER_USERNAME),
    // //      new Invitee("p.pahlavani", InviteType.Constants.TO_BE_USER_USERNAME),
    // //      new Invitee("ma.amjadi", InviteType.Constants.TO_BE_USER_USERNAME),
    // //       new Invitee(5638, 2),
    // };
    Inviter inviterw = new Inviter();
    inviterw.setName("this is sample metadata");
    String metac = gson.toJson(inviterw);
    List<Invitee> invite = new ArrayList<>();
    // add by user SSO_ID
    // invite.add(new Invitee(122, 1));  //user jiji
    // invite.add(new Invitee("121", 1)); // user zizi
    // invite.add(new Invitee("63270", InviteType.Constants.TO_BE_USER_CONTACT_ID));
    // invite.add(new Invitee("63271", InviteType.Constants.TO_BE_USER_CONTACT_ID));
    // integration users
    // invite.add(new Invitee("63256", InviteType.Constants.TO_BE_USER_CONTACT_ID));
    // invite.add(new Invitee("63255", InviteType.Constants.TO_BE_USER_CONTACT_ID));
    // invite.add(new Invitee("63253", InviteType.Constants.TO_BE_USER_CONTACT_ID));
    // sand box users
    // 52620 farhad
    // 52979 masoud
    // 52987 khodam
    // invite.add(new Invitee("52620", InviteType.Constants.TO_BE_USER_CONTACT_ID));
    invite.add(new Invitee("63254", InviteType.Constants.TO_BE_USER_CONTACT_ID));
    // invite.add(new Invitee("52987", InviteType.Constants.TO_BE_USER_CONTACT_ID));
    // invite.add(new Invitee("1", InviteType.Constants.TO_BE_USER_ID)); //amjadi
    // invite.add(new Invitee("80618", InviteType.Constants.TO_BE_USER_CONTACT_ID));
    // invite.add(new Invitee(9981084527L, 3)); zizi cellphone
    // invite.add(new Invitee(123, 5)); //user fifi
    // invite.add(new Invitee(121, 5)); // user zizi
    // invite.add(new Invitee(122, 1));  //user jiji
    RequestUploadImage requestUploadImage = new RequestUploadImage.Builder(ChatActivity.this, getUri()).sethC(140).setwC(140).build();
    RequestCreateThread requestCreateThread = new RequestCreateThread.Builder(ThreadType.Constants.NORMAL, invite).title("Test Thread ByAhmad" + (new Date().getTime() / 1000)).build();
    presenter.createThread(requestCreateThread);
}
Also used : Invitee(com.fanap.podchat.mainmodel.Invitee) RequestUploadImage(com.fanap.podchat.requestobject.RequestUploadImage) Inviter(com.fanap.podchat.mainmodel.Inviter) GsonBuilder(com.google.gson.GsonBuilder) ArrayList(java.util.ArrayList) RequestCreateThread(com.fanap.podchat.requestobject.RequestCreateThread) Date(java.util.Date)

Example 3 with RequestCreateThread

use of com.fanap.podchat.requestobject.RequestCreateThread in project pod-chat-android-sdk by FanapSoft.

the class ChatActivity method createThreadWithMessage.

private void createThreadWithMessage() {
    List<Invitee> invite = new ArrayList<>();
    invite.add(new Invitee(1151568, InviteType.Constants.TO_BE_USER_CONTACT_ID));
    invite.add(new Invitee(1512305, InviteType.Constants.TO_BE_USER_CONTACT_ID));
    RequestUploadImage requestUploadThreadImageImage = new RequestUploadImage.Builder(ChatActivity.this, getUri()).setwC(140).sethC(140).build();
    RequestThreadInnerMessage message = new RequestThreadInnerMessage.Builder("Hi at " + new Date().toString(), TextMessageType.Constants.TEXT).build();
    RequestCreateThread requestCreateThread = new RequestCreateThread.Builder(ThreadType.Constants.OWNER_GROUP, invite).message(message).setUploadThreadImageRequest(requestUploadThreadImageImage).build();
    presenter.createThreadWithMessage(requestCreateThread);
}
Also used : Invitee(com.fanap.podchat.mainmodel.Invitee) RequestUploadImage(com.fanap.podchat.requestobject.RequestUploadImage) RequestThreadInnerMessage(com.fanap.podchat.mainmodel.RequestThreadInnerMessage) ArrayList(java.util.ArrayList) RequestCreateThread(com.fanap.podchat.requestobject.RequestCreateThread) Date(java.util.Date)

Aggregations

RequestCreateThread (com.fanap.podchat.requestobject.RequestCreateThread)3 RequestUploadImage (com.fanap.podchat.requestobject.RequestUploadImage)3 ArrayList (java.util.ArrayList)3 Invitee (com.fanap.podchat.mainmodel.Invitee)2 GsonBuilder (com.google.gson.GsonBuilder)2 Date (java.util.Date)2 Inviter (com.fanap.podchat.mainmodel.Inviter)1 RequestThreadInnerMessage (com.fanap.podchat.mainmodel.RequestThreadInnerMessage)1 ResultThread (com.fanap.podchat.model.ResultThread)1 RequestFileMessage (com.fanap.podchat.requestobject.RequestFileMessage)1 PodThreadManager (com.fanap.podchat.util.PodThreadManager)1