Parcourir la source

福利礼包领取 bug 修改

liujiangyao il y a 7 ans
Parent
commit
2c5cfa08bb

+ 1 - 0
app/src/main/AndroidManifest.xml

@@ -596,6 +596,7 @@
         <activity android:name="com.sheep.gamegroup.view.activity.ActEverydayPlayGame"
             android:exported="true"/>
         <activity android:name="com.sheep.gamegroup.view.activity.ActPlayGameDetail"
+            android:screenOrientation="portrait"
             android:exported="true"/>
         <activity android:name="com.sheep.gamegroup.view.activity.MessageCenterDetailActivity"
             android:exported="true"/>

+ 4 - 1
app/src/main/java/com/kfzs/duanduan/ActMain.java

@@ -45,6 +45,8 @@ public class ActMain extends BaseActivity implements TabsHelper.ItemPosition {
 
     @BindView(R.id.other_container)
     LinearLayout other_container;
+    @BindView(R.id.main_layout)
+    RelativeLayout main_layout;
 
     public final static String INTENT_GAME_ID = "INTEN_GAME_ID";
 
@@ -110,7 +112,7 @@ public class ActMain extends BaseActivity implements TabsHelper.ItemPosition {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
             getWindow().setStatusBarColor(Color.TRANSPARENT);
             getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION	 | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
-
+            main_layout.setPadding(0, 0, 0, G.getHasVirtualKey(KFZSApp.actMain) -G.getNoHasVirtualKey(KFZSApp.actMain) );
 
         }
     }
@@ -121,6 +123,7 @@ public class ActMain extends BaseActivity implements TabsHelper.ItemPosition {
     private void setStatusVI() {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
             getWindow().setStatusBarColor(Color.parseColor("#29d6fd"));
+            main_layout.setPadding(0, 0, 0, G.getHasVirtualKey(KFZSApp.actMain) -G.getNoHasVirtualKey(KFZSApp.actMain) );
            // getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
         }
     }

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/helper/FindAppHelper.java

@@ -60,7 +60,7 @@ public class FindAppHelper{
                     }
                 }
             }
-        });
+        },type);
     }
 
     /**

+ 3 - 31
app/src/main/java/com/sheep/gamegroup/util/CommonUtil.java

@@ -1187,7 +1187,7 @@ public class CommonUtil {
                 .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
                     @Override
                     public void onNext(BaseMessage baseMessage) {
-                        if (baseMessage.getCode() == 200) {
+                        try {
                             String acceptId = baseMessage.getData(String.class);
                             try {
                                 if(!TextUtils.isEmpty(acceptId))
@@ -1196,8 +1196,8 @@ public class CommonUtil {
                                 e.printStackTrace();
                             }
                             receiveAwards(context, gameEntity, action1);
-                        } else {
-                            G.showToast(baseMessage);
+                        } catch (Exception e) {
+                            e.printStackTrace();
                         }
                     }
 
@@ -2149,34 +2149,6 @@ public class CommonUtil {
                 }
             } else {
                 releaseEty.getDownloadHelper().updateDownloadTaskView((Activity) context, taskEty, detail_task_tv_center, null, type);
-                if (releaseEty.getDownloadHelper().getDownLoadType() == DownloadTaskService.STATUS_INSTALLED) {//已经安装的话
-                    detail_task_tv_center.setText("领取奖励");
-                    detail_task_tv_center.setEnabled(true);
-                    if(type == 0){
-
-                        detail_task_tv_center.setOnClickListener(new View.OnClickListener() {
-                            @Override
-                            public void onClick(View view) {
-                                if (taskEty.isGameReservationCantDownload()) {
-                                    CommonUtil.getInstance().reservationGameTask(context, releaseEty, new Action1<Integer>() {
-                                        @Override
-                                        public void call(Integer integer) {
-//                                        if(action1 != null)
-//                                            action1.call(TO_REFRESH);
-                                        }
-                                    });
-                                } else {
-                                    CommonUtil.getInstance().receiveAward(context, gameEntity, new Action1<Integer>() {
-                                        @Override
-                                        public void call(Integer integer) {
-
-                                        }
-                                    });
-                                }
-                            }
-                        });
-                    }
-                }
             }
         }else if (gameEntity.getApp().isCanDonload()) {//可下载
             gameEntity.getApp().getFindAppHelper().updateDownloadTaskView((Activity) context, gameEntity.getApp(), detail_task_tv_center, type);

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

@@ -629,6 +629,9 @@ public class ViewUtil {
      * @param item
      */
     public static void shareGetWelfareDialog(final Activity activity, final GiftBagApp item) {
+        shareGetWelfareDialog(activity, item,null);
+    }
+    public static void shareGetWelfareDialog(final Activity activity, final GiftBagApp item, final String packageName) {
         View dialog_parent = View.inflate(activity, R.layout.dialog_parent, null);
         final AlertDialog dialog = new AlertDialog.Builder(activity, R.style.MyDialogActivityTheme)
                 .setView(dialog_parent)
@@ -663,9 +666,9 @@ public class ViewUtil {
             @Override
             public void onClick(View v) {
                 dialog.dismiss();
-                GIFT_BAG_DIALOG_START_APP.onEvent("gift_bag_id", item.getGift_bag().getId(), "package_name", item.getApp().getPackage_names());
+                GIFT_BAG_DIALOG_START_APP.onEvent("gift_bag_id", item.getGift_bag().getId(), "package_name", TextUtils.isEmpty(packageName)?item.getApp().getPackage_names():packageName);
                 //启动游戏
-                PackageUtil.startApp(activity, item.getApp().getPackage_names());
+                PackageUtil.startApp(activity, TextUtils.isEmpty(packageName)?item.getApp().getPackage_names():packageName);
             }
         });
         dialog_btn_left.setOnClickListener(new View.OnClickListener() {

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

@@ -298,7 +298,7 @@ public class ActPlayGameDetail extends BaseActivity implements Action1<Integer>
     //更新按钮状态与添加点击事件
     private void updateView(final Activity activity, PlayGameEntity playGameEntity, TextView textView) {
 
-        CommonUtil.getInstance().palyGameDetailBtnValue(activity,gameEntity,textView, 1);
+        CommonUtil.getInstance().palyGameDetailBtnValue(activity,gameEntity,textView, 0);
     }
 
 

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/adapter/PlayGameItemAdapter.java

@@ -59,7 +59,7 @@ public class PlayGameItemAdapter extends AdbCommonRecycler<GameEntity>{
         ViewUtil.setText(item_name_tv, gameEntity.getApp().getName());
         ViewUtil.setText(item_date_tv, gameEntity.getApp().getPackage_size()+"M");
         GlideImageLoader.setGameImage((ImageView) holder.itemView.findViewById(R.id.item_icon_iv), gameEntity.getApp().getIcon());
-        CommonUtil.getInstance().palyGameDetailBtnValue(context,gameEntity,detail_task_tv_center, 0);
+        CommonUtil.getInstance().palyGameDetailBtnValue(context,gameEntity,detail_task_tv_center, 1);
 
         item_download_welfare_line.setVisibility(holder.getAdapterPosition() + 1 == getItemCount() ? View.GONE : View.VISIBLE);
 

+ 22 - 22
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtPlaGameGift.java

@@ -104,18 +104,18 @@ public class FgtPlaGameGift extends BaseFragment {
                     btn_tv.setOnClickListener(new View.OnClickListener() {
                         @Override
                         public void onClick(View v) {
-                            if(!CommonUtil.getInstance().isInstallApp(gameEntity.getApp().getPackage_name(), gameEntity.getApp().getName())){
-                                return;
+                            if(CommonUtil.getInstance().isInstallApp(gameEntity.getApp().getPackage_name(), gameEntity.getApp().getName())){
+                                CommonUtil.getInstance().receiveGiftById(activity, giftBagApp, new Action1<Integer>() {
+                                    @Override
+                                    public void call(Integer integer) {
+                                        giftBagApp.setReceived(true);
+                                        btn_tv.setText("已领取");
+                                        btn_tv.setEnabled(false);
+                                        notifyDataSetChanged();
+                                    }
+                                });
                             }
-                            CommonUtil.getInstance().receiveGiftById(activity, giftBagApp, new Action1<Integer>() {
-                                @Override
-                                public void call(Integer integer) {
-                                    giftBagApp.setReceived(true);
-                                    btn_tv.setText("已领取");
-                                    btn_tv.setEnabled(false);
-                                    notifyDataSetChanged();
-                                }
-                            });
+
                         }
                     });
                 }else {
@@ -144,18 +144,18 @@ public class FgtPlaGameGift extends BaseFragment {
                     btn_tv.setOnClickListener(new View.OnClickListener() {
                         @Override
                         public void onClick(View v) {
-                            CommonUtil.getInstance().receiveAward(activity, gameEntity, new Action1<Integer>() {
-                                @Override
-                                public void call(Integer integer) {
-                                    if(!CommonUtil.getInstance().isInstallApp(giftBagApp.getTask().getPackage_names(), giftBagApp.getTask().getName())){
-                                        return;
+                            if(CommonUtil.getInstance().isInstallApp(giftBagApp.getTask().getPackage_names(), giftBagApp.getName())){
+                                CommonUtil.getInstance().receiveAward(activity, gameEntity, new Action1<Integer>() {
+                                    @Override
+                                    public void call(Integer integer) {
+                                        gameEntity.setReceived_voucher(true);
+                                        btn_tv.setText("已领取");
+                                        btn_tv.setEnabled(false);
+                                        notifyDataSetChanged();
                                     }
-                                    gameEntity.setReceived_voucher(true);
-                                    btn_tv.setText("已领取");
-                                    btn_tv.setEnabled(false);
-                                    notifyDataSetChanged();
-                                }
-                            });
+                                });
+
+                            }
                         }
                     });
                 }else {

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtPlayGameDetail.java

@@ -118,7 +118,7 @@ public class FgtPlayGameDetail extends BaseFragment {
         int progress;
         if(gameEntity.getRelease_task() != null && Integer.valueOf(gameEntity.getRelease_task().getRelease_num()) != 0){
             progress_title_layout.setVisibility(View.VISIBLE);
-            progress = Integer.valueOf(gameEntity.getRelease_task().getLast_num()) / Integer.valueOf(gameEntity.getRelease_task().getRelease_num()) * 100;
+            progress = Integer.valueOf(gameEntity.getRelease_task().getLast_num())* 100 / Integer.valueOf(gameEntity.getRelease_task().getRelease_num()) ;
             //福利剩余数量
             progressBarHorizontal.incrementProgressBy(progress);
             last_num_tv.setText(gameEntity.getRelease_task().getLastNumText());

+ 46 - 0
app/src/main/java/com/sheep/jiuyan/samllsheep/utils/G.java

@@ -1,7 +1,10 @@
 package com.sheep.jiuyan.samllsheep.utils;
 
+import android.app.Activity;
 import android.content.Context;
 import android.text.TextUtils;
+import android.util.DisplayMetrics;
+import android.view.Display;
 import android.view.Gravity;
 import android.view.ViewGroup;
 import android.widget.TextView;
@@ -12,6 +15,8 @@ import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 
+import java.lang.reflect.Method;
+
 
 /**
  * Created by Dlg on 2015/6/17.
@@ -81,4 +86,45 @@ public class G {
             G.showToast(baseMessage.getMsg() + (BuildConfig.DEBUG ? "[" + baseMessage.getCode() + "]" : ""));
         }
     }
+    /**
+     * 获取底部虚拟键盘的高度
+     */
+    public static int getBottomKeyboardHeight(Activity activity){
+        int screenHeight =  G.HEIGHT;
+        DisplayMetrics dm = new DisplayMetrics();
+        activity.getWindowManager().getDefaultDisplay().getMetrics(dm);
+        int heightDifference = screenHeight - dm.heightPixels;
+        return heightDifference;
+    }
+    /**
+     * 通过反射,获取包含虚拟键的整体屏幕高度
+     *
+     * @return
+     */
+    public static int getHasVirtualKey(Activity activity) {
+        int dpi = 0;
+        Display display = activity.getWindowManager().getDefaultDisplay();
+        DisplayMetrics dm = new DisplayMetrics();
+        @SuppressWarnings("rawtypes")
+        Class c;
+        try {
+            c = Class.forName("android.view.Display");
+            @SuppressWarnings("unchecked")
+            Method method = c.getMethod("getRealMetrics", DisplayMetrics.class);
+            method.invoke(display, dm);
+            dpi = dm.heightPixels;
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return dpi;
+    }
+    /**
+     * 获取屏幕尺寸,但是不包括虚拟功能高度
+     *
+     * @return
+     */
+    public static int getNoHasVirtualKey(Activity activity) {
+        int height = activity.getWindowManager().getDefaultDisplay().getHeight();
+        return height;
+    }
 }

+ 1 - 0
app/src/main/res/layout/activity_main.xml

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/main_layout"
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 

+ 5 - 5
app/src/main/res/layout/fgt_game_detail.xml

@@ -105,7 +105,7 @@
                     android:ellipsize="middle"
                     android:gravity="center"
                     android:maxEms="4"
-                    android:maxLines="1"
+                    android:singleLine="true"
                     android:text="游戏名"
                     android:textColor="@color/tv_gray"
                     android:textSize="@dimen/app_size_tv_tiny" />
@@ -145,7 +145,7 @@
                     android:ellipsize="middle"
                     android:gravity="center"
                     android:maxEms="4"
-                    android:maxLines="1"
+                    android:singleLine="true"
                     android:text="游戏名"
                     android:textColor="@color/tv_gray"
                     android:textSize="@dimen/app_size_tv_tiny" />
@@ -184,7 +184,7 @@
                     android:ellipsize="middle"
                     android:gravity="center"
                     android:maxEms="4"
-                    android:maxLines="1"
+                    android:singleLine="true"
                     android:text="游戏名"
                     android:textColor="@color/tv_gray"
                     android:textSize="@dimen/app_size_tv_tiny" />
@@ -196,7 +196,7 @@
                     android:layout_height="28dip"
                     android:layout_marginTop="6dp"
                     android:ellipsize="marquee"
-                    android:maxLines="1"
+                    android:singleLine="true"
                     android:text="@string/install"
                     android:textSize="@dimen/app_size_tv_small" />
             </LinearLayout>
@@ -223,7 +223,7 @@
                     android:ellipsize="middle"
                     android:gravity="center"
                     android:maxEms="4"
-                    android:maxLines="1"
+                    android:singleLine="true"
                     android:text="游戏名"
                     android:textColor="@color/tv_gray"
                     android:textSize="@dimen/app_size_tv_tiny" />