Skip to content

Commit 14dd125

Browse files
committed
更新group name
1 parent 7f9cd76 commit 14dd125

File tree

4 files changed

+60
-66
lines changed

4 files changed

+60
-66
lines changed

app/src/main/AndroidManifest.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,12 @@
171171
android:screenOrientation="portrait"
172172
android:theme="@android:style/Theme.NoTitleBar" >
173173
</activity>
174+
<activity
175+
android:name="com.dtalk.dd.ui.activity.UpdateGroupNameActivity"
176+
android:configChanges="orientation|keyboardHidden"
177+
android:screenOrientation="portrait"
178+
android:theme="@android:style/Theme.NoTitleBar" >
179+
</activity>
174180
<activity
175181
android:name="com.dtalk.dd.ui.activity.ImageGridActivity"
176182
android:configChanges="orientation|keyboardHidden"

app/src/main/java/com/dtalk/dd/ui/activity/OwnGroupListActivity.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ public void onDestroy() {
5353
if(EventBus.getDefault().isRegistered(OwnGroupListActivity.this)){
5454
EventBus.getDefault().unregister(OwnGroupListActivity.this);
5555
}
56+
imServiceConnector.disconnect(this);
5657
}
5758

5859
@Override

app/src/main/java/com/dtalk/dd/ui/activity/UpdateGroupNameActivity.java

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -13,36 +13,9 @@
1313
import android.widget.EditText;
1414

1515
import com.dtalk.dd.R;
16-
import com.dtalk.dd.app.IMApplication;
1716
import com.dtalk.dd.http.base.BaseClient;
18-
import com.dtalk.dd.http.friend.OtherUserInfoNoRemark;
1917
import com.dtalk.dd.http.user.UserClient;
20-
import com.dtalk.dd.imservice.event.UpdateUserInfoEvent;
2118
import com.dtalk.dd.ui.base.TTBaseActivity;
22-
import com.dtalk.dd.utils.SandboxUtils;
23-
24-
import de.greenrobot.event.EventBus;
25-
26-
27-
import android.app.Activity;
28-
import android.app.ProgressDialog;
29-
import android.os.Bundle;
30-
import android.view.LayoutInflater;
31-
import android.view.View;
32-
import android.widget.EditText;
33-
34-
import com.dtalk.dd.DB.entity.UserEntity;
35-
import com.dtalk.dd.R;
36-
import com.dtalk.dd.app.IMApplication;
37-
import com.dtalk.dd.http.base.BaseClient;
38-
import com.dtalk.dd.http.friend.OtherUserInfoNoRemark;
39-
import com.dtalk.dd.http.user.UserClient;
40-
import com.dtalk.dd.http.user.UserInfo;
41-
import com.dtalk.dd.imservice.event.UpdateUserInfoEvent;
42-
import com.dtalk.dd.ui.base.TTBaseActivity;
43-
import com.dtalk.dd.utils.SandboxUtils;
44-
45-
import de.greenrobot.event.EventBus;
4619

4720

4821
public class UpdateGroupNameActivity extends TTBaseActivity implements View.OnClickListener {
@@ -76,7 +49,7 @@ private void updateIvnServer(final String newNick) {
7649
dialog.setMessage("正在更新...");
7750
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
7851
dialog.show();
79-
UserClient.updateName(id, nick, new BaseClient.ClientCallback() {
52+
UserClient.updateName(id, newNick, new BaseClient.ClientCallback() {
8053
@Override
8154
public void onPreConnection() {
8255

app/src/main/java/com/dtalk/dd/ui/fragment/GroupManagerFragment.java

Lines changed: 52 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import com.dtalk.dd.DB.sp.ConfigurationSp;
2020
import com.dtalk.dd.R;
2121
import com.dtalk.dd.config.IntentConstant;
22+
import com.dtalk.dd.ui.activity.UpdateGroupNameActivity;
2223
import com.dtalk.dd.ui.adapter.GroupManagerAdapter;
2324
import com.dtalk.dd.ui.helper.CheckboxConfigHelper;
2425
import com.dtalk.dd.imservice.event.GroupEvent;
@@ -36,25 +37,30 @@
3637

3738

3839
/**
39-
* @YM
40-
* 个人与群组的聊天详情都会来到这个页面
40+
* @YM 个人与群组的聊天详情都会来到这个页面
4141
* single: 这有sessionId的头像,以及加号"+" , 创建群成功之后,跳到聊天的页面
4242
* group: 群成员,加减号 , 修改成功之后,跳到群管理页面
4343
* 临时群任何人都可以加人,但是只有群主可以踢人”这个逻辑修改下,正式群暂时只给createId开放
4444
*/
45-
public class GroupManagerFragment extends TTBaseFragment implements View.OnClickListener{
45+
public class GroupManagerFragment extends TTBaseFragment implements View.OnClickListener {
4646
private View curView = null;
47-
/**adapter配置*/
47+
/**
48+
* adapter配置
49+
*/
4850
private GridView gridView;
4951
private GroupManagerAdapter adapter;
5052

5153

52-
/**详情的配置 勿扰以及指定聊天*/
54+
/**
55+
* 详情的配置 勿扰以及指定聊天
56+
*/
5357
CheckboxConfigHelper checkBoxConfiger = new CheckboxConfigHelper();
5458
CheckBox noDisturbCheckbox;
5559
CheckBox topSessionCheckBox;
5660

57-
/**需要的状态参数*/
61+
/**
62+
* 需要的状态参数
63+
*/
5864
private IMService imService;
5965
private String curSessionKey;
6066
private PeerEntity peerEntity;
@@ -69,7 +75,7 @@ public void onCreate(Bundle savedInstanceState) {
6975

7076

7177
@Override
72-
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
78+
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
7379
if (null != curView) {
7480
((ViewGroup) curView.getParent()).removeView(curView);
7581
return curView;
@@ -115,7 +121,7 @@ protected void initHandler() {
115121
}
116122

117123

118-
private IMServiceConnector imServiceConnector = new IMServiceConnector(){
124+
private IMServiceConnector imServiceConnector = new IMServiceConnector() {
119125
@Override
120126
public void onServiceDisconnected() {
121127
}
@@ -124,10 +130,10 @@ public void onServiceDisconnected() {
124130
public void onIMServiceConnected() {
125131
Logger.d("groupmgr#onIMServiceConnected");
126132
imService = imServiceConnector.getIMService();
127-
if(imService == null){
128-
Toast.makeText(GroupManagerFragment.this.getActivity(),
133+
if (imService == null) {
134+
Toast.makeText(GroupManagerFragment.this.getActivity(),
129135
getResources().getString(R.string.im_service_disconnected), Toast.LENGTH_SHORT).show();
130-
return;
136+
return;
131137
}
132138
checkBoxConfiger.init(imService.getConfigSp());
133139
initView();
@@ -138,104 +144,112 @@ public void onIMServiceConnected() {
138144

139145
private void initView() {
140146
setTopTitle(getString(R.string.chat_detail));
141-
if (null == imService || null == curView ) {
147+
if (null == imService || null == curView) {
142148
Logger.e("groupmgr#init failed,cause by imService or curView is null");
143149
return;
144150
}
145151

146-
curSessionKey = getActivity().getIntent().getStringExtra(IntentConstant.KEY_SESSION_KEY);
152+
curSessionKey = getActivity().getIntent().getStringExtra(IntentConstant.KEY_SESSION_KEY);
147153
if (TextUtils.isEmpty(curSessionKey)) {
148154
Logger.e("groupmgr#getSessionInfoFromIntent failed");
149155
return;
150156
}
151157
peerEntity = imService.getSessionManager().findPeerEntity(curSessionKey);
152-
if(peerEntity == null){
153-
Logger.e("groupmgr#findPeerEntity failed,sessionKey:%s",curSessionKey);
158+
if (peerEntity == null) {
159+
Logger.e("groupmgr#findPeerEntity failed,sessionKey:%s", curSessionKey);
154160
return;
155161
}
156-
switch (peerEntity.getType()){
157-
case DBConstant.SESSION_TYPE_GROUP:{
162+
switch (peerEntity.getType()) {
163+
case DBConstant.SESSION_TYPE_GROUP: {
158164
GroupEntity groupEntity = (GroupEntity) peerEntity;
159165
// 群组名称的展示
160166
TextView groupNameView = (TextView) curView.findViewById(R.id.group_manager_title);
161167
groupNameView.setText(groupEntity.getMainName());
162-
}break;
168+
}
169+
break;
163170

164-
case DBConstant.SESSION_TYPE_SINGLE:{
171+
case DBConstant.SESSION_TYPE_SINGLE: {
165172
// 个人不显示群聊名称
166173
View groupNameContainerView = curView.findViewById(R.id.group_manager_name);
167174
groupNameContainerView.setVisibility(View.GONE);
168-
}break;
175+
}
176+
break;
169177
}
178+
curView.findViewById(R.id.groupname_layout).setOnClickListener(this);
170179
// 初始化配置checkBox
171180
initCheckbox();
172181
}
173182

174-
private void initAdapter(){
183+
private void initAdapter() {
175184
Logger.d("groupmgr#initAdapter");
176185

177186
gridView = (GridView) curView.findViewById(R.id.group_manager_grid);
178187
gridView.setSelector(new ColorDrawable(Color.TRANSPARENT));// 去掉点击时的黄色背影
179188
gridView.setOnScrollListener(new PauseOnScrollListener(ImageLoader.getInstance(), true, true));
180189

181-
adapter = new GroupManagerAdapter(getActivity(),imService,peerEntity);
190+
adapter = new GroupManagerAdapter(getActivity(), imService, peerEntity);
182191
gridView.setAdapter(adapter);
183192
}
184193

185-
/**事件驱动通知*/
186-
public void onEventMainThread(GroupEvent event){
187-
switch (event.getEvent()){
194+
/**
195+
* 事件驱动通知
196+
*/
197+
public void onEventMainThread(GroupEvent event) {
198+
switch (event.getEvent()) {
188199

189200
case CHANGE_GROUP_MEMBER_FAIL:
190-
case CHANGE_GROUP_MEMBER_TIMEOUT:{
201+
case CHANGE_GROUP_MEMBER_TIMEOUT: {
191202
Toast.makeText(getActivity(), getString(R.string.change_temp_group_failed), Toast.LENGTH_SHORT).show();
192203
return;
193204
}
194-
case CHANGE_GROUP_MEMBER_SUCCESS:{
205+
case CHANGE_GROUP_MEMBER_SUCCESS: {
195206
onMemberChangeSuccess(event);
196-
}break;
207+
}
208+
break;
197209
}
198210
}
199211

200-
private void onMemberChangeSuccess(GroupEvent event){
212+
private void onMemberChangeSuccess(GroupEvent event) {
201213
int groupId = event.getGroupEntity().getPeerId();
202-
if(groupId != peerEntity.getPeerId()){
214+
if (groupId != peerEntity.getPeerId()) {
203215
return;
204216
}
205217
List<Integer> changeList = event.getChangeList();
206-
if(changeList == null || changeList.size()<=0){
218+
if (changeList == null || changeList.size() <= 0) {
207219
return;
208220
}
209221
int changeType = event.getChangeType();
210222

211-
switch (changeType){
223+
switch (changeType) {
212224
case DBConstant.GROUP_MODIFY_TYPE_ADD:
213225
ArrayList<UserEntity> newList = new ArrayList<>();
214-
for(Integer userId:changeList){
215-
UserEntity userEntity = imService.getContactManager().findContact(userId);
216-
if(userEntity!=null) {
226+
for (Integer userId : changeList) {
227+
UserEntity userEntity = imService.getContactManager().findContact(userId);
228+
if (userEntity != null) {
217229
newList.add(userEntity);
218230
}
219231
}
220232
adapter.add(newList);
221233
break;
222234
case DBConstant.GROUP_MODIFY_TYPE_DEL:
223-
for(Integer userId:changeList){
235+
for (Integer userId : changeList) {
224236
adapter.removeById(userId);
225237
}
226238
break;
227239
}
228240
}
229241

230-
private void initCheckbox() {
242+
private void initCheckbox() {
231243
checkBoxConfiger.initCheckBox(noDisturbCheckbox, curSessionKey, ConfigurationSp.CfgDimension.NOTIFICATION);
232-
checkBoxConfiger.initTopCheckBox(topSessionCheckBox,curSessionKey);
244+
checkBoxConfiger.initTopCheckBox(topSessionCheckBox, curSessionKey);
233245
}
234246

235247
@Override
236248
public void onClick(View view) {
237249
switch (view.getId()) {
238250
case R.id.groupname_layout:
251+
GroupEntity groupEntity = (GroupEntity) peerEntity;
252+
UpdateGroupNameActivity.open(getActivity(), groupEntity.getId() + "", groupEntity.getMainName());
239253
break;
240254
}
241255
}

0 commit comments

Comments
 (0)