Browse Source

发布页面退出提示

huyuguo 6 years ago
parent
commit
2aa64d2da5

+ 22 - 16
app/src/main/java/com/electric/chargingpile/activity/PublishPicTopicActivity.java

190
        itemWidth = (int) ((screenWidth - DensityUtil.dip2px(this, 15 * 2 + 10 * 2)) / 3f);
190
        itemWidth = (int) ((screenWidth - DensityUtil.dip2px(this, 15 * 2 + 10 * 2)) / 3f);
191
191
192
        uploadDialog = new ProgressDialog(this);
192
        uploadDialog = new ProgressDialog(this);
193
        uploadDialog.setMessage("发布中...");
193
        uploadDialog.setMessage("图片上传中...");
194
        uploadDialog.setCanceledOnTouchOutside(false);
194
        uploadDialog.setCanceledOnTouchOutside(false);
195
195
196
        mPublishTopicDe = (ImageView) findViewById(R.id.publishtopic_choose_topic_de);
196
        mPublishTopicDe = (ImageView) findViewById(R.id.publishtopic_choose_topic_de);
240
240
241
            @Override
241
            @Override
242
            public void afterTextChanged(Editable editable) {
242
            public void afterTextChanged(Editable editable) {
243
                if (editable.length() > 500) {
244
                    et_context.setText(et_context.getText().subSequence(0, 500));
243
                String s = et_context.getText().toString().trim();
244
                if (s.length() > 500) {
245
                    et_context.setText(s.subSequence(0, 500));
245
                    et_context.setSelection(500);
246
                    et_context.setSelection(500);
246
                }
247
                }
247
                String s = et_context.getText().toString();
248
248
//                if (containsEmoji(s)) {
249
//                if (containsEmoji(s)) {
249
//                    tv_right.setEnabled(false);
250
//                    tv_right.setEnabled(false);
250
//                    tv_right.setTextColor(getResources().getColor(R.color.ui_68));
251
//                    tv_right.setTextColor(getResources().getColor(R.color.ui_68));
935
    }
936
    }
936
937
937
    private void showDialogToExit() {
938
    private void showDialogToExit() {
938
        AlertDialog.Builder builder = new AlertDialog.Builder(PublishPicTopicActivity.this);
939
        builder.setTitle("提示");
940
        builder.setMessage("是否离开发布页?");
941
        builder.setCancelable(false);
942
        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
943
            @Override
944
            public void onClick(DialogInterface dialog, int which) {
945
                finish();
946
            }
947
        });
948
        builder.setNegativeButton("取消", null);
949
        builder.create().show();
939
        String s = et_context.getText().toString().trim();
940
        if (s.length() > 0 || Bimp.tempSelectBitmap.size() > 0) {
941
            AlertDialog.Builder builder = new AlertDialog.Builder(PublishPicTopicActivity.this);
942
            builder.setTitle("离开发布页");
943
            builder.setMessage("小主您是否要离开发布页呢?");
944
            builder.setCancelable(false);
945
            builder.setPositiveButton("是", new DialogInterface.OnClickListener() {
946
                @Override
947
                public void onClick(DialogInterface dialog, int which) {
948
                    finish();
949
                }
950
            });
951
            builder.setNegativeButton("继续编辑", null);
952
            builder.create().show();
953
        } else {
954
            finish();
955
        }
950
    }
956
    }
951
957
952
    @Override
958
    @Override

+ 23 - 17
app/src/main/java/com/electric/chargingpile/activity/PublishVideoTopicActivity.java

90
        setContentView(R.layout.activity_publishtopic);
90
        setContentView(R.layout.activity_publishtopic);
91
        mContext = this;
91
        mContext = this;
92
        uploadDialog = new ProgressDialog(this);
92
        uploadDialog = new ProgressDialog(this);
93
        uploadDialog.setMessage("发布中...");
93
        uploadDialog.setMessage("视频上传中...");
94
        uploadDialog.setCanceledOnTouchOutside(false);
94
        uploadDialog.setCanceledOnTouchOutside(false);
95
95
96
        BarColorUtil.initStatusBarColor(PublishVideoTopicActivity.this);
96
        BarColorUtil.initStatusBarColor(PublishVideoTopicActivity.this);
123
123
124
            @Override
124
            @Override
125
            public void afterTextChanged(Editable editable) {
125
            public void afterTextChanged(Editable editable) {
126
                String s = mPublishtopicCon.getText().toString().trim();
126
127
127
                if (editable.length() > 500) {
128
                    mPublishtopicCon.setText(mPublishtopicCon.getText().subSequence(0, 500));
128
                if (s.length() > 500) {
129
                    mPublishtopicCon.setText(s.subSequence(0, 500));
129
                    mPublishtopicCon.setSelection(500);
130
                    mPublishtopicCon.setSelection(500);
130
                }
131
                }
131
                String s = mPublishtopicCon.getText().toString();
132
                updatePublishBtn();
132
                updatePublishBtn();
133
                if (TextUtils.isEmpty(s)) {
133
                if (TextUtils.isEmpty(s)) {
134
                    mPublishtopicWordNum.setText("0/500");
134
                    mPublishtopicWordNum.setText("0/500");
300
300
301
        String url = MainApplication.urlNew + "/topic/publish.do";
301
        String url = MainApplication.urlNew + "/topic/publish.do";
302
        Map<String, String> map = new HashMap<>();
302
        Map<String, String> map = new HashMap<>();
303
        map.put("content", mPublishtopicCon.getText().toString());
303
        map.put("content", mPublishtopicCon.getText().toString().trim());
304
        map.put("urls", urls);
304
        map.put("urls", urls);
305
        if (chatRecommendBean != null) {
305
        if (chatRecommendBean != null) {
306
            map.put("topicId", chatRecommendBean.targetId + "");
306
            map.put("topicId", chatRecommendBean.targetId + "");
409
    }
409
    }
410
410
411
    private void showDialogToExit() {
411
    private void showDialogToExit() {
412
        AlertDialog.Builder builder = new AlertDialog.Builder(PublishVideoTopicActivity.this);
413
        builder.setTitle("提示");
414
        builder.setMessage("是否离开发布页?");
415
        builder.setCancelable(false);
416
        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
417
            @Override
418
            public void onClick(DialogInterface dialog, int which) {
419
                finish();
420
            }
421
        });
422
        builder.setNegativeButton("取消", null);
423
        builder.create().show();
412
413
        String s = mPublishtopicCon.getText().toString().trim();
414
        if (s.length() > 0 || media != null) {
415
            AlertDialog.Builder builder = new AlertDialog.Builder(PublishVideoTopicActivity.this);
416
            builder.setTitle("离开发布页");
417
            builder.setMessage("小主您是否要离开发布页呢?");
418
            builder.setCancelable(false);
419
            builder.setPositiveButton("是", new DialogInterface.OnClickListener() {
420
                @Override
421
                public void onClick(DialogInterface dialog, int which) {
422
                    finish();
423
                }
424
            });
425
            builder.setNegativeButton("继续编辑", null);
426
            builder.create().show();
427
        } else {
428
            finish();
429
        }
424
    }
430
    }
425
431
426
    @Override
432
    @Override

+ 4 - 3
app/src/main/java/com/electric/chargingpile/activity/VideoDetaislActivity.java

10
10
11
import com.electric.chargingpile.R;
11
import com.electric.chargingpile.R;
12
import com.electric.chargingpile.adapter.SvVideoPagerAdapter;
12
import com.electric.chargingpile.adapter.SvVideoPagerAdapter;
13
import com.electric.chargingpile.data.ChatRecommendBean;
13
import com.electric.chargingpile.data.TalkRecommendBean;
14
import com.electric.chargingpile.data.TalkRecommendBean;
14
import com.electric.chargingpile.fragment.SvVideoShowView;
15
import com.electric.chargingpile.fragment.SvVideoShowView;
15
import com.electric.chargingpile.view.sview.VerticalViewPager;
16
import com.electric.chargingpile.view.sview.VerticalViewPager;
29
    private MyHandler mHandler = new MyHandler(this);
30
    private MyHandler mHandler = new MyHandler(this);
30
31
31
    int position = 0;
32
    int position = 0;
32
    List<TalkRecommendBean> talkRecommendBeans;
33
    List<ChatRecommendBean> talkRecommendBeans;
33
34
34
    static class MyHandler extends Handler {
35
    static class MyHandler extends Handler {
35
        private WeakReference<VideoDetaislActivity> mWeakReference;
36
        private WeakReference<VideoDetaislActivity> mWeakReference;
101
102
102
    private void addIntentInfo() {
103
    private void addIntentInfo() {
103
        position = getIntent().getIntExtra("pos", 0);
104
        position = getIntent().getIntExtra("pos", 0);
104
        talkRecommendBeans = (List<TalkRecommendBean>) getIntent().getSerializableExtra("list");
105
        talkRecommendBeans = (List<ChatRecommendBean>) getIntent().getSerializableExtra("list");
105
106
106
        viewPagerAdapter.notifyChanged(talkRecommendBeans);
107
        viewPagerAdapter.notifyChanged(talkRecommendBeans);
107
        pager_video.setCurrentItem(position);
108
        pager_video.setCurrentItem(position);
117
        });
118
        });
118
    }
119
    }
119
120
120
    private void initPlayByPostion(final List<TalkRecommendBean> videoInfos, final int position,
121
    private void initPlayByPostion(final List<ChatRecommendBean> videoInfos, final int position,
121
                                   final boolean isNeedSet) {
122
                                   final boolean isNeedSet) {
122
        videoShowView = viewPagerAdapter.getViewList(position % viewPagerAdapter.getList());
123
        videoShowView = viewPagerAdapter.getViewList(position % viewPagerAdapter.getList());
123
124

+ 3 - 2
app/src/main/java/com/electric/chargingpile/adapter/SvVideoPagerAdapter.java

5
import android.view.View;
5
import android.view.View;
6
import android.view.ViewGroup;
6
import android.view.ViewGroup;
7
7
8
import com.electric.chargingpile.data.ChatRecommendBean;
8
import com.electric.chargingpile.data.TalkRecommendBean;
9
import com.electric.chargingpile.data.TalkRecommendBean;
9
import com.electric.chargingpile.fragment.SvVideoShowView;
10
import com.electric.chargingpile.fragment.SvVideoShowView;
10
11
17
    InitViewListener initViewListener;
18
    InitViewListener initViewListener;
18
    private Activity activity;
19
    private Activity activity;
19
20
20
    private List<TalkRecommendBean> videoInfoList = new ArrayList();
21
    private List<ChatRecommendBean> videoInfoList = new ArrayList();
21
    private List<SvVideoShowView> list = new ArrayList();
22
    private List<SvVideoShowView> list = new ArrayList();
22
    private Map<Integer, SvVideoShowView> vRoot = new HashMap<>(3);
23
    private Map<Integer, SvVideoShowView> vRoot = new HashMap<>(3);
23
24
40
        return videoInfoList.size();
41
        return videoInfoList.size();
41
    }
42
    }
42
43
43
    public void notifyChanged(List<TalkRecommendBean> videoInfos) {
44
    public void notifyChanged(List<ChatRecommendBean> videoInfos) {
44
        if (videoInfos != null) {
45
        if (videoInfos != null) {
45
            videoInfoList.clear();
46
            videoInfoList.clear();
46
            videoInfoList.addAll(videoInfos);
47
            videoInfoList.addAll(videoInfos);

+ 52 - 7
app/src/main/java/com/electric/chargingpile/fragment/ChatRecommendFragment.java

17
import com.electric.chargingpile.R;
17
import com.electric.chargingpile.R;
18
import com.electric.chargingpile.activity.LoginActivity;
18
import com.electric.chargingpile.activity.LoginActivity;
19
import com.electric.chargingpile.activity.PublishItemsActivity;
19
import com.electric.chargingpile.activity.PublishItemsActivity;
20
import com.electric.chargingpile.activity.TopicDetailsActivity;
21
import com.electric.chargingpile.activity.VideoDetaislActivity;
20
import com.electric.chargingpile.adapter.ChatRecommendAdapter;
22
import com.electric.chargingpile.adapter.ChatRecommendAdapter;
21
import com.electric.chargingpile.adapter.ChatRecommendItemDecoration;
23
import com.electric.chargingpile.adapter.ChatRecommendItemDecoration;
22
import com.electric.chargingpile.application.MainApplication;
24
import com.electric.chargingpile.application.MainApplication;
23
import com.electric.chargingpile.data.AuthSignBean;
25
import com.electric.chargingpile.data.AuthSignBean;
24
import com.electric.chargingpile.data.ChatRecommendBean;
26
import com.electric.chargingpile.data.ChatRecommendBean;
27
import com.electric.chargingpile.data.TalkRecommendBean;
25
import com.electric.chargingpile.iview.RecyclerItemTypeClickListener;
28
import com.electric.chargingpile.iview.RecyclerItemTypeClickListener;
26
import com.electric.chargingpile.manager.ProfileManager;
29
import com.electric.chargingpile.manager.ProfileManager;
27
import com.electric.chargingpile.util.Bimp;
30
import com.electric.chargingpile.util.Bimp;
33
import com.zhy.http.okhttp.OkHttpUtils;
36
import com.zhy.http.okhttp.OkHttpUtils;
34
import com.zhy.http.okhttp.callback.StringCallback;
37
import com.zhy.http.okhttp.callback.StringCallback;
35
38
39
import java.io.Serializable;
36
import java.util.ArrayList;
40
import java.util.ArrayList;
37
import java.util.HashMap;
41
import java.util.HashMap;
42
import java.util.List;
38
import java.util.Map;
43
import java.util.Map;
39
44
45
import io.reactivex.Observable;
46
import io.reactivex.android.schedulers.AndroidSchedulers;
47
import io.reactivex.disposables.Disposable;
48
import io.reactivex.functions.Consumer;
49
import io.reactivex.functions.Predicate;
50
import io.reactivex.schedulers.Schedulers;
40
import okhttp3.Call;
51
import okhttp3.Call;
41
52
42
public class ChatRecommendFragment extends Fragment implements View.OnClickListener {
53
public class ChatRecommendFragment extends Fragment implements View.OnClickListener {
110
121
111
        chatRecommendAdapter.setOnRecyclerItemClickListener(new RecyclerItemTypeClickListener() {
122
        chatRecommendAdapter.setOnRecyclerItemClickListener(new RecyclerItemTypeClickListener() {
112
            @Override
123
            @Override
113
            public void onItemClickListener(int position, int type) {
114
                ToastUtil.showToast(getActivity().getApplicationContext(), "position:" + position + ",type:" + type, Toast.LENGTH_SHORT);
115
                final int pos = position - 1;
116
                final ArrayList<ChatRecommendBean> chatRecommendBeans = chatRecommendAdapter.getCurrentData();
117
124
            public void onItemClickListener(final int position, int type) {
118
                if (!NetUtil.CheckNetwork(getActivity())) {
125
                if (!NetUtil.CheckNetwork(getActivity())) {
119
                    Toast.makeText(getActivity(), "请检查网络", Toast.LENGTH_SHORT).show();
126
                    Toast.makeText(getActivity(), "请检查网络", Toast.LENGTH_SHORT).show();
120
                    return;
127
                    return;
121
                }
128
                }
122
129
123
                if (type == 2) {
130
                if (type == 2) {
124
125
                }
131
                }
126
                // TODO
132
                final ArrayList<ChatRecommendBean> beans = chatRecommendAdapter.getCurrentData();
133
                ChatRecommendBean bean = beans.get(position - 1);
134
                if (bean.targetType == ChatRecommendBean.TARGET_TYPE_IMAGE_TOPIC) {
135
                    startActivity(new Intent(getActivity(), TopicDetailsActivity.class).putExtra("topicId", bean.topicId + ""));
136
                } else {
137
                    Disposable disposable = Observable
138
                            .fromIterable(beans)
139
                            .filter(new Predicate<ChatRecommendBean>() {
140
                                @Override
141
                                public boolean test(ChatRecommendBean chatRecommendBean) throws Exception {
142
                                    return chatRecommendBean.targetType != 25;
143
                                }
144
                            }).toList()
145
                            .subscribeOn(Schedulers.io())
146
                            .observeOn(AndroidSchedulers.mainThread())
147
                            .subscribe(new Consumer<List<ChatRecommendBean>>() {
148
                                @Override
149
                                public void accept(List<ChatRecommendBean> list) throws Exception {
150
                                    ChatRecommendBean chatRecommendBean = beans.get(position - 1);
151
152
                                    int index = 0;
153
                                    for (int i = 0; i < list.size(); i++) {
154
                                        ChatRecommendBean tmp = list.get(i);
155
                                        if (tmp.targetType == chatRecommendBean.targetType &&
156
                                                tmp.targetId == chatRecommendBean.targetId) {
157
                                            index = i;
158
                                            break;
159
                                        }
160
                                    }
161
162
                                    Intent intent = new Intent(getActivity(), VideoDetaislActivity.class);
163
                                    intent.putExtra("list", (Serializable) list);
164
                                    intent.putExtra("pos", index);
165
                                    startActivity(intent);
166
167
                                }
168
                            });
169
                }
127
170
171
                // TODO update by huyuguo
128
                Log.d(TAG, "onItemClickListener: position:" + position + ",type:" + type);
172
                Log.d(TAG, "onItemClickListener: position:" + position + ",type:" + type);
173
129
            }
174
            }
130
        });
175
        });
131
    }
176
    }

+ 5 - 4
app/src/main/java/com/electric/chargingpile/fragment/SvVideoShowView.java

26
import com.electric.chargingpile.activity.TopicDetailsActivity;
26
import com.electric.chargingpile.activity.TopicDetailsActivity;
27
import com.electric.chargingpile.application.MainApplication;
27
import com.electric.chargingpile.application.MainApplication;
28
import com.electric.chargingpile.data.ChargingShareBean;
28
import com.electric.chargingpile.data.ChargingShareBean;
29
import com.electric.chargingpile.data.ChatRecommendBean;
29
import com.electric.chargingpile.data.TalkRecommendBean;
30
import com.electric.chargingpile.data.TalkRecommendBean;
30
import com.electric.chargingpile.util.CircleTransform;
31
import com.electric.chargingpile.util.CircleTransform;
31
import com.electric.chargingpile.util.JsonUtils;
32
import com.electric.chargingpile.util.JsonUtils;
63
    private OnDeleteVideoListener listener;
64
    private OnDeleteVideoListener listener;
64
    private View view;
65
    private View view;
65
    private ViewGroup viewGroup;
66
    private ViewGroup viewGroup;
66
    private TalkRecommendBean talkRecommendBean;
67
    private ChatRecommendBean talkRecommendBean;
67
    private UpVideoView2 upVideoView2;
68
    private UpVideoView2 upVideoView2;
68
69
69
70
85
        viewGroup = container;
86
        viewGroup = container;
86
    }
87
    }
87
88
88
    public void setInfo(TalkRecommendBean talkRecommendBean) {
89
    public void setInfo(ChatRecommendBean talkRecommendBean) {
89
        if (viewGroup != null) {
90
        if (viewGroup != null) {
90
            this.talkRecommendBean = talkRecommendBean;
91
            this.talkRecommendBean = talkRecommendBean;
91
            int targetType = talkRecommendBean.targetType;
92
            int targetType = talkRecommendBean.targetType;
136
                        String rtnCode = JsonUtils.getKeyResult(response, "code");
137
                        String rtnCode = JsonUtils.getKeyResult(response, "code");
137
                        if ("1000".equals(rtnCode)) {
138
                        if ("1000".equals(rtnCode)) {
138
                            String rtnMsg = JsonUtils.getKeyResult(response, "data");
139
                            String rtnMsg = JsonUtils.getKeyResult(response, "data");
139
                            List<TalkRecommendBean> qadata = JsonUtils
140
                                    .parseToObjectList(rtnMsg, TalkRecommendBean.class);
140
                            List<ChatRecommendBean> qadata = JsonUtils
141
                                    .parseToObjectList(rtnMsg, ChatRecommendBean.class);
141
                            if (qadata != null && qadata.size() > 0) {
142
                            if (qadata != null && qadata.size() > 0) {
142
                                talkRecommendBean = qadata.get(0);
143
                                talkRecommendBean = qadata.get(0);
143
                            }
144
                            }

+ 3 - 2
app/src/main/java/com/electric/chargingpile/view/VideoCommentDialog.java

25
import com.electric.chargingpile.activity.LoginActivity;
25
import com.electric.chargingpile.activity.LoginActivity;
26
import com.electric.chargingpile.adapter.VideoCommentAdapter;
26
import com.electric.chargingpile.adapter.VideoCommentAdapter;
27
import com.electric.chargingpile.application.MainApplication;
27
import com.electric.chargingpile.application.MainApplication;
28
import com.electric.chargingpile.data.ChatRecommendBean;
28
import com.electric.chargingpile.data.TalkRecommendBean;
29
import com.electric.chargingpile.data.TalkRecommendBean;
29
import com.electric.chargingpile.data.VideoCommentBean;
30
import com.electric.chargingpile.data.VideoCommentBean;
30
import com.electric.chargingpile.manager.ProfileManager;
31
import com.electric.chargingpile.manager.ProfileManager;
47
    private RecyclerView showCommentLv;
48
    private RecyclerView showCommentLv;
48
    private EditText showCommentEd;
49
    private EditText showCommentEd;
49
    private TextView showCommentPublish, show_comment_no;
50
    private TextView showCommentPublish, show_comment_no;
50
    private TalkRecommendBean talkRecommendBean;
51
    private ChatRecommendBean talkRecommendBean;
51
    private LinearLayout show_comment_progress_ll, show_comment_network_ll;
52
    private LinearLayout show_comment_progress_ll, show_comment_network_ll;
52
53
53
    private VideoCommentAdapter videoCommentAdapter;
54
    private VideoCommentAdapter videoCommentAdapter;
54
55
55
56
56
    public VideoCommentDialog(Context context, TalkRecommendBean talkRecommendBean) {
57
    public VideoCommentDialog(Context context, ChatRecommendBean talkRecommendBean) {
57
        super(context, R.style.bottomDialogStyle);
58
        super(context, R.style.bottomDialogStyle);
58
        this.context = context;
59
        this.context = context;
59
        this.talkRecommendBean = talkRecommendBean;
60
        this.talkRecommendBean = talkRecommendBean;

+ 3 - 2
app/src/main/java/com/electric/chargingpile/view/VideoPubilshDialog.java

14
import android.widget.TextView;
14
import android.widget.TextView;
15
15
16
import com.electric.chargingpile.R;
16
import com.electric.chargingpile.R;
17
import com.electric.chargingpile.data.ChatRecommendBean;
17
import com.electric.chargingpile.data.TalkRecommendBean;
18
import com.electric.chargingpile.data.TalkRecommendBean;
18
import com.electric.chargingpile.util.CircleTransform;
19
import com.electric.chargingpile.util.CircleTransform;
19
import com.squareup.picasso.Picasso;
20
import com.squareup.picasso.Picasso;
20
21
21
public class VideoPubilshDialog extends Dialog implements View.OnClickListener {
22
public class VideoPubilshDialog extends Dialog implements View.OnClickListener {
22
    private Context context;
23
    private Context context;
23
    private TalkRecommendBean talkRecommendBean;
24
    private ChatRecommendBean talkRecommendBean;
24
25
25
    public VideoPubilshDialog(Context context, TalkRecommendBean talkRecommendBean) {
26
    public VideoPubilshDialog(Context context, ChatRecommendBean talkRecommendBean) {
26
        super(context, R.style.bottomDialogStyle);
27
        super(context, R.style.bottomDialogStyle);
27
        this.talkRecommendBean = talkRecommendBean;
28
        this.talkRecommendBean = talkRecommendBean;
28
        this.context = context;
29
        this.context = context;