zengjiebin лет назад: 8
Родитель
Сommit
4bf9fd4f1f
25 измененных файлов с 448 добавлено и 23 удалено
  1. 2 0
      app/src/main/AndroidManifest.xml
  2. 5 2
      app/src/main/java/com/kfzs/duanduan/fragment/FgtPersonalCenter.java
  3. 1 1
      app/src/main/java/com/kfzs/duanduan/fragment/FgtSmallSheep.java
  4. 11 0
      app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java
  5. 14 0
      app/src/main/java/com/sheep/gamegroup/model/entity/BaseMessage.java
  6. 17 0
      app/src/main/java/com/sheep/gamegroup/model/entity/CheckUserLabel.java
  7. 34 0
      app/src/main/java/com/sheep/gamegroup/model/entity/UserLabel.java
  8. 27 0
      app/src/main/java/com/sheep/gamegroup/model/entity/UserLabelList.java
  9. 19 0
      app/src/main/java/com/sheep/gamegroup/model/util/EntityUtils.java
  10. 2 1
      app/src/main/java/com/sheep/gamegroup/presenter/LoginPresenter.java
  11. 6 0
      app/src/main/java/com/sheep/gamegroup/util/ConnectAddress.java
  12. 67 4
      app/src/main/java/com/sheep/gamegroup/util/Jump2View.java
  13. 11 6
      app/src/main/java/com/sheep/gamegroup/util/ListUtil.java
  14. 15 5
      app/src/main/java/com/sheep/gamegroup/util/TestUtil.java
  15. 8 1
      app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java
  16. 122 0
      app/src/main/java/com/sheep/gamegroup/view/activity/ActUserLabelList.java
  17. 2 1
      app/src/main/java/com/sheep/gamegroup/view/activity/PhoneAct.java
  18. 5 1
      app/src/main/res/color/selector_color_main_tab.xml
  19. 8 0
      app/src/main/res/drawable/btn_main_stroke_no_check.xml
  20. 10 0
      app/src/main/res/drawable/selector_check_stroke_main.xml
  21. 16 0
      app/src/main/res/layout/act_user_label_list.xml
  22. 1 1
      app/src/main/res/layout/dialog_half_screen_ad.xml
  23. 5 0
      app/src/main/res/layout/user_label.xml
  24. 29 0
      app/src/main/res/layout/user_label_item.xml
  25. 11 0
      app/src/main/res/values/dd_styles.xml

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

@@ -485,6 +485,8 @@
             android:screenOrientation="portrait"/>
         <activity android:name="com.sheep.gamegroup.view.activity.ActLoadH5"
             android:screenOrientation="portrait"/>
+        <activity android:name="com.sheep.gamegroup.view.activity.ActUserLabelList"
+            android:screenOrientation="portrait"/>
     </application>
 
 

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

@@ -23,6 +23,7 @@ import com.sheep.gamegroup.model.entity.VersionInfo;
 import com.sheep.gamegroup.model.entity.WebviewEntity;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.ConnectAddress;
 import com.sheep.gamegroup.util.FastJsonUtils;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.LogUtil;
@@ -132,7 +133,8 @@ public class FgtPersonalCenter extends BaseCompatFragment {
                             LogUtil.println("baseMessage onError " + JSON.toJSONString(baseMessage));
                         }
                     });
-        getVersionInfo();
+        if(ConnectAddress.sheepxiexing.isThisService())
+            getVersionInfo();
         getShardData();
         initCacheSize();
 
@@ -287,7 +289,8 @@ public class FgtPersonalCenter extends BaseCompatFragment {
                 });
                 break;
             case R.id.change_layout://新功能介绍
-                Jump2View.getInstance().goVersionChange(getActivity(), ApkUtils.getCurrentPkgVersionName(SheepApp.getInstance()));
+                if(ConnectAddress.sheepxiexing.isThisService())
+                    Jump2View.getInstance().goVersionChange(getActivity(), ApkUtils.getCurrentPkgVersionName(SheepApp.getInstance()));
                 break;
             case R.id.tv_submit://注销
                 CommonUtil.getInstance()

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

@@ -494,7 +494,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                 .load(AppUtil.getQRLink(userEntity.getShare_link(), 800))
                 .apply(new RequestOptions().diskCacheStrategy(DiskCacheStrategy.RESOURCE))
                 .preload(800, 800);
-        Jump2View.getInstance().tryShowAgreementOrNewbieTask(activity, userEntity, newbie_task);
+        Jump2View.getInstance().tryShowNewbieTask(activity, userEntity, newbie_task);
     }
 
     @Override

+ 11 - 0
app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java

@@ -483,4 +483,15 @@ public interface ApiService {
      */
     @GET("app/version/new_features")
     Observable<BaseMessage> getVersionInfo(@Query("version_number") String version_number);
+
+    /**
+     * 检查用户是否需要设置标签
+     */
+    @GET("app/user/check_label")
+    Observable<BaseMessage> checkLabel();
+    /**
+     * 查询标签列表
+     */
+    @GET("app/user/label")
+    Observable<BaseMessage> getLabelList();
 }

+ 14 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/BaseMessage.java

@@ -2,8 +2,10 @@ package com.sheep.gamegroup.model.entity;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.sheep.gamegroup.util.ListUtil;
 
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -89,6 +91,18 @@ public class BaseMessage implements Serializable{
         String json = JSONArray.toJSONString(data);
         return JSONArray.parseArray(json, clazz);
     }
+    /**
+     * 如果data里是数组,直接这样获取
+     *
+     * @param clazz
+     * @param <T>
+     * @return
+     */
+    public <T> ArrayList<T> getDataList(Class<T> clazz) {
+        ArrayList<T> newList = ListUtil.emptyList();
+        ListUtil.addAll(newList, getDatas(clazz));
+        return newList;
+    }
 
     @Override
     public String toString() {

+ 17 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/CheckUserLabel.java

@@ -0,0 +1,17 @@
+package com.sheep.gamegroup.model.entity;
+
+/**
+ * Created by realicing on 2018/6/8.
+ * realicing@sina.com
+ */
+public class CheckUserLabel {
+    private boolean need_set_label;
+
+    public boolean isNeed_set_label() {
+        return need_set_label;
+    }
+
+    public void setNeed_set_label(boolean need_set_label) {
+        this.need_set_label = need_set_label;
+    }
+}

+ 34 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/UserLabel.java

@@ -0,0 +1,34 @@
+package com.sheep.gamegroup.model.entity;
+
+/**
+ * Created by realicing on 2018/6/8.
+ * realicing@sina.com
+ */
+public class UserLabel {
+    private String label_name;
+
+    private int label_id;
+
+    public void setLabel_name(String label_name){
+        this.label_name = label_name;
+    }
+    public String getLabel_name(){
+        return this.label_name;
+    }
+    public void setLabel_id(int label_id){
+        this.label_id = label_id;
+    }
+    public int getLabel_id(){
+        return this.label_id;
+    }
+
+    private boolean isChecked;
+
+    public boolean isChecked() {
+        return isChecked;
+    }
+
+    public void setChecked(boolean checked) {
+        isChecked = checked;
+    }
+}

+ 27 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/UserLabelList.java

@@ -0,0 +1,27 @@
+package com.sheep.gamegroup.model.entity;
+
+import java.util.List;
+
+/**
+ * Created by realicing on 2018/6/8.
+ * realicing@sina.com
+ */
+public class UserLabelList {
+    private String label_type_name;
+
+    private List<UserLabel> labels ;
+
+    public void setLabel_type_name(String label_type_name){
+        this.label_type_name = label_type_name;
+    }
+    public String getLabel_type_name(){
+        return this.label_type_name;
+    }
+    public void setLabels(List<UserLabel> labels){
+        this.labels = labels;
+    }
+    public List<UserLabel> getLabels(){
+        return this.labels;
+    }
+
+}

+ 19 - 0
app/src/main/java/com/sheep/gamegroup/model/util/EntityUtils.java

@@ -1,9 +1,15 @@
 package com.sheep.gamegroup.model.util;
 
+import android.text.TextUtils;
+
 import com.alibaba.fastjson.JSONObject;
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 import com.sheep.gamegroup.model.entity.Ext;
+import com.sheep.gamegroup.model.entity.LoginEntity;
+import com.sheep.gamegroup.model.entity.UserEntity;
+import com.sheep.gamegroup.util.DeviceUtil;
+import com.sheep.jiuyan.samllsheep.SheepApp;
 
 import org.joda.time.DateTime;
 
@@ -25,4 +31,17 @@ public final class EntityUtils {
         }
         return extInfo;
     }
+
+    public static String getUserCode(Object object) {
+        if(object instanceof LoginEntity){
+            LoginEntity loginEty = (LoginEntity) object;
+            if(loginEty.getUser()!= null && loginEty.getUser().isNewRegistUser() ){
+                return getUserCode(loginEty.getUser());
+            }
+        } else if(object instanceof UserEntity){
+            if(!TextUtils.isEmpty(((UserEntity) object).getInvitation_code()))
+                return ((UserEntity) object).getInvitation_code();
+        }
+        return DeviceUtil.getDeviceId(SheepApp.getInstance());
+    }
 }

+ 2 - 1
app/src/main/java/com/sheep/gamegroup/presenter/LoginPresenter.java

@@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.sheep.gamegroup.model.api.ApiService;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.LoginEntity;
+import com.sheep.gamegroup.model.util.EntityUtils;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.util.ChannelContent;
 import com.sheep.gamegroup.util.FastJsonUtils;
@@ -94,6 +95,6 @@ public class LoginPresenter implements LoginContract.Presenter {
                 e.printStackTrace();
             }
         }
-        view.NetSuccess(1,"登录成功", loginEty != null && loginEty.getUser()!= null && loginEty.getUser().isNewRegistUser() && !TextUtils.isEmpty(loginEty.getUser().getInvitation_code()) ? loginEty.getUser().getInvitation_code(): null);
+        view.NetSuccess(1,"登录成功", EntityUtils.getUserCode(loginEty));
     }
 }

+ 6 - 0
app/src/main/java/com/sheep/gamegroup/util/ConnectAddress.java

@@ -1,6 +1,9 @@
 package com.sheep.gamegroup.util;
 
 
+import com.sheep.jiuyan.samllsheep.BuildConfig;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+
 /**
  * Created by ljy on 2018/3/15.
  */
@@ -126,4 +129,7 @@ public enum ConnectAddress {
     public boolean isUseUMStatistics(){//只有正式服不使用友盟统计
         return !getName().equals("sheep");
     }
+    public boolean isThisService(){
+        return !BuildConfig.DEBUG || SheepApp.getInstance().getConnectAddress() == this;
+    }
 }

+ 67 - 4
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -23,6 +23,7 @@ import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.model.entity.Advertising;
 import com.sheep.gamegroup.model.entity.Agreement;
 import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.CheckUserLabel;
 import com.sheep.gamegroup.model.entity.CreditCard;
 import com.sheep.gamegroup.model.entity.DialogEntity;
 import com.sheep.gamegroup.model.entity.NewbieTask;
@@ -30,6 +31,7 @@ import com.sheep.gamegroup.model.entity.NewbieTaskRecord;
 import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
 import com.sheep.gamegroup.model.entity.TaskEty;
 import com.sheep.gamegroup.model.entity.UserEntity;
+import com.sheep.gamegroup.model.entity.UserLabelList;
 import com.sheep.gamegroup.model.entity.VersionInfo;
 import com.sheep.gamegroup.model.entity.WebviewEntity;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
@@ -45,6 +47,7 @@ import com.sheep.gamegroup.view.activity.ActMyMoney;
 import com.sheep.gamegroup.view.activity.ActNewbieTaskList;
 import com.sheep.gamegroup.view.activity.ActNotice;
 import com.sheep.gamegroup.view.activity.ActUnderstandSheep;
+import com.sheep.gamegroup.view.activity.ActUserLabelList;
 import com.sheep.gamegroup.view.activity.ActWeb;
 import com.sheep.gamegroup.view.activity.AskGetMoneyAct;
 import com.sheep.gamegroup.view.activity.BindDataAct;
@@ -186,18 +189,37 @@ public class Jump2View {
      * @param context
      * @param o
      */
-    public void goHomePageView(Context context, Object o){
-        Intent intent = new Intent(context, ActMain.class);
+    public void goHomePageView(final Context context, Object o){
+        final Intent intent = new Intent(context, ActMain.class);
         if(o instanceof Integer){
             intent.putExtra(ActMain.INTENT_GAME_ID, (Integer) o);
+            context.startActivity(intent);
         } else if(o instanceof String){
             //从登录界面过来//新注册用户才添加到数据库,并设置可以显示
             NewbieTaskRecord newbie_task_record = new NewbieTaskRecord();
             newbie_task_record.setUser_id((String)o);
             newbie_task_record.setDontShowNewbieTaskDialog(false);
             MyDbManager.getInstance().saveOrUpdate(newbie_task_record);
+            //是否展示协议
+            tryShowAgreement((Activity) context, new Action1<String>() {
+                @Override
+                public void call(String msg) {
+                    if(msg == null || TextUtils.equals(msg, "404")) {
+                        checkLabel((Activity) context, new Action1<BaseMessage>() {
+                            @Override
+                            public void call(BaseMessage baseMessage) {
+                                context.startActivity(intent);
+                            }
+                        });
+                    }else {
+                        G.showToast(msg);
+                        SheepApp.getInstance().quit();
+                    }
+                }
+            });
+        } else {
+            context.startActivity(intent);
         }
-        context.startActivity(intent);
     }
 
     /**
@@ -1024,7 +1046,15 @@ public class Jump2View {
         Jump2View.getInstance().goLoginView(SheepApp.mContext, "");
     }
 
-    public void gotoGuide(Activity activity) {
+    public void gotoGuide(final Activity activity) {
+        if(BuildConfig.DEBUG){
+            checkLabel(activity, new Action1<BaseMessage>() {
+                @Override
+                public void call(BaseMessage baseMessage) {
+                    gotoMain(activity);
+                }
+            });
+        } else
         if(SysAppUtil.isNewSmallSheep(true)){
             Intent intent = new Intent(activity, ActGuide.class);
             activity.startActivity(intent);
@@ -1087,4 +1117,37 @@ public class Jump2View {
                     }
                 });
     }
+
+    public void gotoUserLabelList(Activity activity, BaseMessage baseMessage) {
+        Intent intent = new Intent(activity, ActUserLabelList.class);
+        activity.startActivity(intent);
+    }
+
+    public void checkLabel(final Activity activity, final Action1<BaseMessage> action1) {
+        SheepApp.getInstance().getNetComponent().getApiService().checkLabel()
+                .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));
+                        CheckUserLabel checkLabel = baseMessage.getData(CheckUserLabel.class);
+                        if(
+                                BuildConfig.DEBUG ||
+                                        checkLabel != null && checkLabel.isNeed_set_label()){//需要设置用户标签
+                            Jump2View.getInstance().gotoUserLabelList(activity, baseMessage);
+                        } else if(action1 != null) {
+                            action1.call(baseMessage);
+                        }
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        LogUtil.println("baseMessage onError "+JSON.toJSONString(baseMessage));
+                        if(action1 != null) {
+                            action1.call(baseMessage);
+                        }
+                    }
+                });
+    }
 }

+ 11 - 6
app/src/main/java/com/sheep/gamegroup/util/ListUtil.java

@@ -32,12 +32,17 @@ public class ListUtil {
 
     public static <T> int addAll(List<T> list, List<? extends T> elements) {
         int count = 0;
-        for (T element : elements) {
-            int index = list.indexOf(element);
-            if(index != -1){
-                list.set(index, element);
-            } else if(list.add(element)){
-                count++;
+        if(list == null){
+            list = emptyList();
+        }
+        if(elements != null) {
+            for (T element : elements) {
+                int index = list.indexOf(element);
+                if (index != -1) {
+                    list.set(index, element);
+                } else if (list.add(element)) {
+                    count++;
+                }
             }
         }
         return count;

+ 15 - 5
app/src/main/java/com/sheep/gamegroup/util/TestUtil.java

@@ -2,29 +2,36 @@ package com.sheep.gamegroup.util;
 
 import android.app.Activity;
 import android.app.DownloadManager;
-import android.content.ClipData;
-import android.content.ClipboardManager;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.net.Uri;
 import android.support.v7.app.AlertDialog;
-import android.text.TextUtils;
 import android.view.View;
 import android.widget.ArrayAdapter;
 import android.widget.TextView;
 
+import com.alibaba.fastjson.JSON;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.CheckUserLabel;
 import com.sheep.gamegroup.model.entity.CreditCard;
 import com.sheep.gamegroup.model.entity.DialogConfig;
 import com.sheep.gamegroup.model.entity.TaskEty;
+import com.sheep.gamegroup.model.entity.UserLabel;
+import com.sheep.gamegroup.model.entity.UserLabelList;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.SheepApp;
-import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
 import com.sheep.jiuyan.samllsheep.utils.G;
 
 import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Locale;
 
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
 import static com.sheep.jiuyan.samllsheep.utils.ClassFileHelper.DIR;
 
 /**
@@ -167,7 +174,7 @@ public class TestUtil {
      * @param activity
      */
     public static void test(final Activity activity) {
-        final String[] items = {"交通银行信用卡测试", "浦发银行信用卡测试", "测试游戏模块","打卡成功提示","定向消费详情","提交身份认证时的提示"};
+        final String[] items = {"交通银行信用卡测试", "浦发银行信用卡测试", "测试游戏模块","打卡成功提示","定向消费详情","提交身份认证时的提示", "检查标签"};
         AlertDialog dialog = new AlertDialog.Builder(activity).setTitle("请选择要测试的信用卡")
                 .setItems(items, new DialogInterface.OnClickListener() {
 
@@ -196,6 +203,9 @@ public class TestUtil {
                                             }
                                         }));
                                 break;
+                            case "检查标签":
+                                Jump2View.getInstance().checkLabel(activity, null);
+                                break;
                             case "定向消费详情":
                                 ViewUtil.showOrienteeringDetails();
                                 break;

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

@@ -349,7 +349,7 @@ public class ViewUtil {
 
 //            SurfaceHolder holder = ad_video_view.getHolder();
 //            holder.setFixedSize(ad_video_view.getWidth(), ad_video_view.getWidth()*3/4);
-            ad_video_view.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,G.WIDTH*4/7));
+//            ad_video_view.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,G.WIDTH*4/7));
             if (advertising.isImage()) {
                 Glide.with(activity).load(advertising.getDisplay_src()).into(ad_iv);
                 ad_video_view.setVisibility(View.GONE);
@@ -492,4 +492,11 @@ public class ViewUtil {
             }
         }
     }
+
+    public static void setText(TextView textView, String string) {
+        if(textView != null){
+            textView.setText(TextUtils.isEmpty(string) ? "" : string);
+        }
+
+    }
 }

+ 122 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/ActUserLabelList.java

@@ -0,0 +1,122 @@
+package com.sheep.gamegroup.view.activity;
+
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.AdapterView;
+import android.widget.Checkable;
+import android.widget.CheckedTextView;
+import android.widget.CompoundButton;
+import android.widget.GridView;
+import android.widget.ListView;
+import android.widget.RadioButton;
+import android.widget.TextView;
+
+import com.alibaba.fastjson.JSON;
+import com.sheep.gamegroup.absBase.BaseActivity;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.UserLabel;
+import com.sheep.gamegroup.model.entity.UserLabelList;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.util.Jump2View;
+import com.sheep.gamegroup.util.ListUtil;
+import com.sheep.gamegroup.util.LogUtil;
+import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.gamegroup.view.adapter.ArrayAdapter;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.utils.G;
+import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
+
+import java.util.List;
+
+import butterknife.BindView;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+/**
+ * Created by realicing on 2018/6/8.
+ * realicing@sina.com
+ */
+public class ActUserLabelList extends BaseActivity {
+    @Override
+    protected int getLayoutId() {
+        return R.layout.act_user_label_list;
+    }
+
+
+    @BindView(R.id.user_label_list)
+    ListView user_label_list;
+
+    @Override
+    public void initView() {
+        TitleBarUtils
+                .getInstance()
+                .setTitle(this, "请选择用户标签")
+                .setTitleFinish(this);
+    }
+
+    @Override
+    public void initListener() {
+
+    }
+
+    @Override
+    public void initData() {
+        SheepApp.getInstance().getNetComponent().getApiService().getLabelList()
+                .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<UserLabelList> checkLabelList = baseMessage.getDatas(UserLabelList.class);
+                        if (!ListUtil.isEmpty(checkLabelList)) {
+                            loadData(checkLabelList);
+                        }
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        LogUtil.println("baseMessage onError " + JSON.toJSONString(baseMessage));
+                        G.showToast(baseMessage);
+                    }
+                });
+    }
+
+    private void loadData(List<UserLabelList> checkLabelList) {
+        user_label_list.setAdapter(new ArrayAdapter<UserLabelList>(this, R.layout.user_label_item, checkLabelList) {
+            @Override
+            public boolean convert(final int position, final View rootConvertView, ViewGroup parent, final UserLabelList item) {
+                TextView user_label_tv = (TextView) rootConvertView.findViewById(R.id.user_label_tv);
+                GridView user_label_gv = (GridView) rootConvertView.findViewById(R.id.user_label_gv);
+                ViewUtil.setText(user_label_tv, item.getLabel_type_name());
+                user_label_gv.setAdapter(new ArrayAdapter<UserLabel>(ActUserLabelList.this, R.layout.user_label, item.getLabels()) {
+                    @Override
+                    public boolean convert(int position, final View convertView, ViewGroup parent, final UserLabel item) {
+                        if (convertView instanceof TextView) {
+                            ViewUtil.setText((TextView) convertView, item.getLabel_name());
+                        }
+                        return true;
+                    }
+                });
+                user_label_gv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+                    @Override
+                    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
+                        UserLabel userLabel;
+                        if ((userLabel = ListUtil.getIndex(item.getLabels(), i)) != null) {
+                            userLabel.setChecked(!userLabel.isChecked());
+                        }
+                        if(view instanceof CheckedTextView)
+                            ((CheckedTextView) view).setChecked(userLabel != null && userLabel.isChecked());
+                    }
+                });
+                return true;
+            }
+        });
+    }
+
+    @Override
+    public void finish() {
+        Jump2View.getInstance().gotoMain(this);
+    }
+}

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

@@ -20,6 +20,7 @@ import com.sheep.gamegroup.di.modules.PhoneModule;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.LoginEntity;
 import com.sheep.gamegroup.model.entity.UserEntity;
+import com.sheep.gamegroup.model.util.EntityUtils;
 import com.sheep.gamegroup.presenter.PhoneContract;
 import com.sheep.gamegroup.presenter.PhonePresenter;
 import com.sheep.gamegroup.util.ActivityManager;
@@ -257,7 +258,7 @@ public class PhoneAct extends BaseActivity implements PhoneContract.View {
             }
         }
 
-        Jump2View.getInstance().goHomePageView(this, loginEty != null && loginEty.getUser()!= null && loginEty.getUser().isNewRegistUser() && !TextUtils.isEmpty(loginEty.getUser().getInvitation_code()) ? loginEty.getUser().getInvitation_code(): null);
+        Jump2View.getInstance().goHomePageView(this, EntityUtils.getUserCode(loginEty));
         ActivityManager.getInstance().endActivity(LoginAct.class);
         finish();
         Log.e("---login_-", o.toString());

+ 5 - 1
app/src/main/res/color/selector_color_main_tab.xml

@@ -1,7 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
 
-    <item android:state_activated="true" android:color="@color/main_tab_activated"/>
+    <item android:state_enabled="false" android:color="@color/main_tab" />
+    <item android:state_activated="true" android:color="@color/main_tab_activated" />
+    <item android:state_focused="true" android:color="@color/main_tab_activated" />
+    <item android:state_checked="true" android:color="@color/main_tab_activated"/>
+    <item android:state_selected="true" android:color="@color/main_tab_activated"/>
     <item android:state_pressed="true" android:color="@color/main_tab_activated"/>
     <item android:color="@color/main_tab"/>
 </selector>

+ 8 - 0
app/src/main/res/drawable/btn_main_stroke_no_check.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners android:radius="@dimen/radius_25" />
+    <stroke
+        android:width="1dp"
+        android:color="@color/main_tab" />
+</shape>

+ 10 - 0
app/src/main/res/drawable/selector_check_stroke_main.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+  <item android:state_enabled="false" android:drawable="@drawable/button_full_normal_gray" />
+  <item android:state_activated="true" android:drawable="@drawable/btn_main_stroke_click" />
+  <item android:state_focused="true" android:drawable="@drawable/btn_main_stroke_click" />
+  <item android:state_checked="true" android:drawable="@drawable/btn_main_stroke_click"/>
+  <item android:state_selected="true" android:drawable="@drawable/btn_main_stroke_click"/>
+  <item android:state_pressed="true" android:drawable="@drawable/btn_main_stroke_click"/>
+  <item android:drawable="@drawable/btn_main_stroke_no_check"/>
+</selector>

+ 16 - 0
app/src/main/res/layout/act_user_label_list.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <include layout="@layout/title" />
+
+    <ListView
+        android:id="@+id/user_label_list"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:listSelector="@android:color/transparent"
+        android:layout_margin="@dimen/content_padding_10"/>
+
+</LinearLayout>

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

@@ -27,7 +27,7 @@
     <VideoView
         android:id="@+id/ad_video_view"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content" />
+        android:layout_height="300dp" />
     <TextView
         android:id="@+id/ad_msg"
         android:layout_width="match_parent"

+ 5 - 0
app/src/main/res/layout/user_label.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/user_label_tv"
+    style="@style/style_check_stroke"
+    android:text="小标签" />

+ 29 - 0
app/src/main/res/layout/user_label_item.xml

@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:padding="@dimen/content_padding_10"
+    android:minHeight="100dp"
+    android:orientation="horizontal">
+    <TextView
+        android:id="@+id/user_label_tv"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_weight="1"
+        android:textSize="20sp"
+        android:textColor="@color/black_6_3"
+        android:layout_gravity="center_vertical"
+        android:text="标签"/>
+    <com.kfzs.duanduan.view.diag.MyGridview
+        android:id="@+id/user_label_gv"
+        android:layout_width="0dp"
+        android:layout_height="match_parent"
+        android:layout_gravity="start|top"
+        android:layout_marginStart="@dimen/content_padding_10"
+        android:horizontalSpacing="@dimen/content_padding_20"
+        android:verticalSpacing="@dimen/content_padding_10"
+        android:listSelector="@android:color/transparent"
+        android:layout_weight="3"
+        android:numColumns="3"/>
+
+</LinearLayout>

+ 11 - 0
app/src/main/res/values/dd_styles.xml

@@ -31,6 +31,17 @@
         <item name="android:layout_margin">@dimen/content_padding_10</item>
         <item name="android:textSize">@dimen/text_size_15</item>
     </style>
+    <style name="style_check_stroke">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:padding">5dp</item>
+        <item name="android:gravity">center</item>
+        <item name="android:textAlignment">center</item>
+        <item name="android:textColor">@color/selector_color_main_tab</item>
+        <item name="android:background">@drawable/selector_check_stroke_main</item>
+        <item name="android:layout_margin">@dimen/content_padding_10</item>
+        <item name="android:textSize">@dimen/text_size_15</item>
+    </style>
     <style name="style_button_margin15" parent="button">
         <item name="android:layout_width">match_parent</item>
         <item name="android:layout_height">40dp</item>