Explorar o código

玩转中心 代码

liujiangyao %!s(int64=7) %!d(string=hai) anos
pai
achega
bf57cb5414

+ 27 - 0
app/src/main/java/com/sheep/gamegroup/util/CommonUtil.java

@@ -1166,6 +1166,33 @@ public class CommonUtil {
                     }
                 });
     }
+    //对---游戏任务中的领取奖励
+    public void receiveAward(final Context context, final TaskReleaseEty taskReleaseEty, final Action1<Integer> action1) {
+        SheepApp.getInstance()
+                .getNetComponent()
+                .getApiService()
+                .receive_award(taskReleaseEty.getAccepted_task_id())
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        G.showToast(baseMessage.getErrorMsg());
+                    }
+
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        //这里领取了奖励,要刷新用户信息
+                        CommonUtil.getInstance().updateUserInfo(null);
+                        ViewUtil.showMsgDialog(context,
+                                "恭喜你获得" + taskReleaseEty.getBonusText() + "元奖励",
+                                "提示",
+                                true);
+                        if (action1 != null)
+                            action1.call(1);
+                    }
+                });
+    }
 
     private void giveUpTask(final Context context, final TaskReleaseEty taskReleaseEty, final Action1<Integer> action1) {
         SheepApp.getInstance().getNetComponent().getApiService().giveUpTask(taskReleaseEty.getAccepted_task_id())

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

@@ -1587,7 +1587,8 @@ public class ViewUtil {
         int padding = textView.getContext().getResources().getDimensionPixelSize(R.dimen.content_padding_2);
         textView.setPadding(2* padding, padding, 2 * padding, padding);
         LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(textView.getLayoutParams());
-        lp.setMarginEnd(padding);
+        lp.setMargins(0,0,padding,0);
+        textView.setLayoutParams(lp);
 
         return view;
     }

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

@@ -4,7 +4,6 @@ import android.app.Activity;
 import android.content.Intent;
 import android.support.design.widget.AppBarLayout;
 import android.support.design.widget.TabLayout;
-import android.support.v4.view.ViewPager;
 import android.support.v7.widget.AppCompatRatingBar;
 import android.text.TextUtils;
 import android.view.View;
@@ -29,12 +28,10 @@ import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.DataUtil;
 import com.sheep.gamegroup.util.GlideImageLoader;
-import com.sheep.gamegroup.util.ListUtil;
 import com.sheep.gamegroup.util.TimeUtil;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.view.fragment.FgtPlaGameGift;
 import com.sheep.gamegroup.view.fragment.FgtPlayGameDetail;
-import com.sheep.gamegroup.view.fragment.FgtTryMakeMoney;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.G;
@@ -45,7 +42,6 @@ import org.afinal.simplecache.ApiKey;
 import org.greenrobot.eventbus.EventBus;
 import org.greenrobot.eventbus.Subscribe;
 
-import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Locale;
 import java.util.Map;
@@ -171,7 +167,7 @@ public class ActPlayGameDetail extends BaseActivity implements Action1<Integer>
                 find_game_name_tv.setLayoutParams(layoutParams2);
                 //tag
                 RelativeLayout.LayoutParams layoutParams6 = (RelativeLayout.LayoutParams) ll_game_tag.getLayoutParams();
-                layoutParams6.topMargin = getResources().getDimensionPixelSize(R.dimen.find_game_top158) + verticalOffset;
+                layoutParams6.topMargin = getResources().getDimensionPixelSize(R.dimen.find_game_top165) + verticalOffset;
                 ll_game_tag.setLayoutParams(layoutParams6);
                 //信息位置变化
                 RelativeLayout.LayoutParams layoutParams3 = (RelativeLayout.LayoutParams) find_game_info_tv.getLayoutParams();

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

@@ -52,7 +52,11 @@ 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());
-        gameEntity.getApp().getFindAppHelper().updateDownloadTaskView((Activity) activity, gameEntity.getApp(), detail_task_tv_center);
+        if (gameEntity.getApp().isCanDonload()) {//可下载
+            gameEntity.getApp().getFindAppHelper().updateDownloadTaskView((Activity) activity, gameEntity.getApp(), detail_task_tv_center);
+        } else {//预约下载
+            gameEntity.getApp().getFindAppHelper().updateReservationView((Activity) activity, gameEntity.getApp(), detail_task_tv_center);
+        }
         item_download_welfare_line.setVisibility(holder.getAdapterPosition() + 1 == getItemCount() ? View.GONE : View.VISIBLE);
 
         //tag 标签绘制

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

@@ -12,6 +12,7 @@ import android.widget.TextView;
 
 import com.sheep.gamegroup.model.entity.GameEntity;
 import com.sheep.gamegroup.model.entity.GiftBagApp;
+import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.GlideImageLoader;
 import com.sheep.gamegroup.util.ViewHolder;
 import com.sheep.gamegroup.util.ViewUtil;
@@ -27,6 +28,7 @@ import java.util.Locale;
 import butterknife.BindView;
 import butterknife.ButterKnife;
 import butterknife.Unbinder;
+import rx.functions.Action1;
 
 /**
  * Created by ljy on 2018/9/4.
@@ -70,20 +72,39 @@ public class FgtPlaGameGift extends BaseFragment {
             }
 
             @Override
-            public void convert(ViewHolder holder, GiftBagApp giftBagApp) {
+            public void convert(ViewHolder holder, final GiftBagApp giftBagApp) {
                 View view = holder.itemView;
                 ViewUtil.setText((TextView) holder.getView(R.id.name_tv), giftBagApp.getGift_bag().getGiftName());
                 ViewUtil.setText((TextView) holder.getView(R.id.num_tv), giftBagApp.getGift_bag().getLastNumText());
 
-                TextView btn_tv = holder.getView(R.id.btn_tv);
+                final TextView btn_tv = holder.getView(R.id.btn_tv);
 
+                if(gameEntity.getIs_reservation() == 0 || !gameEntity.getApp().isCanDonload()){
+
+                    btn_tv.setText("领取");
+                    btn_tv.setEnabled(false);
+                }else
                 if (!giftBagApp.isReceived()){
                     btn_tv.setText("领取");
-
+                    btn_tv.setEnabled(true);
+                    btn_tv.setOnClickListener(new View.OnClickListener() {
+                        @Override
+                        public void onClick(View v) {
+                            CommonUtil.getInstance().receiveAward(activity, gameEntity.getRelease_task(), new Action1<Integer>() {
+                                @Override
+                                public void call(Integer integer) {
+                                    giftBagApp.setReceived(true);
+                                    btn_tv.setText("已领取");
+                                    btn_tv.setEnabled(false);
+                                    notifyDataSetChanged();
+                                }
+                            });
+                        }
+                    });
                 }else {
                     btn_tv.setText("已领取");
+                    btn_tv.setEnabled(false);
                 }
-                btn_tv.setEnabled(false);
                 holder.getView(R.id.line_tv).setVisibility(holder.getAdapterPosition() + 1 == getItemCount() ? View.GONE : View.VISIBLE);
             }
         });

+ 2 - 0
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtPlayGame.java

@@ -271,6 +271,8 @@ public class FgtPlayGame extends BaseFragment {
         if (ListUtil.isEmpty(cacheSlideshowEtyList)) {
             banner.setVisibility(View.GONE);
         } else {
+            slideshowEtyLists.clear();
+            slideshowTitleList.clear();
             for (SlideshowEty slideshowEty : cacheSlideshowEtyList) {
                 slideshowEty.setObjects(CommonUtil.getInstance().getValue(slideshowEty.getExt()));
                 slideshowEtyLists.add(slideshowEty);

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

@@ -7,6 +7,7 @@ import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.LinearLayout;
 import android.widget.ProgressBar;
 import android.widget.TextView;
 
@@ -20,6 +21,7 @@ import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.view.adapter.ArrayAdapter;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.base.BaseFragment;
+import com.sheep.jiuyan.samllsheep.utils.G;
 import com.tencent.smtt.sdk.WebView;
 
 import java.util.ArrayList;
@@ -44,6 +46,10 @@ public class FgtPlayGameDetail extends BaseFragment {
     ProgressBar progressBarHorizontal;
     @BindView(R.id.last_num_tv)
     TextView last_num_tv;
+    @BindView(R.id.progress_title_layout)
+    LinearLayout progress_title_layout;
+    @BindView(R.id.receive_step_layout)
+    LinearLayout receive_step_layout;
     Unbinder unbinder;
 
     private ArrayList<String> pictureList = ListUtil.emptyList();
@@ -86,6 +92,7 @@ public class FgtPlayGameDetail extends BaseFragment {
 
         //奖励领取步骤
         if(gameEntity.getRelease_task().getTask().getDescEntityList() != null && gameEntity.getRelease_task().getTask().getDescEntityList().size() > 0){
+            receive_step_layout.setVisibility(View.VISIBLE);
             item_detail_listview.setAdapter(new ArrayAdapter<TaskDescEntity>(activity, R.layout.textview_layout, gameEntity.getRelease_task().getTask().getDescEntityList()){
                 @Override
                 public boolean convert(int position, View convertView, ViewGroup parent, TaskDescEntity item) {
@@ -104,12 +111,16 @@ public class FgtPlayGameDetail extends BaseFragment {
                     return false;
                 }
             });
+        }else {
+            receive_step_layout.setVisibility(View.GONE);
         }
         int progress;
         if(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;
         }else {
             progress = 0;
+            progress_title_layout.setVisibility(View.GONE);
         }
         //福利剩余数量
         progressBarHorizontal.incrementProgressBy(progress);

+ 1 - 1
app/src/main/res/layout/act_play_game_detail_layout.xml

@@ -152,7 +152,7 @@
         android:id="@+id/ll_game_tag"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_marginTop="@dimen/find_game_top158"
+        android:layout_marginTop="@dimen/find_game_top165"
         android:layout_centerHorizontal="true"
         android:orientation="horizontal"/>
 

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

@@ -6,7 +6,6 @@
     <TextView
         android:id="@+id/user_label_tv"
         style="@style/style_check_stroke"
-        android:layout_marginRight="@dimen/content_padding_3"
         android:text="小标签" />
 
 </LinearLayout>

+ 3 - 0
app/src/main/res/layout/item_play_game_detail.xml

@@ -46,6 +46,7 @@
         </LinearLayout>
 
         <LinearLayout
+            android:id="@+id/receive_step_layout"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:orientation="vertical"
@@ -86,6 +87,7 @@
         </LinearLayout>
 
         <LinearLayout
+            android:id="@+id/progress_title_layout"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:orientation="vertical"
@@ -114,6 +116,7 @@
             </LinearLayout>
 
             <LinearLayout
+                android:id="@+id/progress_value_layout"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:orientation="horizontal">