@@ -26,11 +26,11 @@ import java.util.ArrayList; |
||
26 | 26 |
import ai.pai.client.R; |
27 | 27 |
import ai.pai.client.beans.GroupMemberInfo; |
28 | 28 |
import ai.pai.client.db.DBService; |
29 |
-import ai.pai.client.db.Preferences; |
|
30 | 29 |
import ai.pai.client.services.GroupService; |
31 | 30 |
import ai.pai.client.utils.PhotoLoader; |
32 | 31 |
import ai.pai.client.utils.SystemUtils; |
33 | 32 |
import ai.pai.client.utils.UmengEvent; |
33 |
+import ai.pai.client.views.ExitGroupConfirmPopup; |
|
34 | 34 |
import ai.pai.client.views.GroupExitPopup; |
35 | 35 |
import ai.pai.client.views.GroupQRPopup; |
36 | 36 |
|
@@ -132,18 +132,21 @@ public class GroupSettingActivity extends BaseActivity implements View.OnClickLi |
||
132 | 132 |
break; |
133 | 133 |
case R.id.tv_pop_exit_group: |
134 | 134 |
if (!isAdmin) { |
135 |
- Intent intent = new Intent(GroupSettingActivity.this, GroupService.class); |
|
136 |
- Bundle bundle = new Bundle(); |
|
137 |
- bundle.putString("group_id", groupId); |
|
138 |
- bundle.putInt("command", GroupService.GroupCommand.COMMAND_QUIT_GROUP); |
|
139 |
- intent.putExtras(bundle); |
|
140 |
- startService(intent); |
|
135 |
+ new ExitGroupConfirmPopup(this,this).showPopupWindow(); |
|
141 | 136 |
} else { |
142 | 137 |
Toast.makeText(this, R.string.can_not_delete_self, Toast.LENGTH_SHORT).show(); |
143 | 138 |
} |
144 | 139 |
case R.id.tv_pop_cancel: |
145 | 140 |
exitPopup.dismiss(); |
146 | 141 |
break; |
142 |
+ case R.id.btn_exit_group_confirm: |
|
143 |
+ Intent exitIntent = new Intent(GroupSettingActivity.this, GroupService.class); |
|
144 |
+ Bundle bundle = new Bundle(); |
|
145 |
+ bundle.putString("group_id", groupId); |
|
146 |
+ bundle.putInt("command", GroupService.GroupCommand.COMMAND_QUIT_GROUP); |
|
147 |
+ exitIntent.putExtras(bundle); |
|
148 |
+ startService(exitIntent); |
|
149 |
+ break; |
|
147 | 150 |
case R.id.layout_group_qr: |
148 | 151 |
MobclickAgent.onEvent(this, UmengEvent.groupconfig_qrcode_layout_click); |
149 | 152 |
new GroupQRPopup(this, groupId, groupName, avatarId).showPopupWindow(); |
@@ -0,0 +1,68 @@ |
||
1 |
+package ai.pai.client.views; |
|
2 |
+ |
|
3 |
+import android.app.Activity; |
|
4 |
+import android.view.LayoutInflater; |
|
5 |
+import android.view.View; |
|
6 |
+import android.view.animation.Animation; |
|
7 |
+ |
|
8 |
+import com.android.views.popup.BasePopupWindow; |
|
9 |
+ |
|
10 |
+import ai.pai.client.R; |
|
11 |
+ |
|
12 |
+/** |
|
13 |
+ * Created by chengzhenyu on 2016/3/4. |
|
14 |
+ */ |
|
15 |
+public class ExitGroupConfirmPopup extends BasePopupWindow implements View.OnClickListener{ |
|
16 |
+ |
|
17 |
+ private View popupView; |
|
18 |
+ private View.OnClickListener listener; |
|
19 |
+ |
|
20 |
+ public ExitGroupConfirmPopup(Activity context, View.OnClickListener clickListener) { |
|
21 |
+ super(context); |
|
22 |
+ this.listener = clickListener; |
|
23 |
+ bindEvent(); |
|
24 |
+ } |
|
25 |
+ |
|
26 |
+ @Override |
|
27 |
+ protected Animation getShowAnimation() { |
|
28 |
+ return getDefaultScaleAnimation(); |
|
29 |
+ } |
|
30 |
+ |
|
31 |
+ @Override |
|
32 |
+ protected View getClickToDismissView() { |
|
33 |
+ return popupView.findViewById(R.id.click_to_dismiss); |
|
34 |
+ } |
|
35 |
+ |
|
36 |
+ @Override |
|
37 |
+ public View getPopupView() { |
|
38 |
+ popupView= LayoutInflater.from(mContext).inflate(R.layout.popup_exit_group_confirm,null); |
|
39 |
+ return popupView; |
|
40 |
+ } |
|
41 |
+ |
|
42 |
+ @Override |
|
43 |
+ public View getAnimaView() { |
|
44 |
+ return popupView.findViewById(R.id.popup_anima); |
|
45 |
+ } |
|
46 |
+ |
|
47 |
+ private void bindEvent() { |
|
48 |
+ if (popupView!=null){ |
|
49 |
+ popupView.findViewById(R.id.btn_cancel_delete).setOnClickListener(this); |
|
50 |
+ popupView.findViewById(R.id.btn_exit_group_confirm).setOnClickListener(this); |
|
51 |
+ } |
|
52 |
+ } |
|
53 |
+ |
|
54 |
+ @Override |
|
55 |
+ public void onClick(View v) { |
|
56 |
+ switch (v.getId()){ |
|
57 |
+ case R.id.btn_cancel_delete: |
|
58 |
+ dismiss(); |
|
59 |
+ break; |
|
60 |
+ case R.id.btn_exit_group_confirm: |
|
61 |
+ dismiss(); |
|
62 |
+ if(listener!=null){ |
|
63 |
+ listener.onClick(v); |
|
64 |
+ } |
|
65 |
+ break; |
|
66 |
+ } |
|
67 |
+ } |
|
68 |
+} |
@@ -0,0 +1,86 @@ |
||
1 |
+<?xml version="1.0" encoding="utf-8"?> |
|
2 |
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|
3 |
+ android:layout_width="match_parent" |
|
4 |
+ android:layout_height="match_parent"> |
|
5 |
+ |
|
6 |
+ <RelativeLayout |
|
7 |
+ android:id="@+id/click_to_dismiss" |
|
8 |
+ android:layout_width="match_parent" |
|
9 |
+ android:layout_height="match_parent" |
|
10 |
+ android:background="@color/popup_bg" |
|
11 |
+ android:paddingLeft="25dp" |
|
12 |
+ android:paddingRight="25dp"> |
|
13 |
+ |
|
14 |
+ <LinearLayout |
|
15 |
+ android:id="@+id/popup_anima" |
|
16 |
+ android:layout_width="280dp" |
|
17 |
+ android:layout_height="148dp" |
|
18 |
+ android:layout_centerInParent="true" |
|
19 |
+ android:background="@color/pop_bg_color" |
|
20 |
+ android:orientation="vertical"> |
|
21 |
+ |
|
22 |
+ |
|
23 |
+ <RelativeLayout |
|
24 |
+ android:layout_width="match_parent" |
|
25 |
+ android:layout_height="match_parent"> |
|
26 |
+ |
|
27 |
+ <TextView |
|
28 |
+ android:id="@+id/tv_pop_delete_title" |
|
29 |
+ android:layout_width="match_parent" |
|
30 |
+ android:layout_height="wrap_content" |
|
31 |
+ android:layout_marginTop="20dp" |
|
32 |
+ android:text="@string/exit_group_confirm" |
|
33 |
+ android:textColor="@color/black" |
|
34 |
+ android:layout_marginLeft="24dp" |
|
35 |
+ android:textSize="18sp" /> |
|
36 |
+ |
|
37 |
+ |
|
38 |
+ <TextView |
|
39 |
+ android:id="@+id/tv_pop_delete_hint" |
|
40 |
+ android:layout_width="match_parent" |
|
41 |
+ android:layout_height="wrap_content" |
|
42 |
+ android:layout_marginTop="56dp" |
|
43 |
+ android:layout_marginLeft="24dp" |
|
44 |
+ android:text="@string/exit_group_hint" |
|
45 |
+ android:textColor="@color/grey" |
|
46 |
+ android:textSize="16sp" /> |
|
47 |
+ |
|
48 |
+ |
|
49 |
+ |
|
50 |
+ <LinearLayout |
|
51 |
+ android:layout_width="match_parent" |
|
52 |
+ android:layout_height="wrap_content" |
|
53 |
+ android:layout_alignParentBottom="true" |
|
54 |
+ android:paddingBottom="14dp" |
|
55 |
+ android:gravity="center" |
|
56 |
+ android:orientation="horizontal"> |
|
57 |
+ |
|
58 |
+ |
|
59 |
+ <Button |
|
60 |
+ android:id="@+id/btn_cancel_delete" |
|
61 |
+ android:layout_width="120dp" |
|
62 |
+ android:layout_height="36dp" |
|
63 |
+ android:gravity="center" |
|
64 |
+ android:textColor="@color/dark_grey" |
|
65 |
+ android:background="@drawable/pop_btn_cancel_selector" |
|
66 |
+ android:text="@string/cancel" |
|
67 |
+ android:textSize="16sp" /> |
|
68 |
+ |
|
69 |
+ <Button |
|
70 |
+ android:id="@+id/btn_exit_group_confirm" |
|
71 |
+ android:layout_width="120dp" |
|
72 |
+ android:layout_height="36dp" |
|
73 |
+ android:gravity="center" |
|
74 |
+ android:textColor="@color/white" |
|
75 |
+ android:layout_marginLeft="8dp" |
|
76 |
+ android:background="@drawable/pop_btn_ok_selector" |
|
77 |
+ android:text="@string/ok" |
|
78 |
+ android:textSize="16sp" /> |
|
79 |
+ |
|
80 |
+ </LinearLayout> |
|
81 |
+ |
|
82 |
+ </RelativeLayout> |
|
83 |
+ </LinearLayout> |
|
84 |
+ </RelativeLayout> |
|
85 |
+ |
|
86 |
+</RelativeLayout> |
@@ -70,6 +70,9 @@ |
||
70 | 70 |
<string name="delete_group_member">删除群成员</string> |
71 | 71 |
|
72 | 72 |
<string name="delete_member_hint">删除后将不再能看到群内照片</string> |
73 |
+ |
|
74 |
+ <string name="exit_group_hint">退出群后将不再能看到群内照片</string> |
|
75 |
+ |
|
73 | 76 |
<string name="delete_member_processing">成员删除进行中</string> |
74 | 77 |
|
75 | 78 |
<string name="delete_member_success">成员删除成功</string> |
@@ -266,4 +269,6 @@ |
||
266 | 269 |
<string name="no_photo_in_group">暂无照片</string> |
267 | 270 |
|
268 | 271 |
<string name="photo_in_group">有%d张照片</string> |
272 |
+ |
|
273 |
+ <string name="exit_group_confirm">群退出提示</string> |
|
269 | 274 |
</resources> |