zengjiebin лет назад: 7
Родитель
Сommit
d22038d571

+ 1 - 1
app/src/main/java/com/kfzs/duanduan/fragment/FgtPersonalCenter.java

@@ -240,7 +240,7 @@ public class FgtPersonalCenter extends BaseCompatFragment {
                 }
                 }
                 break;
                 break;
             case R.id.version_layout://版本更新
             case R.id.version_layout://版本更新
-                SysAppUtil.showVersionInfo();
+                SysAppUtil.showVersionInfo(getActivity());
                 break;
                 break;
             case R.id.clear_layout://清除缓存
             case R.id.clear_layout://清除缓存
                 ViewUtil.showMsgDialog(getActivity(), new DialogConfig().setTitle("清除缓存").setMsg("所有本地的缓存都会被清理").setBtnRightText("取消")
                 ViewUtil.showMsgDialog(getActivity(), new DialogConfig().setTitle("清除缓存").setMsg("所有本地的缓存都会被清理").setBtnRightText("取消")

+ 19 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/DialogConfig.java

@@ -2,6 +2,8 @@ package com.sheep.gamegroup.model.entity;
 
 
 import android.view.View;
 import android.view.View;
 
 
+import com.sheep.jiuyan.samllsheep.R;
+
 /**
 /**
  * Created by realicing on 2018/6/6.
  * Created by realicing on 2018/6/6.
  * realicing@sina.com
  * realicing@sina.com
@@ -17,6 +19,7 @@ public class DialogConfig {
     private String tip;
     private String tip;
     private boolean cancelable = true;//默认可以取消对话框,并显示close图标
     private boolean cancelable = true;//默认可以取消对话框,并显示close图标
     private boolean isFinish;
     private boolean isFinish;
+    private boolean btnLeftNotDissDialog;
     private int msgGravity;
     private int msgGravity;
 
 
     public boolean isFinish() {
     public boolean isFinish() {
@@ -117,4 +120,20 @@ public class DialogConfig {
         this.msgGravity = msgGravity;
         this.msgGravity = msgGravity;
         return this;
         return this;
     }
     }
+
+    public boolean isBtnLeftNotDissDialog() {
+        return btnLeftNotDissDialog;
+    }
+    public DialogConfig setBtnLeftNotDissDialog(boolean btnLeftNotDissDialog) {
+        this.btnLeftNotDissDialog = btnLeftNotDissDialog;
+        return this;
+    }
+    private int layoutId = R.layout.x_msg_dialog;
+    public int getLayoutId() {
+        return layoutId;
+    }
+    public DialogConfig setLayoutId(int layoutId) {
+        this.layoutId = layoutId;
+        return this;
+    }
 }
 }

+ 11 - 7
app/src/main/java/com/sheep/gamegroup/util/SysAppUtil.java

@@ -316,7 +316,7 @@ public class SysAppUtil {
         }
         }
     }
     }
 
 
-    public static void showVersionInfo() {
+    public static void showVersionInfo(final Activity activity) {
         SheepApp.getInstance().getNetComponent().getApiService().getNewVersion(TestUtil.isSheep() ? 1 : 0)
         SheepApp.getInstance().getNetComponent().getApiService().getNewVersion(TestUtil.isSheep() ? 1 : 0)
                 .subscribeOn(Schedulers.io())
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
                 .observeOn(AndroidSchedulers.mainThread())
@@ -339,10 +339,11 @@ public class SysAppUtil {
                         if(TextUtils.equals(version.getMd5_address(), fileMD5)){//已经是最新版本
                         if(TextUtils.equals(version.getMd5_address(), fileMD5)){//已经是最新版本
                             G.showToast("当前版本为最新版本,无需更新");
                             G.showToast("当前版本为最新版本,无需更新");
                         } else {//有新版本
                         } else {//有新版本
+                            final String fileName = version.getMd5_address()+".apk";
+                            final File file = new File(ClassFileHelper.DIR, fileName);
                             DialogConfig dialogConfig = new DialogConfig().setTitle("小绵羊V"+version.getVersion_name());
                             DialogConfig dialogConfig = new DialogConfig().setTitle("小绵羊V"+version.getVersion_name());
-                            dialogConfig.setMsg(TextUtils.isEmpty(version.getUpdate_content()) ? "当前版本小绵羊V"+packageInfo.versionName : version.getUpdate_content())
-                                    .setMsgGravity(Gravity.START)
-                                    .setBtnLeftText("立即更新").setBtnLeftOnClickListener(new View.OnClickListener() {
+                            dialogConfig.setMsg(TextUtils.isEmpty(version.getUpdate_content()) ? "当前版本小绵羊V"+packageInfo.versionName : version.getUpdate_content()).setLayoutId(R.layout.x_msg_wv_dialog)
+                                    .setBtnLeftText(file.exists() ? "立即安装" : "立即更新").setBtnLeftNotDissDialog(true).setBtnLeftOnClickListener(new View.OnClickListener() {
                                 private void installApk(File file){
                                 private void installApk(File file){
                                     if(file != null && file.exists()) {
                                     if(file != null && file.exists()) {
                                         ApkUtils.installApk(SheepApp.getInstance(), file.getAbsolutePath());
                                         ApkUtils.installApk(SheepApp.getInstance(), file.getAbsolutePath());
@@ -350,8 +351,6 @@ public class SysAppUtil {
                                 }
                                 }
                                 @Override
                                 @Override
                                 public void onClick(final View view) {
                                 public void onClick(final View view) {
-                                    String fileName = version.getMd5_address()+".apk";
-                                    final File file = new File(fileName);
                                     if(file.exists()){//直接安装
                                     if(file.exists()){//直接安装
                                         installApk(file);
                                         installApk(file);
                                     } else if(TextUtils.isEmpty(version.getAddress())){//地址错误
                                     } else if(TextUtils.isEmpty(version.getAddress())){//地址错误
@@ -377,6 +376,11 @@ public class SysAppUtil {
 
 
                                             @Override
                                             @Override
                                             public void onResponse(File response, int id) {
                                             public void onResponse(File response, int id) {
+                                                if(view instanceof TextView && response != null && response.exists()) {
+                                                    TextView btnLeftTextView = (TextView) view;
+                                                    btnLeftTextView.setEnabled(true);
+                                                    btnLeftTextView.setText("立即安装");
+                                                }
                                                 installApk(file);
                                                 installApk(file);
                                             }
                                             }
                                         });
                                         });
@@ -388,7 +392,7 @@ public class SysAppUtil {
                             } else {
                             } else {
                                 dialogConfig.setBtnRightText("下次更新");
                                 dialogConfig.setBtnRightText("下次更新");
                             }
                             }
-                            ViewUtil.showMsgDialog(SheepApp.getInstance(), dialogConfig);
+                            ViewUtil.showMsgDialog(activity, dialogConfig);
                         }
                         }
                     }
                     }
 
 

+ 10 - 0
app/src/main/java/com/sheep/gamegroup/util/TestUtil.java

@@ -432,4 +432,14 @@ public class TestUtil {
                 })
                 })
                 .open();
                 .open();
     }
     }
+
+    public static String getShareUrl(int taskId) {
+        StringBuilder stringBuilder = new StringBuilder();
+        stringBuilder.append(SpUtils.getTaskDetailsUrl(SheepApp.getInstance()));
+        stringBuilder.append("?authorization=").append(SpUtils.getOpenId(SheepApp.getInstance()));
+        stringBuilder.append("&task_id=").append(taskId);
+        stringBuilder.append("&invitation_code=").append(MyDbManager.getInstance().dbFindValue());
+        LogUtil.println("getShareUrl", stringBuilder.toString());
+        return stringBuilder.toString();
+    }
 }
 }

+ 74 - 51
app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java

@@ -292,7 +292,8 @@ public class ViewUtil {
         return showMsgDialog(context, new DialogConfig().setMsg(msg).setTitle(title).setFinish(isFinish).setBtnLeftText("知道了"));
         return showMsgDialog(context, new DialogConfig().setMsg(msg).setTitle(title).setFinish(isFinish).setBtnLeftText("知道了"));
     }
     }
 
 
-    public static AlertDialog showMsgDialog(final Context context, final DialogConfig dialogConfig) {
+    public static AlertDialog showMsgDialog(Context context, final DialogConfig dialogConfig) {
+        final Context mContext = context == null ? ActivityManager.getInstance().currentActivity() : context;
         String title = dialogConfig.getTitle();
         String title = dialogConfig.getTitle();
         String msg = dialogConfig.getMsg();
         String msg = dialogConfig.getMsg();
         String msgMore = dialogConfig.getMsgMore();
         String msgMore = dialogConfig.getMsgMore();
@@ -301,85 +302,107 @@ public class ViewUtil {
         final View.OnClickListener btnLeftOnClickListener = dialogConfig.getBtnLeftOnClickListener();
         final View.OnClickListener btnLeftOnClickListener = dialogConfig.getBtnLeftOnClickListener();
         String btnRightText = dialogConfig.getBtnRightText();
         String btnRightText = dialogConfig.getBtnRightText();
         final View.OnClickListener btnRightOnClickListener = dialogConfig.getBtnRightOnClickListener();
         final View.OnClickListener btnRightOnClickListener = dialogConfig.getBtnRightOnClickListener();
-        View dialog_parent = View.inflate(context, R.layout.dialog_parent, null);
-        final AlertDialog dialog = new AlertDialog.Builder(context, context instanceof Activity ? R.style.MyDialogActivityTheme : R.style.AppTheme_Dialog_Alert).setView(dialog_parent).create();
+        View dialog_parent = View.inflate(mContext, R.layout.dialog_parent, null);
+        final AlertDialog dialog = new AlertDialog.Builder(mContext, mContext instanceof Activity ? R.style.MyDialogActivityTheme : R.style.AppTheme_Dialog_Alert).setView(dialog_parent).create();
         TextView dialog_title = dialog_parent.findViewById(R.id.dialog_title);
         TextView dialog_title = dialog_parent.findViewById(R.id.dialog_title);
         View dialog_close = dialog_parent.findViewById(R.id.dialog_close);
         View dialog_close = dialog_parent.findViewById(R.id.dialog_close);
         LinearLayout dialog_center_ll = dialog_parent.findViewById(R.id.dialog_center_ll);
         LinearLayout dialog_center_ll = dialog_parent.findViewById(R.id.dialog_center_ll);
-        View view = LayoutInflater.from(context).inflate(R.layout.x_msg_dialog, dialog_center_ll, true);
+        View view = LayoutInflater.from(mContext).inflate(dialogConfig.getLayoutId(), dialog_center_ll, true);
         if (!TextUtils.isEmpty(title))
         if (!TextUtils.isEmpty(title))
             dialog_title.setText(title);
             dialog_title.setText(title);
 
 
         final TextView dialog_msg = view.findViewById(R.id.dialog_msg);
         final TextView dialog_msg = view.findViewById(R.id.dialog_msg);
-        dialog_msg.setText(msg);
-        int msgGravity = dialogConfig.getMsgGravity();
-        if(msgGravity != Gravity.NO_GRAVITY)
-            dialog_msg.setGravity(msgGravity);
+        if(dialog_msg != null) {
+            dialog_msg.setText(msg);
+            int msgGravity = dialogConfig.getMsgGravity();
+            if (msgGravity != Gravity.NO_GRAVITY)
+                dialog_msg.setGravity(msgGravity);
+        }
+
+        final WebView dialog_msg_wv = view.findViewById(R.id.dialog_msg_wv);
+        if(dialog_msg_wv != null) {
+            ViewUtil.loadDataWithBaseURL(dialog_msg_wv, msg);
+        }
 
 
         TextView dialog_msg_more = view.findViewById(R.id.dialog_msg_more);
         TextView dialog_msg_more = view.findViewById(R.id.dialog_msg_more);
-        if(TextUtils.isEmpty(msgMore)){
-            dialog_msg_more.setVisibility(View.GONE);
-        } else {
-            dialog_msg_more.setVisibility(View.VISIBLE);
-            dialog_msg_more.setText(msgMore);
+        if(dialog_msg_more != null) {
+            if (TextUtils.isEmpty(msgMore)) {
+                dialog_msg_more.setVisibility(View.GONE);
+            } else {
+                dialog_msg_more.setVisibility(View.VISIBLE);
+                dialog_msg_more.setText(msgMore);
+            }
         }
         }
 
 
         TextView dialog_tip = view.findViewById(R.id.dialog_tip);
         TextView dialog_tip = view.findViewById(R.id.dialog_tip);
-        if(TextUtils.isEmpty(tip)){
-            dialog_tip.setVisibility(View.GONE);
-        } else {
-            dialog_tip.setVisibility(View.VISIBLE);
-            dialog_tip.setText(tip);
+        if(dialog_tip != null) {
+            if (TextUtils.isEmpty(tip)) {
+                dialog_tip.setVisibility(View.GONE);
+            } else {
+                dialog_tip.setVisibility(View.VISIBLE);
+                dialog_tip.setText(tip);
+            }
         }
         }
 
 
         TextView dialog_btn_left = view.findViewById(R.id.dialog_btn_left);
         TextView dialog_btn_left = view.findViewById(R.id.dialog_btn_left);
         boolean isLeftBtnShow = btnLeftText != null || btnLeftOnClickListener != null;
         boolean isLeftBtnShow = btnLeftText != null || btnLeftOnClickListener != null;
-        dialog_btn_left.setVisibility(isLeftBtnShow ? View.VISIBLE : View.GONE);
-        if (!TextUtils.isEmpty(btnLeftText))
-            dialog_btn_left.setText(btnLeftText);
-        dialog_btn_left.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                if (btnLeftOnClickListener != null) {
-                    btnLeftOnClickListener.onClick(v);
+        if(dialog_btn_left != null) {
+            dialog_btn_left.setVisibility(isLeftBtnShow ? View.VISIBLE : View.GONE);
+            if (!TextUtils.isEmpty(btnLeftText))
+                dialog_btn_left.setText(btnLeftText);
+            dialog_btn_left.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    if (btnLeftOnClickListener != null) {
+                        btnLeftOnClickListener.onClick(v);
+                    }
+                    if (!dialogConfig.isBtnLeftNotDissDialog())
+                        dialog.dismiss();
                 }
                 }
-                dialog.dismiss();
-            }
-        });
+            });
+        }
 
 
         TextView dialog_btn_right = view.findViewById(R.id.dialog_btn_right);
         TextView dialog_btn_right = view.findViewById(R.id.dialog_btn_right);
         boolean isRigthBtnShow = btnRightText != null || btnRightOnClickListener != null;
         boolean isRigthBtnShow = btnRightText != null || btnRightOnClickListener != null;
-        dialog_btn_right.setVisibility(isRigthBtnShow ? View.VISIBLE : View.GONE);
-        if (!TextUtils.isEmpty(btnRightText))
-            dialog_btn_right.setText(btnRightText);
-        dialog_btn_right.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                if (btnRightOnClickListener != null) {
-                    btnRightOnClickListener.onClick(v);
-                }
-                dialog.dismiss();
-            }
-        });
-        View dialog_btn_center = view.findViewById(R.id.dialog_btn_center);
-        dialog_btn_center.setVisibility(isLeftBtnShow && isRigthBtnShow ? View.VISIBLE : View.GONE);
-
-        if(dialogConfig.isCancelable())//
-            dialog_close.setOnClickListener(new View.OnClickListener() {
+        if(dialog_btn_right != null) {
+            dialog_btn_right.setVisibility(isRigthBtnShow ? View.VISIBLE : View.GONE);
+            if (!TextUtils.isEmpty(btnRightText))
+                dialog_btn_right.setText(btnRightText);
+            dialog_btn_right.setOnClickListener(new View.OnClickListener() {
                 @Override
                 @Override
                 public void onClick(View v) {
                 public void onClick(View v) {
+                    if (btnRightOnClickListener != null) {
+                        btnRightOnClickListener.onClick(v);
+                    }
                     dialog.dismiss();
                     dialog.dismiss();
                 }
                 }
             });
             });
-        else
-            dialog_close.setVisibility(View.GONE);
+        }
+
+        View dialog_btn_center = view.findViewById(R.id.dialog_btn_center);
+        if(dialog_btn_center != null) {
+            dialog_btn_center.setVisibility(isLeftBtnShow && isRigthBtnShow ? View.VISIBLE : View.GONE);
+        }
+
+        if(dialog_close != null) {
+            if (dialogConfig.isCancelable())//
+                dialog_close.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        dialog.dismiss();
+                    }
+                });
+            else
+                dialog_close.setVisibility(View.GONE);
+        }
+
         if(dialogConfig.isFinish()) {
         if(dialogConfig.isFinish()) {
             dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
             dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
                 @Override
                 @Override
                 public void onDismiss(DialogInterface dialog) {
                 public void onDismiss(DialogInterface dialog) {
                     try {
                     try {
-                        if (context instanceof Activity) {
-                            ((Activity) context).finish();
+                        if (mContext instanceof Activity) {
+                            ((Activity) mContext).finish();
                         }
                         }
                     } catch (Exception e) {
                     } catch (Exception e) {
                         e.printStackTrace();
                         e.printStackTrace();
@@ -387,7 +410,7 @@ public class ViewUtil {
                 }
                 }
             });
             });
         }
         }
-        if(!(context instanceof Activity) && dialog.getWindow() != null) {
+        if(!(mContext instanceof Activity) && dialog.getWindow() != null) {
             dialog.getWindow().setType(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N ? WindowManager.LayoutParams.TYPE_PHONE : WindowManager.LayoutParams.TYPE_TOAST);
             dialog.getWindow().setType(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N ? WindowManager.LayoutParams.TYPE_PHONE : WindowManager.LayoutParams.TYPE_TOAST);
         }
         }
         if(!dialogConfig.isCancelable())
         if(!dialogConfig.isCancelable())

+ 2 - 6
app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailAct.java

@@ -61,6 +61,7 @@ import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.MyDbManager;
 import com.sheep.gamegroup.util.MyDbManager;
 import com.sheep.gamegroup.util.MyListview;
 import com.sheep.gamegroup.util.MyListview;
 import com.sheep.gamegroup.util.SelfCountDownTimer;
 import com.sheep.gamegroup.util.SelfCountDownTimer;
+import com.sheep.gamegroup.util.TestUtil;
 import com.sheep.gamegroup.util.TimeUtil;
 import com.sheep.gamegroup.util.TimeUtil;
 import com.sheep.gamegroup.util.UMConfigUtils;
 import com.sheep.gamegroup.util.UMConfigUtils;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.util.ViewUtil;
@@ -594,13 +595,8 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                     break;
                     break;
                 case R.id.detail_share_friend_tv:
                 case R.id.detail_share_friend_tv:
                     try{
                     try{
-                        StringBuffer stringBuffer = new StringBuffer();
-                        stringBuffer.append(SpUtils.getTaskDetailsUrl(activity)+"/?");
-                        stringBuffer.append("authorization="+ SpUtils.getOpenId(activity));
-                        stringBuffer.append("&task_id="+taskId);
-                        stringBuffer.append("&invitation_code="+MyDbManager.getInstance().dbFindValue());
                         CommonUtil.getInstance()
                         CommonUtil.getInstance()
-                                .popShare(activity, stringBuffer.toString() +"", "all");
+                                .popShare(activity, TestUtil.getShareUrl(taskId) +"", "all");
                     }catch (Exception e){
                     }catch (Exception e){
                         e.printStackTrace();
                         e.printStackTrace();
                     }
                     }

+ 4 - 5
app/src/main/java/com/sheep/gamegroup/view/adapter/TaskdetailSonListviewAdp.java

@@ -3,18 +3,17 @@ package com.sheep.gamegroup.view.adapter;
 import android.app.Activity;
 import android.app.Activity;
 import android.content.Context;
 import android.content.Context;
 import android.support.annotation.NonNull;
 import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
 import android.support.v7.widget.RecyclerView;
 import android.text.TextUtils;
 import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.ViewGroup;
-import android.widget.*;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
 
 
-import com.azoft.carousellayoutmanager.CarouselLayoutManager;
-import com.azoft.carousellayoutmanager.CarouselZoomPostLayoutListener;
-import com.azoft.carousellayoutmanager.CenterScrollListener;
 import com.bumptech.glide.Glide;
 import com.bumptech.glide.Glide;
 import com.sheep.gamegroup.model.entity.ScreenshotsEntity;
 import com.sheep.gamegroup.model.entity.ScreenshotsEntity;
 import com.sheep.gamegroup.model.entity.TaskChild;
 import com.sheep.gamegroup.model.entity.TaskChild;

+ 15 - 0
app/src/main/res/layout/x_msg_wv_dialog.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<merge xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <WebView
+        android:id="@+id/dialog_msg_wv"
+        android:layout_width="match_parent"
+        android:layout_marginLeft="10dp"
+        android:layout_marginRight="10dp"
+        android:layout_marginTop="@dimen/content_padding_20"
+        android:layout_marginBottom="@dimen/content_padding_20"
+        android:layout_height="wrap_content" />
+    <include layout="@layout/x_msg_dialog_btn"/>
+</merge>