diff --git a/app/src/main/java/com/gh/common/util/PostCommentUtils.java b/app/src/main/java/com/gh/common/util/PostCommentUtils.java index e5557c7b43..df7fe4b763 100644 --- a/app/src/main/java/com/gh/common/util/PostCommentUtils.java +++ b/app/src/main/java/com/gh/common/util/PostCommentUtils.java @@ -7,11 +7,17 @@ import com.android.volley.Response; import com.android.volley.VolleyError; import com.gh.base.AppController; import com.gh.common.constant.Config; +import com.gh.gamecenter.retrofit.RetrofitManager; import com.gh.gamecenter.volley.extended.JsonObjectExtendedRequest; import com.gh.gamecenter.volley.extended.StringExtendedRequest; import org.json.JSONObject; +import okhttp3.MediaType; +import okhttp3.RequestBody; +import okhttp3.ResponseBody; +import retrofit2.adapter.rxjava.HttpException; + /** * Created by khy on 2016/11/9. * @@ -89,6 +95,36 @@ public class PostCommentUtils { }).start(); } + public static void addReportData(Context context, String reportData, PostCommentListener listener) { + addReportData(context, reportData, listener, true); + } + + private static void addReportData(final Context context, final String reportData, + final PostCommentListener listener, boolean isCheck) { + RequestBody body = RequestBody.create(MediaType.parse("application/json"), reportData); + RetrofitManager.getComment().postReportData(body,TokenUtils.getToken(context, isCheck), + new com.gh.gamecenter.retrofit.Response(){ + @Override + public void onNext(ResponseBody response) { + super.onNext(response); + listener.postSucced(null); + } + + @Override + public void onError(Throwable e) { + super.onError(e); + if (e instanceof HttpException) { + if (((HttpException) e).code() == 401) { + addReportData(context, reportData, listener, false); + return; + } + } + Utils.log("addReportData=onError::" + e.toString()); + listener.postFailed(null); + } + }); + } + public interface PostCommentListener { void postSucced(JSONObject response); void postFailed(VolleyError error); diff --git a/app/src/main/java/com/gh/common/util/ShareUtils.java b/app/src/main/java/com/gh/common/util/ShareUtils.java index ea2a162e29..af13ab8db1 100644 --- a/app/src/main/java/com/gh/common/util/ShareUtils.java +++ b/app/src/main/java/com/gh/common/util/ShareUtils.java @@ -371,7 +371,13 @@ public class ShareUtils { Intent sendIntent = new Intent(Intent.ACTION_VIEW, Uri.parse( "smsto:" )); sendIntent.putExtra( "sms_body", smsBody); sendIntent.setType( "vnd.android-dir/mms-sms" ); - context.startActivity(sendIntent); + + try { + context.startActivity(sendIntent); + } catch (Exception e) { + Utils.toast(context, "系统异常,分享失败"); + e.printStackTrace(); + } popupWindow.dismiss(); } diff --git a/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java index b7a07174ad..5b54858b2f 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java @@ -1,5 +1,6 @@ package com.gh.gamecenter.adapter; +import android.app.Dialog; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; @@ -10,7 +11,9 @@ import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.view.Window; import android.widget.LinearLayout; +import android.widget.TextView; import com.android.volley.Request; import com.android.volley.Response; @@ -626,6 +629,97 @@ public class MessageDetailAdapter extends RecyclerView.Adapter> getNewsCommentnum(@Path("ids") String ids); + @POST("report") //提交举报信息 + Observable postReportData(@Body RequestBody reportData, @Header("TOKEN") String token); } diff --git a/app/src/main/java/com/gh/gamecenter/retrofit/CommentServiceImpl.java b/app/src/main/java/com/gh/gamecenter/retrofit/CommentServiceImpl.java index 167c8981eb..0b6a00a394 100644 --- a/app/src/main/java/com/gh/gamecenter/retrofit/CommentServiceImpl.java +++ b/app/src/main/java/com/gh/gamecenter/retrofit/CommentServiceImpl.java @@ -4,6 +4,8 @@ import com.gh.gamecenter.entity.CommentnumEntity; import java.util.List; +import okhttp3.RequestBody; +import okhttp3.ResponseBody; import rx.Observable; import rx.Subscriber; import rx.android.schedulers.AndroidSchedulers; @@ -30,4 +32,8 @@ public class CommentServiceImpl { return commentService.getNewsCommentnum(ids); } + public void postReportData(RequestBody reportData, String token, Response subscriber) { + subscribe(commentService.postReportData(reportData, token), subscriber); + } + }