MeFragment.java 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. package jiguang.chat.activity.fragment;
  2. import android.app.NotificationManager;
  3. import android.content.Context;
  4. import android.content.Intent;
  5. import android.graphics.Bitmap;
  6. import android.graphics.BitmapFactory;
  7. import android.os.Bundle;
  8. import android.view.LayoutInflater;
  9. import android.view.View;
  10. import android.view.ViewGroup;
  11. import net.zoneland.x.bpm.mobile.v1.zoneXBPM.R;
  12. import cn.jpush.im.android.api.JMessageClient;
  13. import cn.jpush.im.android.api.callback.GetAvatarBitmapCallback;
  14. import cn.jpush.im.android.api.model.UserInfo;
  15. import jiguang.chat.activity.LoginActivity;
  16. import jiguang.chat.controller.MeController;
  17. import jiguang.chat.utils.SharePreferenceManager;
  18. import jiguang.chat.utils.ToastUtil;
  19. import jiguang.chat.view.MeView;
  20. /**
  21. * Created by ${chenyn} on 2017/2/20.
  22. */
  23. public class MeFragment extends BaseFragment {
  24. private View mRootView;
  25. public MeView mMeView;
  26. private MeController mMeController;
  27. private Context mContext;
  28. @Override
  29. public void onCreate(Bundle savedInstanceState) {
  30. super.onCreate(savedInstanceState);
  31. mContext = this.getActivity();
  32. LayoutInflater layoutInflater = getActivity().getLayoutInflater();
  33. mRootView = layoutInflater.inflate(R.layout.fragment_me,
  34. (ViewGroup) getActivity().findViewById(R.id.main_view), false);
  35. mMeView = (MeView) mRootView.findViewById(R.id.me_view);
  36. mMeView.initModule(mDensity, mWidth);
  37. mMeController = new MeController(this, mWidth);
  38. mMeView.setListener(mMeController);
  39. }
  40. @Override
  41. public View onCreateView(LayoutInflater inflater, ViewGroup container,
  42. Bundle savedInstanceState) {
  43. ViewGroup p = (ViewGroup) mRootView.getParent();
  44. if (p != null) {
  45. p.removeAllViewsInLayout();
  46. }
  47. return mRootView;
  48. }
  49. @Override
  50. public void onResume() {
  51. UserInfo myInfo = JMessageClient.getMyInfo();
  52. myInfo.getAvatarBitmap(new GetAvatarBitmapCallback() {
  53. @Override
  54. public void gotResult(int i, String s, Bitmap bitmap) {
  55. if (i == 0) {
  56. mMeView.showPhoto(bitmap);
  57. mMeController.setBitmap(bitmap);
  58. }else {
  59. mMeView.showPhoto(null);
  60. mMeController.setBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.rc_default_portrait));
  61. }
  62. }
  63. });
  64. mMeView.showNickName(myInfo);
  65. super.onResume();
  66. }
  67. public void cancelNotification() {
  68. NotificationManager manager = (NotificationManager) this.getActivity().getApplicationContext()
  69. .getSystemService(Context.NOTIFICATION_SERVICE);
  70. manager.cancelAll();
  71. }
  72. //退出登录
  73. public void Logout() {
  74. final Intent intent = new Intent();
  75. UserInfo info = JMessageClient.getMyInfo();
  76. if (null != info) {
  77. SharePreferenceManager.setCachedUsername(info.getUserName());
  78. if (info.getAvatarFile() != null) {
  79. SharePreferenceManager.setCachedAvatarPath(info.getAvatarFile().getAbsolutePath());
  80. }
  81. JMessageClient.logout();
  82. intent.setClass(mContext, LoginActivity.class);
  83. startActivity(intent);
  84. } else {
  85. ToastUtil.shortToast(mContext, "退出失败");
  86. }
  87. }
  88. }