Selaa lähdekoodia

发现应用详情界面动画

zengjiebin 7 vuotta sitten
vanhempi
commit
92d7c22319

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

@@ -29,17 +29,6 @@ public class DialogConfig {
 
     private Map<String, String> colorMsgMap = new HashMap<>();
 
-    private boolean isShow;
-
-    public boolean isShow() {
-        return isShow;
-    }
-
-    public DialogConfig setShow(boolean show) {
-        isShow = show;
-        return this;
-    }
-
     public boolean isFinish() {
         return isFinish;
     }

+ 16 - 0
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -14,6 +14,7 @@ import android.view.Gravity;
 import android.view.View;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.kfzs.duanduan.ActMain;
 import com.kfzs.duanduan.bean.KFIntentKeys;
 import com.sheep.gamegroup.absBase.BaseActivity;
@@ -100,10 +101,12 @@ import com.sheep.jiuyan.samllsheep.service.MonitorAppService;
 import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 
+import org.afinal.simplecache.ACache;
 import org.xutils.ex.DbException;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Locale;
 
 import me.iwf.photopicker.PhotoPreview;
 import rx.android.schedulers.AndroidSchedulers;
@@ -1382,4 +1385,17 @@ public class Jump2View {
         Intent intent = new Intent(activity, ActReservation.class);
         activity.startActivity(intent);
     }
+
+    public void tryShare(Activity activity, String shareUrlKey, String idName, int id) {
+        try{
+            Object url_config1 = ACache.get(SheepApp.getInstance()).getAsObject("url_config");
+            if(url_config1 instanceof JSONObject) {
+                String find_share_url = ((JSONObject) url_config1).getString(shareUrlKey);
+                String url = String.format(Locale.CHINA, "%s?authorization=%s&%s=%d&invitation_code=%s", find_share_url, SpUtils.getOpenId(activity), idName, id, MyDbManager.getInstance().dbFindValue());
+                CommonUtil.getInstance().popShare(activity, url, "all");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
 }

+ 12 - 6
app/src/main/java/com/sheep/gamegroup/util/SysAppUtil.java

@@ -1,6 +1,7 @@
 package com.sheep.gamegroup.util;
 
 import android.app.Activity;
+import android.app.Dialog;
 import android.app.usage.UsageStats;
 import android.app.usage.UsageStatsManager;
 import android.content.ComponentName;
@@ -64,7 +65,7 @@ import rx.schedulers.Schedulers;
  */
 public class SysAppUtil {
 
-    private static DialogConfig dialogConfig;
+    private static Dialog dialog;
     public static void startAlermApp(Activity activity, String msg, int hour, int min){
         boolean notDone = true;
         if(Build.VERSION.SDK_INT > 18) {
@@ -380,10 +381,14 @@ public class SysAppUtil {
         if(checkBuglyUpdate()){
             return;
         }
-        if(dialogConfig == null)
-            dialogConfig = new DialogConfig();
-        if(dialogConfig.isShow()){
-            return;
+        if(dialog != null){
+            try {
+                if(dialog.isShowing()) {
+                    dialog.dismiss();
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
         }
         SheepApp.getInstance().getNetComponent().getApiService().getNewVersion(SheepApp.getInstance().getConnectAddress().getVersionType())
                 .subscribeOn(Schedulers.io())
@@ -442,6 +447,7 @@ public class SysAppUtil {
                         } else {//有新版本
                             final String fileName = version.getMd5_address()+".apk";
                             final File file = new File(ClassFileHelper.DIR, fileName);
+                            DialogConfig dialogConfig = new DialogConfig();
                             dialogConfig.setTitle("小绵羊V"+version.getVersion_name());
                             dialogConfig.setMsg(TextUtils.isEmpty(version.getUpdate_content()) ? "当前版本小绵羊V"+getConnectAdrressPackageInfo().versionName : version.getUpdate_content()).setLayoutId(R.layout.x_msg_wv_dialog)
                                     .setBtnLeftText(file.exists() ? "立即安装" : "立即更新").setBtnLeftNotDissDialog(true).setBtnLeftOnClickListener(new View.OnClickListener() {
@@ -499,7 +505,7 @@ public class SysAppUtil {
                                     }
                                 });
                             }
-                            ViewUtil.showMsgDialog(activity, dialogConfig);
+                            dialog = ViewUtil.showMsgDialog(activity, dialogConfig);
                         }
                     }
 

+ 0 - 2
app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java

@@ -435,7 +435,6 @@ public class ViewUtil {
                             ((Activity) mContext).finish();
                         }
                     }
-                    dialogConfig.setShow(false);
                 } catch (Exception e) {
                     e.printStackTrace();
                 }
@@ -449,7 +448,6 @@ public class ViewUtil {
             dialog.setCancelable(false);
         try {
             dialog.show();
-            dialogConfig.setShow(true);
         } catch (Exception e) {
             e.printStackTrace();
         }

+ 176 - 126
app/src/main/java/com/sheep/gamegroup/view/activity/ActFindGame.java

@@ -37,8 +37,10 @@ import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.Conversion2;
 import com.sheep.gamegroup.util.GlideImageLoader;
 import com.sheep.gamegroup.util.ImageGlarryDrawable;
+import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.ListUtil;
 import com.sheep.gamegroup.util.LogUtil;
+import com.sheep.gamegroup.util.MyDbManager;
 import com.sheep.gamegroup.util.TimeUtil;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.view.customview.SheepViewPager;
@@ -84,25 +86,17 @@ public class ActFindGame extends BaseActivity {
     }
 
     private int id;
+
     @Override
     public void initView() {
         id = getIntent().getIntExtra("id", 0);
         TitleBarUtils.getInstance()
-                .setTitle(this,"加载中")
+                .setTitle(this, "详情")
                 .setTitleFinish(this)
                 .setRightImgBotton(this, R.mipmap.share, new View.OnClickListener() {
                     @Override
                     public void onClick(View view) {
-                        try{
-                            Object url_config1 = ACache.get(SheepApp.getInstance()).getAsObject("url_config");
-                            if(url_config1 instanceof JSONObject) {
-                                String find_share_url = ((JSONObject) url_config1).getString("find_share_url");
-                                String url = String.format(Locale.CHINA, "%s?authorization=%s&find_id=%d", find_share_url, SpUtils.getOpenId(ActFindGame.this), id);
-                                CommonUtil.getInstance().popShare(ActFindGame.this, url, "all");
-                            }
-                        }catch (Exception e){
-                            e.printStackTrace();
-                        }
+                        Jump2View.getInstance().tryShare(ActFindGame.this, "find_share_url", "find_id", id);
                     }
                 });
 
@@ -118,28 +112,59 @@ public class ActFindGame extends BaseActivity {
         ((AppBarLayout) findViewById(R.id.appbar_act_game_details)).addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() {
             @Override
             public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
-                if (Math.abs(verticalOffset) <
-                        appBarLayout.getTotalScrollRange() - HelperUtils.getDpiToPix(20)) {
-                    if (!mIsExpanded) {
-                        mIsExpanded = true;//修改状态标记为展开
-                        txt_baseactivity_title.setVisibility(View.INVISIBLE);
-                        find_game_bar.setVisibility(View.INVISIBLE);
-                        title_bottom_line.setVisibility(View.INVISIBLE);
-                        img_baseactivity_title.setImageLevel(0);
-                    }
-                } else if (Math.abs(verticalOffset) >= appBarLayout.getTotalScrollRange()) {
+                //图标位置变化
+                int find_game_top = getResources().getDimensionPixelSize(R.dimen.find_game_top);
+                int find_icon_with = getResources().getDimensionPixelSize(R.dimen.find_icon_with);
+                int titleHeight = img_baseactivity_title.getHeight();
+                int titleWidth = img_baseactivity_title.getWidth();
+
+                int willTop = Math.max(0, find_game_top + verticalOffset);
+                int row = (find_icon_with * willTop + titleHeight * (find_game_top - willTop)) / find_game_top;
+                RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) find_game_iv.getLayoutParams();
+                layoutParams.leftMargin = Math.max(titleWidth, (G.WIDTH - find_icon_with) / 2 + verticalOffset);
+                layoutParams.topMargin = willTop;
+                layoutParams.width = row;
+                layoutParams.height = row;
+                find_game_iv.setLayoutParams(layoutParams);
+                //名字位置变化
+                int topRow = (titleHeight - find_game_name_tv.getHeight() - find_game_info_tv.getHeight()) / 4;
+                RelativeLayout.LayoutParams layoutParams2 = (RelativeLayout.LayoutParams) find_game_name_tv.getLayoutParams();
+                layoutParams2.leftMargin = Math.max(titleWidth + find_icon_with, (G.WIDTH - find_game_name_tv.getWidth()) / 2 + verticalOffset);
+                layoutParams2.topMargin = Math.max(topRow, getResources().getDimensionPixelSize(R.dimen.find_game_top2) + verticalOffset);
+                find_game_name_tv.setLayoutParams(layoutParams2);
+                //信息位置变化
+                RelativeLayout.LayoutParams layoutParams3 = (RelativeLayout.LayoutParams) find_game_info_tv.getLayoutParams();
+                layoutParams3.leftMargin = Math.max(titleWidth + find_icon_with, (G.WIDTH - find_game_info_tv.getWidth()) / 2 + verticalOffset);
+                layoutParams3.topMargin = Math.max(find_game_name_tv.getHeight() + 2 * topRow, getResources().getDimensionPixelSize(R.dimen.find_game_top3) + verticalOffset);
+                find_game_info_tv.setLayoutParams(layoutParams3);
+                //下载按钮位置变化
+                RelativeLayout.LayoutParams layoutParams4 = (RelativeLayout.LayoutParams) find_game_down_tv.getLayoutParams();
+                layoutParams4.setMarginEnd(Math.max(ibtn_baseactivity_right.getWidth(), (G.WIDTH - find_game_down_tv.getWidth()) / 2 + verticalOffset));
+                layoutParams4.topMargin = Math.max((titleHeight - find_game_down_tv.getHeight()) / 2, getResources().getDimensionPixelSize(R.dimen.find_game_top4) + verticalOffset);
+                find_game_down_tv.setLayoutParams(layoutParams4);
+                if (willTop == 0) {
+                    LogUtil.println("ActFindGame", "onOffsetChanged", 2, verticalOffset);
                     if (mIsExpanded) {
-                        txt_baseactivity_title.setVisibility(View.VISIBLE);
+//                        txt_baseactivity_title.setVisibility(View.INVISIBLE);
                         find_game_bar.setVisibility(View.VISIBLE);
                         title_bottom_line.setVisibility(View.VISIBLE);
                         img_baseactivity_title.setImageLevel(1);
                         mIsExpanded = false;//修改状态标记为折叠
                     }
+                } else {
+                    if (!mIsExpanded) {
+                        mIsExpanded = true;//修改状态标记为展开
+//                        txt_baseactivity_title.setVisibility(View.VISIBLE);
+                        find_game_bar.setVisibility(View.INVISIBLE);
+                        title_bottom_line.setVisibility(View.INVISIBLE);
+                        img_baseactivity_title.setImageLevel(0);
+                    }
                 }
             }
         });
+        txt_baseactivity_title.setVisibility(View.INVISIBLE);//不显示标题栏
         LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) homepage_item_banner_layout.getLayoutParams();
-        layoutParams.height = G.WIDTH/2;
+        layoutParams.height = G.WIDTH / 2;
         homepage_item_banner_layout.setLayoutParams(layoutParams);
         bindBanner();
         resetData();
@@ -154,6 +179,7 @@ public class ActFindGame extends BaseActivity {
     public void initListener() {
 
     }
+
     @Override
     public void initData() {
         showProgress();
@@ -164,9 +190,9 @@ public class ActFindGame extends BaseActivity {
                 .subscribe(new SheepSubscriber<BaseMessage>(this) {
                     @Override
                     public void onNext(BaseMessage baseMessage) {
-                        LogUtil.println("baseMessage onNext "+ JSON.toJSONString(baseMessage));
+                        LogUtil.println("baseMessage onNext " + JSON.toJSONString(baseMessage));
                         FindApp findApp = baseMessage.getData(FindApp.class);
-                        if(findApp != null){
+                        if (findApp != null) {
                             loadData(findApp);
                             initAppScoreNum();
                             initMyAppScore();
@@ -178,7 +204,7 @@ public class ActFindGame extends BaseActivity {
 
                     @Override
                     public void onError(BaseMessage baseMessage) {
-                        LogUtil.println("baseMessage onNext "+JSON.toJSONString(baseMessage));
+                        LogUtil.println("baseMessage onNext " + JSON.toJSONString(baseMessage));
                         G.showToast(baseMessage);
                         resetData();
                         hideProgress();
@@ -187,7 +213,7 @@ public class ActFindGame extends BaseActivity {
         CommonUtil.getInstance().updateUserInfo(new Action1<UserEntity>() {
             @Override
             public void call(UserEntity userEntity) {
-                if(userEntity != null){
+                if (userEntity != null) {
                     loadUserInfo(userEntity);
                 } else {
                     resetUserInfo();
@@ -198,46 +224,47 @@ public class ActFindGame extends BaseActivity {
 
     private void initAppScoreNum() {
         SheepApp.getInstance().getNetComponent().getApiService().getAppScoreNum(id)
-                        .subscribeOn(Schedulers.io())
-                        .observeOn(AndroidSchedulers.mainThread())
-                        .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
-                            @Override
-                            public void onNext(BaseMessage baseMessage) {
-                                LogUtil.println("baseMessage onNext "+JSON.toJSONString(baseMessage));
-                                List<FindAppScore> findAppScoreList = baseMessage.getDataList(FindAppScore.class);
-                                if(ListUtil.isEmpty(findAppScoreList))
-                                    resetAppScoreNum();
-                                else
-                                    loadAppScoreNum(findAppScoreList);
-                            }
-
-                            @Override
-                            public void onError(BaseMessage baseMessage) {
-                                LogUtil.println("baseMessage onError "+JSON.toJSONString(baseMessage));
-                                G.showToast(baseMessage);
-                            }
-                        });
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        LogUtil.println("baseMessage onNext " + JSON.toJSONString(baseMessage));
+                        List<FindAppScore> findAppScoreList = baseMessage.getDataList(FindAppScore.class);
+                        if (ListUtil.isEmpty(findAppScoreList))
+                            resetAppScoreNum();
+                        else
+                            loadAppScoreNum(findAppScoreList);
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        LogUtil.println("baseMessage onError " + JSON.toJSONString(baseMessage));
+                        G.showToast(baseMessage);
+                    }
+                });
     }
+
     private void initMyAppScore() {
         SheepApp.getInstance().getNetComponent().getApiService().getMyAppScore(id)
-                        .subscribeOn(Schedulers.io())
-                        .observeOn(AndroidSchedulers.mainThread())
-                        .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
-                            @Override
-                            public void onNext(BaseMessage baseMessage) {
-                                LogUtil.println("baseMessage onNext "+JSON.toJSONString(baseMessage));
-                                MyFindAppCore myFindAppCore = baseMessage.getData(MyFindAppCore.class);
-                                if(myFindAppCore == null)
-                                    resetMyAppScore();
-                                else
-                                    loadMyAppScore(myFindAppCore);
-                            }
-
-                            @Override
-                            public void onError(BaseMessage baseMessage) {
-                                LogUtil.println("baseMessage onError "+JSON.toJSONString(baseMessage));
-                            }
-                        });
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        LogUtil.println("baseMessage onNext " + JSON.toJSONString(baseMessage));
+                        MyFindAppCore myFindAppCore = baseMessage.getData(MyFindAppCore.class);
+                        if (myFindAppCore == null)
+                            resetMyAppScore();
+                        else
+                            loadMyAppScore(myFindAppCore);
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        LogUtil.println("baseMessage onError " + JSON.toJSONString(baseMessage));
+                    }
+                });
     }
 
     @BindView(R.id.find_game_iv)
@@ -250,6 +277,8 @@ public class ActFindGame extends BaseActivity {
     ImageView img_baseactivity_title;
     @BindView(R.id.txt_baseactivity_title)
     View txt_baseactivity_title;
+    @BindView(R.id.ibtn_baseactivity_right)
+    ImageView ibtn_baseactivity_right;
     @BindView(R.id.status_height_view)
     View status_height_view;
 
@@ -274,6 +303,7 @@ public class ActFindGame extends BaseActivity {
     };
     @BindView(R.id.homepage_item_banner_layout)
     RelativeLayout homepage_item_banner_layout;
+
     private void bindBanner() {
         homepage_item_banner_layout.setVisibility(View.VISIBLE);
         if (mImageGlarryStr != null) {
@@ -292,6 +322,7 @@ public class ActFindGame extends BaseActivity {
         });
         mImageGlarryStr.init(pictureList, ImageView.ScaleType.CENTER_CROP, conversion2);
     }
+
     //游戏简介与下载
     @BindView(R.id.find_game_name_tv)
     TextView find_game_name_tv;
@@ -303,24 +334,25 @@ public class ActFindGame extends BaseActivity {
     TextView find_game_down_tv;
 
     private FindApp findApp;
+
     private void loadData(final FindApp findApp) {
         this.findApp = findApp;
         //游戏简介与下载
         ViewUtil.setImage(find_game_iv, findApp.getIcon());
         ViewUtil.setText(find_game_name_tv, findApp.getName());
-        final boolean isNeedReservation = !findApp.isCanDonload();//这里认为只有两种状态:可下载与预约下载
-        if(isNeedReservation)
-            ViewUtil.setText(find_game_info_tv, String.format(Locale.CHINA, "开放时间:%s", TimeUtil.TimeStamp2Date(findApp.getDownload_at(), "yyyy-MM-dd\tHH:mm")));
-        else
-            ViewUtil.setText(find_game_info_tv, String.format(Locale.CHINA, "厂商:%s | 版本号:%s\n包体大小:%sM", findApp.getManufacturer(), findApp.getVersions(), findApp.getPackage_size()));
+//        final boolean isNeedReservation = !findApp.isCanDonload();//这里认为只有两种状态:可下载与预约下载
+//        if (isNeedReservation)
+//            ViewUtil.setText(find_game_info_tv, String.format(Locale.CHINA, "开放时间:%s", TimeUtil.TimeStamp2Date(findApp.getDownload_at(), "yyyy-MM-dd\tHH:mm")));
+//        else
+        ViewUtil.setText(find_game_info_tv, String.format(Locale.CHINA, "厂商:%s | 版本号:%s\t包体大小:%sM", findApp.getManufacturer(), findApp.getVersions(), findApp.getPackage_size()));
 
-        find_game_xin.setRating(findApp.getScore()/2);
+        find_game_xin.setRating(findApp.getScore() / 2);
 
-        updateView(this,findApp, find_game_down_tv);
+        updateView(this, findApp, find_game_down_tv);
 
         //游戏图片banner
         String pictures = findApp.getPictures();
-        if(!TextUtils.isEmpty(pictures) && pictures.contains(";")){
+        if (!TextUtils.isEmpty(pictures) && pictures.contains(";")) {
             pictureList.clear();
             ListUtil.addAll(pictureList, pictures.split(";"));
             bindBanner();
@@ -328,7 +360,7 @@ public class ActFindGame extends BaseActivity {
             homepage_item_banner_layout.setVisibility(View.GONE);
         }
         //应用评分情况
-        find_game_xin2.setRating(findApp.getScore()/2);
+        find_game_xin2.setRating(findApp.getScore() / 2);
         ViewUtil.setText(find_game_score, String.format(Locale.CHINA, "%.1f分", findApp.getScore()));
         int max = Math.max(1, findApp.getScore_count());
         find_game_progress_1.setMax(max);
@@ -370,7 +402,7 @@ public class ActFindGame extends BaseActivity {
 
     private void loadAppScoreNum(List<FindAppScore> findAppScoreList) {
         for (FindAppScore findAppScore : findAppScoreList) {
-            switch (findAppScore.getStar()){
+            switch (findAppScore.getStar()) {
                 case 1:
                     find_game_progress_1.setProgress(findAppScore.getNum());
                     break;
@@ -389,6 +421,7 @@ public class ActFindGame extends BaseActivity {
             }
         }
     }
+
     private void resetAppScoreNum() {
     }
 
@@ -408,44 +441,46 @@ public class ActFindGame extends BaseActivity {
         find_game_user_commit_tv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
-                commitMyAppScore((int) (find_game_user_xin.getRating()*2));
+                commitMyAppScore((int) (find_game_user_xin.getRating() * 2));
             }
         });
     }
+
     private void loadMyAppScore(MyFindAppCore myFindAppCore) {
-        find_game_user_xin.setRating(myFindAppCore.getScore()/2);
+        find_game_user_xin.setRating(myFindAppCore.getScore() / 2);
         find_game_user_commit_tv.setText("重新评分");
     }
+
     /**
+     * "application_id": 0,
+     * "score": 0,
      *
-     "application_id": 0,
-     "score": 0,
      * @param score 要提交的分数
      */
     private void commitMyAppScore(int score) {
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("application_id", id);
-        jsonObject.put("score",score );
+        jsonObject.put("score", score);
         SheepApp.getInstance().getNetComponent().getApiService().commitAppScore(jsonObject)
-                        .subscribeOn(Schedulers.io())
-                        .observeOn(AndroidSchedulers.mainThread())
-                        .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
-                            @Override
-                            public void onNext(BaseMessage baseMessage) {
-                                LogUtil.println("baseMessage onNext "+JSON.toJSONString(baseMessage));
-                                find_game_user_commit_tv.setText("重新评分");
-                                G.showToast(baseMessage);
-                                //更新评分与我的评分
-                                initAppScoreNum();
-                                initMyAppScore();
-                            }
-
-                            @Override
-                            public void onError(BaseMessage baseMessage) {
-                                LogUtil.println("baseMessage onError "+JSON.toJSONString(baseMessage));
-                                G.showToast(baseMessage);
-                            }
-                        });
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        LogUtil.println("baseMessage onNext " + JSON.toJSONString(baseMessage));
+                        find_game_user_commit_tv.setText("重新评分");
+                        G.showToast(baseMessage);
+                        //更新评分与我的评分
+                        initAppScoreNum();
+                        initMyAppScore();
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        LogUtil.println("baseMessage onError " + JSON.toJSONString(baseMessage));
+                        G.showToast(baseMessage);
+                    }
+                });
     }
 
     private void resetUserInfo() {
@@ -455,6 +490,7 @@ public class ActFindGame extends BaseActivity {
     private void resetMyAppScore() {
         find_game_user_xin.setRating(0.0f);
     }
+
     //游戏介绍
     @BindView(R.id.find_game_info_wv)
     WebView find_game_info_wv;
@@ -465,19 +501,21 @@ public class ActFindGame extends BaseActivity {
 
 
     private Map<String, TextView> downLoadTextViewMap = new HashMap<>();
+
     //获取任务对应的TextView来更新进度
     private TextView getTextViewByTask(DownloadTask task) {
         return getTextViewByKey(task.getKey());
     }
+
     private TextView getTextViewByKey(String key) {
-        if(downLoadTextViewMap.containsKey(key))
+        if (downLoadTextViewMap.containsKey(key))
             return downLoadTextViewMap.get(key);
         return null;
     }
 
     //更新按钮状态与添加点击事件
     private void updateView(Activity activity, FindApp findApp, TextView textView) {
-        if(findApp.isCanDonload()){//可下载
+        if (findApp.isCanDonload()) {//可下载
             downLoadTextViewMap.put(findApp.getDownload_link(), textView);
             downLoadTextViewMap.put(findApp.getPackage_name(), textView);
             findApp.getFindAppHelper().updateDownloadTaskView(activity, findApp, textView);
@@ -487,80 +525,91 @@ public class ActFindGame extends BaseActivity {
     }
     //下载状态监听
 
-    @Download.onPre void onPre(DownloadTask task) {
+    @Download.onPre
+    void onPre(DownloadTask task) {
         TextView textView = getTextViewByTask(task);
-        if(textView != null) {
+        if (textView != null) {
             textView.setText("准备下载中");
         }
     }
 
-    @Download.onTaskStart void taskStart(DownloadTask task) {
+    @Download.onTaskStart
+    void taskStart(DownloadTask task) {
         TextView textView = getTextViewByTask(task);
-        if(textView != null) {
+        if (textView != null) {
             textView.setText("开始下载中");
         }
     }
-    @Download.onTaskResume void taskResume(DownloadTask task) {
+
+    @Download.onTaskResume
+    void taskResume(DownloadTask task) {
         TextView textView = getTextViewByTask(task);
-        if(textView != null) {
+        if (textView != null) {
             textView.setText("恢复下载中");
         }
     }
+
     //在这里处理任务执行中的状态,如进度进度条的刷新
-    @Download.onTaskRunning protected void running(DownloadTask task) {
+    @Download.onTaskRunning
+    protected void running(DownloadTask task) {
         TextView textView = getTextViewByTask(task);
-        if(textView != null) {
+        if (textView != null) {
             textView.setText(String.format(Locale.CHINA, "%d%%", Math.abs(task.getPercent())));
         }
     }
 
-    @Download.onTaskStop void taskStop(DownloadTask task) {
+    @Download.onTaskStop
+    void taskStop(DownloadTask task) {
         TextView textView = getTextViewByTask(task);
-        if(textView != null) {
+        if (textView != null) {
             textView.setText(CommonUtil.CONTINUE_DOWNLOAD);
         }
     }
 
-    @Download.onNoSupportBreakPoint void onNoSupportBreakPoint(DownloadTask task) {
+    @Download.onNoSupportBreakPoint
+    void onNoSupportBreakPoint(DownloadTask task) {
     }
 
-    @Download.onTaskCancel void taskCancel(DownloadTask task) {
+    @Download.onTaskCancel
+    void taskCancel(DownloadTask task) {
         TextView textView = getTextViewByTask(task);
-        if(textView != null) {
+        if (textView != null) {
             textView.setText("已经取消");
         }
     }
 
-    @Download.onTaskFail void taskFail(DownloadTask task) {
+    @Download.onTaskFail
+    void taskFail(DownloadTask task) {
         TextView textView = getTextViewByTask(task);
-        if(textView != null) {
+        if (textView != null) {
             textView.setText(CommonUtil.FAIL_DOWNLOAD);
         }
     }
 
-    @Download.onTaskComplete void taskComplete(DownloadTask task) {
+    @Download.onTaskComplete
+    void taskComplete(DownloadTask task) {
         TextView textView = getTextViewByTask(task);
-        if(textView != null) {
+        if (textView != null) {
             textView.setText(CommonUtil.START_INSTALL);
         }
-        if(findApp != null && TextUtils.equals(task.getKey(), findApp.getDownload_link()))
+        if (findApp != null && TextUtils.equals(task.getKey(), findApp.getDownload_link()))
             findApp.updateState(DownloadTaskService.STATUS_FINISH);
     }
 
     @Subscribe
     public void onEventMainThread(Intent intent) {
-        if(intent != null && intent.getAction() != null && intent.getDataString() != null && intent.getDataString().contains("package:")){
-            String packageName = intent.getDataString().replace("package:","");
+        if (intent != null && intent.getAction() != null && intent.getDataString() != null && intent.getDataString().contains("package:")) {
+            String packageName = intent.getDataString().replace("package:", "");
 
             TextView textView = getTextViewByKey(packageName);
-            if(textView != null) {
-                switch (intent.getAction()){
+            if (textView != null) {
+                switch (intent.getAction()) {
                     case ACTION_PACKAGE_ADDED:
                         textView.setText(CommonUtil.GAME_OPEN);
                         break;
                     case ACTION_PACKAGE_REMOVED:
                         String path = PackageUtil.isExistsFile(packageName);
-                        if(TextUtils.isEmpty(path)) {
+                        if (TextUtils.isEmpty(path)) {
                             textView.setText(CommonUtil.START_DOWNLOAD);
                         } else {
                             textView.setText(CommonUtil.START_INSTALL);
@@ -569,14 +618,14 @@ public class ActFindGame extends BaseActivity {
                 }
             }
 
-            if(findApp != null && TextUtils.equals(packageName, findApp.getPackage_names())){
-                switch (intent.getAction()){
+            if (findApp != null && TextUtils.equals(packageName, findApp.getPackage_names())) {
+                switch (intent.getAction()) {
                     case ACTION_PACKAGE_ADDED:
                         findApp.updateState(DownloadTaskService.STATUS_INSTALLED);
                         break;
                     case ACTION_PACKAGE_REMOVED:
                         String path = PackageUtil.isExistsFile(packageName);
-                        if(TextUtils.isEmpty(path)) {
+                        if (TextUtils.isEmpty(path)) {
                             findApp.updateState(DownloadTaskService.STATUS_INIT);
                         } else {
                             findApp.updateState(DownloadTaskService.STATUS_FINISH);
@@ -586,6 +635,7 @@ public class ActFindGame extends BaseActivity {
             }
         }
     }
+
     @Override
     protected void onDestroy() {
         super.onDestroy();

+ 1 - 10
app/src/main/java/com/sheep/gamegroup/view/activity/ActFindInformation.java

@@ -93,16 +93,7 @@ public class ActFindInformation extends BaseActivity implements Action1<Integer>
                 .setRightImgBotton(this, R.mipmap.share, new View.OnClickListener() {
                     @Override
                     public void onClick(View view) {
-                        try{
-                            Object url_config1 = ACache.get(SheepApp.getInstance()).getAsObject("url_config");
-                            if(url_config1 instanceof JSONObject) {
-                                String find_share_url = ((JSONObject) url_config1).getString("find_share_url");
-                                String url = String.format(Locale.CHINA, "%s?authorization=%s&find_id=%d", find_share_url, SpUtils.getOpenId(ActFindInformation.this), id);
-                                CommonUtil.getInstance().popShare(ActFindInformation.this, url, "all");
-                            }
-                        }catch (Exception e){
-                            e.printStackTrace();
-                        }
+                        Jump2View.getInstance().tryShare(ActFindInformation.this,"find_share_url", "find_id", id);
                     }
                 });
 

+ 1 - 10
app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailAct.java

@@ -588,16 +588,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                     }
                     break;
                 case R.id.detail_share_friend_tv:
-                    try{
-                       Object url_config = ACache.get(activity).getAsObject("url_config");
-                        if(url_config instanceof JSONObject) {
-                            String url = String.format(Locale.CHINA, "%s?authorization==%s&task_id=%d&invitation_code=%s",
-                                    ((JSONObject) url_config).getString("task_desc_url"),SpUtils.getOpenId(activity),taskId,MyDbManager.getInstance().dbFindValue());
-                            CommonUtil.getInstance().popShare(activity, url, "all");
-                        }
-                    }catch (Exception e){
-                        e.printStackTrace();
-                    }
+                    Jump2View.getInstance().tryShare(activity,"task_desc_url", "task_id", taskId);
                     break;
             }
         } catch (Exception e) {

+ 46 - 8
app/src/main/res/layout/act_find_game.xml

@@ -39,23 +39,21 @@
                     android:visibility="invisible" />
 
                 <ImageView
-                    android:id="@+id/find_game_iv"
                     android:layout_width="70dp"
                     android:layout_height="70dp"
                     android:layout_marginTop="@dimen/content_padding"
-                    android:src="@drawable/loading_01" />
+                    android:visibility="invisible" />
 
                 <TextView
-                    android:id="@+id/find_game_name_tv"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginTop="5dp"
                     android:text="@string/app_name"
                     android:textColor="@color/title"
-                    android:textSize="16sp" />
+                    android:textSize="16sp"
+                    android:visibility="invisible" />
 
                 <TextView
-                    android:id="@+id/find_game_info_tv"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginTop="5dp"
@@ -63,7 +61,8 @@
                     android:lineSpacingExtra="5dp"
                     android:text="厂商:网易 | 版本号:7.9"
                     android:textColor="@color/black_666666"
-                    android:textSize="15sp" />
+                    android:textSize="15sp"
+                    android:visibility="invisible" />
 
                 <android.support.v7.widget.AppCompatRatingBar
                     android:id="@+id/find_game_xin"
@@ -76,11 +75,11 @@
                     android:stepSize="0.5" />
 
                 <TextView
-                    android:id="@+id/find_game_down_tv"
                     style="@style/style_button_wrap"
                     android:layout_marginTop="8dp"
                     android:layout_width="@dimen/find_bt_with"
-                    android:text="下载" />
+                    android:text="下载"
+                    android:visibility="invisible"/>
             </LinearLayout>
 
         </android.support.design.widget.AppBarLayout>
@@ -458,4 +457,43 @@
             android:gravity="center"
             android:minWidth="?attr/actionBarSize"/>
     </RelativeLayout>
+
+    <ImageView
+        android:id="@+id/find_game_iv"
+        android:layout_width="@dimen/find_icon_with"
+        android:layout_height="@dimen/find_icon_with"
+        android:layout_marginTop="@dimen/find_game_top"
+        android:src="@drawable/loading_01"
+        android:layout_below="@+id/status_height_view" />
+
+    <TextView
+        android:id="@+id/find_game_name_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/find_game_top2"
+        android:layout_below="@+id/status_height_view"
+        android:text="@string/app_name"
+        android:textColor="@color/title"
+        android:textSize="16sp" />
+
+    <TextView
+        android:id="@+id/find_game_info_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/find_game_top3"
+        android:layout_below="@+id/status_height_view"
+        android:gravity="center"
+        android:lineSpacingExtra="5dp"
+        android:text="厂商:网易 | 版本号:7.9"
+        android:textColor="@color/black_666666"
+        android:textSize="12sp" />
+
+    <TextView
+        android:id="@+id/find_game_down_tv"
+        style="@style/style_button_wrap"
+        android:layout_marginTop="@dimen/find_game_top4"
+        android:layout_below="@+id/status_height_view"
+        android:layout_width="@dimen/find_bt_with"
+        android:layout_alignParentEnd="true"
+        android:text="下载" />
 </RelativeLayout>

+ 5 - 0
app/src/main/res/values/common.xml

@@ -89,4 +89,9 @@
     <dimen name="orienteering_list_empty_gao">240dp</dimen>
 
     <dimen name="find_bt_with">100dp</dimen>
+    <dimen name="find_icon_with">70dp</dimen>
+    <dimen name="find_game_top">68dp</dimen>
+    <dimen name="find_game_top2">144dp</dimen>
+    <dimen name="find_game_top3">170dp</dimen>
+    <dimen name="find_game_top4">220dp</dimen>
 </resources>