1919import com .dtalk .dd .DB .sp .ConfigurationSp ;
2020import com .dtalk .dd .R ;
2121import com .dtalk .dd .config .IntentConstant ;
22+ import com .dtalk .dd .ui .activity .UpdateGroupNameActivity ;
2223import com .dtalk .dd .ui .adapter .GroupManagerAdapter ;
2324import com .dtalk .dd .ui .helper .CheckboxConfigHelper ;
2425import com .dtalk .dd .imservice .event .GroupEvent ;
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