@@ -1300,7 +1300,7 @@ void createGroup(JSONArray data, final CallbackContext callback) {
13001300 name = params .getString ("name" );
13011301 desc = params .getString ("desc" );
13021302 groupType = params .getString ("groupType" );
1303- if (groupType .equals ("private" )){
1303+ if (groupType .equals ("private" )) {
13041304 JMessageClient .createGroup (name , desc , new CreateGroupCallback () {
13051305 @ Override
13061306 public void gotResult (int status , String desc , long groupId ) {
@@ -1311,23 +1311,24 @@ public void gotResult(int status, String desc, long groupId) {
13111311 }
13121312 }
13131313 });
1314- }else if (groupType .equals ("public" )){
1314+ } else if (groupType .equals ("public" )) {
13151315 JMessageClient .createPublicGroup (name , desc , new CreateGroupCallback () {
1316-
1317- @ Override
1318- public void gotResult (int status , String desc , long groupId ) {
1319- if (status == 0 ) {
1320- callback .success (String .valueOf (groupId ));
1321- } else {
1322- handleResult (status , desc , callback );
1316+ @ Override
1317+ public void gotResult (int status , String desc , long groupId ) {
1318+ if (status == 0 ) {
1319+ callback .success (String .valueOf (groupId ));
1320+ } else {
1321+ handleResult (status , desc , callback );
1322+ }
1323+ }
1324+ });
1325+ } else {
1326+ handleResult (ERR_CODE_PARAMETER , ERR_MSG_PARAMETER + " : " + groupType , callback );
1327+ }
1328+ } catch (JSONException e ) {
1329+ e .printStackTrace ();
1330+ handleResult (ERR_CODE_PARAMETER , ERR_MSG_PARAMETER , callback );
13231331 }
1324- }});}else {handleResult (ERR_CODE_PARAMETER ,ERR_MSG_PARAMETER +" : " +groupType ,callback );}}catch (
1325-
1326- JSONException e )
1327- {
1328- e .printStackTrace ();
1329- handleResult (ERR_CODE_PARAMETER , ERR_MSG_PARAMETER , callback );
1330- }
13311332 }
13321333
13331334 void getGroupIds (JSONArray data , final CallbackContext callback ) {
@@ -1409,27 +1410,27 @@ public void gotResult(int status, String desc) {
14091410 }
14101411 });
14111412
1412- }else
1413-
1414- {
1415- groupInfo .updateName (newName , new BasicCallback () {
1416- @ Override
1417- public void gotResult (int status , String desc ) {
1418- if (status == 0 ) {
1419- groupInfo .updateDescription (newDesc , new BasicCallback () {
1413+ } else {
1414+ groupInfo .updateName (newName , new BasicCallback () {
14201415 @ Override
14211416 public void gotResult (int status , String desc ) {
1422- handleResult (status , desc , callback );
1417+ if (status == 0 ) {
1418+ groupInfo .updateDescription (newDesc , new BasicCallback () {
1419+ @ Override
1420+ public void gotResult (int status , String desc ) {
1421+ handleResult (status , desc , callback );
1422+ }
1423+ });
1424+
1425+ } else {
1426+ handleResult (status , desc , callback );
1427+ }
14231428 }
14241429 });
1425-
1426- } else {
1427- handleResult (status , desc , callback );
14281430 }
14291431 }
14301432 });
14311433 }
1432- }});}
14331434
14341435 void updateGroupAvatar (JSONArray data , final CallbackContext callback ) {
14351436 long groupId ;
@@ -1771,26 +1772,26 @@ public void gotResult(int status, String desc) {
17711772
17721773 JMessageClient .getGroupInfo (groupId , new GetGroupInfoCallback () {
17731774
1774- @ Override
1775- public void gotResult (int status , String desc , GroupInfo groupInfo ) {
1776- if (status == 0 ) {
1777- groupInfo .setNoDisturb (isNoDisturb , new BasicCallback () {
1778- @ Override
1779- public void gotResult (int status , String desc ) {
1780- handleResult (status , desc , callback );
1781- }
1782- });
1783-
1784- } else {
1785- handleResult (status , desc , callback );
1786- }
1787- }});}}catch (
1788-
1789- JSONException e ){e .printStackTrace ();
1775+ @ Override
1776+ public void gotResult (int status , String desc , GroupInfo groupInfo ) {
1777+ if (status == 0 ) {
1778+ groupInfo .setNoDisturb (isNoDisturb , new BasicCallback () {
1779+ @ Override
1780+ public void gotResult (int status , String desc ) {
1781+ handleResult (status , desc , callback );
1782+ }
1783+ });
17901784
1791- handleResult (ERR_CODE_PARAMETER , ERR_MSG_PARAMETER , callback );
1785+ } else {
1786+ handleResult (status , desc , callback );
1787+ }
1788+ }
1789+ });
1790+ }
1791+ } catch (JSONException e ) {
1792+ e .printStackTrace ();
1793+ handleResult (ERR_CODE_PARAMETER , ERR_MSG_PARAMETER , callback );
17921794 }
1793-
17941795 }
17951796
17961797 void getNoDisturbList (JSONArray data , final CallbackContext callback ) {
@@ -2132,6 +2133,47 @@ public void gotResult(int status, String desc) {
21322133
21332134 }
21342135
2136+ void changeGroupType (JSONArray data , final CallbackContext callback ) {
2137+ String type ;
2138+ long groupId ;
2139+ try {
2140+ JSONObject params = data .getJSONObject (0 );
2141+ groupId = Long .parseLong (params .getString ("groupId" ));
2142+ type = params .getString ("type" );
2143+ } catch (JSONException e ) {
2144+ e .printStackTrace ();
2145+ handleResult (ERR_CODE_PARAMETER , ERR_MSG_PARAMETER , callback );
2146+ return ;
2147+ }
2148+ JMessageClient .getGroupInfo (groupId , new GetGroupInfoCallback () {
2149+ @ Override
2150+ public void gotResult (int status , String desc , GroupInfo groupInfo ) {
2151+ if (status == 0 ) {
2152+ if (type .equals ("private" )) {
2153+ groupInfo .changeGroupType (GroupInfo .Type .private_group , new BasicCallback () {
2154+ @ Override
2155+ public void gotResult (int status , String desc ) {
2156+ handleResult (status , desc , callback );
2157+ }
2158+ });
2159+ } else if (type .equals ("public" )) {
2160+ groupInfo .changeGroupType (GroupInfo .Type .public_group , new BasicCallback () {
2161+ @ Override
2162+ public void gotResult (int status , String desc ) {
2163+ handleResult (status , desc , callback );
2164+ }
2165+ });
2166+ } else {
2167+ handleResult (ERR_CODE_PARAMETER , ERR_MSG_PARAMETER + ":" + type , callback );
2168+ }
2169+ } else {
2170+ handleResult (status , desc , callback );
2171+ }
2172+ }
2173+ });
2174+
2175+ }
2176+
21352177 void getPublicGroupInfos (JSONArray data , final CallbackContext callback ) {
21362178 String appKey ;
21372179 int start , count ;
@@ -2176,7 +2218,7 @@ public void gotResult(int status, String desc) {
21762218 }
21772219
21782220 void processApplyJoinGroup (JSONArray data , final CallbackContext callback ) {
2179- String reason , appKey ;
2221+ String reason , appKey ;
21802222 Boolean isAgree , isRespondInviter ;
21812223 JSONArray events ;
21822224 try {
@@ -2186,31 +2228,37 @@ void processApplyJoinGroup(JSONArray data, final CallbackContext callback) {
21862228 isRespondInviter = params .getBoolean ("isRespondInviter" );
21872229 events = params .getJSONArray ("events" );
21882230 appKey = params .has ("appKey" ) ? params .getString ("appKey" ) : "" ;
2231+
2232+ List <GroupApprovalEvent > groupApprovalEventList = new ArrayList <>();
2233+
21892234 for (int i = 0 ; i < events .length (); i ++) {
21902235 GroupApprovalEvent groupApprovalEvent = groupApprovalEventHashMap .get (events .getString (i ));
2191- if (groupApprovalEvent == null ){
2192- handleResult (ERR_CODE_PARAMETER ,ERR_MSG_PARAMETER + ": can't get events." , callback );
2236+ if (groupApprovalEvent == null ) {
2237+ handleResult (ERR_CODE_PARAMETER , ERR_MSG_PARAMETER + ": can't get events." , callback );
21932238 return ;
21942239 }
2195- if (isAgree ){
2196- groupApprovalEvent .acceptGroupApproval (groupApprovalEvent .getFromUsername (), appKey , new BasicCallback () {
2197- @ Override
2198- public void gotResult (int status , String desc ) {
2199- handleResult (status , desc , callback );
2200- }
2201- });
2202-
2203- }else {
2204- groupApprovalEvent .refuseGroupApproval (groupApprovalEvent .getFromUsername (), appKey , reason , new BasicCallback () {
2205-
2206- @ Override
2207- public void gotResult (int status , String desc ) {
2208- handleResult (status , desc , callback );
2209- }});}
2210-
2211- }}catch (JSONException e ){e .printStackTrace ();
2240+ groupApprovalEventList .add (groupApprovalEvent );
2241+ }
22122242
2213- handleResult (ERR_CODE_PARAMETER , ERR_MSG_PARAMETER , callback );
2243+ if (groupApprovalEventList .size () == 0 ) {
2244+ handleResult (ERR_CODE_PARAMETER , "Can not find GroupApprovalEvent by events" , callback );
2245+ return ;
2246+ }
2247+ if (isAgree ) {
2248+ GroupApprovalEvent .acceptGroupApprovalInBatch (groupApprovalEventList , isRespondInviter ,
2249+ new BasicCallback () {
2250+ @ Override
2251+ public void gotResult (int status , String desc ) {
2252+ handleResult (status , desc , callback );
2253+ }
2254+ });
2255+ } else {
2256+ // 忽略拒绝处理,直接返回成功信息
2257+ handleResult (0 , "" , callback );
2258+ }
2259+ } catch (JSONException e ) {
2260+ e .printStackTrace ();
2261+ handleResult (ERR_CODE_PARAMETER , ERR_MSG_PARAMETER , callback );
22142262 return ;
22152263 }
22162264
@@ -2226,7 +2274,7 @@ void dissolveGroup(JSONArray data, final CallbackContext callback) {
22262274 handleResult (ERR_CODE_PARAMETER , ERR_MSG_PARAMETER , callback );
22272275 return ;
22282276 }
2229- JMessageClient .adminDissolveGroup (groupId , new BasicCallback () {
2277+ JMessageClient .adminDissolveGroup (groupId , new BasicCallback () {
22302278 @ Override
22312279 public void gotResult (int status , String desc ) {
22322280 handleResult (status , desc , callback );
@@ -2304,46 +2352,46 @@ public void onEvent(OfflineMessageEvent event) throws JSONException {
23042352 final int fI = i ;
23052353
23062354 switch (msg .getContentType ()) {
2307- case image :
2308- ((ImageContent ) msg .getContent ()).downloadThumbnailImage (msg , new DownloadCompletionCallback () {
2309- @ Override
2310- public void onComplete (int status , String desc , File file ) {
2311- if (fI == fLatestMediaMessageIndex ) {
2312- for (Message msg : offlineMsgList ) {
2313- msgJsonArr .put (toJson (msg ));
2314- }
2315- try {
2316- json .put ("messageArray" , msgJsonArr );
2317- } catch (JSONException e ) {
2318- e .printStackTrace ();
2319- }
2320-
2321- JSONObject eventJson = toJson ("syncOfflineMessage" , json );
2322- eventSuccess (eventJson );
2355+ case image :
2356+ ((ImageContent ) msg .getContent ()).downloadThumbnailImage (msg , new DownloadCompletionCallback () {
2357+ @ Override
2358+ public void onComplete (int status , String desc , File file ) {
2359+ if (fI == fLatestMediaMessageIndex ) {
2360+ for (Message msg : offlineMsgList ) {
2361+ msgJsonArr .put (toJson (msg ));
2362+ }
2363+ try {
2364+ json .put ("messageArray" , msgJsonArr );
2365+ } catch (JSONException e ) {
2366+ e .printStackTrace ();
23232367 }
2324- }
2325- });
2326- break ;
2327- case voice :
2328- ((VoiceContent ) msg .getContent ()).downloadVoiceFile (msg , new DownloadCompletionCallback () {
2329- @ Override
2330- public void onComplete (int status , String desc , File file ) {
2331- if (fI == fLatestMediaMessageIndex ) {
2332- for (Message msg : offlineMsgList ) {
2333- msgJsonArr .put (toJson (msg ));
2334- }
2335- try {
2336- json .put ("messageArray" , msgJsonArr );
2337- } catch (JSONException e ) {
2338- e .printStackTrace ();
2339- }
23402368
2341- JSONObject eventJson = toJson ("syncOfflineMessage" , json );
2342- eventSuccess (eventJson );
2369+ JSONObject eventJson = toJson ("syncOfflineMessage" , json );
2370+ eventSuccess (eventJson );
2371+ }
2372+ }
2373+ });
2374+ break ;
2375+ case voice :
2376+ ((VoiceContent ) msg .getContent ()).downloadVoiceFile (msg , new DownloadCompletionCallback () {
2377+ @ Override
2378+ public void onComplete (int status , String desc , File file ) {
2379+ if (fI == fLatestMediaMessageIndex ) {
2380+ for (Message msg : offlineMsgList ) {
2381+ msgJsonArr .put (toJson (msg ));
23432382 }
2383+ try {
2384+ json .put ("messageArray" , msgJsonArr );
2385+ } catch (JSONException e ) {
2386+ e .printStackTrace ();
2387+ }
2388+
2389+ JSONObject eventJson = toJson ("syncOfflineMessage" , json );
2390+ eventSuccess (eventJson );
23442391 }
2345- });
2346- default :
2392+ }
2393+ });
2394+ default :
23472395 }
23482396 }
23492397 }
0 commit comments