123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393 |
- package com.liaobo.im.fragment;
- import android.app.Activity;
- import android.content.BroadcastReceiver;
- import android.content.Context;
- import android.content.Intent;
- import android.content.IntentFilter;
- import android.os.Bundle;
- import android.text.TextUtils;
- import android.view.View;
- import android.widget.ImageView;
- import android.widget.TextView;
- import com.liaobo.im.AppConstant;
- import com.liaobo.im.R;
- import com.liaobo.im.Reporter;
- import com.liaobo.im.bean.CertificationBean;
- import com.liaobo.im.bean.User;
- import com.liaobo.im.broadcast.OtherBroadcast;
- import com.liaobo.im.course.LocalCourseActivity;
- import com.liaobo.im.db.InternationalizationHelper;
- import com.liaobo.im.db.SQLiteHelper;
- import com.liaobo.im.db.dao.FriendDao;
- import com.liaobo.im.db.dao.UserDao;
- import com.liaobo.im.helper.AvatarHelper;
- import com.liaobo.im.pay.PaymentActivity;
- import com.liaobo.im.ui.MainActivity;
- import com.liaobo.im.ui.account.SignInActivity;
- import com.liaobo.im.ui.base.BaseChatActivity;
- import com.liaobo.im.ui.base.EasyFragment;
- import com.liaobo.im.ui.circle.BusinessCircleActivity;
- import com.liaobo.im.ui.contacts.RoomActivity;
- import com.liaobo.im.ui.dialog.VerifiedDialogView;
- import com.liaobo.im.ui.me.AccessibilityActivity;
- import com.liaobo.im.ui.me.BasicInfoEditActivity;
- import com.liaobo.im.ui.me.MyCollection;
- import com.liaobo.im.ui.me.MyInfoActivity;
- import com.liaobo.im.ui.me.SelectFriendsActivity;
- import com.liaobo.im.ui.me.SettingActivity;
- import com.liaobo.im.ui.me.redpacket.MyRedPacketActivity;
- import com.liaobo.im.ui.me.redpacket.WxPayBlance;
- import com.liaobo.im.ui.tool.SingleImagePreviewActivity;
- import com.liaobo.im.ui.tool.WebViewActivity;
- import com.liaobo.im.util.AsyncUtils;
- import com.liaobo.im.util.Constants;
- import com.liaobo.im.util.PreferenceUtils;
- import com.liaobo.im.util.SkinUtils;
- import com.liaobo.im.util.ToastUtil;
- import com.liaobo.im.util.UiUtils;
- import com.liaobo.im.xuan.xuanhttplibrary.okhttp.HttpUtils;
- import com.liaobo.im.xuan.xuanhttplibrary.okhttp.callback.BaseCallback;
- import com.liaobo.im.xuan.xuanhttplibrary.okhttp.result.ObjectResult;
- import org.jetbrains.anko.ToastsKt;
- import java.util.HashMap;
- import java.util.Map;
- import okhttp3.Call;
- public class MeFragment extends EasyFragment implements View.OnClickListener {
- private TextView mTvTitle;
- private ImageView mAvatarImg;
- private TextView mNickNameTv;
- private TextView mPhoneNumTv;
- private TextView skyTv, setTv;
- private boolean isVerified = false;
- private BroadcastReceiver mUpdateReceiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- String action = intent.getAction();
- if (TextUtils.equals(action, OtherBroadcast.SYNC_SELF_DATE_NOTIFY)) {
- updateUI();
- }
- }
- };
- public MeFragment() {
- }
- @Override
- protected int inflateLayoutId() {
- return R.layout.fragment_me;
- }
- @Override
- protected void onActivityCreated(Bundle savedInstanceState, boolean createView) {
- if (createView) {
- initView();
- }
- }
- @Override
- public void onResume() {
- super.onResume();
- updateUI();
- updateSelfData();
- }
- @Override
- public void onDestroy() {
- super.onDestroy();
- getActivity().unregisterReceiver(mUpdateReceiver);
- }
- private void initView() {
- findViewById(R.id.iv_title_left).setVisibility(View.GONE);
- mTvTitle = (TextView) findViewById(R.id.tv_title_center);
- mTvTitle.setText(R.string.me_title);
- skyTv = (TextView) findViewById(R.id.MySky);
- setTv = (TextView) findViewById(R.id.SettingTv);
- skyTv.setText(getString(R.string.my_moments));
- setTv.setText(InternationalizationHelper.getString("JXSettingVC_Set"));
- findViewById(R.id.info_rl).setOnClickListener(this);
- findViewById(R.id.live_rl).setOnClickListener(this);
- findViewById(R.id.douyin_rl).setOnClickListener(this);
- findViewById(R.id.ll_more).setVisibility(View.GONE);
- findViewById(R.id.my_monry).setOnClickListener(this);
- findViewById(R.id.my_mall_rl).setOnClickListener(this);
- // 关闭红包功能,隐藏我的钱包
- if (coreManager.getConfig().displayRedPacket) { // 切换新旧两种ui对应我的页面是否显示视频会议、直播、短视频,
- findViewById(R.id.my_monry).setVisibility(View.GONE);
- }
- findViewById(R.id.my_space_rl).setOnClickListener(this);
- findViewById(R.id.my_collection_rl).setOnClickListener(this);
- findViewById(R.id.local_course_rl).setOnClickListener(this);
- findViewById(R.id.setting_rl).setOnClickListener(this);
- findViewById(R.id.send_gMessage_rl).setOnClickListener(this);
- findViewById(R.id.my_sign_rl).setOnClickListener(this);
- findViewById(R.id.receipt_payment).setOnClickListener(this);
- mAvatarImg = (ImageView) findViewById(R.id.avatar_img);
- mNickNameTv = (TextView) findViewById(R.id.nick_name_tv);
- mPhoneNumTv = (TextView) findViewById(R.id.phone_number_tv);
- String loginUserId = coreManager.getSelf().getUserId();
- AvatarHelper.getInstance().displayAvatar(coreManager.getSelf().getNickName(), loginUserId, mAvatarImg, false);
- mNickNameTv.setText(coreManager.getSelf().getNickName());
- mAvatarImg.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(getActivity(), SingleImagePreviewActivity.class);
- intent.putExtra(AppConstant.EXTRA_IMAGE_URI, coreManager.getSelf().getUserId());
- startActivity(intent);
- }
- });
- findViewById(R.id.llFriend).setOnClickListener(v -> {
- MainActivity activity = (MainActivity) requireActivity();
- activity.changeTab(R.id.rb_tab_2);
- });
- findViewById(R.id.rlt_red_packet_record).setOnClickListener(this);
- findViewById(R.id.rlt_real_name_auth).setOnClickListener(this);
- findViewById(R.id.llGroup).setOnClickListener(v -> RoomActivity.start(requireContext()));
- findViewById(R.id.rlt_accessibility).setOnClickListener(this);
- initTitleBackground();
- IntentFilter intentFilter = new IntentFilter();
- intentFilter.addAction(OtherBroadcast.SYNC_SELF_DATE_NOTIFY);
- getActivity().registerReceiver(mUpdateReceiver, intentFilter);
- }
- private void initTitleBackground() {
- SkinUtils.Skin skin = SkinUtils.getSkin(requireContext());
- int primaryColor = skin.getPrimaryColor();
- findViewById(R.id.tool_bar).setBackground(getActivity().getResources().getDrawable(R.drawable.shape_main_bg));
- }
- @Override
- public void onClick(View v) {
- if (!UiUtils.isNormalClick(v)) {
- return;
- }
- int id = v.getId();
- switch (id) {
- case R.id.info_rl:
- // 我的资料
- // startActivityForResult(new Intent(getActivity(), BasicInfoEditActivity.class), 1);
- startActivityForResult(new Intent(getActivity(), MyInfoActivity.class), 1);
- break;
- case R.id.my_monry:
- // 我的钱包
- // if (!isVerified) {
- // checkVerified();
- // return;
- // }
- startActivity(new Intent(getActivity(), WxPayBlance.class));
- break;
- case R.id.my_space_rl:
- // 我的动态
- Intent intent = new Intent(getActivity(), BusinessCircleActivity.class);
- intent.putExtra(AppConstant.EXTRA_CIRCLE_TYPE, AppConstant.CIRCLE_TYPE_PERSONAL_SPACE);
- startActivity(intent);
- break;
- case R.id.my_collection_rl:
- // 我的收藏
- startActivity(new Intent(getActivity(), MyCollection.class));
- break;
- case R.id.local_course_rl:
- // 我的课件
- startActivity(new Intent(getActivity(), LocalCourseActivity.class));
- break;
- case R.id.setting_rl:
- // 设置
- startActivity(new Intent(getActivity(), SettingActivity.class));
- break;
- case R.id.send_gMessage_rl:
- // 群发消息
- startActivity(new Intent(getActivity(), SelectFriendsActivity.class));
- break;
- case R.id.my_mall_rl:
- Intent intentWeb = new Intent(getActivity(), WebViewActivity.class);
- intentWeb.putExtra(WebViewActivity.EXTRA_URL, "http://www.vly166.com/index.php");
- getActivity().startActivity(intentWeb);
- break;
- case R.id.my_sign_rl:
- if (!isVerified) {
- checkVerified();
- return;
- }
- startActivity(new Intent(getActivity(), SignInActivity.class));
- break;
- case R.id.receipt_payment:
- // 收付款
- startActivity(new Intent(getActivity(), PaymentActivity.class));
- break;
- case R.id.rlt_red_packet_record:
- //红包记录
- startActivity(new Intent(getContext(), MyRedPacketActivity.class));
- break;
- case R.id.rlt_real_name_auth:
- //实名认证
- if (isVerified){
- ToastsKt.toast(getActivity(),"已完成实名认证");
- }else {
- checkVerified();
- }
- break;
- case R.id.rlt_accessibility:
- startActivity(new Intent(getContext(), AccessibilityActivity.class));
- break;
- }
- }
- private void checkVerified(){
- new VerifiedDialogView(getActivity(), new VerifiedDialogView.OnVerifiedListener() {
- @Override
- public void click(String name, String id) {
- makeVerified(name, id);
- }
- }).show();
- }
- @Override
- public void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- if (requestCode == 1 || resultCode == Activity.RESULT_OK) {// 个人资料更新了
- updateUI();
- }
- }
- /**
- * 用户的信息更改的时候,ui更新
- */
- private void updateUI() {
- if (mAvatarImg != null) {
- AvatarHelper.getInstance().displayAvatar(coreManager.getSelf().getUserId(), mAvatarImg, true);
- }
- isVerified = TextUtils.equals(PreferenceUtils.getString(getContext(), "isVerified"), "true");
- if (mNickNameTv != null) {
- mNickNameTv.setText(coreManager.getSelf().getNickName());
- }
- if (mPhoneNumTv != null) {
- String phoneNumber = coreManager.getSelf().getTelephone();
- int mobilePrefix = PreferenceUtils.getInt(getContext(), Constants.AREA_CODE_KEY, -1);
- String sPrefix = String.valueOf(mobilePrefix);
- // 删除开头的区号,
- if (phoneNumber.startsWith(sPrefix)) {
- phoneNumber = phoneNumber.substring(sPrefix.length());
- }
- mPhoneNumTv.setText(phoneNumber);
- }
- AsyncUtils.doAsync(this, t -> {
- Reporter.post("获取好友数量失败,", t);
- if (getActivity() != null) {
- getActivity().runOnUiThread(() -> {
- ToastUtil.showToast(requireContext(), R.string.tip_me_query_friend_failed);
- });
- }
- }, ctx -> {
- long count = FriendDao.getInstance().getFriendsCount(coreManager.getSelf().getUserId());
- ctx.uiThread(ref -> {
- TextView tvColleague = findViewById(R.id.tvFriend);
- tvColleague.setText(String.valueOf(count));
- });
- });
- AsyncUtils.doAsync(this, t -> {
- Reporter.post("获取群组数量失败,", t);
- if (getActivity() != null) {
- getActivity().runOnUiThread(() -> {
- ToastUtil.showToast(requireContext(), R.string.tip_me_query_friend_failed);
- });
- }
- }, ctx -> {
- long count = FriendDao.getInstance().getGroupsCount(coreManager.getSelf().getUserId());
- ctx.uiThread(ref -> {
- TextView tvGroup = findViewById(R.id.tvGroup);
- tvGroup.setText(String.valueOf(count));
- });
- });
- }
- private void makeVerified(String name, String id) {
- HashMap<String, String> params = new HashMap<String, String>();
- params.put("access_token", coreManager.getSelfStatus().accessToken);
- params.put("realName", name);
- params.put("idcard", id);
- HttpUtils.get().url(coreManager.getConfig().MAKE_VERIFIED)
- // HttpUtils.get().url("http://eolinker.autu.live/server/index.php?g=Web&c=Mock&o=simple&projectID=3&uri=/user/signin/pack/info&time=1576392852&secret=44daefaa0c6c7b6f59976798f5996e7e&access_token=caaed74185504f6b835b7d90573c2aef")
- .params(params)
- .build()
- .execute(new BaseCallback<CertificationBean>(CertificationBean.class) {
- @Override
- public void onResponse(ObjectResult<CertificationBean> result) {
- if (result.getResultCode() == 1 && result.getData()!=null) {
- CertificationBean bean = result.getData();
- if (bean.isCertification()){
- isVerified = true;
- ToastUtil.showToast(getContext(), "实名认证已通过");
- PreferenceUtils.putString(getContext(), "isVerified", "true");
- }else {
- if ( TextUtils.isEmpty(result.getResultMsg())){
- ToastUtil.showToast(getActivity(),"实名认证失败" );
- }else {
- ToastUtil.showToast(getActivity(),result.getResultMsg() );
- }
- }
- }
- }
- @Override
- public void onError(Call call, Exception e) {
- ToastUtil.showNetError(getActivity());
- }
- });
- }
- private void updateSelfData() {
- Map<String, String> params = new HashMap<>();
- params.put("access_token", coreManager.getSelfStatus().accessToken);
- HttpUtils.get().url(coreManager.getConfig().USER_GET_URL)
- .params(params)
- .build()
- .execute(new BaseCallback<User>(User.class) {
- @Override
- public void onResponse(ObjectResult<User> result) {
- if (result.getResultCode() == 1 && result.getData() != null) {
- User user = result.getData();
- boolean updateSuccess = UserDao.getInstance().updateByUser(user);
- // 设置登陆用户信息
- if (updateSuccess) {
- PreferenceUtils.putString(getContext(), "isVerified", String.valueOf(user.isCertification()));
- // 如果成功,保存User变量,
- coreManager.setSelf(user);
- // 通知MeFragment更新
- updateUI();
- // sendBroadcast(new Intent(OtherBroadcast.SYNC_SELF_DATE_NOTIFY));
- }
- }
- }
- @Override
- public void onError(Call call, Exception e) {
- }
- });
- }
- }
|