diff --git a/OneToOne/build.gradle b/OneToOne/build.gradle index a1c705d82..5926a2adf 100644 --- a/OneToOne/build.gradle +++ b/OneToOne/build.gradle @@ -11,7 +11,7 @@ android { defaultConfig { - applicationId "com.shayu.onetoone" + applicationId "com.shayu.onetoonenew" minSdkVersion rootProject.ext.android.minSdkVersion targetSdkVersion rootProject.ext.android.targetSdkVersion versionCode rootProject.ext.android.versionCode diff --git a/OneToOne/google-services.json b/OneToOne/google-services.json new file mode 100644 index 000000000..4daabca5a --- /dev/null +++ b/OneToOne/google-services.json @@ -0,0 +1,63 @@ +{ + "project_info": { + "project_number": "903482201540", + "project_id": "onetoone-71170", + "storage_bucket": "onetoone-71170.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:903482201540:android:132978cdf497f4d8634091", + "android_client_info": { + "package_name": "com.shayu.onetoonenew" + } + }, + "oauth_client": [ + { + "client_id": "903482201540-ddno3ro8fp0lqqoeodbhbnpqf7f8d439.apps.googleusercontent.com", + "client_type": 1, + "android_info": { + "package_name": "com.shayu.onetoonenew", + "certificate_hash": "b66dc8d21cfcf6c729577ddcf0c312b2a31ed872" + } + }, + { + "client_id": "903482201540-e9ua9huoejtubp7pgsbu3iq76tqkoorp.apps.googleusercontent.com", + "client_type": 1, + "android_info": { + "package_name": "com.shayu.onetoonenew", + "certificate_hash": "15fc5e70cf238323bf7111c8c627803985478e87" + } + }, + { + "client_id": "903482201540-k3cffuuhsed23kkiuopufhf54ano7do4.apps.googleusercontent.com", + "client_type": 1, + "android_info": { + "package_name": "com.shayu.onetoonenew", + "certificate_hash": "38cc19306c9facee36a9224e9a4070bc0be15c7d" + } + }, + { + "client_id": "903482201540-s2j96h6k7go0ah51ksi7es8mt7qhankh.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyCrhj-7WjwdYUHBMzz9Ntie_S474slGjVY" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "903482201540-s2j96h6k7go0ah51ksi7es8mt7qhankh.apps.googleusercontent.com", + "client_type": 3 + } + ] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/OneToOne/src/main/AndroidManifest.xml b/OneToOne/src/main/AndroidManifest.xml index 109d31630..101565d62 100644 --- a/OneToOne/src/main/AndroidManifest.xml +++ b/OneToOne/src/main/AndroidManifest.xml @@ -186,6 +186,16 @@ android:label="编辑签名" android:windowSoftInputMode="stateHidden|adjustResize" /> + + + + () { @Override public void onSuccess(AvatarBean data) { ImgLoader.display(mContext, file, userAvatar); //txtChoose.setVisibility(View.GONE); avatarUrl = data.getAvatar(); + dialog.hide(); ToastUtil.show("上传成功"); } @Override public void onError(String error) { + dialog.hide(); ToastUtil.show("上传失败"); } }); @@ -115,7 +122,7 @@ public class CompleteActivity extends AbsOTOActivity { @Override public void onFailure() { - + dialog.hide(); } }); } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/login/EntryActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/login/EntryActivity.java index 0d0023da3..04cfc881f 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/login/EntryActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/login/EntryActivity.java @@ -337,7 +337,7 @@ public class EntryActivity extends AbsOTOActivity { // App-to-app login Intent loginIntent = LineLoginApi.getLoginIntent( view.getContext(), - "1656399535", + "2001228692", new LineAuthenticationParams.Builder() .scopes(Arrays.asList(Scope.PROFILE)) // .nonce("") // nonce can be used to improve security diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/setting/SettingActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/setting/SettingActivity.java index 8d1693184..038e6949b 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/setting/SettingActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/setting/SettingActivity.java @@ -7,6 +7,7 @@ import android.os.Handler; import com.alibaba.android.arouter.facade.annotation.Route; import com.shayu.onetoone.R; import com.shayu.onetoone.activity.login.EntryActivity; +import com.shayu.onetoone.manager.RouteManager; import com.yunbao.common.CommonAppConfig; import com.yunbao.common.Constants; import com.yunbao.common.activity.AbsActivity; @@ -51,12 +52,12 @@ public class SettingActivity extends AbsActivity { } }); - //黑名单 - //修改密码 - ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.change_the_password), new ViewClicksAntiShake.ViewClicksCallBack() { + // 达人认证 + ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.toBlogger), new ViewClicksAntiShake.ViewClicksCallBack() { @Override public void onViewClicks() { //forwardModifyPwd(); + RouteManager.forwardAuthBloggerActivity(); } }); ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.logout), new ViewClicksAntiShake.ViewClicksCallBack() { diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/user/AuthActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/user/AuthActivity.java new file mode 100644 index 000000000..f8512e5c8 --- /dev/null +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/user/AuthActivity.java @@ -0,0 +1,264 @@ +package com.shayu.onetoone.activity.user; + +import android.app.Dialog; +import android.view.View; +import android.widget.ImageView; +import android.widget.TextView; + +import com.alibaba.android.arouter.facade.annotation.Route; +import com.lxj.xpopup.XPopup; +import com.shayu.onetoone.R; +import com.shayu.onetoone.bean.AuthBean; +import com.shayu.onetoone.bean.AvatarBean; +import com.shayu.onetoone.manager.OTONetManager; +import com.shayu.onetoone.manager.RouteManager; +import com.shayu.onetoone.view.UserAuthPopup; +import com.yunbao.common.Constants; +import com.yunbao.common.activity.AbsActivity; +import com.yunbao.common.bean.HttpCallbackModel; +import com.yunbao.common.bean.UserBean; +import com.yunbao.common.glide.ImgLoader; +import com.yunbao.common.http.base.HttpCallback; +import com.yunbao.common.interfaces.ImageResultCallback; +import com.yunbao.common.utils.Bus; +import com.yunbao.common.utils.DialogUitl; +import com.yunbao.common.utils.L; +import com.yunbao.common.utils.ProcessImageUtil; +import com.yunbao.common.utils.ToastUtil; + +import java.io.File; + +/** + * 我的 编辑资料 + */ +@Route(path = RouteManager.ACTIVITY_AUTH) +public class AuthActivity extends AbsActivity { + + private ImageView image1; + private ImageView image2; + + private ImageView image11; + private ImageView image22; + + private TextView submit; + private ProcessImageUtil cameraUtil; + + private File file1; + private File file2; + + private String imgUrl1; + private String imgUrl2; + + Dialog dialog; + AuthBean authBean; + + private TextView remake; + + + @Override + protected int getLayoutId() { + return R.layout.activity_auth; + } + + @Override + protected void main() { + setTitle(mContext.getString(R.string.edit_profile)); + image1 = findViewById(R.id.image1); + image11 = findViewById(R.id.image11); + image2 = findViewById(R.id.image2); + image22 = findViewById(R.id.image22); + submit = findViewById(R.id.submit); + remake = findViewById(R.id.remake); + + image1.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + isFront = true; + setImage(); + } + }); + image11.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + isFront = true; + setImage(); + } + }); + image2.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + isFront = false; + setImage(); + } + }); + image22.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + isFront = false; + setImage(); + } + }); + submit.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + submit(); + } + }); + initCamera(); + dialog = DialogUitl.loadingDialog(mContext, "上传中"); + getAuthInfo(); + } + + private void getAuthInfo() { + OTONetManager.getInstance(AuthActivity.this).getAuthInfo(new HttpCallback() { + @Override + public void onSuccess(AuthBean data) { + authBean = data; + if (data.getName_auth() == 2) {//已通过 + ImgLoader.display(mContext, data.getAuth_front(), image1); + ImgLoader.display(mContext, data.getAuth_back(), image2); + image11.setVisibility(View.GONE); + image22.setVisibility(View.GONE); + submit.setEnabled(false); + } else if (data.getName_auth() == 3) {//已提交 + ImgLoader.display(mContext, data.getAuth_front(), image1); + ImgLoader.display(mContext, data.getAuth_back(), image2); + image11.setVisibility(View.GONE); + image22.setVisibility(View.GONE); + submit.setText("審核中,請耐心等待"); + submit.setEnabled(false); + } else { + ImgLoader.display(mContext, data.getAuth_front(), image1); + ImgLoader.display(mContext, data.getAuth_back(), image2); + submit.setText("重新提交"); + remake.setText(data.getAuth_remark()); + submit.setEnabled(true); + } + } + + @Override + public void onError(String error) { + + } + }); + } + + 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 (!dialog.isShowing()) { + dialog.show(); + } + if (file != null) { + OTONetManager.getInstance(mContext).updateFile(file, new HttpCallback() { + @Override + public void onSuccess(AvatarBean data) { + if (data != null) { + ToastUtil.show("上传成功"); + if (isFront) { + imgUrl1 = data.getAvatar(); + file1 = file; + ImgLoader.display(mContext, file1, image1); + image11.setVisibility(View.GONE); + } else { + imgUrl2 = data.getAvatar(); + file2 = file; + ImgLoader.display(mContext, file2, image2); + image22.setVisibility(View.GONE); + } + } + if (file1 != null && file2 != null) { + submit.setBackground(getResources().getDrawable(R.drawable.bg_auth_submit_2)); + } + dialog.hide(); + } + + @Override + public void onError(String error) { + dialog.hide(); + } + }); + } + } + + @Override + public void onFailure() { + + } + }); + } + + boolean isFront = true; + + private void submit() { + OTONetManager.getInstance(AuthActivity.this).setAuthInfo(imgUrl1, imgUrl2, new HttpCallback() { + @Override + public void onSuccess(HttpCallbackModel data) { + if (data.getCode() == 0) { + ToastUtil.show("已發起審核,請耐心等待審核結果"); + submit.setBackground(getResources().getDrawable(R.drawable.bg_auth_submit_1)); + submit.setText("審核中,請耐心等待"); + imgUrl1 = null; + imgUrl2 = null; + } else { + ToastUtil.show(data.getMsg()); + } + } + + @Override + public void onError(String error) { + + } + }); + } + + public void setImage() { + UserAuthPopup userAuthPopup = new UserAuthPopup(AuthActivity.this, new UserAuthPopup.onIsCameraClickListener() { + @Override + public void onIsCamera(boolean isCamera) { + if (isCamera) { + cameraUtil.getImageByCamera(); + } else { + cameraUtil.getImageByAlumb(); + } + } + }); + new XPopup.Builder(mContext).asCustom(userAuthPopup).show(); + } + + @Override + protected void onDestroy() { + Bus.getOff(this); + if (cameraUtil != null) { + cameraUtil.release(); + } + //MainHttpUtil.cancel(MainHttpConsts.UPDATE_AVATAR); + //MainHttpUtil.cancel(MainHttpConsts.UPDATE_FIELDS); + super.onDestroy(); + } + + private UserBean userModel; + + @Override + protected void onResume() { + super.onResume(); + if (Constants.isShowPage != -1) { + finish(); + } + } + + @Override + public void onBackPressed() { + + } + + +} diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/user/AuthBloggerActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/user/AuthBloggerActivity.java new file mode 100644 index 000000000..480b85fa6 --- /dev/null +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/user/AuthBloggerActivity.java @@ -0,0 +1,176 @@ +package com.shayu.onetoone.activity.user; + +import android.app.Dialog; +import android.view.View; +import android.widget.ImageView; +import android.widget.TextView; + +import com.alibaba.android.arouter.facade.annotation.Route; +import com.lxj.xpopup.XPopup; +import com.shayu.onetoone.R; +import com.shayu.onetoone.bean.AvatarBean; +import com.shayu.onetoone.manager.OTONetManager; +import com.shayu.onetoone.manager.RouteManager; +import com.shayu.onetoone.view.UserAuthPopup; +import com.yunbao.common.Constants; +import com.yunbao.common.activity.AbsActivity; +import com.yunbao.common.bean.HttpCallbackModel; +import com.yunbao.common.bean.UserBean; +import com.yunbao.common.glide.ImgLoader; +import com.yunbao.common.http.base.HttpCallback; +import com.yunbao.common.interfaces.ImageResultCallback; +import com.yunbao.common.utils.Bus; +import com.yunbao.common.utils.DialogUitl; +import com.yunbao.common.utils.L; +import com.yunbao.common.utils.ProcessImageUtil; +import com.yunbao.common.utils.ToastUtil; +import com.yunbao.common.views.CompleteInformationPopup; + +import java.io.File; + +/** + * 我的 编辑资料 + */ +@Route(path = RouteManager.ACTIVITY_AUTH_BLOGGER) +public class AuthBloggerActivity extends AbsActivity { + + private TextView submit; + private ProcessImageUtil cameraUtil; + + Dialog dialog; + + @Override + protected int getLayoutId() { + return R.layout.activity_auth_blogger; + } + + @Override + protected void main() { + setTitle(mContext.getString(R.string.edit_profile)); + submit = findViewById(R.id.submit); + submit.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + submit(); + } + }); + initCamera(); + dialog = DialogUitl.loadingDialog(mContext, "上传中"); + } + + 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 (!dialog.isShowing()) { + dialog.show(); + } + if (file != null) { + OTONetManager.getInstance(mContext).updateFile(file, new HttpCallback() { + @Override + public void onSuccess(AvatarBean data) { + dialog.hide(); + } + + @Override + public void onError(String error) { + dialog.hide(); + } + }); + } + } + + @Override + public void onFailure() { + + } + }); + } + + boolean isFront = true; + + private void submit() { + /*OTONetManager.getInstance(AuthBloggerActivity.this).setAuthInfo(imgUrl1, imgUrl2, new HttpCallback() { + @Override + public void onSuccess(HttpCallbackModel data) { + if (data.getCode() == 0) { + ToastUtil.show("已發起審核,請耐心等待審核結果"); + submit.setBackground(getResources().getDrawable(R.drawable.bg_auth_submit_1)); + submit.setText("審核中,請耐心等待"); + imgUrl1 = null; + imgUrl2 = null; + } else { + ToastUtil.show(data.getMsg()); + } + } + + @Override + public void onError(String error) { + + } + });*/ + } + + public void setImage() { + UserAuthPopup userAuthPopup = new UserAuthPopup(AuthBloggerActivity.this, new UserAuthPopup.onIsCameraClickListener() { + @Override + public void onIsCamera(boolean isCamera) { + if (isCamera) { + cameraUtil.getImageByCamera(); + } else { + cameraUtil.getImageByAlumb(); + } + } + }); + new XPopup.Builder(mContext).asCustom(userAuthPopup).show(); + } + + @Override + protected void onDestroy() { + Bus.getOff(this); + if (cameraUtil != null) { + cameraUtil.release(); + } + //MainHttpUtil.cancel(MainHttpConsts.UPDATE_AVATAR); + //MainHttpUtil.cancel(MainHttpConsts.UPDATE_FIELDS); + super.onDestroy(); + } + + private UserBean userModel; + + @Override + protected void onResume() { + super.onResume(); + if (Constants.isShowPage != -1) { + finish(); + } + } + + @Override + public void onBackPressed() { + if (userModel.getUserInfoComplete() == 1) { + finish(); + } else { + new XPopup.Builder(mContext).asCustom(new CompleteInformationPopup(mContext, true, new CompleteInformationPopup.CompleteInformationCallBack() { + @Override + public void onCancel() { + + } + + @Override + public void onSure() { + finish(); + } + })).show(); + } + } + + +} diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/user/EditNameActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/user/EditNameActivity.java index 05b583f83..ca103a7cf 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/user/EditNameActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/user/EditNameActivity.java @@ -6,9 +6,8 @@ import android.text.TextUtils; import android.view.View; import android.widget.EditText; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; import com.shayu.onetoone.R; +import com.shayu.onetoone.manager.OTONetManager; import com.shayu.onetoone.utils.MainHttpConsts; import com.shayu.onetoone.utils.MainHttpUtil; import com.tencent.imsdk.v2.V2TIMCallback; @@ -17,8 +16,8 @@ import com.tencent.imsdk.v2.V2TIMUserFullInfo; import com.yunbao.common.CommonAppConfig; import com.yunbao.common.Constants; import com.yunbao.common.activity.AbsActivity; +import com.yunbao.common.bean.HttpCallbackModel; import com.yunbao.common.bean.UserBean; -import com.yunbao.common.http.HttpCallback; import com.yunbao.common.utils.RouteUtil; import com.yunbao.common.utils.ToastUtil; @@ -67,41 +66,43 @@ public class EditNameActivity extends AbsActivity { ToastUtil.show(R.string.edit_profile_name_empty); return; } - MainHttpUtil.updateFields("{\"user_nicename\":\"" + content + "\"}", new HttpCallback() { - @Override - public void onSuccess(int code, String msg, String[] info) { - if (code == 0) { - if (info.length > 0) { - JSONObject obj = JSON.parseObject(info[0]); - ToastUtil.show(obj.getString("msg")); - UserBean u = CommonAppConfig.getInstance().getUserBean(); - if (u != null) { - u.setUserNiceName(content); - V2TIMUserFullInfo v2TIMUserFullInfo = new V2TIMUserFullInfo(); - v2TIMUserFullInfo.setNickname(content); - V2TIMManager.getInstance().setSelfInfo(v2TIMUserFullInfo, new V2TIMCallback() { - @Override - public void onError(int code, String desc) { - } - @Override - public void onSuccess() { - } - }); - } - Intent intent = getIntent(); - intent.putExtra(Constants.NICK_NAME, content); - setResult(RESULT_OK, intent); - finish(); + OTONetManager.getInstance(EditNameActivity.this).setFiled("user_nicename", content, new com.yunbao.common.http.base.HttpCallback() { + @Override + public void onSuccess(HttpCallbackModel data) { + if (data.getCode() == 0) { + UserBean u = CommonAppConfig.getInstance().getUserBean(); + if (u != null) { + u.setUserNiceName(content); + V2TIMUserFullInfo v2TIMUserFullInfo = new V2TIMUserFullInfo(); + v2TIMUserFullInfo.setNickname(content); + V2TIMManager.getInstance().setSelfInfo(v2TIMUserFullInfo, new V2TIMCallback() { + @Override + public void onError(int code, String desc) { + } + + @Override + public void onSuccess() { + } + }); } - } else if (code == 2001) { + Intent intent = getIntent(); + intent.putExtra(Constants.NICK_NAME, content); + setResult(RESULT_OK, intent); + finish(); + } else if (data.getCode() == 2001) { //余额不足,跳转支付页面 RouteUtil.forwardMyCoin(mContext); - ToastUtil.show(msg); + ToastUtil.show(data.getMsg()); } else { - ToastUtil.show(msg); + ToastUtil.show(data.getMsg()); } } + + @Override + public void onError(String error) { + + } }); } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/user/EditProfileActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/user/EditProfileActivity.java index 6d744e31b..d5181c2b0 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/user/EditProfileActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/user/EditProfileActivity.java @@ -10,8 +10,6 @@ import android.widget.TextView; import android.widget.Toast; import com.alibaba.android.arouter.facade.annotation.Route; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; import com.bigkoo.pickerview.builder.TimePickerBuilder; import com.bigkoo.pickerview.listener.OnTimeSelectListener; import com.bigkoo.pickerview.view.TimePickerView; @@ -20,7 +18,6 @@ import com.sahooz.library.Country; import com.sahooz.library.CountryPicker; import com.sahooz.library.OnPick; import com.shayu.onetoone.R; -import com.shayu.onetoone.activity.login.CompleteActivity; import com.shayu.onetoone.bean.AvatarBean; import com.shayu.onetoone.manager.OTONetManager; import com.shayu.onetoone.manager.RouteManager; @@ -114,6 +111,12 @@ public class EditProfileActivity extends AbsActivity { showData(u); } }); + findViewById(R.id.btn_person).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + RouteManager.forwaradAuthActivity(); + } + }); /*if (mUserBean != null) { showData(mUserBean); } else { @@ -150,21 +153,23 @@ public class EditProfileActivity extends AbsActivity { avatarUrl = data.getAvatar(); ToastUtil.show("上传成功"); - OTONetManager.getInstance(mContext).setInfo(avatarUrl, mName.getText().toString(), userSex, mBirthday.getText().toString(), new com.yunbao.common.http.base.HttpCallback() { + OTONetManager.getInstance(EditProfileActivity.this).setFiled("avatar", avatarUrl, new com.yunbao.common.http.base.HttpCallback() { @Override public void onSuccess(HttpCallbackModel data) { - Toast.makeText(mContext, data.getMsg(), Toast.LENGTH_SHORT).show(); - V2TIMUserFullInfo v2TIMUserFullInfo = new V2TIMUserFullInfo(); - v2TIMUserFullInfo.setFaceUrl(avatarUrl); - V2TIMManager.getInstance().setSelfInfo(v2TIMUserFullInfo, new V2TIMCallback() { - @Override - public void onError(int code, String desc) { - } + if (data.getCode() == 0) { + Toast.makeText(mContext, data.getMsg(), Toast.LENGTH_SHORT).show(); + V2TIMUserFullInfo v2TIMUserFullInfo = new V2TIMUserFullInfo(); + v2TIMUserFullInfo.setFaceUrl(avatarUrl); + V2TIMManager.getInstance().setSelfInfo(v2TIMUserFullInfo, new V2TIMCallback() { + @Override + public void onError(int code, String desc) { + } - @Override - public void onSuccess() { - } - }); + @Override + public void onSuccess() { + } + }); + } } @Override @@ -189,7 +194,6 @@ public class EditProfileActivity extends AbsActivity { }); } - @Override public void onBackPressed() { if (userModel.getUserInfoComplete() == 1) { @@ -258,16 +262,22 @@ public class EditProfileActivity extends AbsActivity { @Override public void onSex(int sex) { userSex = sex; - MainHttpUtil.updateFields("{\"sex\":\"" + sex + "\"}", new HttpCallback() { + + + OTONetManager.getInstance(EditProfileActivity.this).setFiled("sex", String.valueOf(sex), new com.yunbao.common.http.base.HttpCallback() { @Override - public void onSuccess(int code, String msg, String[] info) { - if (code == 0 && info.length > 0) { - JSONObject obj = JSON.parseObject(info[0]); - ToastUtil.show(obj.getString("msg")); + public void onSuccess(HttpCallbackModel data) { + if (data.getCode() == 0) { + ToastUtil.show(data.getMsg()); userModel.setSex(sex); showData(userModel); } } + + @Override + public void onError(String error) { + + } }); } })).show(); @@ -276,26 +286,29 @@ public class EditProfileActivity extends AbsActivity { @Override public void onPick(final Country country) { mCity.setText(country.name); - MainHttpUtil.updateFields("{\"location\":\"" + country.name + "\"}", new HttpCallback() { - @Override - public void onSuccess(int code, String msg, String[] info) { - if (code == 0) { - JSONObject obj = JSON.parseObject(info[0]); - if (info.length > 0) { - UserBean u = CommonAppConfig.getInstance().getUserBean(); - if (u != null) { - u.setLocation(country.name); - } - if (userModel != null) { - userModel.setLocation(country.name); - } - showData(userModel); - EventBus.getDefault().post(new UpdateFieldEvent()); + OTONetManager.getInstance(EditProfileActivity.this).setFiled("location", country.name, new com.yunbao.common.http.base.HttpCallback() { + @Override + public void onSuccess(HttpCallbackModel data) { + if (data.getCode() == 0) { + ToastUtil.show(data.getMsg()); + UserBean u = CommonAppConfig.getInstance().getUserBean(); + if (u != null) { + u.setLocation(country.name); } - ToastUtil.show(obj.getString("msg")); + if (userModel != null) { + userModel.setLocation(country.name); + } + + showData(userModel); + EventBus.getDefault().post(new UpdateFieldEvent()); } } + + @Override + public void onError(String error) { + + } }); } }).show(getSupportFragmentManager(), "country"); @@ -305,6 +318,8 @@ public class EditProfileActivity extends AbsActivity { .putExtra("token", CommonAppConfig.getInstance().getToken()) .putExtra("isBind", isBind) .putExtra("mobile", mobile));*/ + } else if (i == R.id.auth) { + RouteManager.forwaradAuthActivity(); } } @@ -352,21 +367,23 @@ public class EditProfileActivity extends AbsActivity { avatarUrl = userAvatar1; ImgLoader.display(EditProfileActivity.this, avatarUrl, mAvatar); - OTONetManager.getInstance(mContext).setInfo(avatarUrl, mName.getText().toString(), userSex, mBirthday.getText().toString(), new com.yunbao.common.http.base.HttpCallback() { + OTONetManager.getInstance(EditProfileActivity.this).setFiled("avatar", avatarUrl, new com.yunbao.common.http.base.HttpCallback() { @Override public void onSuccess(HttpCallbackModel data) { Toast.makeText(mContext, data.getMsg(), Toast.LENGTH_SHORT).show(); - V2TIMUserFullInfo v2TIMUserFullInfo = new V2TIMUserFullInfo(); - v2TIMUserFullInfo.setFaceUrl(avatarUrl); - V2TIMManager.getInstance().setSelfInfo(v2TIMUserFullInfo, new V2TIMCallback() { - @Override - public void onError(int code, String desc) { - } + if (data.getCode() == 0) { + V2TIMUserFullInfo v2TIMUserFullInfo = new V2TIMUserFullInfo(); + v2TIMUserFullInfo.setFaceUrl(avatarUrl); + V2TIMManager.getInstance().setSelfInfo(v2TIMUserFullInfo, new V2TIMCallback() { + @Override + public void onError(int code, String desc) { + } - @Override - public void onSuccess() { - } - }); + @Override + public void onSuccess() { + } + }); + } } @Override @@ -374,7 +391,6 @@ public class EditProfileActivity extends AbsActivity { } }); - //txtChoose.setVisibility(View.GONE); }, isCamera -> { if (isCamera) { @@ -436,31 +452,31 @@ public class EditProfileActivity extends AbsActivity { month = calendar.get(Calendar.MONTH); day = calendar.get(Calendar.DAY_OF_MONTH); - String strbri = year + "-" + (month + 1) + "-" + day; + String strbir = year + "-" + (month + 1) + "-" + day; - mBirthday.setText(strbri); - - MainHttpUtil.updateFields("{\"birthday\":\"" + strbri + "\"}", new HttpCallback() { + mBirthday.setText(strbir); + OTONetManager.getInstance(EditProfileActivity.this).setFiled("birthday", strbir, new com.yunbao.common.http.base.HttpCallback() { @Override - public void onSuccess(int code, String msg, String[] info) { - if (code == 0) { - if (info.length > 0) { - ToastUtil.show(JSON.parseObject(info[0]).getString("msg")); - mUserBean.setBirthday(strbri); - mBirthday.setText(strbri); + public void onSuccess(HttpCallbackModel data) { + if (data.getCode() == 0) { + mUserBean.setBirthday(strbir); + mBirthday.setText(strbir); - if (userModel != null) { - userModel.setBirthday(strbri); - } - - showData(userModel); - EventBus.getDefault().post(new UpdateFieldEvent()); + if (userModel != null) { + userModel.setBirthday(strbir); } - } else { - ToastUtil.show(msg); + + showData(userModel); + EventBus.getDefault().post(new UpdateFieldEvent()); } } + + @Override + public void onError(String error) { + + } }); + } }).setCancelText("生日").setSubmitColor(getResources().getColor(R.color.blue01)).setSubmitText("完成").setContentTextSize(20).setDate(selectedDate).build(); pvTime.show(); @@ -704,21 +720,23 @@ public class EditProfileActivity extends AbsActivity { mCity.setText(location); } - MainHttpUtil.updateFields("{\"location\":\"" + location + "\"}", new HttpCallback() { + OTONetManager.getInstance(EditProfileActivity.this).setFiled("location", location, new com.yunbao.common.http.base.HttpCallback() { @Override - public void onSuccess(int code, String msg, String[] info) { - if (code == 0) { - JSONObject obj = JSON.parseObject(info[0]); - if (info.length > 0) { - UserBean u = CommonAppConfig.getInstance().getUserBean(); - if (u != null) { - u.setLocation(location); - } - EventBus.getDefault().post(new UpdateFieldEvent()); + public void onSuccess(HttpCallbackModel data) { + ToastUtil.show(data.getMsg()); + if (data.getCode() == 0) { + UserBean u = CommonAppConfig.getInstance().getUserBean(); + if (u != null) { + u.setLocation(location); } - ToastUtil.show(obj.getString("msg")); + EventBus.getDefault().post(new UpdateFieldEvent()); } } + + @Override + public void onError(String error) { + + } }); } }); diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/user/EditSignActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/user/EditSignActivity.java index 1fb2fb5f9..559ae0554 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/user/EditSignActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/user/EditSignActivity.java @@ -9,11 +9,13 @@ import android.widget.EditText; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.shayu.onetoone.R; +import com.shayu.onetoone.manager.OTONetManager; import com.shayu.onetoone.utils.MainHttpConsts; import com.shayu.onetoone.utils.MainHttpUtil; import com.yunbao.common.CommonAppConfig; import com.yunbao.common.Constants; import com.yunbao.common.activity.AbsActivity; +import com.yunbao.common.bean.HttpCallbackModel; import com.yunbao.common.bean.UserBean; import com.yunbao.common.http.HttpCallback; import com.yunbao.common.utils.ToastUtil; @@ -63,26 +65,29 @@ public class EditSignActivity extends AbsActivity { ToastUtil.show(R.string.edit_profile_sign_empty); return; } - MainHttpUtil.updateFields("{\"signature\":\"" + content + "\"}", new HttpCallback() { + + OTONetManager.getInstance(EditSignActivity.this).setFiled("signature", content, new com.yunbao.common.http.base.HttpCallback() { @Override - public void onSuccess(int code, String msg, String[] info) { - if (code == 0) { - if (info.length > 0) { - JSONObject obj = JSON.parseObject(info[0]); - ToastUtil.show(obj.getString("msg")); - UserBean u = CommonAppConfig.getInstance().getUserBean(); + public void onSuccess(HttpCallbackModel data) { + if (data.getCode() == 0) { + ToastUtil.show(data.getMsg()); + UserBean u = CommonAppConfig.getInstance().getUserBean(); // if (u != null) { // u.setUserNiceName(content); // } - Intent intent = getIntent(); - intent.putExtra(Constants.SIGN, content); - setResult(RESULT_OK, intent); - finish(); - } + Intent intent = getIntent(); + intent.putExtra(Constants.SIGN, content); + setResult(RESULT_OK, intent); + finish(); } else { - ToastUtil.show(msg); + ToastUtil.show(data.getMsg()); } } + + @Override + public void onError(String error) { + + } }); } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/bean/AuthBean.java b/OneToOne/src/main/java/com/shayu/onetoone/bean/AuthBean.java new file mode 100644 index 000000000..2bb6eba6b --- /dev/null +++ b/OneToOne/src/main/java/com/shayu/onetoone/bean/AuthBean.java @@ -0,0 +1,56 @@ +package com.shayu.onetoone.bean; + +import com.yunbao.common.bean.BaseModel; + +public class AuthBean extends BaseModel { + private int name_auth; //审核状态 1未提交 2通过 3已提交 4驳回 + private String auth_front; //身份证正面 + private String auth_back; //身份证反面 + private String auth_remark; //审核备注 + + public AuthBean(int name_auth, String auth_front, String auth_back, String auth_remark) { + this.name_auth = name_auth; + this.auth_front = auth_front; + this.auth_back = auth_back; + this.auth_remark = auth_remark; + } + + public int getName_auth() { + return name_auth; + } + + public void setName_auth(int name_auth) { + this.name_auth = name_auth; + } + + public String getAuth_front() { + return auth_front; + } + + public void setAuth_front(String auth_front) { + this.auth_front = auth_front; + } + + public String getAuth_back() { + return auth_back; + } + + public void setAuth_back(String auth_back) { + this.auth_back = auth_back; + } + + public String getAuth_remark() { + return auth_remark; + } + + public void setAuth_remark(String auth_remark) { + this.auth_remark = auth_remark; + } + + public AuthBean() { + + + } + + +} 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 8c912cbcd..fec7da482 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/manager/OTONetManager.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/manager/OTONetManager.java @@ -5,6 +5,7 @@ import android.net.Uri; import android.util.Log; import com.alibaba.fastjson.JSONObject; +import com.shayu.onetoone.bean.AuthBean; import com.shayu.onetoone.bean.AvatarBean; import com.shayu.onetoone.bean.ExchangeModel; import com.shayu.onetoone.bean.FollowBean; @@ -846,6 +847,85 @@ public class OTONetManager { }).isDisposed(); } + /** + * 设置 + */ + public void setFiled( + String key, String val, + HttpCallback callback) { + + API.get().otoApi(mContext).setFiled(key, val) + .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(); + } + + /** + * 實名認證 + */ + public void setAuthInfo( + String authFront, String authBack, + HttpCallback callback) { + + API.get().otoApi(mContext).setAuthInfo(authFront, authBack) + .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(); + } + + /** + * 获取实名认证 + * + * @param callback + */ + public void getAuthInfo(HttpCallback callback) { + API.get().otoApi(mContext) + .getAuthInfo() + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(model -> { + if (callback != null) { + callback.onSuccess(model.getData().getInfo()); + } + }, new Consumer() { + @Override + public void accept(Throwable throwable) throws Exception { + Log.e(TAG, "accept: ", throwable); + if (callback != null) { + callback.onError(mContext.getString(com.yunbao.common.R.string.net_error)); + } + } + }).isDisposed(); + } + /** * @param currencyType 1星币 2砖石 3社交新币种 * @param income 1收入 2支出 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 9bbddd3a9..59f3a139d 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/manager/RouteManager.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/manager/RouteManager.java @@ -28,6 +28,25 @@ public class RouteManager { //选择标签 public static final String ACTIVITY_CHOOSE_LABEL = "/activity/ChooseLabelActivity"; + //真人认证 + public static final String ACTIVITY_AUTH = "/activity/AuthActivity"; + //达人认证 + public static final String ACTIVITY_AUTH_BLOGGER = "/activity/AuthBloggerActivity"; + + /** + * 达人认证 + */ + public static void forwardAuthBloggerActivity() { + ARouter.getInstance().build(ACTIVITY_AUTH_BLOGGER).navigation(); + } + + /** + * 真人认证 + */ + public static void forwaradAuthActivity() { + ARouter.getInstance().build(ACTIVITY_AUTH).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 8e0354268..638448fd2 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/network/OneToOneApi.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/network/OneToOneApi.java @@ -1,5 +1,6 @@ package com.shayu.onetoone.network; +import com.shayu.onetoone.bean.AuthBean; import com.shayu.onetoone.bean.AvatarBean; import com.shayu.onetoone.bean.ExchangeModel; import com.shayu.onetoone.bean.FollowBean; @@ -237,6 +238,31 @@ public interface OneToOneApi { Observable>> getExchangeList( @Query("type") String type ); + /** + * 设置基本信息 + */ + @GET("/api/public/?service=Friendappinfos.setFiled") + Observable>> setFiled( + @Query("key") String key, + @Query("val") String val + ); + + /** + * 真人认证 + */ + @GET("/api/public/?service=Friendappinfos.setAuth") + Observable>> setAuthInfo( + @Query("auth_front") String authFront, + @Query("auth_back") String authBack + ); + + /** + * 获取真人认证信息 + */ + @GET("/api/public/?service=Friendappinfos.getAuth") + Observable> getAuthInfo( + ); + } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/upload/UploadBean.java b/OneToOne/src/main/java/com/shayu/onetoone/upload/UploadBean.java new file mode 100644 index 000000000..fb2c4fe99 --- /dev/null +++ b/OneToOne/src/main/java/com/shayu/onetoone/upload/UploadBean.java @@ -0,0 +1,65 @@ +package com.shayu.onetoone.upload; + +import java.io.File; + +/** + * 文件上傳 + */ + +public class UploadBean { + private File mOriginFile;//要被上传的源文件 + private String mRemoteFileName;//上传成功后在云存储上的文件名字 + private String mRemoteAccessUrl;//上传成功后在云存储上的访问地址 + private boolean mSuccess;//是否上传成功了 + + public UploadBean() { + } + + + public UploadBean(File originFile) { + mOriginFile = originFile; + } + + public File getOriginFile() { + return mOriginFile; + } + + public void setOriginFile(File originFile) { + mOriginFile = originFile; + } + + public String getRemoteFileName() { + return mRemoteFileName; + } + + public void setRemoteFileName(String remoteFileName) { + mRemoteFileName = remoteFileName; + } + + public String getRemoteAccessUrl() { + return mRemoteAccessUrl; + } + + public void setRemoteAccessUrl(String remoteAccessUrl) { + mRemoteAccessUrl = remoteAccessUrl; + } + + public boolean isSuccess() { + return mSuccess; + } + + public void setSuccess(boolean success) { + mSuccess = success; + } + + + public void setEmpty() { + mOriginFile = null; + mRemoteFileName = null; + mRemoteAccessUrl = null; + } + + public boolean isEmpty() { + return mOriginFile == null && mRemoteFileName == null && mRemoteAccessUrl == null; + } +} diff --git a/OneToOne/src/main/java/com/shayu/onetoone/upload/UploadCallback.java b/OneToOne/src/main/java/com/shayu/onetoone/upload/UploadCallback.java new file mode 100644 index 000000000..e6a0828d2 --- /dev/null +++ b/OneToOne/src/main/java/com/shayu/onetoone/upload/UploadCallback.java @@ -0,0 +1,11 @@ +package com.shayu.onetoone.upload; + +import java.util.List; + +/** + * 文件上传回调 + */ + +public interface UploadCallback { + void onFinish(List list, boolean success); +} diff --git a/OneToOne/src/main/java/com/shayu/onetoone/upload/UploadCustomImpl.java b/OneToOne/src/main/java/com/shayu/onetoone/upload/UploadCustomImpl.java new file mode 100644 index 000000000..9adb23803 --- /dev/null +++ b/OneToOne/src/main/java/com/shayu/onetoone/upload/UploadCustomImpl.java @@ -0,0 +1,91 @@ +package com.shayu.onetoone.upload; + +import android.content.Context; + +import com.shayu.onetoone.bean.AvatarBean; +import com.shayu.onetoone.manager.OTONetManager; +import com.yunbao.common.http.base.HttpCallback; + +import java.util.List; + + +/** + * 文件上传 + */ + +public class UploadCustomImpl implements UploadStrategy { + + private static final String TAG = "UploadQnImpl"; + private Context mContext; + private List mList; + private int mIndex; + private boolean mNeedCompress; + private UploadCallback mUploadCallback; + + public UploadCustomImpl(Context context) { + mContext = context; + } + + @Override + public void upload(List list, boolean needCompress, UploadCallback callback) { + if (callback == null) { + return; + } + if (list == null || list.size() == 0) { + callback.onFinish(list, false); + return; + } + boolean hasFile = false; + for (UploadBean bean : list) { + if (bean.getOriginFile() != null) { + hasFile = true; + break; + } + } + if (!hasFile) { + callback.onFinish(list, true); + return; + } + mList = list; + mNeedCompress = needCompress; + mUploadCallback = callback; + mIndex = 0; + uploadNext(); + } + + @Override + public void cancelUpload() { + } + + private void uploadNext() { + UploadBean bean = null; + while (mIndex < mList.size() && (bean = mList.get(mIndex)).getOriginFile() == null) { + mIndex++; + } + if (mIndex >= mList.size() || bean == null) { + if (mUploadCallback != null) { + mUploadCallback.onFinish(mList, true); + } + return; + } + upload(bean); + } + + private void upload(UploadBean bean) { + OTONetManager.getInstance(mContext).updateFile(bean.getOriginFile(), new HttpCallback() { + @Override + public void onSuccess(AvatarBean data) { + if (data != null) { + bean.setRemoteAccessUrl(data.getAvatar()); + bean.setSuccess(true); + uploadNext(); + } + } + + @Override + public void onError(String error) { + + } + }); + } +} diff --git a/OneToOne/src/main/java/com/shayu/onetoone/upload/UploadStrategy.java b/OneToOne/src/main/java/com/shayu/onetoone/upload/UploadStrategy.java new file mode 100644 index 000000000..79a0f1bb2 --- /dev/null +++ b/OneToOne/src/main/java/com/shayu/onetoone/upload/UploadStrategy.java @@ -0,0 +1,24 @@ +package com.shayu.onetoone.upload; + +import java.util.List; + +/** + * + */ + +public interface UploadStrategy { + + /** + * 执行上传 + * + * @param list 被上传的文件列表 + * @param needCompress 是否需要压缩 + * @param callback 上传回调 + */ + void upload(List list, boolean needCompress, UploadCallback callback); + + /** + * 取消上传 + */ + void cancelUpload(); +} diff --git a/OneToOne/src/main/java/com/shayu/onetoone/utils/MainHttpUtil.java b/OneToOne/src/main/java/com/shayu/onetoone/utils/MainHttpUtil.java index fd0d4179d..35c1b01e1 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/utils/MainHttpUtil.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/utils/MainHttpUtil.java @@ -404,8 +404,8 @@ public class MainHttpUtil { * @param fields 用户资料 ,以json形式出现 */ public static void updateFields(String fields, HttpCallback callback) { - HttpClient.getInstance().get("User.updateFields", MainHttpConsts.UPDATE_FIELDS) - .params("fields", fields) + HttpClient.getInstance().get("Friendappinfos.setFiled", MainHttpConsts.UPDATE_FIELDS) + .params("key", fields) .execute(callback); } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/view/UserAuthPopup.java b/OneToOne/src/main/java/com/shayu/onetoone/view/UserAuthPopup.java new file mode 100644 index 000000000..3e6180d2d --- /dev/null +++ b/OneToOne/src/main/java/com/shayu/onetoone/view/UserAuthPopup.java @@ -0,0 +1,71 @@ +package com.shayu.onetoone.view; + +import android.content.Context; +import android.view.View; +import android.widget.ImageView; + +import androidx.annotation.NonNull; + +import com.lxj.xpopup.core.BottomPopupView; +import com.shayu.onetoone.R; + +public class UserAuthPopup extends BottomPopupView implements View.OnClickListener { + + private ImageView camera; + private ImageView album; + private Context mContext; + + public interface OnItemClickListener { + void onItemClick(String userAvatar); + } + + private onIsCameraClickListener onIsCameraClickListener; + + public interface onIsCameraClickListener { + void onIsCamera(boolean isCamera); + } + + public UserAuthPopup(@NonNull Context context, onIsCameraClickListener onIsCameraClickListener) { + super(context); + this.mContext = context; + this.onIsCameraClickListener = onIsCameraClickListener; + } + + @Override + public void onClick(View v) { + + } + + // 返回自定义弹窗的布局 + @Override + protected int getImplLayoutId() { + return R.layout.dialog_auth_avatar; + } + + // 执行初始化操作,比如:findView,设置点击,或者任何你弹窗内的业务逻辑 + @Override + protected void onCreate() { + super.onCreate(); + initView(); + } + + + private void initView() { + 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_auth_submit_1.xml b/OneToOne/src/main/res/drawable/bg_auth_submit_1.xml new file mode 100644 index 000000000..f8b9a6cc6 --- /dev/null +++ b/OneToOne/src/main/res/drawable/bg_auth_submit_1.xml @@ -0,0 +1,12 @@ + + + + + + + + + \ No newline at end of file diff --git a/OneToOne/src/main/res/drawable/bg_auth_submit_2.xml b/OneToOne/src/main/res/drawable/bg_auth_submit_2.xml new file mode 100644 index 000000000..d481ab93c --- /dev/null +++ b/OneToOne/src/main/res/drawable/bg_auth_submit_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + \ No newline at end of file diff --git a/OneToOne/src/main/res/drawable/bg_edit.xml b/OneToOne/src/main/res/drawable/bg_edit.xml new file mode 100644 index 000000000..028e6d71e --- /dev/null +++ b/OneToOne/src/main/res/drawable/bg_edit.xml @@ -0,0 +1,12 @@ + + + + + + + + + \ No newline at end of file diff --git a/OneToOne/src/main/res/layout/activity_auth.xml b/OneToOne/src/main/res/layout/activity_auth.xml new file mode 100644 index 000000000..27c50a518 --- /dev/null +++ b/OneToOne/src/main/res/layout/activity_auth.xml @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/OneToOne/src/main/res/layout/activity_auth_blogger.xml b/OneToOne/src/main/res/layout/activity_auth_blogger.xml new file mode 100644 index 000000000..e88e72a41 --- /dev/null +++ b/OneToOne/src/main/res/layout/activity_auth_blogger.xml @@ -0,0 +1,311 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/OneToOne/src/main/res/layout/activity_edit_profile.xml b/OneToOne/src/main/res/layout/activity_edit_profile.xml index 9b7d594b3..ad6db5e99 100644 --- a/OneToOne/src/main/res/layout/activity_edit_profile.xml +++ b/OneToOne/src/main/res/layout/activity_edit_profile.xml @@ -8,417 +8,400 @@ - + - + - + - + - + - + - + - + - + - - - - + + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - + - - - - - - - - - - - - - - - - + - + - + - + - + - - + - + + - + - - + - - + - + - + - + + - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OneToOne/src/main/res/layout/item_auth_blogger_img.xml b/OneToOne/src/main/res/layout/item_auth_blogger_img.xml new file mode 100644 index 000000000..63b4d5bfa --- /dev/null +++ b/OneToOne/src/main/res/layout/item_auth_blogger_img.xml @@ -0,0 +1,24 @@ + + + + + + + \ No newline at end of file diff --git a/OneToOne/src/main/res/mipmap-xxhdpi/auth_add_bg.png b/OneToOne/src/main/res/mipmap-xxhdpi/auth_add_bg.png new file mode 100644 index 000000000..03d248eb2 Binary files /dev/null and b/OneToOne/src/main/res/mipmap-xxhdpi/auth_add_bg.png differ diff --git a/OneToOne/src/main/res/mipmap-xxhdpi/auth_add_img.png b/OneToOne/src/main/res/mipmap-xxhdpi/auth_add_img.png new file mode 100644 index 000000000..c47ff9369 Binary files /dev/null and b/OneToOne/src/main/res/mipmap-xxhdpi/auth_add_img.png differ diff --git a/OneToOne/src/main/res/mipmap-xxhdpi/auth_img.png b/OneToOne/src/main/res/mipmap-xxhdpi/auth_img.png new file mode 100644 index 000000000..71bde5bed Binary files /dev/null and b/OneToOne/src/main/res/mipmap-xxhdpi/auth_img.png differ diff --git a/OneToOne/src/main/res/mipmap-xxhdpi/icon_add.png b/OneToOne/src/main/res/mipmap-xxhdpi/icon_add.png new file mode 100644 index 000000000..9bc6626dc Binary files /dev/null and b/OneToOne/src/main/res/mipmap-xxhdpi/icon_add.png differ diff --git a/OneToOne/src/main/res/mipmap-xxhdpi/sex_radio_1.png b/OneToOne/src/main/res/mipmap-xxhdpi/sex_radio_1.png new file mode 100644 index 000000000..ea1be287d Binary files /dev/null and b/OneToOne/src/main/res/mipmap-xxhdpi/sex_radio_1.png differ diff --git a/OneToOne/src/main/res/mipmap-xxhdpi/sex_radio_2.png b/OneToOne/src/main/res/mipmap-xxhdpi/sex_radio_2.png new file mode 100644 index 000000000..1267f26c7 Binary files /dev/null and b/OneToOne/src/main/res/mipmap-xxhdpi/sex_radio_2.png differ diff --git a/app/agconnect-services.json b/app/agconnect-services.json deleted file mode 100644 index 34dcec94e..000000000 --- a/app/agconnect-services.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "agcgw":{ - "backurl":"connect-drcn.hispace.hicloud.com", - "url":"connect-drcn.dbankcloud.cn", - "websocketbackurl":"connect-ws-drcn.hispace.dbankcloud.com", - "websocketurl":"connect-ws-drcn.hispace.dbankcloud.cn" - }, - "agcgw_all":{ - "CN":"connect-drcn.dbankcloud.cn", - "CN_back":"connect-drcn.hispace.hicloud.com", - "DE":"connect-dre.dbankcloud.cn", - "DE_back":"connect-dre.hispace.hicloud.com", - "RU":"connect-drru.hispace.dbankcloud.ru", - "RU_back":"connect-drru.hispace.dbankcloud.cn", - "SG":"connect-dra.dbankcloud.cn", - "SG_back":"connect-dra.hispace.hicloud.com" - }, - "websocketgw_all":{ - "CN":"connect-ws-drcn.hispace.dbankcloud.cn", - "CN_back":"connect-ws-drcn.hispace.dbankcloud.com", - "DE":"connect-ws-dre.hispace.dbankcloud.cn", - "DE_back":"connect-ws-dre.hispace.dbankcloud.com", - "RU":"connect-ws-drru.hispace.dbankcloud.ru", - "RU_back":"connect-ws-drru.hispace.dbankcloud.cn", - "SG":"connect-ws-dra.hispace.dbankcloud.cn", - "SG_back":"connect-ws-dra.hispace.dbankcloud.com" - }, - "client":{ - "cp_id":"30086000612391734", - "product_id":"99536292102564216", - "client_id":"964994320723627840", - "client_secret":"6D5FE29D85B967D3A66BDCD473641E4C7B5524F7F4935CA0EF4A842730C3402D", - "project_id":"99536292102564216", - "app_id":"106936673", - "api_key":"DAEDADYGta/0O4ZSdrnug52NgC67/w/RIyTq9A8LyAY0+mp6g6XeJDbxugpluFPLAhaqjaMs5c0PLnRx14UzWbPPADgi1EqihbWLoA==", - "package_name":"com.pdlive.shayu" - }, - "oauth_client":{ - "client_id":"106936673", - "client_type":1 - }, - "app_info":{ - "app_id":"106936673", - "package_name":"com.pdlive.shayu" - }, - "service":{ - "analytics":{ - "collector_url":"datacollector-drcn.dt.hicloud.com,datacollector-drcn.dt.dbankcloud.cn", - "collector_url_ru":"datacollector-drru.dt.dbankcloud.ru,datacollector-drru.dt.hicloud.com", - "collector_url_sg":"datacollector-dra.dt.hicloud.com,datacollector-dra.dt.dbankcloud.cn", - "collector_url_de":"datacollector-dre.dt.hicloud.com,datacollector-dre.dt.dbankcloud.cn", - "collector_url_cn":"datacollector-drcn.dt.hicloud.com,datacollector-drcn.dt.dbankcloud.cn", - "resource_id":"p1", - "channel_id":"" - }, - "search":{ - "url":"https://search-drcn.cloud.huawei.com" - }, - "cloudstorage":{ - "storage_url_sg_back":"https://agc-storage-dra.cloud.huawei.asia", - "storage_url_ru_back":"https://agc-storage-drru.cloud.huawei.ru", - "storage_url_ru":"https://agc-storage-drru.cloud.huawei.ru", - "storage_url_de_back":"https://agc-storage-dre.cloud.huawei.eu", - "storage_url_de":"https://ops-dre.agcstorage.link", - "storage_url":"https://agc-storage-drcn.platform.dbankcloud.cn", - "storage_url_sg":"https://ops-dra.agcstorage.link", - "storage_url_cn_back":"https://agc-storage-drcn.cloud.huawei.com.cn", - "storage_url_cn":"https://agc-storage-drcn.platform.dbankcloud.cn" - }, - "ml":{ - "mlservice_url":"ml-api-drcn.ai.dbankcloud.com,ml-api-drcn.ai.dbankcloud.cn" - } - }, - "region":"CN", - "configuration_version":"3.0", - "appInfos":[ - { - "package_name":"com.pdlive.shayu", - "client":{ - "app_id":"106936673" - }, - "app_info":{ - "package_name":"com.pdlive.shayu", - "app_id":"106936673" - }, - "oauth_client":{ - "client_type":1, - "client_id":"106936673" - } - } - ] -} \ No newline at end of file diff --git a/app/google-services.json b/app/google-services.json index fca7df245..4daabca5a 100644 --- a/app/google-services.json +++ b/app/google-services.json @@ -1,65 +1,58 @@ { "project_info": { - "project_number": "292494634914", - "project_id": "pdlive-1631521064967", - "storage_bucket": "pdlive-1631521064967.appspot.com" + "project_number": "903482201540", + "project_id": "onetoone-71170", + "storage_bucket": "onetoone-71170.appspot.com" }, "client": [ { "client_info": { - "mobilesdk_app_id": "1:292494634914:android:d8db197d7e7a6c3a3a4cfb", + "mobilesdk_app_id": "1:903482201540:android:132978cdf497f4d8634091", "android_client_info": { - "package_name": "com.pdlive.shayu" + "package_name": "com.shayu.onetoonenew" } }, "oauth_client": [ { - "client_id": "292494634914-8nuhhoeo061ki1jevbcsrl7dfdl6dlm0.apps.googleusercontent.com", + "client_id": "903482201540-ddno3ro8fp0lqqoeodbhbnpqf7f8d439.apps.googleusercontent.com", "client_type": 1, "android_info": { - "package_name": "com.pdlive.shayu", - "certificate_hash": "38cc19306c9facee36a9224e9a4070bc0be15c7d" - } - }, - { - "client_id": "292494634914-ctr3fptp5mkv2qqr4gkgjo9uluq2joqb.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "com.pdlive.shayu", - "certificate_hash": "15fc5e70cf238323bf7111c8c627803985478e87" - } - }, - { - "client_id": "292494634914-ejtqvaj86a2lldv0di2pr3d5gngprahd.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "com.pdlive.shayu", + "package_name": "com.shayu.onetoonenew", "certificate_hash": "b66dc8d21cfcf6c729577ddcf0c312b2a31ed872" } }, { - "client_id": "292494634914-ha2kbgtclkv20hl3a1l8r7861a1a0m5i.apps.googleusercontent.com", + "client_id": "903482201540-e9ua9huoejtubp7pgsbu3iq76tqkoorp.apps.googleusercontent.com", + "client_type": 1, + "android_info": { + "package_name": "com.shayu.onetoonenew", + "certificate_hash": "15fc5e70cf238323bf7111c8c627803985478e87" + } + }, + { + "client_id": "903482201540-k3cffuuhsed23kkiuopufhf54ano7do4.apps.googleusercontent.com", + "client_type": 1, + "android_info": { + "package_name": "com.shayu.onetoonenew", + "certificate_hash": "38cc19306c9facee36a9224e9a4070bc0be15c7d" + } + }, + { + "client_id": "903482201540-s2j96h6k7go0ah51ksi7es8mt7qhankh.apps.googleusercontent.com", "client_type": 3 } ], "api_key": [ { - "current_key": "AIzaSyDVnuGnQzjI_vDrxh20Hv_S1OMUD7Vp3zU" + "current_key": "AIzaSyCrhj-7WjwdYUHBMzz9Ntie_S474slGjVY" } ], "services": { "appinvite_service": { "other_platform_oauth_client": [ { - "client_id": "292494634914-ha2kbgtclkv20hl3a1l8r7861a1a0m5i.apps.googleusercontent.com", + "client_id": "903482201540-s2j96h6k7go0ah51ksi7es8mt7qhankh.apps.googleusercontent.com", "client_type": 3 - }, - { - "client_id": "292494634914-v9j4rei86q2pfh9as4seotb23vr2744a.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "com.live.pd" - } } ] } diff --git a/common/src/main/java/com/yunbao/common/utils/DialogUitl.java b/common/src/main/java/com/yunbao/common/utils/DialogUitl.java index 347023335..58a24e572 100644 --- a/common/src/main/java/com/yunbao/common/utils/DialogUitl.java +++ b/common/src/main/java/com/yunbao/common/utils/DialogUitl.java @@ -69,7 +69,8 @@ public class DialogUitl { } return dialog; } - public static void showToast(Context context,String content,long delayMillis){ + + public static void showToast(Context context, String content, long delayMillis) { Dialog dialog = new Dialog(context, R.style.dialog); dialog.setContentView(R.layout.dialog_toast); dialog.setCancelable(false); @@ -82,7 +83,7 @@ public class DialogUitl { } } dialog.show(); - new Handler(Looper.getMainLooper()).postDelayed(dialog::dismiss,delayMillis); + new Handler(Looper.getMainLooper()).postDelayed(dialog::dismiss, delayMillis); } @@ -90,6 +91,10 @@ public class DialogUitl { return loadingDialog(context, ""); } + public static Dialog loadingDialogContent(Context context, String content) { + return loadingDialog(context, content); + } + public static void showSimpleTipDialog(Context context, String content) { showSimpleTipDialog(context, null, content); } @@ -483,8 +488,8 @@ public class DialogUitl { mClickCallback3.onConfirmClick(dialog); } if (mSimpleCallbackView != null) { - mSimpleCallbackView.onConfirmClick(dialog,titleView, content, btnConfirm, btnCancel); - }else{ + mSimpleCallbackView.onConfirmClick(dialog, titleView, content, btnConfirm, btnCancel); + } else { dialog.dismiss(); } @@ -501,8 +506,8 @@ public class DialogUitl { ((SimpleCallback2) mClickCallback).onCancelClick(); } if (mSimpleCallbackView != null) { - mSimpleCallbackView.onCancel(dialog,titleView, content, btnConfirm, btnCancel); - }else{ + mSimpleCallbackView.onCancel(dialog, titleView, content, btnConfirm, btnCancel); + } else { dialog.dismiss(); } } @@ -510,17 +515,17 @@ public class DialogUitl { } } }; - if(btnConfirm!=null) { + if (btnConfirm != null) { btnConfirm.setOnClickListener(listener); } - if(btnCancel!=null) { + if (btnCancel != null) { btnCancel.setOnClickListener(listener); } dialog.setOnShowListener(new DialogInterface.OnShowListener() { @Override public void onShow(DialogInterface dialogInterface) { if (mSimpleCallbackView != null) { - mSimpleCallbackView.onShow(dialog,titleView, content, btnConfirm, btnCancel); + mSimpleCallbackView.onShow(dialog, titleView, content, btnConfirm, btnCancel); } } }); diff --git a/common/src/main/java/com/yunbao/common/utils/ProcessImageUtil.java b/common/src/main/java/com/yunbao/common/utils/ProcessImageUtil.java index b87ea9ae8..463e44a1b 100644 --- a/common/src/main/java/com/yunbao/common/utils/ProcessImageUtil.java +++ b/common/src/main/java/com/yunbao/common/utils/ProcessImageUtil.java @@ -158,7 +158,6 @@ public class ProcessImageUtil extends ProcessResultUtil { requestPermissions(mAlumbPermissions, mAlumbPermissionCallback); } - /** * 开启摄像头,执行照相 */ diff --git a/common/src/main/res/values-en-rUS/string.xml b/common/src/main/res/values-en-rUS/string.xml index e784a8e72..c666576fa 100644 --- a/common/src/main/res/values-en-rUS/string.xml +++ b/common/src/main/res/values-en-rUS/string.xml @@ -787,8 +787,6 @@ For the time being, it is only open to the anchor - 2011402032399020 - 959584e054a33614996361f0044e5253 ui10vIggex2F043HnztYNuA3g J8jvBBeJoZbVojbkWUrvsj0K0UUkuV69CqQ7CEobhJn6tvAKpQ diff --git a/common/src/main/res/values-zh-rHK/strings.xml b/common/src/main/res/values-zh-rHK/strings.xml index 3742dc4ea..b3fedc05d 100644 --- a/common/src/main/res/values-zh-rHK/strings.xml +++ b/common/src/main/res/values-zh-rHK/strings.xml @@ -828,8 +828,6 @@ 暫時只對主播開放 - 2011402032399020 - 959584e054a33614996361f0044e5253 ui10vIggex2F043HnztYNuA3g J8jvBBeJoZbVojbkWUrvsj0K0UUkuV69CqQ7CEobhJn6tvAKpQ diff --git a/common/src/main/res/values-zh-rTW/strings.xml b/common/src/main/res/values-zh-rTW/strings.xml index df1963a96..f609f3ef0 100644 --- a/common/src/main/res/values-zh-rTW/strings.xml +++ b/common/src/main/res/values-zh-rTW/strings.xml @@ -828,8 +828,6 @@ 暫時只對主播開放 - 2011402032399020 - 959584e054a33614996361f0044e5253 ui10vIggex2F043HnztYNuA3g J8jvBBeJoZbVojbkWUrvsj0K0UUkuV69CqQ7CEobhJn6tvAKpQ diff --git a/common/src/main/res/values-zh/strings.xml b/common/src/main/res/values-zh/strings.xml index 5e5f3715a..e9f0715e6 100644 --- a/common/src/main/res/values-zh/strings.xml +++ b/common/src/main/res/values-zh/strings.xml @@ -828,8 +828,6 @@ 暫時只對主播開放 - 2011402032399020 - 959584e054a33614996361f0044e5253 ui10vIggex2F043HnztYNuA3g J8jvBBeJoZbVojbkWUrvsj0K0UUkuV69CqQ7CEobhJn6tvAKpQ diff --git a/common/src/main/res/values/strings.xml b/common/src/main/res/values/strings.xml index 7ffd31c41..8e9e4e8fa 100644 --- a/common/src/main/res/values/strings.xml +++ b/common/src/main/res/values/strings.xml @@ -787,8 +787,8 @@ For the time being, it is only open to the anchor - 2011402032399020 - 959584e054a33614996361f0044e5253 + 391137926073929 + 64dbc61681a4492544be268eb1084c3e ui10vIggex2F043HnztYNuA3g J8jvBBeJoZbVojbkWUrvsj0K0UUkuV69CqQ7CEobhJn6tvAKpQ