Browse Source

no message

Fenix Wang 8 years ago
parent
commit
330a973694

+ 24 - 8
app/res/layout/area_group_item.xml

@@ -12,32 +12,48 @@
         style="@style/horizontal_light_thin_divider" />
 
     <RelativeLayout
+        android:id="@+id/group_layout"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:padding="10dp">
+
         <com.netease.nim.uikit.common.ui.imageview.HeadImageView
             android:id="@+id/area_groups_item_avatar"
             android:layout_width="48dp"
             android:layout_height="48dp" />
+
         <TextView
             android:id="@+id/group_name"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_toRightOf="@id/area_groups_item_avatar"
-            android:layout_toEndOf="@id/area_groups_item_avatar"
+            android:layout_marginLeft="10dp"
+            android:layout_marginStart="10dp"
             android:layout_marginTop="10dp"
+            android:layout_toEndOf="@id/area_groups_item_avatar"
+            android:layout_toRightOf="@id/area_groups_item_avatar"
+            android:text="123" />
+
+        <TextView
+            android:id="@+id/group_distance"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignParentRight="true"
             android:layout_marginLeft="10dp"
-            android:layout_marginStart="10dp"/>
+            android:layout_marginStart="10dp"
+            android:layout_marginTop="15dp"
+            android:text="12323KM" />
+
         <TextView
             android:id="@+id/group_member_num"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_toRightOf="@id/area_groups_item_avatar"
-            android:layout_toEndOf="@id/area_groups_item_avatar"
-            android:layout_below="@id/group_name"
-            android:textColor="@color/grey_light"
+            android:layout_alignLeft="@id/group_name"
             android:layout_alignStart="@id/group_name"
-            android:layout_alignLeft="@id/group_name"/>
+            android:layout_below="@id/group_name"
+            android:layout_toEndOf="@id/area_groups_item_avatar"
+            android:layout_toRightOf="@id/area_groups_item_avatar"
+            android:text="321"
+            android:textColor="@color/grey_light" />
     </RelativeLayout>
 
 

+ 4 - 1
app/res/layout/circle_details.xml

@@ -141,6 +141,7 @@
                             android:textColor="@color/grey_light" />
 
                         <ImageView
+                            android:id="@+id/circle_details_comment_icon"
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
                             android:src="@drawable/circle_comments" />
@@ -245,13 +246,15 @@
                     android:layout_height="wrap_content"
                     android:background="@color/white"
                     android:orientation="vertical" >
+
                     <TextView
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:background="@color/white"
                         android:gravity="center"
                         android:padding="64dp"
-                        android:text="暂无评论" />
+                        android:text="暂无评论"
+                        android:visibility="gone" />
                     </LinearLayout>
 
 

+ 1 - 0
app/res/layout/circle_item.xml

@@ -166,6 +166,7 @@
                             android:textSize="13sp" />
 
                         <ImageView
+                            android:id="@+id/comment_icon"
                             android:layout_width="24dp"
                             android:layout_height="match_parent"
                             android:src="@drawable/circle_comments" />

+ 2 - 0
app/src/com/sheishuo/app/common/util/net/INet.java

@@ -37,6 +37,7 @@ public interface INet {
     void deleteSocial(String id, ResponseCallback callback);
     void getCityDataList(ResponseCallback callback);
     void getNearbyPeople(String userId,String page,ResponseCallback callback);
+    void removeGroup(String tids);
     void getCircleList(String targetId,String lastId,ResponseCallback callback);
     void getTradeList(int type,int page,ResponseCallback callback);
     void getTradeInfo(String id, ResponseCallback callback);
@@ -73,6 +74,7 @@ public interface INet {
     void requestList(ResponseCallback callback);
     void requestDelete(String requestId, ResponseCallback callback);
     void addFriend(String requestId,  ResponseCallback callback);
+    void teamKicked(String teamId, String targetId, String msg);
 
     //chat room intro
     void getChatRoomIntro(ResponseCallback callback);

+ 53 - 0
app/src/com/sheishuo/app/common/util/net/NetImpl.java

@@ -936,6 +936,33 @@ public class NetImpl implements INet {
     }
 
     @Override
+    public void removeGroup(final String tids) {
+        new Thread(new Runnable() {
+            @Override
+            public void run() {
+                FormBody body = new FormBody.Builder()
+                        .add("tids", tids)
+                        .build();
+
+                Request request = new Request.Builder()
+                        .url(NetInfo.REMOVE_GROUP)
+                        .post(body)
+                        .build();
+
+                try{
+                    Response response = client.newCall(request).execute();
+                    if (200 == response.code()){
+                        String result = response.body().string();
+                        Log.e("result",result);
+                    }
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
+            }
+        }).start();
+    }
+
+    @Override
     public void getCircleList(final String targetId, final String lastId, final ResponseCallback callback) {
         new Thread(new Runnable() {
             @Override
@@ -1705,6 +1732,32 @@ public class NetImpl implements INet {
     }
 
     @Override
+    public void teamKicked(final String teamId, final String targetId, final String msg) {
+        new Thread(new Runnable() {
+            @Override
+            public void run() {
+                try{
+                    FormBody body = new FormBody.Builder()
+                            .add("user_id", AccountCache.getAccount().getId())
+                            .add("target_id", targetId)
+                            .add("msg", msg)
+                            .add("team_id", teamId)
+                            .build();
+
+                    Request request = new Request.Builder()
+                            .post(body)
+                            .url(TEAM_KICKED)
+                            .build();
+
+                    Response response = client.newCall(request).execute();
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
+            }
+        }).start();
+    }
+
+    @Override
     public void requestList(final ResponseCallback callback) {
         new Thread(new Runnable() {
             @Override

+ 7 - 0
app/src/com/sheishuo/app/common/util/net/NetInfo.java

@@ -9,6 +9,7 @@ public class NetInfo {
 
     public final static String CHANGE_PWD = INDEX + "?m=who&c=index&a=pwd_update";
     public final static String GET_NEARBY_GROUP = INDEX + "?m=who&c=index&a=near_room";
+    public final static String REMOVE_GROUP = INDEX + "?m=who&c=index&a=remove_room";
     public final static String CIRCLE_LIST = INDEX + "?m=who&c=social&a=lists";
     public final static String CIRCLE_USER_LIKED = INDEX + "?m=who&c=social&a=like";
     public final static String CIRCLE_COMMENT_LIST = INDEX + "?m=who&c=social&a=comment_list";
@@ -39,11 +40,14 @@ public class NetInfo {
     //chat
     public final static String TEAM_SYNC = INDEX + "?m=who&c=index&a=sync_chatroom";
 
+    //request
     public final static String TEAM_INVITE = INDEX + "?m=who&c=social&a=team_invite";
     public final static String REQUEST_LIST = INDEX + "?m=who&c=social&a=request_list";
     public final static String REQUEST_DELETE = INDEX + "?m=who&c=social&a=delete_request";
     public final static String ADD_FRIEND = INDEX + "?m=who&c=social&a=add_friend";
     public final static String REQUEST_FRIEND = INDEX + "?m=who&c=social&a=request_friend";
+    public final static String TEAM_KICKED = INDEX + "?m=who&c=social&a=team_kick";
+
 
     public final static String UPDATE_SOCIAL_INFO = INDEX + "?m=who&c=social&a=update_info";
     public final static String GET_HOBBY = INDEX + "?m=who&c=index&a=hobby_list";
@@ -73,4 +77,7 @@ public class NetInfo {
 
     //feedback
     public final static String FEEDBACK_URL = INDEX + "?m=who&c=feedback&a=report";
+
+
+
 }

+ 23 - 1
app/src/com/sheishuo/app/core_module/circle/activity/CircleDetailsActivity.java

@@ -60,7 +60,7 @@ public class CircleDetailsActivity extends SheishuoUI {
 
     private TextView nameTV,dateTV,readNumTV,likedNumTV,commentTV, likedNum2TV, deleteTV, locationTV;
 
-    private ImageView likedIcon;
+    private ImageView likedIcon, commentIcon;
 
     private PartlyHighLightTextView contentTV;
 
@@ -96,6 +96,7 @@ public class CircleDetailsActivity extends SheishuoUI {
         likedNumTV = findView(R.id.circle_details_like_num);
         likedNum2TV = findView(R.id.circle_details_like_num2);
         commentTV = findView(R.id.circle_details_comment_num);
+        commentIcon = findView(R.id.circle_details_comment_icon);
         contentTV = findView(R.id.circle_details_content);
         locationTV = findView(R.id.circle_details_local);
 
@@ -172,6 +173,15 @@ public class CircleDetailsActivity extends SheishuoUI {
             }
         });
 
+        commentIcon.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Intent intent = new Intent(context,NewCommentActivity.class);
+                intent.putExtra(NewCommentActivity.SOCIAL_ID, bean);
+                startActivityForResult(intent, 0);
+            }
+        });
+
 
         showLikedUsers();
 
@@ -423,4 +433,16 @@ public class CircleDetailsActivity extends SheishuoUI {
             }
         });
     }
+
+
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        switch (resultCode){
+            case NewCommentActivity.NEW_COMMENT:
+                CircleBean.DBean.ListBean.Comment comment =  (CircleBean.DBean.ListBean.Comment)data.getSerializableExtra(NewCommentActivity.NEW_COMMENT_DATA);
+                commentsLayout.addView(createComment(comment));
+                break;
+        }
+    }
 }

+ 1 - 0
app/src/com/sheishuo/app/core_module/mine/view/ui/activity/UserInfoDetailActivity.java

@@ -458,6 +458,7 @@ public class UserInfoDetailActivity extends SheishuoUI {
                     @Override
                     public void onSuccess(Void aVoid) {
                         showToast(context, "移除成功");
+                        new NetImpl().teamKicked(team.getId(), userId, "你已经被移出群组 "+team.getName());
                         finish();
                     }
 

+ 2 - 1
app/src/com/sheishuo/app/core_module/mine/view/ui/activity/UserInfoSettingActivity.java

@@ -92,7 +92,7 @@ public class UserInfoSettingActivity extends SheishuoUI {
 
         //MuteSwitch
         if (NIMClient.getService(FriendService.class).isNeedMessageNotify(userId)){
-            muteSwitch.setChecked(true);
+            muteSwitch.setChecked(false);
         }
 
         refreshAlias();
@@ -106,6 +106,7 @@ public class UserInfoSettingActivity extends SheishuoUI {
         muteSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
             @Override
             public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+                Log.e("isChecked", ""+isChecked);
                 NIMClient.getService(FriendService.class).setMessageNotify(userId, !isChecked);
             }
         });

+ 92 - 20
app/src/com/sheishuo/app/core_module/sheishuo/view/ui/CreateNewGroupActivity.java

@@ -5,6 +5,7 @@ import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
 import android.os.IBinder;
+import android.text.TextUtils;
 import android.view.MotionEvent;
 import android.view.View;
 import android.view.inputmethod.InputMethodManager;
@@ -12,16 +13,25 @@ import android.widget.Button;
 import android.widget.EditText;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
+import android.widget.Toast;
 
 import com.bumptech.glide.Glide;
 import com.netease.nim.uikit.NimUIKit;
+import com.netease.nim.uikit.cache.TeamDataCache;
 import com.netease.nim.uikit.common.media.picker.PickImageHelper;
 import com.netease.nim.uikit.common.media.picker.activity.PickImageActivity;
 import com.netease.nim.uikit.common.media.picker.model.PhotoInfo;
+import com.netease.nim.uikit.common.ui.dialog.DialogMaker;
 import com.netease.nim.uikit.common.ui.imageview.HeadImageView;
 import com.netease.nim.uikit.contact_selector.activity.ContactSelectActivity;
+import com.netease.nim.uikit.session.actions.PickImageAction;
+import com.netease.nim.uikit.session.activity.TeamMessageActivity;
+import com.netease.nimlib.sdk.AbortableFuture;
 import com.netease.nimlib.sdk.NIMClient;
 import com.netease.nimlib.sdk.RequestCallback;
+import com.netease.nimlib.sdk.RequestCallbackWrapper;
+import com.netease.nimlib.sdk.ResponseCode;
+import com.netease.nimlib.sdk.nos.NosService;
 import com.netease.nimlib.sdk.team.TeamService;
 import com.netease.nimlib.sdk.team.constant.TeamBeInviteModeEnum;
 import com.netease.nimlib.sdk.team.constant.TeamFieldEnum;
@@ -32,14 +42,18 @@ import com.netease.nimlib.sdk.team.model.Team;
 import com.netease.nimlib.sdk.uinfo.UserService;
 import com.netease.nimlib.sdk.uinfo.model.NimUserInfo;
 import com.sheishuo.app.R;
+import com.sheishuo.app.cache.AccountCache;
 import com.sheishuo.app.common.util.img.ImgUtil;
 import com.sheishuo.app.common.util.net.INet;
 import com.sheishuo.app.common.util.net.NetImpl;
 import com.sheishuo.app.common.util.net.ResponseCallback;
 import com.sheishuo.app.common.views.BaseToolbar;
+import com.sheishuo.app.core_module.mine.view.ui.activity.PersonalSettingsActivity;
+import com.sheishuo.app.impl.SheishuoTeamMessageActivity;
 import com.sheishuo.app.impl.SheishuoUI;
 import com.sheishuo.app.impl.SheishuoUIKit;
 
+import java.io.File;
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -54,6 +68,7 @@ import jp.wasabeef.glide.transformations.CropCircleTransformation;
 
 public class CreateNewGroupActivity extends SheishuoUI {
 
+    public static final int AVATAR_TIME_OUT = 30000;
 
     private String TAG = this.getClass().getSimpleName();
     private Context context = this;
@@ -67,6 +82,8 @@ public class CreateNewGroupActivity extends SheishuoUI {
     private String avatarIcon = "";
     private List<String> memberIds = new ArrayList<>();
 
+    AbortableFuture<String> uploadAvatarFuture;
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -110,14 +127,30 @@ public class CreateNewGroupActivity extends SheishuoUI {
         createGroupBtn.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                String groupName = groupNameTV.getText().toString().trim();
-                String groupIntroduce = groupAnnouncementTV.getText().toString().trim();
+                final String groupName = groupNameTV.getText().toString().trim();
+                final String groupIntroduce = groupAnnouncementTV.getText().toString().trim();
 
                 if (avatarIcon.isEmpty() || groupName.isEmpty() || groupIntroduce.isEmpty()) {
                     showToast(context, "请先完善群信息");
                     return;
                 }
 
+                List<Team> teamList = TeamDataCache.getInstance().getAllAdvancedTeams();
+                int count = 0;
+                for(int i=0; i<teamList.size(); i++)
+                {
+                    Team team = teamList.get(i);
+                    if(team.getCreator().equals(AccountCache.getAccount().getId()))
+                    {
+                        count++;
+                    }
+                }
+                if(count >= 6)
+                {
+                    showToast(context, "已达创建群的上限");
+                    return;
+                }
+
                 if (groupName.contains("国家")
                         ||groupName.contains("省")
                         ||groupName.contains("市")
@@ -129,30 +162,68 @@ public class CreateNewGroupActivity extends SheishuoUI {
                     return;
                 }
 
-                Map<TeamFieldEnum, Serializable> teamInfoMap = new HashMap<>();
-                teamInfoMap.put(TeamFieldEnum.Name, groupName);
-                teamInfoMap.put(TeamFieldEnum.Introduce, groupIntroduce);
-                teamInfoMap.put(TeamFieldEnum.VerifyType, VerifyTypeEnum.Free);
-                teamService.createTeam(teamInfoMap, TeamTypeEnum.Advanced, "邀请您加入群:"+groupName, memberIds).setCallback(new RequestCallback<Team>() {
+                DialogMaker.showProgressDialog(context, "", false);
+                getHandler().postDelayed(outimeTask, AVATAR_TIME_OUT);
+                uploadAvatarFuture = NIMClient.getService(NosService.class).upload(new File(avatarIcon), PickImageAction.MIME_JPEG);
+                uploadAvatarFuture.setCallback(new RequestCallbackWrapper<String>() {
                     @Override
-                    public void onSuccess(Team team) {
-                        createTeamComplete(team);
+                    public void onResult(int code, String url, Throwable exception) {
+                        if (code == ResponseCode.RES_SUCCESS && !TextUtils.isEmpty(url)) {
+                            createTeam(groupName, groupIntroduce, url);
+                        } else {
+                            Toast.makeText(CreateNewGroupActivity.this, "上传图片失败", Toast
+                                    .LENGTH_SHORT).show();
+                            onUpdateDone();
+                        }
                     }
+                });
+            }
+        });
+    }
 
-                    @Override
-                    public void onFailed(int i) {
-                        showToast(context, "创建群组失败,错误代码:" + i);
-                    }
+    private void cancelUpload(String info) {
+        if (uploadAvatarFuture != null) {
+            uploadAvatarFuture.abort();
+            Toast.makeText(context, info, Toast.LENGTH_SHORT).show();
+            onUpdateDone();
+        }
+    }
 
-                    @Override
-                    public void onException(Throwable throwable) {
-                        throwable.printStackTrace();
-                        showToast(context, "创建群组失败");
-                    }
-                });
+    private Runnable outimeTask = new Runnable() {
+        @Override
+        public void run() {
+            cancelUpload("上传图片失败");
+        }
+    };
 
+    private void onUpdateDone() {
+        uploadAvatarFuture = null;
+        DialogMaker.dismissProgressDialog();
+    }
 
+    private void createTeam(String name, String intro, String icon)
+    {
+        Map<TeamFieldEnum, Serializable> teamInfoMap = new HashMap<>();
+        teamInfoMap.put(TeamFieldEnum.Name, name);
+        teamInfoMap.put(TeamFieldEnum.Introduce, intro);
+        teamInfoMap.put(TeamFieldEnum.VerifyType, VerifyTypeEnum.Free);
+        teamInfoMap.put(TeamFieldEnum.ICON, icon);
+        NIMClient.getService(TeamService.class).createTeam(teamInfoMap, TeamTypeEnum.Advanced, "邀请您加入群:"+name, memberIds).setCallback(new RequestCallback<Team>() {
+            @Override
+            public void onSuccess(Team team) {
+                createTeamComplete(team);
+            }
+
+            @Override
+            public void onFailed(int i) {
+                showToast(context, "创建群组失败,错误代码:" + i);
+            }
 
+            @Override
+            public void onException(Throwable throwable) {
+                throwable.printStackTrace();
+                showToast(context, "创建群组失败");
+                DialogMaker.dismissProgressDialog();
             }
         });
     }
@@ -184,6 +255,7 @@ public class CreateNewGroupActivity extends SheishuoUI {
             }
         });
         SheishuoUIKit.startTeamSession(context, team.getId());
+        DialogMaker.dismissProgressDialog();
         finish();
     }
 
@@ -256,7 +328,7 @@ public class CreateNewGroupActivity extends SheishuoUI {
             //群头像选择
             Bundle result = data.getExtras();
             List<PhotoInfo> photoInfoList = (List<PhotoInfo>) result.getSerializable("photo_list");
-            avatarIcon = photoInfoList.get(0).getFilePath();
+            avatarIcon = photoInfoList.get(0).getAbsolutePath();
             Glide.with(context)
                     .load(avatarIcon)
                     .into(groupAvatar);

+ 1 - 1
app/src/com/sheishuo/app/core_module/sheishuo/view/ui/MoreGroupsInTheAreaActivity.java

@@ -69,7 +69,7 @@ public class MoreGroupsInTheAreaActivity extends SheishuoUI {
 
         List<String> districts = new ArrayList<>();
         districts.addAll(CityDataHelper.getArea(city));
-        adapter = new AreaGroupsAdapter(context,new ArrayList<String>());
+        adapter = new AreaGroupsAdapter(context, new ArrayList<String>(), null);
         recyclerView.setLayoutManager(layoutManager);
         recyclerView.setAdapter(adapter);
         adapter.setOnItemClickListener(new OnItemClickListener() {

+ 59 - 15
app/src/com/sheishuo/app/core_module/sheishuo/view/ui/NearbyGroupActivity.java

@@ -4,11 +4,15 @@ import android.content.Context;
 import android.os.Bundle;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
+import android.text.TextUtils;
+import android.util.Log;
 import android.view.View;
 
 import com.google.gson.Gson;
 import com.netease.nimlib.sdk.NIMClient;
+import com.netease.nimlib.sdk.RequestCallback;
 import com.netease.nimlib.sdk.team.TeamService;
+import com.netease.nimlib.sdk.team.model.Team;
 import com.sheishuo.app.R;
 import com.sheishuo.app.cache.AccountCache;
 import com.sheishuo.app.common.beans.NearbyGroupsBean;
@@ -90,32 +94,33 @@ public class NearbyGroupActivity extends SheishuoUI {
                     @Override
                     public void onSuccess(Object object) {
                         String resultStr = (String) object;
+                        Log.e("NearByGroup", resultStr);
                         final NearbyGroupsBean bean = new Gson().fromJson(resultStr, NearbyGroupsBean.class);
                         if (bean.getC() == 0) {
                             final List<String> nearbyGroupIds = new ArrayList<>();
                             for (NearbyGroupsBean.DBean.ListBean entity : bean.getD().getList())
                                 nearbyGroupIds.add(entity.getId());
 
+                            NIMClient.getService(TeamService.class).queryTeamListById(nearbyGroupIds).setCallback(new RequestCallback<List<Team>>() {
+                                @Override
+                                public void onSuccess(List<Team> teams) {
+                                    onTeamListGot(nearbyGroupIds, teams, bean.getD().getList());
+                                }
+
+                                @Override
+                                public void onFailed(int i) {
+
+                                }
 
-                            getHandler().post(new Runnable() {
                                 @Override
-                                public void run() {
-                                    areaGroupsAdapter = new AreaGroupsAdapter(context, nearbyGroupIds);
-                                    recyclerView.setAdapter(areaGroupsAdapter);
-                                    recyclerView.setLayoutManager(layoutManager);
-                                    areaGroupsAdapter.setOnItemClickListener(new OnItemClickListener() {
-                                        @Override
-                                        public void onItemClick(View view) {
-                                            String groupId = (String) view.getTag();
-                                            if (!NIMClient.getService(TeamService.class).queryTeamBlock(groupId).isMyTeam()) {
-                                                NIMClient.getService(TeamService.class).applyJoinTeam(groupId, "申请入群");
-                                            }
-                                            SheishuoUIKit.startTeamSession(context, (String) view.getTag());
-                                        }
-                                    });
+                                public void onException(Throwable throwable) {
+
                                 }
                             });
 
+
+
+
                         }
                     }
 
@@ -129,4 +134,43 @@ public class NearbyGroupActivity extends SheishuoUI {
             }
         }).start();
     }
+
+    private void onTeamListGot(List<String> nearbyGroupIds, final List<Team> teams, final List<NearbyGroupsBean.DBean.ListBean> beanList)
+    {
+        final List<String> existTeams = new ArrayList<String>();
+        for(int i=0; i<teams.size(); i++)
+        {
+            String teamId = teams.get(i).getId();
+            if(nearbyGroupIds.contains(teamId))
+            {
+                existTeams.add(teamId);
+                nearbyGroupIds.remove(teamId);
+            }
+        }
+
+        getHandler().post(new Runnable() {
+            @Override
+            public void run() {
+                areaGroupsAdapter = new AreaGroupsAdapter(context, existTeams, beanList);
+                recyclerView.setAdapter(areaGroupsAdapter);
+                recyclerView.setLayoutManager(layoutManager);
+                areaGroupsAdapter.setOnItemClickListener(new OnItemClickListener() {
+                    @Override
+                    public void onItemClick(View view) {
+                        String groupId = (String) view.getTag();
+                        if (!NIMClient.getService(TeamService.class).queryTeamBlock(groupId).isMyTeam()) {
+                            NIMClient.getService(TeamService.class).applyJoinTeam(groupId, "申请入群");
+                        }
+                        SheishuoUIKit.startTeamSession(context, (String) view.getTag());
+                    }
+                });
+            }
+        });
+
+        if(nearbyGroupIds.size() > 0) {
+            String tids = TextUtils.join(",", nearbyGroupIds);
+            Log.e("RemoveGroup", tids);
+            new NetImpl().removeGroup(tids);
+        }
+    }
 }

+ 2 - 2
app/src/com/sheishuo/app/core_module/sheishuo/view/ui/TeamSettingsActivity.java

@@ -668,7 +668,7 @@ public class TeamSettingsActivity extends SheishuoUI implements View.OnClickList
 
                 teamMemberAvatarLayout.removeAllViewsInLayout();
 
-                if(team.getCreator().equals(AccountCache.getAccount().getId())) {
+                //if(team.getCreator().equals(AccountCache.getAccount().getId())) {
                     HeadImageView addBtn = new HeadImageView(context);
                     addBtn.setMaxWidth(imageSize);
                     addBtn.setMaxHeight(imageSize);
@@ -683,7 +683,7 @@ public class TeamSettingsActivity extends SheishuoUI implements View.OnClickList
                         }
                     });
                     teamMemberAvatarLayout.addView(addBtn);
-                }
+                //}
 
                 int count = 0;
                 for (final NimUserInfo info : nimUserInfos) {

+ 30 - 1
app/src/com/sheishuo/app/main/activity/RequestActivity.java

@@ -115,7 +115,36 @@ public class RequestActivity extends SheishuoUI {
                 }
                 else if(bean.getType().equals("2"))
                 {
-                    UserInfoDetailActivity.start(context, bean.getUser_id());
+                    DialogMaker.showProgressDialog(context, "", false);
+                    net.requestDelete(bean.getId(), new ResponseCallback() {
+                        @Override
+                        public void onSuccess(Object object) {
+                            DialogMaker.dismissProgressDialog();
+                            removeRequest(bean);
+                            UserInfoDetailActivity.start(context, bean.getUser_id());
+                        }
+
+                        @Override
+                        public void onFailed(String error) {
+                            DialogMaker.dismissProgressDialog();
+                        }
+                    });
+                }
+                else if(bean.getType().equals("3"))
+                {
+                    DialogMaker.showProgressDialog(context, "", false);
+                    net.requestDelete(bean.getId(), new ResponseCallback() {
+                        @Override
+                        public void onSuccess(Object object) {
+                            DialogMaker.dismissProgressDialog();
+                            removeRequest(bean);
+                        }
+
+                        @Override
+                        public void onFailed(String error) {
+                            DialogMaker.dismissProgressDialog();
+                        }
+                    });
                 }
             }
 

+ 23 - 2
app/src/com/sheishuo/app/main/adapter/AreaGroupsAdapter.java

@@ -14,7 +14,9 @@ import com.netease.nimlib.sdk.RequestCallback;
 import com.netease.nimlib.sdk.team.TeamService;
 import com.netease.nimlib.sdk.team.model.Team;
 import com.sheishuo.app.R;
+import com.sheishuo.app.common.beans.NearbyGroupsBean;
 
+import java.text.DecimalFormat;
 import java.util.List;
 
 /**
@@ -24,11 +26,13 @@ import java.util.List;
 public class AreaGroupsAdapter extends RecyclerView.Adapter<AreaGroupsAdapter.AreaGroupsViewHold> implements View.OnClickListener {
     private Context context;
     private List<String> groupIds;
+    private List<NearbyGroupsBean.DBean.ListBean> beanList;
     private OnItemClickListener listener;
 
-    public AreaGroupsAdapter(Context context, List<String> groupIds) {
+    public AreaGroupsAdapter(Context context, List<String> groupIds, List<NearbyGroupsBean.DBean.ListBean> beanList) {
         this.context = context;
         this.groupIds = groupIds;
+        this.beanList = beanList;
     }
 
     public void setOnItemClickListener(OnItemClickListener listener) {
@@ -47,6 +51,22 @@ public class AreaGroupsAdapter extends RecyclerView.Adapter<AreaGroupsAdapter.Ar
         final String groupId = groupIds.get(position);
         holder.layout.setTag(groupId);
 
+        if(beanList != null) {
+            NearbyGroupsBean.DBean.ListBean bean = beanList.get(position);
+            int distance = Integer.parseInt(bean.getDist());
+            if (distance >= 1000) {
+                DecimalFormat df = new DecimalFormat("###.#");
+                float f = (float) distance / 1000f;
+                holder.distanceTV.setText("" + df.format(f) + "KM");
+            } else {
+                holder.distanceTV.setText("" + distance + "M");
+            }
+        }
+        else
+        {
+            holder.distanceTV.setText("");
+        }
+
         queryGroupInfo(groupId).setCallback(new RequestCallback<Team>() {
             @Override
             public void onSuccess(Team team) {
@@ -114,7 +134,7 @@ public class AreaGroupsAdapter extends RecyclerView.Adapter<AreaGroupsAdapter.Ar
     class AreaGroupsViewHold extends RecyclerView.ViewHolder {
         View layout;
         HeadImageView groupIco;
-        TextView groupName, groupMemberNum;
+        TextView groupName, groupMemberNum, distanceTV;
 
         public AreaGroupsViewHold(View itemView) {
             super(itemView);
@@ -122,6 +142,7 @@ public class AreaGroupsAdapter extends RecyclerView.Adapter<AreaGroupsAdapter.Ar
             groupIco = (HeadImageView) itemView.findViewById(R.id.area_groups_item_avatar);
             groupName = (TextView) itemView.findViewById(R.id.group_name);
             groupMemberNum = (TextView) itemView.findViewById(R.id.group_member_num);
+            distanceTV = (TextView) itemView.findViewById(R.id.group_distance);
         }
     }
 }

+ 12 - 0
app/src/com/sheishuo/app/main/adapter/CircleListAdapter.java

@@ -125,6 +125,16 @@ public class CircleListAdapter  extends RecyclerView.Adapter<CircleListAdapter.C
             }
         });
 
+        holder.commentImg.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Log.e("socialId",bean.getId());
+                Intent intent = new Intent(context, NewCommentActivity.class);
+                intent.putExtra(NewCommentActivity.SOCIAL_ID, bean);
+                context.startActivityForResult(intent, 0);
+            }
+        });
+
         //加载thumbs
 //        if (bean.getThumbs().size() > 4){
 //            //默认为两列,如果超过4张图则显示为3列
@@ -475,6 +485,7 @@ public class CircleListAdapter  extends RecyclerView.Adapter<CircleListAdapter.C
         private ImgGridView gridView;
         private ImageView avatar
                 ,likedImg
+                ,commentImg
                 ,firstCommentImg
                 ,secondCommentImg;
         private View likedUserLayout;
@@ -493,6 +504,7 @@ public class CircleListAdapter  extends RecyclerView.Adapter<CircleListAdapter.C
             likesNumTV = (TextView) v.findViewById(R.id.likes_num_tv);
             likedUserTV = (TextView) v.findViewById(circle_liked_user_tv);
             commentTV = (TextView) v.findViewById(R.id.comment_num_tv);
+            commentImg = (ImageView) v.findViewById(R.id.comment_icon);
             //firstCommentTV = (TextView) v.findViewById(R.id.circle_comment_first_tv);
             //secondCommentTV = (TextView) v.findViewById(R.id.circle_comment_second_tv);
 

+ 4 - 0
app/src/com/sheishuo/app/main/adapter/RequestAdapter.java

@@ -66,6 +66,10 @@ public class RequestAdapter extends RecyclerView.Adapter<RequestAdapter.RequestV
         {
             holder.acceptBtn.setText("查看");
         }
+        else if(bean.getType().equals("3"))
+        {
+            holder.acceptBtn.setText("删除");
+        }
         else
         {
             holder.acceptBtn.setText("接受");

+ 2 - 2
app/src/com/sheishuo/app/main/fragment/AreaGroupsFragment.java

@@ -268,7 +268,7 @@ public class AreaGroupsFragment extends MainTabFragment implements NimLocationMa
                 groupIds.add(tempList.get(i));
         }
 
-        areaGroupsAdapter = new AreaGroupsAdapter(getActivity(), groupIds);
+        areaGroupsAdapter = new AreaGroupsAdapter(getActivity(), groupIds, null);
         areaGroupsRecyclerview.setLayoutManager(layoutManager);
 
         areaGroupsRecyclerview.setAdapter(areaGroupsAdapter);
@@ -360,7 +360,7 @@ public class AreaGroupsFragment extends MainTabFragment implements NimLocationMa
                     }
                 }
 
-                recentGroupsAdapter = new AreaGroupsAdapter(getActivity(), teamIds);
+                recentGroupsAdapter = new AreaGroupsAdapter(getActivity(), teamIds, null);
                 recentGroupsRecyclerview.setAdapter(recentGroupsAdapter);
                 recentGroupsRecyclerview.setMinimumHeight((int) ImgUtil.convertDpToPixel(64 * recentGroupsAdapter.getItemCount(),getActivity()));
                 recentGroupsRecyclerview.setLayoutManager(recentLayoutManager);

+ 1 - 1
app/src/com/sheishuo/app/main/fragment/HomeFragment.java

@@ -419,7 +419,7 @@ public class HomeFragment extends TFragment implements OnPageChangeListener, Rem
 
 
     private void enableMsgNotification(boolean enable) {
-        boolean msg = (pager.getCurrentItem() != MainTab.RECENT_CONTACTS.tabIndex);
+        boolean msg = true;//(pager.getCurrentItem() != MainTab.RECENT_CONTACTS.tabIndex);
         if (enable | msg) {
             /**
              * 设置最近联系人的消息为已读

+ 7 - 7
uikit/uikit.iml

@@ -59,13 +59,6 @@
       <sourceFolder url="file://$MODULE_DIR$/assets" type="java-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
@@ -73,6 +66,13 @@
       <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/annotations" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />