From 9ae47dffc2bb8c2609639df2b95f72f1504d92db Mon Sep 17 00:00:00 2001 From: hch <16607480311@163.com> Date: Mon, 16 Oct 2023 18:18:35 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=9F=BA=E6=9C=AC?= =?UTF-8?q?=E8=B5=84=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OneToOne/src/main/AndroidManifest.xml | 1 + .../shayu/onetoone/activity/MainActivity.java | 76 ++++-- .../activity/fragments/MyFragment.java | 8 +- .../activity/login/ChooseLabelActivity.java | 251 ++++++++++++++++++ .../activity/login/CompleteActivity.java | 228 +++++++++++++++- .../activity/login/LoginActivity.java | 87 +++--- .../activity/login/RegisterActivity.java | 79 +++--- .../adapter/UserAvatarSelectAdapter.java | 109 ++++++++ .../com/shayu/onetoone/bean/CustomBean.java | 37 +++ .../com/shayu/onetoone/bean/UserBean.java | 14 +- .../shayu/onetoone/manager/OTONetManager.java | 67 ++++- .../shayu/onetoone/manager/RouteManager.java | 54 ++-- .../shayu/onetoone/network/OneToOneApi.java | 29 +- .../shayu/onetoone/view/UserAvatarPopup.java | 123 +++++++++ .../src/main/res/drawable/bg_user_avatar.xml | 7 + .../bg_user_avatar_select_selected.xml | 5 + .../bg_user_avatar_select_unselected.xml | 5 + .../main/res/layout/activity_choose_label.xml | 54 ++++ .../src/main/res/layout/activity_complete.xml | 98 ++++--- .../main/res/layout/dialog_user_avatar.xml | 43 +++ .../res/layout/item_user_avatar_select.xml | 54 ++++ .../src/main/res/mipmap-xxhdpi/icon_album.png | Bin 0 -> 8330 bytes .../main/res/mipmap-xxhdpi/icon_camera.png | Bin 0 -> 8781 bytes .../res/mipmap-xxhdpi/icon_user_sex_00.png | Bin 0 -> 3729 bytes .../res/mipmap-xxhdpi/icon_user_sex_01.png | Bin 0 -> 24198 bytes .../res/mipmap-xxhdpi/icon_user_sex_02.png | Bin 0 -> 24016 bytes OneToOne/src/main/res/values/colors.xml | 1 + common/build.gradle | 8 +- common/src/main/res/values/colors.xml | 1 + .../main/res/layout/activity_edit_profile.xml | 3 +- .../res/layout/item_user_avatar_select.xml | 4 +- 31 files changed, 1258 insertions(+), 188 deletions(-) create mode 100644 OneToOne/src/main/java/com/shayu/onetoone/activity/login/ChooseLabelActivity.java create mode 100644 OneToOne/src/main/java/com/shayu/onetoone/adapter/UserAvatarSelectAdapter.java create mode 100644 OneToOne/src/main/java/com/shayu/onetoone/bean/CustomBean.java create mode 100644 OneToOne/src/main/java/com/shayu/onetoone/view/UserAvatarPopup.java create mode 100644 OneToOne/src/main/res/drawable/bg_user_avatar.xml create mode 100644 OneToOne/src/main/res/drawable/bg_user_avatar_select_selected.xml create mode 100644 OneToOne/src/main/res/drawable/bg_user_avatar_select_unselected.xml create mode 100644 OneToOne/src/main/res/layout/activity_choose_label.xml create mode 100644 OneToOne/src/main/res/layout/dialog_user_avatar.xml create mode 100644 OneToOne/src/main/res/layout/item_user_avatar_select.xml create mode 100644 OneToOne/src/main/res/mipmap-xxhdpi/icon_album.png create mode 100644 OneToOne/src/main/res/mipmap-xxhdpi/icon_camera.png create mode 100644 OneToOne/src/main/res/mipmap-xxhdpi/icon_user_sex_00.png create mode 100644 OneToOne/src/main/res/mipmap-xxhdpi/icon_user_sex_01.png create mode 100644 OneToOne/src/main/res/mipmap-xxhdpi/icon_user_sex_02.png diff --git a/OneToOne/src/main/AndroidManifest.xml b/OneToOne/src/main/AndroidManifest.xml index ea4b1a185..649626262 100644 --- a/OneToOne/src/main/AndroidManifest.xml +++ b/OneToOne/src/main/AndroidManifest.xml @@ -143,6 +143,7 @@ android:windowSoftInputMode="stateHidden|adjustResize" /> + () { + @Override + public void onSuccess(com.shayu.onetoone.bean.UserBean data) { + if (data.getStatus() == 0) { + RouteManager.forwardCompleteActivity(); + } + } + + @Override + public void onError(String error) { + + } + }); + } + private void showRedPoint(int count) { - OTONetManager.getInstance(mContext) - .getMessageSystemLists(new HttpCallback>() { - int point = 0; + OTONetManager.getInstance(mContext).getMessageSystemLists(new HttpCallback>() { + int point = 0; + @Override + public void onSuccess(List data) { + for (OfficialNoticeBean datum : data) { + point += datum.getNum(); + } + //大于0则是通过会话未读监听器获取到的数,则不用再调用获取未读数接口了 + if (count >= 0) { + updateUnreadCount(point + count); + return; + } + RongIMClient.getInstance().getTotalUnreadCount(new RongIMClient.ResultCallback() { @Override - public void onSuccess(List data) { - for (OfficialNoticeBean datum : data) { - point += datum.getNum(); - } - //大于0则是通过会话未读监听器获取到的数,则不用再调用获取未读数接口了 - if (count >= 0) { - updateUnreadCount(point + count); - return; - } - RongIMClient.getInstance().getTotalUnreadCount(new RongIMClient.ResultCallback() { - @Override - public void onSuccess(Integer integer) { - updateUnreadCount(point + integer); - } - - @Override - public void onError(RongIMClient.ErrorCode e) { - - } - }); + public void onSuccess(Integer integer) { + updateUnreadCount(point + integer); } @Override - public void onError(String error) { + public void onError(RongIMClient.ErrorCode e) { } }); + } + + @Override + public void onError(String error) { + + } + }); } private void updateUnreadCount(int count) { diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/MyFragment.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/MyFragment.java index 6c7669273..dc6ca774d 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/MyFragment.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/MyFragment.java @@ -34,6 +34,7 @@ import com.opensource.svgaplayer.SVGAVideoEntity; import com.shayu.onetoone.R; import com.shayu.onetoone.adapter.MainMeAdapter; import com.shayu.onetoone.bean.SlideBean; +import com.shayu.onetoone.manager.RouteManager; import com.shayu.onetoone.utils.MainHttpConsts; import com.shayu.onetoone.utils.MainHttpUtil; import com.shayu.onetoone.view.CustomMyViewHolder; @@ -114,7 +115,6 @@ public class MyFragment extends BaseFragment implements OnItemClickListener() { + @Override + public void onSuccess(AvatarBean data) { + ImgLoader.display(mContext, file, userAvatar); + //txtChoose.setVisibility(View.GONE); + avatarUrl = data.getAvatar(); + ToastUtil.show("上传成功"); + } + + @Override + public void onError(String error) { + ToastUtil.show("上传失败"); + } + }); + } + } + + @Override + public void onFailure() { + + } + }); + } + + @SuppressLint("SetTextI18n") + private void initView() { + editHead = findViewById(R.id.editHead); + userAvatar = findViewById(R.id.userAvatar); + txtChoose = findViewById(R.id.text_choose); + userNickName = findViewById(R.id.userNickName); + userSex1 = findViewById(R.id.user_sex_1); + userSex2 = findViewById(R.id.user_sex_2); + userBirthday = findViewById(R.id.userBirthday); + btnRegister = findViewById(R.id.btn_register); + avatarUrl = CommonAppConfig.getInstance().getUserBean().getAvatar(); + if (!StringUtils.isEmpty(avatarUrl)) { + ImgLoader.display(ChooseLabelActivity.this, avatarUrl, userAvatar); + } + if (!StringUtils.isEmpty(CommonAppConfig.getInstance().getUserBean().getUserNiceName())) { + userNickName.setText(CommonAppConfig.getInstance().getUserBean().getUserNiceName()); + } + editHead.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + chooseImage(); + } + }); + + userBirthday.setText(year + " 年 " + (month + 1) + " 月 " + day + " 日 "); + + userSex1.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + changeSex(0); + } + }); + userSex2.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + changeSex(1); + } + }); + userBirthday.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + //时间选择器 + Calendar selectedDate = Calendar.getInstance(); + selectedDate.set(year, month, day); + TimePickerView pvTime = new TimePickerBuilder(ChooseLabelActivity.this, new OnTimeSelectListener() { + @Override + public void onTimeSelect(Date date, View v) { + + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + + year = calendar.get(Calendar.YEAR); + month = calendar.get(Calendar.MONTH); + day = calendar.get(Calendar.DAY_OF_MONTH); + + userBirthday.setText(year + " 年 " + (month + 1) + " 月 " + day + " 日 "); + } + }).setCancelText("生日").setSubmitColor(getResources().getColor(R.color.blue01)).setSubmitText("完成").setContentTextSize(20).setDate(selectedDate).build(); + pvTime.show(); + } + }); + btnRegister.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (StringUtils.isEmpty(userNickName.getText().toString())) { + Toast.makeText(mContext, "请填写昵称", Toast.LENGTH_SHORT).show(); + return; + } + if (sex == -1) { + Toast.makeText(mContext, "请选择性别", Toast.LENGTH_SHORT).show(); + return; + } + OTONetManager.getInstance(mContext).setInfo(avatarUrl, userNickName.getText().toString(), sex, year + "-" + month + "-" + day, new HttpCallback() { + @Override + public void onSuccess(HttpCallbackModel data) { + Toast.makeText(mContext, data.getMsg(), Toast.LENGTH_SHORT).show(); + if (data.getCode() == 0) { + Intent intent = new Intent(ChooseLabelActivity.this, MainActivity.class); + intent.putExtra(Constants.SHOW_INVITE, false); + startActivity(intent); + + RouteManager.forwardMainActivity(); + finish(); + } + } + + @Override + public void onError(String error) { + + } + }); + } + }); + } + + /** + * 选择图片 + */ + private void chooseImage() { + UserAvatarPopup userAvatarPopup = new UserAvatarPopup(this, userAvatar1 -> { + avatarUrl = userAvatar1; + ImgLoader.display(ChooseLabelActivity.this, avatarUrl, userAvatar); + //txtChoose.setVisibility(View.GONE); + }, isCamera -> { + if (isCamera) { + cameraUtil.getImageByCamera(); + } else { + cameraUtil.getImageByAlumb(); + } + }); + new XPopup.Builder(mContext).asCustom(userAvatarPopup).show(); + + } + + private void changeSex(int i) { + sex = i; + if (sex == 0) { + userSex1.setTextColor(getResources().getColor(R.color.white)); + userSex2.setTextColor(getResources().getColor(R.color.text_gray)); + userSex1.setBackgroundResource(R.mipmap.icon_user_sex_02); + userSex2.setBackgroundResource(R.mipmap.icon_user_sex_00); + } else { + userSex1.setTextColor(getResources().getColor(R.color.text_gray)); + userSex2.setTextColor(getResources().getColor(R.color.white)); + userSex1.setBackgroundResource(R.mipmap.icon_user_sex_00); + userSex2.setBackgroundResource(R.mipmap.icon_user_sex_01); + } + } +} \ No newline at end of file diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/login/CompleteActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/login/CompleteActivity.java index 09699190c..84fa11556 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/login/CompleteActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/login/CompleteActivity.java @@ -1,17 +1,71 @@ package com.shayu.onetoone.activity.login; -import androidx.appcompat.app.AppCompatActivity; +import android.annotation.SuppressLint; +import android.content.Intent; import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.RelativeLayout; +import android.widget.TextView; +import android.widget.Toast; +import com.alibaba.android.arouter.facade.annotation.Route; +import com.bigkoo.pickerview.builder.TimePickerBuilder; +import com.bigkoo.pickerview.listener.OnTimeSelectListener; +import com.bigkoo.pickerview.view.TimePickerView; +import com.blankj.utilcode.util.StringUtils; +import com.lxj.xpopup.XPopup; import com.shayu.onetoone.R; import com.shayu.onetoone.activity.AbsOTOActivity; +import com.shayu.onetoone.activity.MainActivity; +import com.shayu.onetoone.bean.AvatarBean; +import com.shayu.onetoone.manager.OTONetManager; +import com.shayu.onetoone.manager.RouteManager; +import com.shayu.onetoone.view.UserAvatarPopup; +import com.yunbao.common.CommonAppConfig; +import com.yunbao.common.Constants; +import com.yunbao.common.bean.HttpCallbackModel; +import com.yunbao.common.glide.ImgLoader; +import com.yunbao.common.http.base.HttpCallback; +import com.yunbao.common.interfaces.ImageResultCallback; +import com.yunbao.common.utils.L; +import com.yunbao.common.utils.ProcessImageUtil; +import com.yunbao.common.utils.ToastUtil; + +import java.io.File; +import java.util.Calendar; +import java.util.Date; + /** * 完善个人资料 */ +@Route(path = RouteManager.ACTIVITY_COMPLETE) public class CompleteActivity extends AbsOTOActivity { + private RelativeLayout editHead; //头像点击事件 + private ImageView userAvatar; //头像 + private TextView txtChoose; + private EditText userNickName; //昵称 + private TextView userSex1; //性别 + private TextView userSex2; //性别 + private TextView userBirthday; //年龄 + private Button btnRegister; //提交资料 + + private int sex = -1; + + ProcessImageUtil cameraUtil; + + private File mAvatarFile; + + int year; + int month; + int day; + + private String avatarUrl; @Override protected int getLayoutId() { @@ -20,6 +74,178 @@ public class CompleteActivity extends AbsOTOActivity { @Override protected void main(Bundle savedInstanceState) { + Calendar calendar = Calendar.getInstance(); + year = calendar.get(Calendar.YEAR) - 18; + month = calendar.get(Calendar.MONTH); + day = calendar.get(Calendar.DAY_OF_MONTH); + + initView(); + initCamera(); + } + + private void initCamera() { + cameraUtil = new ProcessImageUtil(this, "com.shayu.onetoone.fileprovider"); + cameraUtil.setImageResultCallback(new ImageResultCallback() { + @Override + public void beforeCamera() { + + } + + @Override + public void onSuccess(File file) { + L.e("cameraUtil.setImageResultCallback:"); + if (file != null) { + mAvatarFile = file; + OTONetManager.getInstance(CompleteActivity.this).updateFile(mAvatarFile, new HttpCallback() { + @Override + public void onSuccess(AvatarBean data) { + ImgLoader.display(mContext, file, userAvatar); + //txtChoose.setVisibility(View.GONE); + avatarUrl = data.getAvatar(); + ToastUtil.show("上传成功"); + } + + @Override + public void onError(String error) { + ToastUtil.show("上传失败"); + } + }); + } + } + + @Override + public void onFailure() { + + } + }); + } + + @SuppressLint("SetTextI18n") + private void initView() { + editHead = findViewById(R.id.editHead); + userAvatar = findViewById(R.id.userAvatar); + txtChoose = findViewById(R.id.text_choose); + userNickName = findViewById(R.id.userNickName); + userSex1 = findViewById(R.id.user_sex_1); + userSex2 = findViewById(R.id.user_sex_2); + userBirthday = findViewById(R.id.userBirthday); + btnRegister = findViewById(R.id.btn_register); + avatarUrl = CommonAppConfig.getInstance().getUserBean().getAvatar(); + if (!StringUtils.isEmpty(avatarUrl)) { + ImgLoader.display(CompleteActivity.this, avatarUrl, userAvatar); + } + if (!StringUtils.isEmpty(CommonAppConfig.getInstance().getUserBean().getUserNiceName())) { + userNickName.setText(CommonAppConfig.getInstance().getUserBean().getUserNiceName()); + } + editHead.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + chooseImage(); + } + }); + + userBirthday.setText(year + " 年 " + (month + 1) + " 月 " + day + " 日 "); + + userSex1.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + changeSex(0); + } + }); + userSex2.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + changeSex(1); + } + }); + userBirthday.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + //时间选择器 + Calendar selectedDate = Calendar.getInstance(); + selectedDate.set(year, month, day); + TimePickerView pvTime = new TimePickerBuilder(CompleteActivity.this, new OnTimeSelectListener() { + @Override + public void onTimeSelect(Date date, View v) { + + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + + year = calendar.get(Calendar.YEAR); + month = calendar.get(Calendar.MONTH); + day = calendar.get(Calendar.DAY_OF_MONTH); + + userBirthday.setText(year + " 年 " + (month + 1) + " 月 " + day + " 日 "); + } + }).setCancelText("生日").setSubmitColor(getResources().getColor(R.color.blue01)).setSubmitText("完成").setContentTextSize(20).setDate(selectedDate).build(); + pvTime.show(); + } + }); + btnRegister.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (StringUtils.isEmpty(userNickName.getText().toString())) { + Toast.makeText(mContext, "请填写昵称", Toast.LENGTH_SHORT).show(); + return; + } + if (sex == -1) { + Toast.makeText(mContext, "请选择性别", Toast.LENGTH_SHORT).show(); + return; + } + OTONetManager.getInstance(mContext).setInfo(avatarUrl, userNickName.getText().toString(), sex, year + "-" + month + "-" + day, new HttpCallback() { + @Override + public void onSuccess(HttpCallbackModel data) { + Toast.makeText(mContext, data.getMsg(), Toast.LENGTH_SHORT).show(); + if (data.getCode() == 0) { + Intent intent = new Intent(CompleteActivity.this, MainActivity.class); + intent.putExtra(Constants.SHOW_INVITE, false); + startActivity(intent); + + RouteManager.forwardMainActivity(); + finish(); + } + } + + @Override + public void onError(String error) { + + } + }); + } + }); + } + + /** + * 选择图片 + */ + private void chooseImage() { + UserAvatarPopup userAvatarPopup = new UserAvatarPopup(this, userAvatar1 -> { + avatarUrl = userAvatar1; + ImgLoader.display(CompleteActivity.this, avatarUrl, userAvatar); + //txtChoose.setVisibility(View.GONE); + }, isCamera -> { + if (isCamera) { + cameraUtil.getImageByCamera(); + } else { + cameraUtil.getImageByAlumb(); + } + }); + new XPopup.Builder(mContext).asCustom(userAvatarPopup).show(); } + + private void changeSex(int i) { + sex = i; + if (sex == 0) { + userSex1.setTextColor(getResources().getColor(R.color.white)); + userSex2.setTextColor(getResources().getColor(R.color.text_gray)); + userSex1.setBackgroundResource(R.mipmap.icon_user_sex_02); + userSex2.setBackgroundResource(R.mipmap.icon_user_sex_00); + } else { + userSex1.setTextColor(getResources().getColor(R.color.text_gray)); + userSex2.setTextColor(getResources().getColor(R.color.white)); + userSex1.setBackgroundResource(R.mipmap.icon_user_sex_00); + userSex2.setBackgroundResource(R.mipmap.icon_user_sex_01); + } + } } \ No newline at end of file diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/login/LoginActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/login/LoginActivity.java index 2a421a913..ffe2440f1 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/login/LoginActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/login/LoginActivity.java @@ -201,12 +201,12 @@ public class LoginActivity extends AbsOTOActivity { } } }); - } //注册 private void register() { startActivity(new Intent(mContext, RegisterActivity.class)); + //RouteManager.forwardCompleteActivity(); } //忘记密码 @@ -235,19 +235,18 @@ public class LoginActivity extends AbsOTOActivity { loadingDialog = new LoadingDialog(); loadingDialog.show(getSupportFragmentManager(), "LoadingDialog"); loadingDialog.setShowText(getString(R.string.login_ing)); - OTONetManager.getInstance(mContext) - .login(phoneNum, pwd, uuid, new com.yunbao.common.http.base.HttpCallback() { - @Override - public void onSuccess(IMLoginModel data) { - onLoginSuccess(data); - } + OTONetManager.getInstance(mContext).login(phoneNum, pwd, uuid, new com.yunbao.common.http.base.HttpCallback() { + @Override + public void onSuccess(IMLoginModel data) { + onLoginSuccess(data); + } - @Override - public void onError(String error) { - ToastUtil.show(error); - loadingDialog.dismiss(); - } - }); + @Override + public void onError(String error) { + ToastUtil.show(error); + loadingDialog.dismiss(); + } + }); hideKeyboard(mEditPwd); } @@ -283,46 +282,44 @@ public class LoginActivity extends AbsOTOActivity { * 获取用户信息 */ private void getBaseUserInfo() { - OTONetManager.getInstance(mContext) - .getBaseInfos(true, new com.yunbao.common.http.base.HttpCallback() { + OTONetManager.getInstance(mContext).getBaseInfos(true, new com.yunbao.common.http.base.HttpCallback() { + @Override + public void onSuccess(com.shayu.onetoone.bean.UserBean data) { + RongcloudIMManager.connectIM(mContext); + OTONetManager.getInstance(mContext).getRandJoinAnchor(new com.yunbao.common.http.base.HttpCallback() { @Override - public void onSuccess(com.shayu.onetoone.bean.UserBean data) { - RongcloudIMManager.connectIM(mContext); - OTONetManager.getInstance(mContext) - .getRandJoinAnchor(new com.yunbao.common.http.base.HttpCallback() { - @Override - public void onSuccess(JoinAnchorBean data) { - if (mFirstLogin) { - IMLoginManager.get(mContext).setNewUserGif(true); - IMLoginManager.get(mContext).setisNewUserOne(true); + public void onSuccess(JoinAnchorBean data) { + if (mFirstLogin) { + IMLoginManager.get(mContext).setNewUserGif(true); + IMLoginManager.get(mContext).setisNewUserOne(true); // MainActivity.forward(EntryActivity.this, false); - if (!StringUtil.isEmpty(data.getHome_zdy_img_us())) { - home_zdy_img_us = data.getHome_zdy_img_us(); - home_zdy_img_cn = data.getHome_zdy_img_cn(); - } - if (!StringUtil.isEmpty(data.getHome_zdy_pop())) { - NoviceInstructorManager.get(mContext).setHomeZdyPop(data.getHome_zdy_pop()); - } - IMLoginManager.get(mContext).setisNewUserOne(true); - IMLoginManager.get(mContext).setNewUserGif(true); - } - loadingDialog.dismiss(); - RouteManager.forwardMainActivity(); - finish(); - } - - @Override - public void onError(String error) { - ToastUtil.show(error); - } - }); + if (!StringUtil.isEmpty(data.getHome_zdy_img_us())) { + home_zdy_img_us = data.getHome_zdy_img_us(); + home_zdy_img_cn = data.getHome_zdy_img_cn(); + } + if (!StringUtil.isEmpty(data.getHome_zdy_pop())) { + NoviceInstructorManager.get(mContext).setHomeZdyPop(data.getHome_zdy_pop()); + } + IMLoginManager.get(mContext).setisNewUserOne(true); + IMLoginManager.get(mContext).setNewUserGif(true); + } + loadingDialog.dismiss(); + RouteManager.forwardMainActivity(); + finish(); } @Override public void onError(String error) { - + ToastUtil.show(error); } }); + } + + @Override + public void onError(String error) { + + } + }); } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/login/RegisterActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/login/RegisterActivity.java index d16d358c3..458cb3d43 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/login/RegisterActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/login/RegisterActivity.java @@ -25,6 +25,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.blankj.utilcode.util.DeviceUtils; import com.blankj.utilcode.util.GsonUtils; +import com.blankj.utilcode.util.StringUtils; import com.fm.openinstall.OpenInstall; import com.fm.openinstall.listener.AppInstallAdapter; import com.fm.openinstall.model.AppData; @@ -33,6 +34,7 @@ import com.sahooz.library.CountryPicker; import com.sahooz.library.OnPick; import com.shayu.onetoone.R; import com.shayu.onetoone.activity.MainActivity; +import com.shayu.onetoone.manager.RouteManager; import com.shayu.onetoone.utils.MainHttpUtil; import com.yunbao.common.CommonAppConfig; import com.yunbao.common.Constants; @@ -52,6 +54,7 @@ import com.yunbao.common.manager.imrongcloud.RongcloudIMManager; import com.yunbao.common.utils.DialogUitl; import com.yunbao.common.utils.LiveRoomCheckLivePresenter; import com.yunbao.common.utils.RouteUtil; +import com.yunbao.common.utils.SpUtil; import com.yunbao.common.utils.ToastUtil; import org.greenrobot.eventbus.EventBus; @@ -121,8 +124,8 @@ public class RegisterActivity extends AbsActivity { getUuidDevice(); getPromoCode(); - mGetCode =mContext.getString(R.string.reg_get_code); - mGetCodeAgain =mContext.getString(R.string.reg_get_code_again); + mGetCode = mContext.getString(R.string.reg_get_code); + mGetCodeAgain = mContext.getString(R.string.reg_get_code_again); mTvCountryCodeClick(); mEditPhone.addTextChangedListener(new TextWatcher() { @Override @@ -280,9 +283,9 @@ public class RegisterActivity extends AbsActivity { } else if (i == R.id.btn_register) { register(); } else if (i == R.id.btn_tip2) { - WebViewActivity.forward(mContext, HtmlConfig.REG_PRIVCAY1,false); + WebViewActivity.forward(mContext, HtmlConfig.REG_PRIVCAY1, false); } else if (i == R.id.btn_tip3) { - WebViewActivity.forward(mContext, HtmlConfig.REG_PRIVCAY2,false); + WebViewActivity.forward(mContext, HtmlConfig.REG_PRIVCAY2, false); } } @@ -362,12 +365,12 @@ public class RegisterActivity extends AbsActivity { mDialog.show(); } String ti = ""; - if (edit_invitecode_2.getText().toString().trim().equals("此設備已註冊")){ + if (edit_invitecode_2.getText().toString().trim().equals("此設備已註冊")) { ti = ""; - }else{ + } else { ti = edit_invitecode_2.getText().toString().trim(); } - MainHttpUtil.register(UserID,ti, phoneNum, mPromoCode, mUuidDevice, mCountryCode, pwd, pwd2, code, new HttpCallback() { + MainHttpUtil.register(UserID, ti, phoneNum, mPromoCode, mUuidDevice, mCountryCode, pwd, pwd2, code, new HttpCallback() { @Override public void onSuccess(int code, String msg, String[] info) { if (code == 0) { @@ -402,25 +405,25 @@ public class RegisterActivity extends AbsActivity { //获取自定义数据 if (appData.getData() != null && !appData.getData().equals("")) { JSONObject data = JSON.parseObject(appData.getData()); - if (CommonAppConfig.IS_GOOGLE_PLAY == true) { + if (CommonAppConfig.IS_GOOGLE_PLAY == true) { yqm_view.setVisibility(View.VISIBLE); MainHttpUtil.getDeviceLoginType(new HttpCallback() { @Override public void onSuccess(int code, String msg, String[] info) { - if(code == 201){ + if (code == 201) { edit_invitecode_2.setText("此設備已註冊"); edit_invitecode_2.setEnabled(false); } } }); - }else{ - yqm_view.setVisibility(View.GONE); - //推广的码 + } else { + yqm_view.setVisibility(View.GONE); + //推广的码 mPromoCode = data.getString("admin_id") + ""; //用户的码 UserID = data.getString("user_id") + ""; } - Log.d("OpenInstall", UserID+"appData.getData()1111= " + mPromoCode); + Log.d("OpenInstall", UserID + "appData.getData()1111= " + mPromoCode); } } }); @@ -483,41 +486,35 @@ public class RegisterActivity extends AbsActivity { @Override public void run() { IMLoginModel userInfo = IMLoginManager.get(activity).getUserInfo(); - HttpClient.getInstance().post("Home.getRandJoinAnchor", "Home.getRandJoinAnchor") - .params("uid", userInfo.getId()) - .params("token", userInfo.getToken()) - .execute(new HttpCallback() { - @Override - public void onSuccess(int code, String msg, String[] info) { - if (info[0] != null) { - JSONObject obj = JSON.parseObject(info[0]); - IMLoginManager.get(activity).setisNewUserOne(true); - IMLoginManager.get(activity).setNewUserGif(true); - if (obj.containsKey("home_zdy_img_us")) { - home_zdy_img_us = obj.getString("home_zdy_img_us"); - home_zdy_img_cn = obj.getString("home_zdy_img_cn"); - } - gotoLive(obj.getString("anchor_id")); - if (obj.containsKey("home_zdy_pop")) { - NoviceInstructorManager.get(mContext).setHomeZdyPop(obj.getString("home_zdy_pop")); - } - jumpMain(false); - } else { - jumpMain(false); - } -// EventBus.getDefault().post(new RegSuccessEvent()); + HttpClient.getInstance().post("Home.getRandJoinAnchor", "Home.getRandJoinAnchor").params("uid", userInfo.getId()).params("token", userInfo.getToken()).execute(new HttpCallback() { + @Override + public void onSuccess(int code, String msg, String[] info) { + if (info[0] != null) { + JSONObject obj = JSON.parseObject(info[0]); + IMLoginManager.get(activity).setisNewUserOne(true); + IMLoginManager.get(activity).setNewUserGif(true); + if (obj.containsKey("home_zdy_img_us")) { + home_zdy_img_us = obj.getString("home_zdy_img_us"); + home_zdy_img_cn = obj.getString("home_zdy_img_cn"); } - }); + gotoLive(obj.getString("anchor_id")); + if (obj.containsKey("home_zdy_pop")) { + NoviceInstructorManager.get(mContext).setHomeZdyPop(obj.getString("home_zdy_pop")); + } + jumpMain(false); + } else { + jumpMain(false); + } +// EventBus.getDefault().post(new RegSuccessEvent()); + } + }); } }; private void jumpMain(boolean showInvite) { - Intent intent = new Intent(activity, MainActivity.class); - intent.putExtra(Constants.SHOW_INVITE, showInvite); - startActivity(intent); + RouteManager.forwardCompleteActivity(); } - private void gotoLive(final String live_id) { LiveHttpUtil.getLiveInfo(live_id, new HttpCallback() { @Override diff --git a/OneToOne/src/main/java/com/shayu/onetoone/adapter/UserAvatarSelectAdapter.java b/OneToOne/src/main/java/com/shayu/onetoone/adapter/UserAvatarSelectAdapter.java new file mode 100644 index 000000000..e8529aca0 --- /dev/null +++ b/OneToOne/src/main/java/com/shayu/onetoone/adapter/UserAvatarSelectAdapter.java @@ -0,0 +1,109 @@ +package com.shayu.onetoone.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.shayu.onetoone.R; +import com.yunbao.common.bean.UserAvatarSelectBean; +import com.yunbao.common.custom.RatioRoundImageView; +import com.yunbao.common.glide.ImgLoader; +import com.yunbao.common.interfaces.OnItemClickListener; + +import java.util.ArrayList; +import java.util.List; + +public class UserAvatarSelectAdapter extends RecyclerView.Adapter { + private Context mContext; + private List list = new ArrayList<>(); + private OnItemClickListener onClickListener; + private int selectId = -1; + private int defId = -1; + private UserAvatarSelectBean selectInfo; + + public void setList(List list) { + this.list = list; + notifyDataSetChanged(); + } + + public int getSelect() { + if (selectId == -1 && getItemCount() > 0) { + return list.get(0).getId(); + } + return selectId; + } + + public void setOnClickListener(OnItemClickListener onClickListener) { + this.onClickListener = onClickListener; + } + + public int getDefId() { + return defId; + } + + public UserAvatarSelectAdapter(Context mContext) { + this.mContext = mContext; + } + + @NonNull + @Override + public AvatarSelectViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + return new AvatarSelectViewHolder(LayoutInflater.from(mContext).inflate(R.layout.item_user_avatar_select, parent, false)); + } + + @Override + public void onBindViewHolder(@NonNull AvatarSelectViewHolder holder, int position) { + holder.setData(list.get(position), position); + } + + @Override + public int getItemCount() { + return list.size(); + } + + public void setDef(int id) { + this.defId = id; + } + + public class AvatarSelectViewHolder extends RecyclerView.ViewHolder { + private View hide; + private View show; + private RatioRoundImageView avatar; + + public AvatarSelectViewHolder(@NonNull View itemView) { + super(itemView); + hide = itemView.findViewById(R.id.hideCover); + show = itemView.findViewById(R.id.showCover); + avatar = itemView.findViewById(R.id.avatar); + itemView.setOnClickListener(v -> { + selectInfo = (UserAvatarSelectBean) v.getTag(); + selectId = selectInfo.getId(); + notifyDataSetChanged(); + onClickListener.onItemClick(selectInfo, defId); + }); + } + + public void setData(UserAvatarSelectBean bean, int position) { + ImgLoader.display(itemView.getContext(), bean.getPath(), avatar); + if (selectId == -1 && bean.getChecked() == 1) { + selectId = bean.getId(); + defId = bean.getId(); + selectInfo = bean; + } + hide.setVisibility(View.GONE); + /*if (select == bean.getId()) { + show.setVisibility(View.VISIBLE); + hide.setVisibility(View.GONE); + } else { + show.setVisibility(View.INVISIBLE); + hide.setVisibility(View.VISIBLE); + }*/ + itemView.setTag(bean); + } + } + +} diff --git a/OneToOne/src/main/java/com/shayu/onetoone/bean/CustomBean.java b/OneToOne/src/main/java/com/shayu/onetoone/bean/CustomBean.java new file mode 100644 index 000000000..257d0de8a --- /dev/null +++ b/OneToOne/src/main/java/com/shayu/onetoone/bean/CustomBean.java @@ -0,0 +1,37 @@ +package com.shayu.onetoone.bean; + + +import com.yunbao.common.bean.BaseModel; + +import java.util.List; + +public class CustomBean extends BaseModel { + + public int code; + public String msg; + public List info; + + public void setCode(int code) { + this.code = code; + } + + public int getCode() { + return code; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public String getMsg() { + return msg; + } + + public void setInfo(List info) { + this.info = info; + } + + public List getInfo() { + return info; + } +} diff --git a/OneToOne/src/main/java/com/shayu/onetoone/bean/UserBean.java b/OneToOne/src/main/java/com/shayu/onetoone/bean/UserBean.java index 6914c2f7b..27a8a4bc0 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/bean/UserBean.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/bean/UserBean.java @@ -9,6 +9,16 @@ public class UserBean extends BaseModel { UserInfo info; UserLevel level; + int status; //0 需要跳转到 编辑资料页面 + + public int getStatus() { + return status; + } + + public void setStatus(int status) { + this.status = status; + } + public UserBean() { } @@ -36,7 +46,7 @@ public class UserBean extends BaseModel { this.level = level; } - public static class UserInfo{ + public static class UserInfo { private int id; private String label_id; private String cn_label; @@ -267,7 +277,7 @@ public class UserBean extends BaseModel { } } - public static class UserLevel{ + public static class UserLevel { private int id; private int wealth; private int wealth_level; diff --git a/OneToOne/src/main/java/com/shayu/onetoone/manager/OTONetManager.java b/OneToOne/src/main/java/com/shayu/onetoone/manager/OTONetManager.java index e9b9d47e0..b992926a0 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/manager/OTONetManager.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/manager/OTONetManager.java @@ -6,6 +6,7 @@ import android.util.Log; import com.alibaba.fastjson.JSONObject; import com.shayu.onetoone.bean.AvatarBean; +import com.shayu.onetoone.bean.CustomBean; import com.shayu.onetoone.bean.FollowBean; import com.shayu.onetoone.bean.GiftBean; import com.shayu.onetoone.bean.GreetBean; @@ -23,6 +24,7 @@ import com.yunbao.common.CommonAppConfig; import com.yunbao.common.bean.BaseModel; import com.yunbao.common.bean.HttpCallbackModel; import com.yunbao.common.bean.IMLoginModel; +import com.yunbao.common.bean.UserAvatarSelectBean; import com.yunbao.common.http.ResponseModel; import com.yunbao.common.http.base.HttpCallback; import com.yunbao.common.manager.IMLoginManager; @@ -651,10 +653,11 @@ public class OTONetManager { } }).isDisposed(); } - public void getHomeRank(String type,String date, HttpCallback> callback) { + + public void getHomeRank(String type, String date, HttpCallback> callback) { API.get().otoApi(mContext) - .getHomeRank(type,date) + .getHomeRank(type, date) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(model -> { @@ -676,4 +679,64 @@ public class OTONetManager { RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file); return MultipartBody.Part.createFormData("file", file.getName(), requestBody); } + + /** + * 获取系统头像 + * + * @param callback + */ + public void getSystemUserAvatar(HttpCallback> callback) { + API.get().otoApi(mContext) + .getSystemUserAvatar(CommonAppConfig.getInstance().getUid()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Consumer>>() { + @Override + public void accept(ResponseModel> objectResponseModel) throws Exception { + if (objectResponseModel.getData().getCode() == 0) { + callback.onSuccess(objectResponseModel.getData().getInfo()); + } else { + callback.onError(objectResponseModel.getData().getMsg()); + } + } + }, new Consumer() { + @Override + public void accept(Throwable throwable) throws Exception { + if (callback != null) { + callback.onError(mContext.getString(com.yunbao.common.R.string.net_error)); + } + } + }).isDisposed(); + } + + /** + * 设置基本资料 + */ + public void setInfo( + String avatar, + String user_nicename, + int sex, + String birthday, + HttpCallback callback) { + + API.get().otoApi(mContext).setInfo(avatar, user_nicename, sex, birthday) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Consumer>>() { + @Override + public void accept(ResponseModel> listResponseModel) throws Exception { + if (listResponseModel.getData().getCode() == 0) { + callback.onSuccess(new HttpCallbackModel(listResponseModel.getData().getCode(), listResponseModel.getData().getMsg())); + } else { + callback.onError(listResponseModel.getData().getMsg()); + } + } + }, new Consumer() { + @Override + public void accept(Throwable throwable) throws Exception { + + } + }).isDisposed(); + + } } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/manager/RouteManager.java b/OneToOne/src/main/java/com/shayu/onetoone/manager/RouteManager.java index de76aa332..bb5349bf1 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/manager/RouteManager.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/manager/RouteManager.java @@ -16,41 +16,63 @@ public class RouteManager { public static final String ACTIVITY_WEB_VIEW = "/activity/WebViewActivity"; public static final String ACTIVITY_HOME_RANK = "/activity/HomepageRankingActivity"; public static final String ACTIVITY_HOME_SEARCH = "/activity/HomeSearchActivity"; + public static final String PATH_EDITPROFILE = "/main/EditProfileActivity"; + + //设置基本资料 + public static final String ACTIVITY_COMPLETE = "/activity/CompleteActivity"; + + //选择标签 + public static final String ACTIVITY_CHOOSE_LABEL = "/activity/ChooseLabelActivity"; + + + /** + * 选择标签 + */ + public static void forwardChooseActivity() { + ARouter.getInstance().build(ACTIVITY_CHOOSE_LABEL).navigation(); + } + + /** + * 修改个人资料 + */ + public static void forwardEditProfileActivity() { + ARouter.getInstance().build(PATH_EDITPROFILE).navigation(); + } + + /** + * 填写基础资料 + */ + public static void forwardCompleteActivity() { + ARouter.getInstance().build(ACTIVITY_COMPLETE).navigation(); + } + public static void forwardMainActivity() { - ARouter.getInstance().build(ACTIVITY_MAIN) - .navigation(); + ARouter.getInstance().build(ACTIVITY_MAIN).navigation(); } public static void forwardMsgMoreConfigActivity() { - ARouter.getInstance().build(ACTIVITY_MSG_MORE_CONFIG_ACTIVITY) - .navigation(); + ARouter.getInstance().build(ACTIVITY_MSG_MORE_CONFIG_ACTIVITY).navigation(); } public static void forwardMsgChatActivity() { - ARouter.getInstance().build(ACTIVITY_MSG_CHAT) - .navigation(); + ARouter.getInstance().build(ACTIVITY_MSG_CHAT).navigation(); } public static void forwardEntryActivity() { - ARouter.getInstance().build(ACTIVITY_ENTRY) - .navigation(); + ARouter.getInstance().build(ACTIVITY_ENTRY).navigation(); } public static void forwardLoginActivity() { - ARouter.getInstance().build(ACTIVITY_LOGIN) - .navigation(); + ARouter.getInstance().build(ACTIVITY_LOGIN).navigation(); } public static void forwardWebViewActivity(String title, String url) { - ARouter.getInstance().build(ACTIVITY_WEB_VIEW) - .withString("title", title) - .withString("url", url) - .navigation(); + ARouter.getInstance().build(ACTIVITY_WEB_VIEW).withString("title", title).withString("url", url).navigation(); } + public static void forwardActivity(String path) { - ARouter.getInstance().build(path) - .navigation(); + ARouter.getInstance().build(path).navigation(); } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/network/OneToOneApi.java b/OneToOne/src/main/java/com/shayu/onetoone/network/OneToOneApi.java index 4b2e5be9f..336f0d614 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/network/OneToOneApi.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/network/OneToOneApi.java @@ -1,6 +1,7 @@ package com.shayu.onetoone.network; import com.shayu.onetoone.bean.AvatarBean; +import com.shayu.onetoone.bean.CustomBean; import com.shayu.onetoone.bean.FollowBean; import com.shayu.onetoone.bean.GiftBean; import com.shayu.onetoone.bean.GreetBean; @@ -14,7 +15,9 @@ import com.shayu.onetoone.bean.SystemMessageBean; import com.shayu.onetoone.bean.TargetUserInfoBean; import com.shayu.onetoone.bean.UserBean; import com.yunbao.common.bean.BaseModel; +import com.yunbao.common.bean.HttpCallbackModel; import com.yunbao.common.bean.IMLoginModel; +import com.yunbao.common.bean.UserAvatarSelectBean; import com.yunbao.common.http.ResponseModel; import java.util.List; @@ -137,23 +140,41 @@ public interface OneToOneApi { @GET("/api/public/?service=Friendappmsg.giftList") Observable>> getGiftList(); + @GET("/api/public/?service=Friendappmoney.info") Observable> getPurseInfo(); + @GET("/api/public/?service=User.setAttents") - Observable>> follow(@Query("touid")String toUid); + Observable>> follow(@Query("touid") String toUid); /** - * * @param type 1魅力榜 2财富榜 * @param date 1日榜 2周榜 */ @GET("/api/public/?service=Friendapprank.list") Observable>> getHomeRank( - @Query("type")String type, - @Query("date")String date + @Query("type") String type, + @Query("date") String date + ); + + /** + * 设置基本信息 + */ + @FormUrlEncoded + @POST("/api/public/?service=Friendappinfos.setInfo") + Observable>> setInfo( + @Field("avatar") String avatar, + @Field("user_nicename") String userNicename, + @Field("sex") int sex, + @Field("birthday") String birthday ); + /** + * 获取系统默认头像列表 + */ + @GET("/api/public/?service=Userhome.getDefaultAvatarList") + Observable>> getSystemUserAvatar(@Query("user_id") String uid); } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/view/UserAvatarPopup.java b/OneToOne/src/main/java/com/shayu/onetoone/view/UserAvatarPopup.java new file mode 100644 index 000000000..e1b8049b9 --- /dev/null +++ b/OneToOne/src/main/java/com/shayu/onetoone/view/UserAvatarPopup.java @@ -0,0 +1,123 @@ +package com.shayu.onetoone.view; + +import android.content.Context; +import android.view.View; +import android.widget.ImageView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.lxj.xpopup.core.BottomPopupView; +import com.shayu.onetoone.R; +import com.shayu.onetoone.adapter.UserAvatarSelectAdapter; +import com.shayu.onetoone.manager.OTONetManager; +import com.shayu.onetoone.manager.RouteManager; +import com.yunbao.common.bean.UserAvatarSelectBean; +import com.yunbao.common.custom.ItemDecoration; +import com.yunbao.common.http.base.HttpCallback; +import com.yunbao.common.http.live.LiveNetManager; +import com.yunbao.common.interfaces.OnItemClickListener; + +import java.util.ArrayList; +import java.util.List; + +public class UserAvatarPopup extends BottomPopupView implements View.OnClickListener { + + RecyclerView recyclerView; + private ImageView camera; + private ImageView album; + private Context mContext; + + UserAvatarSelectAdapter adapter; + private OnItemClickListener onItemClickListener; + + public interface OnItemClickListener { + void onItemClick(String userAvatar); + } + + private onIsCameraClickListener onIsCameraClickListener; + + public interface onIsCameraClickListener { + void onIsCamera(boolean isCamera); + } + + public UserAvatarPopup(@NonNull Context context, OnItemClickListener onItemClickListener, onIsCameraClickListener onIsCameraClickListener) { + super(context); + this.mContext = context; + this.onIsCameraClickListener = onIsCameraClickListener; + this.onItemClickListener = onItemClickListener; + } + + @Override + public void onClick(View v) { + + } + + // 返回自定义弹窗的布局 + @Override + protected int getImplLayoutId() { + return R.layout.dialog_user_avatar; + } + + // 执行初始化操作,比如:findView,设置点击,或者任何你弹窗内的业务逻辑 + @Override + protected void onCreate() { + super.onCreate(); + initView(); + initDate(); + } + + /** + * 加载系统头像 + */ + private void initDate() { + adapter = new UserAvatarSelectAdapter(mContext); + recyclerView.setLayoutManager(new GridLayoutManager(mContext, 4)); + + ItemDecoration decoration1 = new ItemDecoration(mContext, 0x00000000, 0, 0); + decoration1.setOnlySetItemOffsetsButNoDraw(true); + recyclerView.addItemDecoration(decoration1); + + recyclerView.setAdapter(adapter); + adapter.setOnClickListener(new com.yunbao.common.interfaces.OnItemClickListener() { + @Override + public void onItemClick(UserAvatarSelectBean bean, int position) { + onItemClickListener.onItemClick(bean.getPath()); + dismiss(); + } + }); + + OTONetManager.getInstance(mContext).getSystemUserAvatar(new HttpCallback>() { + @Override + public void onSuccess(List data) { + adapter.setList(data); + } + + @Override + public void onError(String error) { + adapter.setList(new ArrayList<>()); + } + }); + } + + private void initView() { + recyclerView = findViewById(R.id.recyclerView); + camera = findViewById(R.id.camera); + album = findViewById(R.id.album); + camera.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + onIsCameraClickListener.onIsCamera(true); + dialog.dismiss(); + } + }); + album.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + onIsCameraClickListener.onIsCamera(false); + dialog.dismiss(); + } + }); + } +} diff --git a/OneToOne/src/main/res/drawable/bg_user_avatar.xml b/OneToOne/src/main/res/drawable/bg_user_avatar.xml new file mode 100644 index 000000000..9ff74fedd --- /dev/null +++ b/OneToOne/src/main/res/drawable/bg_user_avatar.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/OneToOne/src/main/res/drawable/bg_user_avatar_select_selected.xml b/OneToOne/src/main/res/drawable/bg_user_avatar_select_selected.xml new file mode 100644 index 000000000..0a8069452 --- /dev/null +++ b/OneToOne/src/main/res/drawable/bg_user_avatar_select_selected.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/OneToOne/src/main/res/drawable/bg_user_avatar_select_unselected.xml b/OneToOne/src/main/res/drawable/bg_user_avatar_select_unselected.xml new file mode 100644 index 000000000..5f2e8b64c --- /dev/null +++ b/OneToOne/src/main/res/drawable/bg_user_avatar_select_unselected.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/OneToOne/src/main/res/layout/activity_choose_label.xml b/OneToOne/src/main/res/layout/activity_choose_label.xml new file mode 100644 index 000000000..8860478fd --- /dev/null +++ b/OneToOne/src/main/res/layout/activity_choose_label.xml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OneToOne/src/main/res/layout/activity_complete.xml b/OneToOne/src/main/res/layout/activity_complete.xml index 42dcf4ed3..44dc1123e 100644 --- a/OneToOne/src/main/res/layout/activity_complete.xml +++ b/OneToOne/src/main/res/layout/activity_complete.xml @@ -1,7 +1,6 @@ + android:background="@mipmap/bg_w" + android:orientation="vertical"> + android:layout_marginTop="20dp"> - - + + android:gravity="center" + android:text="去选择" + android:textColor="#FFFFFF" + android:textSize="12sp" /> + android:textSize="16sp" /> + android:textSize="14sp" /> + android:textSize="16sp" /> + android:textColor="#999999" + android:textColorHint="#999999" + android:textSize="14sp" /> + android:textColor="#999999" + android:textColorHint="#999999" + android:textSize="14sp" /> + + android:textSize="16sp" /> + android:textSize="14sp" />