Search in sources :

Example 1 with CreateGroupParams

use of org.matrix.androidsdk.rest.model.group.CreateGroupParams in project matrix-android-sdk by matrix-org.

the class GroupsManager method createGroup.

/**
 * Create a group.
 *
 * @param localPart the local part
 * @param groupName the group human name
 * @param callback  the asynchronous callback
 */
public void createGroup(String localPart, String groupName, final ApiCallback<String> callback) {
    final CreateGroupParams params = new CreateGroupParams();
    params.localpart = localPart;
    params.profile = new GroupProfile();
    params.profile.name = groupName;
    getGroupsRestClient().createGroup(params, new ApiCallback<String>() {

        @Override
        public void onSuccess(String groupId) {
            Group group = getGroup(groupId);
            // if the group does not exist, create it
            if (null == group) {
                group = new Group(groupId);
                group.setGroupProfile(params.profile);
                group.setMembership(RoomMember.MEMBERSHIP_JOIN);
                mStore.storeGroup(group);
            }
            callback.onSuccess(groupId);
        }

        @Override
        public void onNetworkError(Exception e) {
            callback.onNetworkError(e);
        }

        @Override
        public void onMatrixError(MatrixError e) {
            callback.onMatrixError(e);
        }

        @Override
        public void onUnexpectedError(Exception e) {
            callback.onUnexpectedError(e);
        }
    });
}
Also used : Group(org.matrix.androidsdk.rest.model.group.Group) CreateGroupParams(org.matrix.androidsdk.rest.model.group.CreateGroupParams) GroupProfile(org.matrix.androidsdk.rest.model.group.GroupProfile) MatrixError(org.matrix.androidsdk.rest.model.MatrixError)

Aggregations

MatrixError (org.matrix.androidsdk.rest.model.MatrixError)1 CreateGroupParams (org.matrix.androidsdk.rest.model.group.CreateGroupParams)1 Group (org.matrix.androidsdk.rest.model.group.Group)1 GroupProfile (org.matrix.androidsdk.rest.model.group.GroupProfile)1