LiuSiXiang-007 1 year ago
parent
commit
016a73be8a
  1. 18
      app/src/main/java/com/kanglai/push/ui/fragment/MessageFragment.java
  2. 8
      app/src/main/java/com/kanglai/push/ui/vm/LoginViewModel.java
  3. 24
      app/src/main/java/com/kanglai/push/ui/vm/MessageViewModel.java
  4. 3
      app/src/main/java/com/kanglai/push/ui/vm/UserViewModel.java

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

@ -18,8 +18,10 @@ import androidx.annotation.Nullable; @@ -18,8 +18,10 @@ import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.blankj.utilcode.util.CacheDiskUtils;
import com.blankj.utilcode.util.CollectionUtils;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.Utils;
import com.dolphin.core.base.BaseFragment;
import com.dolphin.core.bus.RxBus;
import com.dolphin.core.bus.RxSubscriptions;
@ -31,17 +33,17 @@ import com.h6ah4i.android.widget.advrecyclerview.swipeable.RecyclerViewSwipeMana @@ -31,17 +33,17 @@ import com.h6ah4i.android.widget.advrecyclerview.swipeable.RecyclerViewSwipeMana
import com.h6ah4i.android.widget.advrecyclerview.touchguard.RecyclerViewTouchActionGuardManager;
import com.kanglai.push.BR;
import com.kanglai.push.R;
import com.kanglai.push.constant.CacheConstant;
import com.kanglai.push.constant.CommonConstant;
import com.kanglai.push.databinding.FragmentMessageBinding;
import com.kanglai.push.entity.LocalPushChatMsg;
import com.kanglai.push.entity.User;
import com.kanglai.push.ui.activity.InstantActivity;
import com.kanglai.push.ui.adapter.MessageSwipeableRecyclerAdapter;
import com.kanglai.push.ui.vm.MessageViewModel;
import com.kanglai.push.util.HistoryMsgUtil;
import com.scwang.smart.refresh.layout.api.RefreshLayout;
import java.util.ArrayList;
import java.util.List;
import com.umeng.message.PushAgent;
import ezy.ui.layout.LoadingLayout;
import io.reactivex.disposables.Disposable;
@ -65,6 +67,7 @@ public class MessageFragment extends BaseFragment<FragmentMessageBinding, Messag @@ -65,6 +67,7 @@ public class MessageFragment extends BaseFragment<FragmentMessageBinding, Messag
public LoadingLayout mLoadingLayout;
private Disposable mSubscription;
private ActivityResultLauncher<LocalPushChatMsg> instantLauncherResult;
private User user = CacheDiskUtils.getInstance().getParcelable(CacheConstant.USER_INFO, User.CREATOR, new User());
@Override
public int setContentView(LayoutInflater inflater, @Nullable ViewGroup parentContainer, @Nullable Bundle savedInstanceState) {
@ -151,7 +154,14 @@ public class MessageFragment extends BaseFragment<FragmentMessageBinding, Messag @@ -151,7 +154,14 @@ public class MessageFragment extends BaseFragment<FragmentMessageBinding, Messag
@Override
public void onStart() {
super.onStart();
mViewModel.setAlias();
PushAgent mPushAgent = PushAgent.getInstance(Utils.getApp());
mPushAgent.setAlias(user.getId(), CommonConstant.UMENG_PUSH_USER_ALIAS_TYPE, (s, m)->{
if (s) {
LogUtils.d("alias bind success! type:" + CommonConstant.UMENG_PUSH_USER_ALIAS_TYPE + " alias:" + user.getId());
} else {
LogUtils.d("alias bind failure! msg:" + m);
}
});
}
@Override

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

@ -266,9 +266,6 @@ public class LoginViewModel extends BaseViewModel<LoginActivity> { @@ -266,9 +266,6 @@ public class LoginViewModel extends BaseViewModel<LoginActivity> {
// 采用磁盘缓存存储数据,内部会根据Lru淘汰策略进行淘汰如果缓存满了会丢掉最后一个缓存对象
User user = R.getData();
if (StringUtils.isTrimEmpty(user.getAvatar())) user.setAvatar("/default.png");
if (!StringUtils.isTrimEmpty(user.getId())) {
addAlias(user.getId(),1, 5); // 新增失败之后 利用递归重复新增 直到新增成功为止(最多6次)
} else throw new RuntimeException("用户对象为空请重新登录!");
MMKV.defaultMMKV().putString(CacheConstant.LOGIN_USERNAME, R.getData().getNickName());
MMKV.defaultMMKV().putString(CacheConstant.LOGIN_PASSWORD, password.get());
CacheDiskUtils.getInstance().put(CacheConstant.USER_INFO, user);
@ -304,9 +301,8 @@ public class LoginViewModel extends BaseViewModel<LoginActivity> { @@ -304,9 +301,8 @@ public class LoginViewModel extends BaseViewModel<LoginActivity> {
});
}
/** 真正的登录接口 */
/**
* 废弃
* 别名增加将某一类型的别名ID绑定至某设备
* 老的绑定设备信息还在
* 别名ID和device_token是一对多的映射关系
@ -321,7 +317,7 @@ public class LoginViewModel extends BaseViewModel<LoginActivity> { @@ -321,7 +317,7 @@ public class LoginViewModel extends BaseViewModel<LoginActivity> {
// https://developer.umeng.com/docs/67966/detail/89996
// user = CacheDiskUtils.getInstance().getParcelable(CacheConstant.USER_INFO, User.CREATOR);
PushAgent mPushAgent = PushAgent.getInstance(Utils.getApp());
mPushAgent.addAlias(id, CommonConstant.UMENG_PUSH_USER_ALIAS_TYPE, (success, message) ->{
mPushAgent.setAlias(id, CommonConstant.UMENG_PUSH_USER_ALIAS_TYPE, (success, message) ->{
String msg;
if (success) {
msg = "add alias success! type:" + CommonConstant.UMENG_PUSH_USER_ALIAS_TYPE + " alias:" + id;

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

@ -6,28 +6,21 @@ import androidx.annotation.NonNull; @@ -6,28 +6,21 @@ import androidx.annotation.NonNull;
import androidx.lifecycle.LifecycleOwner;
import com.blankj.utilcode.util.ArrayUtils;
import com.blankj.utilcode.util.CacheDiskUtils;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.Utils;
import com.dolphin.core.http.api.ResultResponse;
import com.dolphin.core.http.exception.ExceptionHandle;
import com.dolphin.core.util.RxUtil;
import com.dolphin.core.util.ToastUtil;
import com.google.gson.Gson;
import com.kanglai.push.app.AppApplication;
import com.kanglai.push.constant.CacheConstant;
import com.kanglai.push.constant.CommonConstant;
import com.kanglai.push.di.component.DaggerServiceComponent;
import com.kanglai.push.entity.LocalPushChatMsg;
import com.kanglai.push.entity.ResultVo;
import com.kanglai.push.entity.SystemUser;
import com.kanglai.push.entity.User;
import com.kanglai.push.service.PushService;
import com.kanglai.push.ui.fragment.MessageFragment;
import com.kanglai.push.util.HistoryMsgUtil;
import com.kanglai.push.util.TimeFormatUtil;
import com.scwang.smart.refresh.layout.api.RefreshLayout;
import com.umeng.message.PushAgent;
import java.util.Map;
@ -48,9 +41,6 @@ public class MessageViewModel extends ToolbarViewModel<MessageFragment> { @@ -48,9 +41,6 @@ public class MessageViewModel extends ToolbarViewModel<MessageFragment> {
@Inject
PushService pushService;
private User user = CacheDiskUtils.getInstance().getParcelable(CacheConstant.USER_INFO, User.CREATOR, new User());
public MessageViewModel(@NonNull Application application) {
super(application);
super.setTitleText("友信");
@ -111,18 +101,4 @@ public class MessageViewModel extends ToolbarViewModel<MessageFragment> { @@ -111,18 +101,4 @@ public class MessageViewModel extends ToolbarViewModel<MessageFragment> {
});
}
public void setAlias(){
PushAgent mPushAgent = PushAgent.getInstance(Utils.getApp());
mPushAgent.setAlias(user.getId(), CommonConstant.UMENG_PUSH_USER_ALIAS_TYPE, (s, m)->{
String bindMsg;
if (s) {
bindMsg = "alias bind success! type:" + CommonConstant.UMENG_PUSH_USER_ALIAS_TYPE + " alias:" + user.getId();
} else {
bindMsg = "alias bind failure! msg:" + m;
}
LogUtils.d(bindMsg);
});
}
}

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

@ -70,20 +70,19 @@ public class UserViewModel extends ToolbarViewModel<UserFragment> { @@ -70,20 +70,19 @@ public class UserViewModel extends ToolbarViewModel<UserFragment> {
@Override
public void onError(Throwable e) {
CacheDiskUtils.getInstance().remove(CacheConstant.LOGIN_USERNAME); // 清除用户缓存
deleteAlias();
closeDialog();
PermissionUtil.logout();
}
@Override
public void onComplete() {
closeDialog();
deleteAlias();
PermissionUtil.logout();
}
});
}
/**
* 废弃
* 清除友盟别名防止退出登录后依旧能接收到数据消息
*
* 移除别名ID

Loading…
Cancel
Save