Browse Source

细节调整 不必要的引用删除

master
LiuSiXiang-007 1 year ago
parent
commit
1f624fb542
  1. 3
      app/src/main/java/com/kanglai/push/constant/CacheConstant.java
  2. 1
      app/src/main/java/com/kanglai/push/ui/activity/AddAttentionActivity.java
  3. 2
      app/src/main/java/com/kanglai/push/ui/activity/AddLinkActivity.java
  4. 2
      app/src/main/java/com/kanglai/push/ui/activity/AddMessageActivity.java
  5. 1
      app/src/main/java/com/kanglai/push/ui/activity/AuditListActivity.java
  6. 2
      app/src/main/java/com/kanglai/push/ui/activity/DocumentActivity.java
  7. 2
      app/src/main/java/com/kanglai/push/ui/activity/EnterpriseListActivity.java
  8. 2
      app/src/main/java/com/kanglai/push/ui/activity/FindUsersActivity.java
  9. 6
      app/src/main/java/com/kanglai/push/ui/activity/FocusDetailActivity.java
  10. 11
      app/src/main/java/com/kanglai/push/ui/activity/FocusListActivity.java
  11. 9
      app/src/main/java/com/kanglai/push/ui/activity/InstantDetailActivity.java
  12. 1
      app/src/main/java/com/kanglai/push/ui/activity/LinkDetailActivity.java
  13. 1
      app/src/main/java/com/kanglai/push/ui/activity/LoginActivity.java
  14. 1
      app/src/main/java/com/kanglai/push/ui/activity/PushTypeActivity.java
  15. 1
      app/src/main/java/com/kanglai/push/ui/adapter/DefaultRecyclerAdapter.java
  16. 1
      app/src/main/java/com/kanglai/push/ui/adapter/MyFocusRecycleAdapter.java
  17. 2
      app/src/main/java/com/kanglai/push/ui/adapter/PanelRecyclerAdapter.java
  18. 1
      app/src/main/java/com/kanglai/push/ui/adapter/PushTypeRecyclerAdapter.java
  19. 1
      app/src/main/java/com/kanglai/push/ui/fragment/LinkFragment.java
  20. 13
      app/src/main/java/com/kanglai/push/ui/fragment/MessageFragment.java
  21. 31
      app/src/main/java/com/kanglai/push/ui/fragment/UserFragment.java
  22. 2
      app/src/main/java/com/kanglai/push/ui/fragment/WorkbenchFragment.java
  23. 7
      app/src/main/java/com/kanglai/push/ui/vm/AboutViewModel.java
  24. 6
      app/src/main/java/com/kanglai/push/ui/vm/LoginViewModel.java
  25. 17
      app/src/main/java/com/kanglai/push/ui/vm/MessageViewModel.java
  26. 4
      app/src/main/java/com/kanglai/push/ui/vm/UserViewModel.java
  27. 23
      app/src/main/java/com/kanglai/push/util/HistoryMsgUtil.java
  28. 6
      app/src/main/java/com/kanglai/push/util/LocationService.java
  29. 9
      app/src/main/res/layout/activity_about.xml

3
app/src/main/java/com/kanglai/push/constant/CacheConstant.java

@ -10,9 +10,6 @@ package com.kanglai.push.constant;
*/ */
public interface CacheConstant { public interface CacheConstant {
/** 登录名称存储键 */
String LOGIN_USERNAME = "LOGIN_USERNAME";
/** 软件隐私协议授权键 */ /** 软件隐私协议授权键 */
String SOFTWARE_PRIVACY_AGREEMENT_AUTH = "SOFTWARE_PRIVACY_AGREEMENT_AUTH"; String SOFTWARE_PRIVACY_AGREEMENT_AUTH = "SOFTWARE_PRIVACY_AGREEMENT_AUTH";

1
app/src/main/java/com/kanglai/push/ui/activity/AddAttentionActivity.java

@ -6,7 +6,6 @@ import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import com.blankj.utilcode.util.LogUtils;
import com.dolphin.core.base.BaseActivity; import com.dolphin.core.base.BaseActivity;
import com.kanglai.push.BR; import com.kanglai.push.BR;
import com.kanglai.push.R; import com.kanglai.push.R;

2
app/src/main/java/com/kanglai/push/ui/activity/AddLinkActivity.java

@ -9,7 +9,6 @@ import android.widget.EditText;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import com.blankj.utilcode.util.LogUtils;
import com.dolphin.core.base.BaseActivity; import com.dolphin.core.base.BaseActivity;
import com.dolphin.core.util.ToastUtil; import com.dolphin.core.util.ToastUtil;
import com.kanglai.push.BR; import com.kanglai.push.BR;
@ -20,7 +19,6 @@ import com.kanglai.push.ui.vm.AddLinkViewModel;
import com.kanglai.push.util.ViewFilterUtil; import com.kanglai.push.util.ViewFilterUtil;
import com.kongzue.dialogx.DialogX; import com.kongzue.dialogx.DialogX;
import com.kongzue.dialogx.dialogs.BottomMenu; import com.kongzue.dialogx.dialogs.BottomMenu;
import com.kongzue.dialogx.interfaces.OnIconChangeCallBack;
import com.kongzue.dialogx.interfaces.OnMenuItemClickListener; import com.kongzue.dialogx.interfaces.OnMenuItemClickListener;
import com.kongzue.dialogx.interfaces.OnMenuItemSelectListener; import com.kongzue.dialogx.interfaces.OnMenuItemSelectListener;

2
app/src/main/java/com/kanglai/push/ui/activity/AddMessageActivity.java

@ -8,14 +8,12 @@ import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import com.blankj.utilcode.util.LogUtils;
import com.dolphin.core.base.BaseActivity; import com.dolphin.core.base.BaseActivity;
import com.kanglai.push.BR; import com.kanglai.push.BR;
import com.kanglai.push.R; import com.kanglai.push.R;
import com.kanglai.push.databinding.ActivityAddMessageBinding; import com.kanglai.push.databinding.ActivityAddMessageBinding;
import com.kanglai.push.ui.vm.AddMessageViewModel; import com.kanglai.push.ui.vm.AddMessageViewModel;
import com.kanglai.push.util.ViewFilterUtil; import com.kanglai.push.util.ViewFilterUtil;
import com.kongzue.dialogx.dialogs.BottomDialog;
import com.kongzue.dialogx.dialogs.BottomMenu; import com.kongzue.dialogx.dialogs.BottomMenu;
import com.kongzue.dialogx.interfaces.OnMenuItemSelectListener; import com.kongzue.dialogx.interfaces.OnMenuItemSelectListener;

1
app/src/main/java/com/kanglai/push/ui/activity/AuditListActivity.java

@ -23,7 +23,6 @@ import com.kanglai.push.entity.LinkEntity;
import com.kanglai.push.ui.adapter.SearchRecyclerAdapter; import com.kanglai.push.ui.adapter.SearchRecyclerAdapter;
import com.kanglai.push.ui.vm.AuditListViewModel; import com.kanglai.push.ui.vm.AuditListViewModel;
import com.kongzue.dialogx.DialogX; import com.kongzue.dialogx.DialogX;
import com.kongzue.dialogx.dialogs.BottomDialog;
import com.kongzue.dialogx.dialogs.MessageDialog; import com.kongzue.dialogx.dialogs.MessageDialog;
import com.kongzue.dialogx.interfaces.OnDialogButtonClickListener; import com.kongzue.dialogx.interfaces.OnDialogButtonClickListener;

2
app/src/main/java/com/kanglai/push/ui/activity/DocumentActivity.java

@ -1,10 +1,8 @@
package com.kanglai.push.ui.activity; package com.kanglai.push.ui.activity;
import android.os.Bundle; import android.os.Bundle;
import android.os.PersistableBundle;
import android.webkit.WebView; import android.webkit.WebView;
import androidx.annotation.Nullable;
import androidx.databinding.library.baseAdapters.BR; import androidx.databinding.library.baseAdapters.BR;
import com.blankj.utilcode.util.StringUtils; import com.blankj.utilcode.util.StringUtils;

2
app/src/main/java/com/kanglai/push/ui/activity/EnterpriseListActivity.java

@ -5,7 +5,6 @@ import android.text.Editable;
import android.text.InputFilter; import android.text.InputFilter;
import android.text.TextUtils; import android.text.TextUtils;
import android.text.TextWatcher; import android.text.TextWatcher;
import android.util.Patterns;
import android.view.View; import android.view.View;
import android.widget.Button; import android.widget.Button;
import android.widget.EditText; import android.widget.EditText;
@ -19,7 +18,6 @@ import androidx.recyclerview.widget.RecyclerView;
import com.blankj.utilcode.util.CollectionUtils; import com.blankj.utilcode.util.CollectionUtils;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.dolphin.core.BuildConfig;
import com.dolphin.core.base.BaseActivity; import com.dolphin.core.base.BaseActivity;
import com.dolphin.core.widget.DefaultItemDecoration; import com.dolphin.core.widget.DefaultItemDecoration;
import com.kanglai.push.BR; import com.kanglai.push.BR;

2
app/src/main/java/com/kanglai/push/ui/activity/FindUsersActivity.java

@ -16,7 +16,6 @@ import android.widget.LinearLayout;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import android.widget.TextView; import android.widget.TextView;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
@ -26,7 +25,6 @@ import com.blankj.utilcode.util.StringUtils;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.dolphin.core.BuildConfig; import com.dolphin.core.BuildConfig;
import com.dolphin.core.base.BaseActivity; import com.dolphin.core.base.BaseActivity;
import com.dolphin.core.widget.DefaultItemDecoration;
import com.kanglai.push.BR; import com.kanglai.push.BR;
import com.kanglai.push.R; import com.kanglai.push.R;
import com.kanglai.push.constant.CacheConstant; import com.kanglai.push.constant.CacheConstant;

6
app/src/main/java/com/kanglai/push/ui/activity/FocusDetailActivity.java

@ -1,10 +1,7 @@
package com.kanglai.push.ui.activity; package com.kanglai.push.ui.activity;
import android.os.Bundle; import android.os.Bundle;
import android.text.Editable;
import android.text.InputFilter;
import android.text.TextUtils; import android.text.TextUtils;
import android.text.TextWatcher;
import android.util.Patterns; import android.util.Patterns;
import android.view.View; import android.view.View;
import android.widget.Button; import android.widget.Button;
@ -16,7 +13,6 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.blankj.utilcode.util.CollectionUtils; import com.blankj.utilcode.util.CollectionUtils;
import com.blankj.utilcode.util.LogUtils;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.dolphin.core.BuildConfig; import com.dolphin.core.BuildConfig;
import com.dolphin.core.base.BaseActivity; import com.dolphin.core.base.BaseActivity;
@ -24,12 +20,10 @@ import com.dolphin.core.util.ToastUtil;
import com.kanglai.push.BR; import com.kanglai.push.BR;
import com.kanglai.push.R; import com.kanglai.push.R;
import com.kanglai.push.databinding.ActivityFocusDetailBinding; import com.kanglai.push.databinding.ActivityFocusDetailBinding;
import com.kanglai.push.entity.ConcernFan;
import com.kanglai.push.entity.ConcernFans; import com.kanglai.push.entity.ConcernFans;
import com.kanglai.push.entity.PushType; import com.kanglai.push.entity.PushType;
import com.kanglai.push.ui.adapter.PushTypeRecyclerAdapter; import com.kanglai.push.ui.adapter.PushTypeRecyclerAdapter;
import com.kanglai.push.ui.vm.FocusDetailViewModel; import com.kanglai.push.ui.vm.FocusDetailViewModel;
import com.kanglai.push.util.ViewFilterUtil;
import com.kongzue.dialogx.DialogX; import com.kongzue.dialogx.DialogX;
import com.kongzue.dialogx.dialogs.FullScreenDialog; import com.kongzue.dialogx.dialogs.FullScreenDialog;
import com.kongzue.dialogx.dialogs.MessageDialog; import com.kongzue.dialogx.dialogs.MessageDialog;

11
app/src/main/java/com/kanglai/push/ui/activity/FocusListActivity.java

@ -1,15 +1,12 @@
package com.kanglai.push.ui.activity; package com.kanglai.push.ui.activity;
import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.text.Editable; import android.text.Editable;
import android.text.InputFilter; import android.text.InputFilter;
import android.text.TextUtils; import android.text.TextUtils;
import android.text.TextWatcher; import android.text.TextWatcher;
import android.view.View; import android.view.View;
import android.widget.Button;
import android.widget.EditText; import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
@ -19,23 +16,15 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.blankj.utilcode.util.CollectionUtils; import com.blankj.utilcode.util.CollectionUtils;
import com.blankj.utilcode.util.LogUtils;
import com.bumptech.glide.Glide;
import com.dolphin.core.base.BaseActivity; import com.dolphin.core.base.BaseActivity;
import com.dolphin.core.widget.DefaultItemDecoration; import com.dolphin.core.widget.DefaultItemDecoration;
import com.kanglai.push.R; import com.kanglai.push.R;
import com.kanglai.push.databinding.ActivityFocusListBinding; import com.kanglai.push.databinding.ActivityFocusListBinding;
import com.kanglai.push.entity.ConcernFan; import com.kanglai.push.entity.ConcernFan;
import com.kanglai.push.entity.ConcernFans; import com.kanglai.push.entity.ConcernFans;
import com.kanglai.push.entity.LocalPushChatMsg;
import com.kanglai.push.ui.adapter.MyFocusRecycleAdapter; import com.kanglai.push.ui.adapter.MyFocusRecycleAdapter;
import com.kanglai.push.ui.vm.FocusListViewModel; import com.kanglai.push.ui.vm.FocusListViewModel;
import com.kanglai.push.util.ViewFilterUtil; import com.kanglai.push.util.ViewFilterUtil;
import com.kongzue.dialogx.DialogX;
import com.kongzue.dialogx.dialogs.FullScreenDialog;
import com.kongzue.dialogx.dialogs.MessageDialog;
import com.kongzue.dialogx.interfaces.OnBindView;
import com.kongzue.dialogx.interfaces.OnDialogButtonClickListener;
/** /**
* 已关注的用户列表 * 已关注的用户列表

9
app/src/main/java/com/kanglai/push/ui/activity/InstantDetailActivity.java

@ -1,27 +1,18 @@
package com.kanglai.push.ui.activity; package com.kanglai.push.ui.activity;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import androidx.databinding.library.baseAdapters.BR; import androidx.databinding.library.baseAdapters.BR;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.blankj.utilcode.util.CollectionUtils;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.dolphin.core.base.BaseActivity; import com.dolphin.core.base.BaseActivity;
import com.dolphin.core.util.ToastUtil;
import com.kanglai.push.R; import com.kanglai.push.R;
import com.kanglai.push.databinding.ActivityInstantDetailBinding; import com.kanglai.push.databinding.ActivityInstantDetailBinding;
import com.kanglai.push.entity.LocalPushChatMsg; import com.kanglai.push.entity.LocalPushChatMsg;
import com.kanglai.push.entity.PushType;
import com.kanglai.push.ui.adapter.PushTypeRecyclerAdapter;
import com.kanglai.push.ui.vm.InstantDetailViewModel; import com.kanglai.push.ui.vm.InstantDetailViewModel;
import com.suke.widget.SwitchButton;
import com.taobao.agoo.d;
/** /**
* 单人聊天室详情页 * 单人聊天室详情页

1
app/src/main/java/com/kanglai/push/ui/activity/LinkDetailActivity.java

@ -9,7 +9,6 @@ import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import com.blankj.utilcode.util.LogUtils;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.dolphin.core.BuildConfig; import com.dolphin.core.BuildConfig;
import com.dolphin.core.base.BaseActivity; import com.dolphin.core.base.BaseActivity;

1
app/src/main/java/com/kanglai/push/ui/activity/LoginActivity.java

@ -16,7 +16,6 @@ import com.blankj.utilcode.util.StringUtils;
import com.dolphin.core.base.AppManager; import com.dolphin.core.base.AppManager;
import com.dolphin.core.base.BaseActivity; import com.dolphin.core.base.BaseActivity;
import com.dolphin.core.constant.AppConstant; import com.dolphin.core.constant.AppConstant;
import com.dolphin.core.util.PermissionUtil;
import com.kanglai.push.BR; import com.kanglai.push.BR;
import com.kanglai.push.R; import com.kanglai.push.R;
import com.kanglai.push.databinding.ActivityLoginBinding; import com.kanglai.push.databinding.ActivityLoginBinding;

1
app/src/main/java/com/kanglai/push/ui/activity/PushTypeActivity.java

@ -16,7 +16,6 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.blankj.utilcode.util.CollectionUtils; import com.blankj.utilcode.util.CollectionUtils;
import com.blankj.utilcode.util.LogUtils;
import com.dolphin.core.base.BaseActivity; import com.dolphin.core.base.BaseActivity;
import com.kanglai.push.R; import com.kanglai.push.R;
import com.kanglai.push.databinding.ActivityPushTypeBinding; import com.kanglai.push.databinding.ActivityPushTypeBinding;

1
app/src/main/java/com/kanglai/push/ui/adapter/DefaultRecyclerAdapter.java

@ -11,7 +11,6 @@ import android.widget.TextView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.ObjectUtils; import com.blankj.utilcode.util.ObjectUtils;
import com.kanglai.push.R; import com.kanglai.push.R;

1
app/src/main/java/com/kanglai/push/ui/adapter/MyFocusRecycleAdapter.java

@ -9,7 +9,6 @@ import com.bumptech.glide.Glide;
import com.dolphin.core.BuildConfig; import com.dolphin.core.BuildConfig;
import com.kanglai.push.R; import com.kanglai.push.R;
import com.kanglai.push.entity.ConcernFan; import com.kanglai.push.entity.ConcernFan;
import com.kanglai.push.entity.LinkEntity;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;

2
app/src/main/java/com/kanglai/push/ui/adapter/PanelRecyclerAdapter.java

@ -3,7 +3,9 @@ package com.kanglai.push.ui.adapter;
import android.view.View; import android.view.View;
import com.blankj.utilcode.util.ObjectUtils; import com.blankj.utilcode.util.ObjectUtils;
import java.util.List; import java.util.List;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;

1
app/src/main/java/com/kanglai/push/ui/adapter/PushTypeRecyclerAdapter.java

@ -11,7 +11,6 @@ import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.blankj.utilcode.util.ObjectUtils; import com.blankj.utilcode.util.ObjectUtils;
import com.dolphin.core.util.ToastUtil;
import com.kanglai.push.R; import com.kanglai.push.R;
import com.kanglai.push.entity.PushType; import com.kanglai.push.entity.PushType;
import com.suke.widget.SwitchButton; import com.suke.widget.SwitchButton;

1
app/src/main/java/com/kanglai/push/ui/fragment/LinkFragment.java

@ -24,7 +24,6 @@ import com.kanglai.push.entity.ConcernFan;
import com.kanglai.push.entity.MenuEntity; import com.kanglai.push.entity.MenuEntity;
import com.kanglai.push.ui.activity.AuditListActivity; import com.kanglai.push.ui.activity.AuditListActivity;
import com.kanglai.push.ui.activity.BlackListActivity; import com.kanglai.push.ui.activity.BlackListActivity;
import com.kanglai.push.ui.activity.EnterpriseListActivity;
import com.kanglai.push.ui.activity.FindUsersActivity; import com.kanglai.push.ui.activity.FindUsersActivity;
import com.kanglai.push.ui.activity.FocusListActivity; import com.kanglai.push.ui.activity.FocusListActivity;
import com.kanglai.push.ui.activity.LinkDetailActivity; import com.kanglai.push.ui.activity.LinkDetailActivity;

13
app/src/main/java/com/kanglai/push/ui/fragment/MessageFragment.java

@ -39,11 +39,11 @@ import com.kanglai.push.constant.CommonConstant;
import com.kanglai.push.databinding.FragmentMessageBinding; import com.kanglai.push.databinding.FragmentMessageBinding;
import com.kanglai.push.entity.LocalPushChatMsg; import com.kanglai.push.entity.LocalPushChatMsg;
import com.kanglai.push.entity.User; import com.kanglai.push.entity.User;
import com.kanglai.push.util.LocationService;
import com.kanglai.push.ui.activity.InstantActivity; import com.kanglai.push.ui.activity.InstantActivity;
import com.kanglai.push.ui.adapter.MessageSwipeableRecyclerAdapter; import com.kanglai.push.ui.adapter.MessageSwipeableRecyclerAdapter;
import com.kanglai.push.ui.vm.MessageViewModel; import com.kanglai.push.ui.vm.MessageViewModel;
import com.kanglai.push.util.HistoryMsgUtil; import com.kanglai.push.util.HistoryMsgUtil;
import com.kanglai.push.util.LocationService;
import com.scwang.smart.refresh.layout.api.RefreshLayout; import com.scwang.smart.refresh.layout.api.RefreshLayout;
import com.umeng.message.PushAgent; import com.umeng.message.PushAgent;
@ -119,7 +119,6 @@ public class MessageFragment extends BaseFragment<FragmentMessageBinding, Messag
} }
}); });
getActivity().startService(new Intent(getActivity(),LocationService.class));
} }
@Override @Override
@ -226,4 +225,14 @@ public class MessageFragment extends BaseFragment<FragmentMessageBinding, Messag
@Override @Override
public void setToRead(int position) {} public void setToRead(int position) {}
/**
* 开启定位服务
* 如果已开启则不做变化 未开启则开启服务 保证登录之后服务仅启动一次
*/
public void openLocation() {
if (!HistoryMsgUtil.isServiceRunning(getActivity(), LocationService.class)) {
getActivity().startService(new Intent(getActivity(),LocationService.class));
}
}
} }

31
app/src/main/java/com/kanglai/push/ui/fragment/UserFragment.java

@ -2,6 +2,8 @@ package com.kanglai.push.ui.fragment;
import static com.blankj.utilcode.util.ServiceUtils.stopService; import static com.blankj.utilcode.util.ServiceUtils.stopService;
import android.app.ActivityManager;
import android.content.Context;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Patterns; import android.util.Patterns;
@ -17,6 +19,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.blankj.utilcode.util.CacheDiskUtils; import com.blankj.utilcode.util.CacheDiskUtils;
import com.blankj.utilcode.util.CollectionUtils; import com.blankj.utilcode.util.CollectionUtils;
import com.blankj.utilcode.util.LogUtils;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.dolphin.core.BuildConfig; import com.dolphin.core.BuildConfig;
import com.dolphin.core.base.BaseFragment; import com.dolphin.core.base.BaseFragment;
@ -26,10 +29,10 @@ import com.kanglai.push.R;
import com.kanglai.push.constant.CacheConstant; import com.kanglai.push.constant.CacheConstant;
import com.kanglai.push.databinding.FragmentUserBinding; import com.kanglai.push.databinding.FragmentUserBinding;
import com.kanglai.push.entity.User; import com.kanglai.push.entity.User;
import com.kanglai.push.util.LocationService;
import com.kanglai.push.ui.activity.AboutActivity; import com.kanglai.push.ui.activity.AboutActivity;
import com.kanglai.push.ui.adapter.PanelRecyclerAdapter; import com.kanglai.push.ui.adapter.PanelRecyclerAdapter;
import com.kanglai.push.ui.vm.UserViewModel; import com.kanglai.push.ui.vm.UserViewModel;
import com.kanglai.push.util.LocationService;
import com.kongzue.dialogx.DialogX; import com.kongzue.dialogx.DialogX;
import com.kongzue.dialogx.dialogs.MessageDialog; import com.kongzue.dialogx.dialogs.MessageDialog;
import com.kongzue.dialogx.interfaces.OnDialogButtonClickListener; import com.kongzue.dialogx.interfaces.OnDialogButtonClickListener;
@ -78,9 +81,9 @@ public class UserFragment extends BaseFragment<FragmentUserBinding, UserViewMode
mRecyclerView = getView().findViewById(R.id.recycler_view); mRecyclerView = getView().findViewById(R.id.recycler_view);
// 设置列表 // 设置列表
List<PanelRecyclerAdapter.PanelEntity> list = CollectionUtils.newArrayList( List<PanelRecyclerAdapter.PanelEntity> list = CollectionUtils.newArrayList(
new PanelRecyclerAdapter.PanelEntity().setCode("1").setTitle("关闭定位服务").setBadge(0).setImage(R.drawable.icon_about).setHidesLeftImage(true), new PanelRecyclerAdapter.PanelEntity().setCode("1").setTitle("关于我们").setBadge(0).setImage(R.drawable.icon_about).setHidesLeftImage(true),
new PanelRecyclerAdapter.PanelEntity().setCode("2").setTitle("关于我们").setBadge(0).setImage(R.drawable.icon_about).setHidesLeftImage(true), new PanelRecyclerAdapter.PanelEntity().setCode("2").setTitle("退出登录").setBadge(0).setImage(R.drawable.icon_exit).setHidesLeftImage(true),
new PanelRecyclerAdapter.PanelEntity().setCode("3").setTitle("退出登录").setBadge(0).setImage(R.drawable.icon_exit).setHidesLeftImage(true) new PanelRecyclerAdapter.PanelEntity().setCode("3").setTitle("测试按钮").setBadge(0).setImage(R.drawable.icon_about).setHidesLeftImage(true)
); );
final PanelRecyclerAdapter userRecyclerAdapter = new PanelRecyclerAdapter(list); final PanelRecyclerAdapter userRecyclerAdapter = new PanelRecyclerAdapter(list);
userRecyclerAdapter.setEventListener(this); userRecyclerAdapter.setEventListener(this);
@ -105,13 +108,10 @@ public class UserFragment extends BaseFragment<FragmentUserBinding, UserViewMode
public void onItemViewClicked(PanelRecyclerAdapter.PanelEntity userEntity) { public void onItemViewClicked(PanelRecyclerAdapter.PanelEntity userEntity) {
/** 列表点击事件 */ /** 列表点击事件 */
switch (userEntity.code) { switch (userEntity.code) {
case "1": // todo: 暂未定义内容 后续可用来测试 case "1": // 关于我们
stopService(LocationService.class);
break;
case "2": // 关于我们
startActivity(AboutActivity.class); startActivity(AboutActivity.class);
break; break;
case "3": // 退出登录 case "2": // 退出登录
MessageDialog.build() MessageDialog.build()
.setTheme(DialogX.THEME.LIGHT) .setTheme(DialogX.THEME.LIGHT)
.setTitle("您确定要退出登录吗?") .setTitle("您确定要退出登录吗?")
@ -128,6 +128,19 @@ public class UserFragment extends BaseFragment<FragmentUserBinding, UserViewMode
.setCancelButton("取 消") .setCancelButton("取 消")
.show(); .show();
break; break;
case "3": // todo:测试按钮 上线记得清除
// stopService(LocationService.class); 暂停定位服务
// CacheDiskUtils.getInstance().remove(CacheConstant.USER_INFO); 清除用户数据
// 检测服务是否在线
ActivityManager manager = (ActivityManager) getActivity().getSystemService(Context.ACTIVITY_SERVICE);
for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)){
LogUtils.d(service.service.getClassName());
if (LocationService.class.getName().equals(service.service.getClassName())){
LogUtils.d("在线");
}
}
break;
} }
} }

2
app/src/main/java/com/kanglai/push/ui/fragment/WorkbenchFragment.java

@ -15,9 +15,7 @@ import com.dolphin.core.util.ToastUtil;
import com.kanglai.push.BR; import com.kanglai.push.BR;
import com.kanglai.push.R; import com.kanglai.push.R;
import com.kanglai.push.databinding.FragmentWorkbenchBinding; import com.kanglai.push.databinding.FragmentWorkbenchBinding;
import com.kanglai.push.ui.activity.AddMessageActivity;
import com.kanglai.push.ui.vm.WorkbenchViewModel; import com.kanglai.push.ui.vm.WorkbenchViewModel;
import com.kongzue.dialogx.dialogs.MessageDialog;
import com.stx.xhb.androidx.XBanner; import com.stx.xhb.androidx.XBanner;
import com.stx.xhb.androidx.transformers.Transformer; import com.stx.xhb.androidx.transformers.Transformer;

7
app/src/main/java/com/kanglai/push/ui/vm/AboutViewModel.java

@ -21,8 +21,8 @@ import com.kanglai.push.ui.activity.DocumentActivity;
*/ */
public class AboutViewModel extends ToolbarViewModel { public class AboutViewModel extends ToolbarViewModel {
public ObservableField<String> document01 = new ObservableField("《友信APP客户端用户协议手册》"); // 用户协议 public ObservableField<String> document01 = new ObservableField("《友信客户端用户协议手册》");
public ObservableField<String> document02 = new ObservableField("《友信APP客户端隐私保护指引》"); // 用户协议 public ObservableField<String> document02 = new ObservableField("《友信app客户端隐私保护指引》");
/** 底部文字 */ /** 底部文字 */
public ObservableField<String> tit01 = new ObservableField("客服热线 400-1512-686"); public ObservableField<String> tit01 = new ObservableField("客服热线 400-1512-686");
public ObservableField<String> tit02 = new ObservableField("©2023-2024 康来生物科技有限公司 版权所有 — All Rights Reserved"); public ObservableField<String> tit02 = new ObservableField("©2023-2024 康来生物科技有限公司 版权所有 — All Rights Reserved");
@ -35,10 +35,9 @@ public class AboutViewModel extends ToolbarViewModel {
@Override @Override
public void onCreate(@NonNull LifecycleOwner owner) { public void onCreate(@NonNull LifecycleOwner owner) {
super.onCreate(owner); super.onCreate(owner);
super.setTitleText("关于"+ R.string.app_name); super.setTitleText("关于");
} }
public BindingCommand document01ClickCommand = new BindingCommand(() -> { // 用户手册 public BindingCommand document01ClickCommand = new BindingCommand(() -> { // 用户手册
Bundle bundle = new Bundle(); Bundle bundle = new Bundle();
bundle.putString("DOCUMENT_TYPE", "0"); bundle.putString("DOCUMENT_TYPE", "0");

6
app/src/main/java/com/kanglai/push/ui/vm/LoginViewModel.java

@ -12,7 +12,6 @@ import androidx.databinding.ObservableInt;
import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.LifecycleOwner;
import com.blankj.utilcode.util.CacheDiskUtils; import com.blankj.utilcode.util.CacheDiskUtils;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.MapUtils; import com.blankj.utilcode.util.MapUtils;
import com.blankj.utilcode.util.StringUtils; import com.blankj.utilcode.util.StringUtils;
import com.blankj.utilcode.util.Utils; import com.blankj.utilcode.util.Utils;
@ -161,8 +160,6 @@ public class LoginViewModel extends BaseViewModel<LoginActivity> {
/** 获取验证码点击事件 */ /** 获取验证码点击事件 */
public BindingCommand captchaClickCommand = new BindingCommand(() -> { public BindingCommand captchaClickCommand = new BindingCommand(() -> {
User user = CacheDiskUtils.getInstance().getParcelable(CacheConstant.USER_INFO, User.CREATOR, new User());
LogUtils.d(user);
if (StringUtils.isTrimEmpty(phones.get())) { if (StringUtils.isTrimEmpty(phones.get())) {
ToastUtil.showBottomWarn("请输入电话号码!"); ToastUtil.showBottomWarn("请输入电话号码!");
return; return;
@ -280,20 +277,17 @@ public class LoginViewModel extends BaseViewModel<LoginActivity> {
// 采用磁盘缓存存储数据,内部会根据Lru淘汰策略进行淘汰如果缓存满了会丢掉最后一个缓存对象 // 采用磁盘缓存存储数据,内部会根据Lru淘汰策略进行淘汰如果缓存满了会丢掉最后一个缓存对象
User user = R.getData(); User user = R.getData();
if (StringUtils.isTrimEmpty(user.getAvatar())) user.setAvatar("/default.png"); if (StringUtils.isTrimEmpty(user.getAvatar())) user.setAvatar("/default.png");
MMKV.defaultMMKV().putString(CacheConstant.LOGIN_USERNAME, R.getData().getNickName());
CacheDiskUtils.getInstance().put(CacheConstant.USER_INFO, user); CacheDiskUtils.getInstance().put(CacheConstant.USER_INFO, user);
if (isRegister) { // 判断是否第一次登录 isRegister if (isRegister) { // 判断是否第一次登录 isRegister
startActivity(LoginSurveyActivity.class); startActivity(LoginSurveyActivity.class);
return; return;
} }
startActivity(TabBarActivity.class); startActivity(TabBarActivity.class);
// finish();
} }
} else ToastUtil.showBottomWarn(R.getMsg()); } else ToastUtil.showBottomWarn(R.getMsg());
} }
@Override @Override
public void onError(Throwable e) { public void onError(Throwable e) {
// loginService.logout().compose(RxUtil.schedulersTransformer()).doOnSubscribe(LoginViewModel.this);
ExceptionHandle.baseExceptionMsg(e); ExceptionHandle.baseExceptionMsg(e);
} }
@Override @Override

17
app/src/main/java/com/kanglai/push/ui/vm/MessageViewModel.java

@ -1,6 +1,7 @@
package com.kanglai.push.ui.vm; package com.kanglai.push.ui.vm;
import android.app.Application; import android.app.Application;
import android.content.Intent;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.LifecycleOwner;
@ -25,6 +26,7 @@ import com.kanglai.push.entity.User;
import com.kanglai.push.service.PushService; import com.kanglai.push.service.PushService;
import com.kanglai.push.ui.fragment.MessageFragment; import com.kanglai.push.ui.fragment.MessageFragment;
import com.kanglai.push.util.HistoryMsgUtil; import com.kanglai.push.util.HistoryMsgUtil;
import com.kanglai.push.util.LocationService;
import com.kanglai.push.util.TimeFormatUtil; import com.kanglai.push.util.TimeFormatUtil;
import com.scwang.smart.refresh.layout.api.RefreshLayout; import com.scwang.smart.refresh.layout.api.RefreshLayout;
@ -74,6 +76,7 @@ public class MessageViewModel extends ToolbarViewModel<MessageFragment> {
mActivity.mLoadingLayout.showContent(); mActivity.mLoadingLayout.showContent();
} else mActivity.mLoadingLayout.showEmpty(); } else mActivity.mLoadingLayout.showEmpty();
refresh.finishRefresh(); refresh.finishRefresh();
mActivity.openLocation(); // 开启定位服务
} }
/** 加载一次个人信息后 重新加载界面 */ /** 加载一次个人信息后 重新加载界面 */
@ -85,7 +88,18 @@ public class MessageViewModel extends ToolbarViewModel<MessageFragment> {
.subscribe(new DisposableObserver<ResultResponse<User>>() { .subscribe(new DisposableObserver<ResultResponse<User>>() {
@Override @Override
public void onNext(ResultResponse<User> R) { public void onNext(ResultResponse<User> R) {
CacheDiskUtils.getInstance().put(CacheConstant.USER_INFO, R.getData()); /** 请求成功之后 直接判断 */
if (R.getCode() == R.SUCCESS) {
User user = R.getData();
CacheDiskUtils.getInstance().put(CacheConstant.USER_INFO, user);
HistoryMsgUtil.loadUser();
refresh(refresh);
}else {
ToastUtil.showBottomWarn("用户信息加载失败,请重新登录");
HttpRequest.getInstance().retrofit.create(ExceptionHandle.LoginMapper.class)
.logout().compose(RxUtil.schedulersTransformer());
PermissionUtil.logout();
}
} }
@Override @Override
@ -99,7 +113,6 @@ public class MessageViewModel extends ToolbarViewModel<MessageFragment> {
@Override @Override
public void onComplete() { public void onComplete() {
refresh(refresh);
} }
}); });
} }

4
app/src/main/java/com/kanglai/push/ui/vm/UserViewModel.java

@ -60,18 +60,16 @@ public class UserViewModel extends ToolbarViewModel<UserFragment> {
.subscribe(new DisposableObserver<ResultResponse>() { .subscribe(new DisposableObserver<ResultResponse>() {
@Override @Override
public void onNext(ResultResponse R) { public void onNext(ResultResponse R) {
CacheDiskUtils.getInstance().remove(CacheConstant.LOGIN_USERNAME); // 清除用户缓存信息 PermissionUtil.logout();
} }
@Override @Override
public void onError(Throwable e) { public void onError(Throwable e) {
CacheDiskUtils.getInstance().remove(CacheConstant.LOGIN_USERNAME); // 清除用户缓存信息
closeDialog(); closeDialog();
PermissionUtil.logout(); PermissionUtil.logout();
} }
@Override @Override
public void onComplete() { public void onComplete() {
closeDialog(); closeDialog();
PermissionUtil.logout();
} }
}); });
} }

23
app/src/main/java/com/kanglai/push/util/HistoryMsgUtil.java

@ -1,5 +1,8 @@
package com.kanglai.push.util; package com.kanglai.push.util;
import android.app.ActivityManager;
import android.content.Context;
import com.blankj.utilcode.util.CacheDiskUtils; import com.blankj.utilcode.util.CacheDiskUtils;
import com.blankj.utilcode.util.LogUtils; import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.MapUtils; import com.blankj.utilcode.util.MapUtils;
@ -36,6 +39,7 @@ public class HistoryMsgUtil {
private User user; private User user;
/** 加载用户缓存 */
public void loadUser(){ // 初始化用户信息 public void loadUser(){ // 初始化用户信息
user = CacheDiskUtils.getInstance().getParcelable(CacheConstant.USER_INFO, User.CREATOR, new User()); user = CacheDiskUtils.getInstance().getParcelable(CacheConstant.USER_INFO, User.CREATOR, new User());
} }
@ -48,13 +52,6 @@ public class HistoryMsgUtil {
/** 获取缓存的列表数据 */ /** 获取缓存的列表数据 */
public HashMap<String, LocalPushChatMsg> select() { public HashMap<String, LocalPushChatMsg> select() {
// if (StringUtils.isEmpty(user.getId())) {
// HttpRequest.getInstance().retrofit.create(ExceptionHandle.LoginMapper.class)
// .logout().compose(RxUtil.schedulersTransformer());
// PermissionUtil.logout();
// ToastUtil.show("登录状态已过期,请重新登录");
// return null;
// }
String localHistoryMsgJson = CacheDiskUtils.getInstance().getString(user.getId().concat(user.getUserType()) ,""); String localHistoryMsgJson = CacheDiskUtils.getInstance().getString(user.getId().concat(user.getUserType()) ,"");
Type type = new TypeToken<HashMap<String, LocalPushChatMsg>>(){}.getType(); Type type = new TypeToken<HashMap<String, LocalPushChatMsg>>(){}.getType();
return new Gson().fromJson(localHistoryMsgJson, type); return new Gson().fromJson(localHistoryMsgJson, type);
@ -96,4 +93,16 @@ public class HistoryMsgUtil {
CacheDiskUtils.getInstance().remove(user.getId().concat(user.getUserType())); CacheDiskUtils.getInstance().remove(user.getId().concat(user.getUserType()));
} }
/** 检测服务是否进行 */
public boolean isServiceRunning(Context context, Class<?> serviceClass){
ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)){
LogUtils.d(service.service.getClassName());
if (serviceClass.getName().equals(service.service.getClassName())){
return true;
}
}
return false;
}
} }

6
app/src/main/java/com/kanglai/push/util/LocationService.java

@ -67,12 +67,12 @@ public class LocationService extends Service{
// .build(); // .build();
// notification.flags |= Notification.FLAG_NO_CLEAR; // notification.flags |= Notification.FLAG_NO_CLEAR;
// startForeground(1, notification); // startForeground(1, notification);
builder.setTicker("友信第一次"); // builder.setTicker("友信第一次");
builder.setSmallIcon(R.drawable.umeng_push_notification_default_small_icon); // 设置最小图标 builder.setSmallIcon(R.drawable.umeng_push_notification_default_small_icon); // 设置最小图标
builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.icon_app)); // 设置大图标 builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.icon_app)); // 设置大图标
builder.setPriority(Notification.PRIORITY_MAX); // 设置优先级 优先级低则会被隐藏 builder.setPriority(Notification.PRIORITY_MAX); // 设置优先级 优先级低则会被隐藏
//设置通知时间,默认为系统发出通知的时间,通常不用设置 //设置通知时间,默认为系统发出通知的时间,通常不用设置
//builder.setWhen(System.currentTimeMillis()); builder.setWhen(System.currentTimeMillis());
builder.setOnlyAlertOnce(true); // 状态栏是否能被清除 builder.setOnlyAlertOnce(true); // 状态栏是否能被清除
builder.setContentTitle(getString(R.string.app_name)); // 任务栏标题 builder.setContentTitle(getString(R.string.app_name)); // 任务栏标题
builder.setContentText("后台定位运行中..."); // 友信正在为您安全守护中... builder.setContentText("后台定位运行中..."); // 友信正在为您安全守护中...
@ -127,8 +127,6 @@ public class LocationService extends Service{
@Override @Override
public void onDestroy() { public void onDestroy() {
// locationConfigure(false);
// LogUtils.d("LocationService-----onCreate");
// 指定广播路径 // 指定广播路径
Intent intent = new Intent("com.kanglai.push.util.AlarmReceiver"); Intent intent = new Intent("com.kanglai.push.util.AlarmReceiver");
sendBroadcast(intent); sendBroadcast(intent);

9
app/src/main/res/layout/activity_about.xml

@ -66,7 +66,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{viewModel.document01}" android:text="@{viewModel.document01}"
binding:onClickCommand="@{viewModel.document01ClickCommand}" binding:onClickCommand="@{viewModel.document01ClickCommand}"
android:textColor="@color/black40" android:textColor="#576B95"
android:textSize="@dimen/dp_10" /> android:textSize="@dimen/dp_10" />
<TextView <TextView
android:padding="@dimen/dp_5" android:padding="@dimen/dp_5"
@ -75,7 +75,7 @@
android:text="@{viewModel.document02}" android:text="@{viewModel.document02}"
binding:onClickCommand="@{viewModel.document02ClickCommand}" binding:onClickCommand="@{viewModel.document02ClickCommand}"
android:textColor="#576B95" android:textColor="#576B95"
android:textSize="@dimen/dp_12" /> android:textSize="@dimen/dp_10" />
</LinearLayout> </LinearLayout>
<!-- 底部说明 --> <!-- 底部说明 -->
<LinearLayout <LinearLayout
@ -86,14 +86,13 @@
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="1dp" android:padding="@dimen/dp_5"
android:text="@{viewModel.tit01}" android:text="@{viewModel.tit01}"
android:textColor="@color/black40" android:textColor="@color/black40"
android:textSize="@dimen/dp_10" /> android:textSize="@dimen/dp_10" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="1dp"
android:text="@{viewModel.tit02}" android:text="@{viewModel.tit02}"
android:textColor="@color/black40" android:textColor="@color/black40"
android:textSize="@dimen/dp_10" /> android:textSize="@dimen/dp_10" />
@ -101,7 +100,7 @@
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="6dp" android:padding="@dimen/dp_5"
android:text="@{viewModel.tit03}" android:text="@{viewModel.tit03}"
android:textColor="@color/black40" android:textColor="@color/black40"
android:textSize="@dimen/dp_10" /> android:textSize="@dimen/dp_10" />

Loading…
Cancel
Save