Commit 4340c0fe authored by jianglx's avatar jianglx

新消息未读消息数

parent 7a278e17
...@@ -42,6 +42,7 @@ import com.ruiwenliu.wrapper.bean.ActBean; ...@@ -42,6 +42,7 @@ import com.ruiwenliu.wrapper.bean.ActBean;
import com.ruiwenliu.wrapper.bean.UpdateTokenBean; import com.ruiwenliu.wrapper.bean.UpdateTokenBean;
import com.ruiwenliu.wrapper.receiver.NetWorkReceiver; import com.ruiwenliu.wrapper.receiver.NetWorkReceiver;
import com.ruiwenliu.wrapper.statusbar.StatusBarUtil; import com.ruiwenliu.wrapper.statusbar.StatusBarUtil;
import com.ruiwenliu.wrapper.util.AppUtils;
import com.ruiwenliu.wrapper.util.UtilsManager; import com.ruiwenliu.wrapper.util.UtilsManager;
import com.ruiwenliu.wrapper.util.listener.SwitchFragment; import com.ruiwenliu.wrapper.util.listener.SwitchFragment;
import com.ruiwenliu.wrapper.weight.CustomScrollViewPager; import com.ruiwenliu.wrapper.weight.CustomScrollViewPager;
...@@ -98,7 +99,7 @@ import cn.jpush.android.api.BasicPushNotificationBuilder; ...@@ -98,7 +99,7 @@ import cn.jpush.android.api.BasicPushNotificationBuilder;
import cn.jpush.android.api.JPushInterface; import cn.jpush.android.api.JPushInterface;
public class MainActivity extends BaseActivity<CommonPresenter> implements DownListenerManager.DownListener, ChatMessageListener ,ICommunicateListener { public class MainActivity extends BaseActivity<CommonPresenter> implements DownListenerManager.DownListener, ChatMessageListener, ICommunicateListener {
private boolean hasGetVersionInfo = false; // 判断是否已经获取过版本信息 private boolean hasGetVersionInfo = false; // 判断是否已经获取过版本信息
...@@ -167,6 +168,7 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL ...@@ -167,6 +168,7 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL
EventBus.getDefault().register(this); EventBus.getDefault().register(this);
DownListenerManager.getInstance().addDownListener(this); DownListenerManager.getInstance().addDownListener(this);
ListenerManager.getInstance().addChatMessageListener(this); ListenerManager.getInstance().addChatMessageListener(this);
AppUtils.setBadger(ImSetting.getContext(), ChatMessageServiceImp.getInstance(ImSetting.getContext()).getUnReadMsg());
} }
@Override @Override
...@@ -257,14 +259,11 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL ...@@ -257,14 +259,11 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL
if (actBean != null && actBean.isRel() && actBean.getData() != null && actBean.getData().size() > 0) { if (actBean != null && actBean.isRel() && actBean.getData() != null && actBean.getData().size() > 0) {
final ActBean.Act act = actBean.getData().get(0); final ActBean.Act act = actBean.getData().get(0);
mPresenter.saveOnclick("0", String.valueOf(act.getId())); mPresenter.saveOnclick("0", String.valueOf(act.getId()));
promotionDialog = new PromotionDialog.Builder(this, new View.OnClickListener() { promotionDialog = new PromotionDialog.Builder(this, view -> {
@Override promotionDialog.dismiss();
public void onClick(View view) { mPresenter.saveOnclick("1", String.valueOf(act.getId()));
promotionDialog.dismiss(); postActivityPopup(act.getId());
mPresenter.saveOnclick("1", String.valueOf(act.getId())); startActivity(WebViewActivity.getIntent(getApplicationContext(), act.getUrl(), act.getName()));
postActivityPopup(act.getId());
startActivity(WebViewActivity.getIntent(getApplicationContext(), act.getUrl(), act.getName()));
}
}).setData(act).create(); }).setData(act).create();
promotionDialog.show(); promotionDialog.show();
} }
...@@ -661,7 +660,7 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL ...@@ -661,7 +660,7 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL
Cookie.clear(getApplicationContext()); Cookie.clear(getApplicationContext());
OkGoUtil.clearToken(); OkGoUtil.clearToken();
ImSetting.logout(); ImSetting.logout();
AppUtils.setBadger(getApplicationContext(), 0);
showLogoutDialog(); showLogoutDialog();
} }
......
...@@ -85,5 +85,7 @@ dependencies { ...@@ -85,5 +85,7 @@ dependencies {
api 'cn.jiguang.sdk:jpush:3.3.4' api 'cn.jiguang.sdk:jpush:3.3.4'
// 此处以JPush 3.3.4 版本为例。 // 此处以JPush 3.3.4 版本为例。
api 'cn.jiguang.sdk:jcore:2.1.2' api 'cn.jiguang.sdk:jcore:2.1.2'
api "me.leolin:ShortcutBadger:1.1.22@aar"
// 此处以JCore 2.1.2 版本为例。 // 此处以JCore 2.1.2 版本为例。
} }
...@@ -9,6 +9,8 @@ import com.yuyife.okgo.OkGoUtil; ...@@ -9,6 +9,8 @@ import com.yuyife.okgo.OkGoUtil;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import me.leolin.shortcutbadger.ShortcutBadger;
public class AppUtils { public class AppUtils {
public static void logout(Context context) { public static void logout(Context context) {
...@@ -17,6 +19,21 @@ public class AppUtils { ...@@ -17,6 +19,21 @@ public class AppUtils {
RvCache.getInstance().clear(); RvCache.getInstance().clear();
Cookie.clear(context); Cookie.clear(context);
OkGoUtil.clearToken(); OkGoUtil.clearToken();
setBadger(context.getApplicationContext(),0);
EventBus.getDefault().post(new MessageEventLogout()); EventBus.getDefault().post(new MessageEventLogout());
} }
/********
* 设置桌面未读消息数
* @param count
*/
public static void setBadger(Context context, int count) {
if (ShortcutBadger.isBadgeCounterSupported(context)) {
if (count > 0) {
ShortcutBadger.applyCount(context, count);
} else {
ShortcutBadger.removeCount(context);
}
}
}
} }
...@@ -14,6 +14,7 @@ buildscript { ...@@ -14,6 +14,7 @@ buildscript {
maven { maven {
url "https://jitpack.io" url "https://jitpack.io"
} }
mavenCentral()
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:3.2.1' classpath 'com.android.tools.build:gradle:3.2.1'
...@@ -27,6 +28,7 @@ buildscript { ...@@ -27,6 +28,7 @@ buildscript {
allprojects { allprojects {
repositories { repositories {
mavenCentral()
google() google()
jcenter() jcenter()
// 支付宝 SDK AAR 包所需的配置 // 支付宝 SDK AAR 包所需的配置
......
...@@ -887,7 +887,7 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa ...@@ -887,7 +887,7 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
Intent intent = new Intent(); Intent intent = new Intent();
intent.putExtra("login_user_id", Cookie.getStringValue(getContext(), SPConstance.USER_JSON_IMUSERID)); intent.putExtra("login_user_id", Cookie.getStringValue(getContext(), SPConstance.USER_JSON_IMUSERID));
intent.setComponent(name); intent.setComponent(name);
startActivityForResult(intent, 9527); getActivity().startActivityForResult(intent, 9527);
} }
} else if (id == R.id.tv_home_car_rental_guide) { } else if (id == R.id.tv_home_car_rental_guide) {
//租车指南 //租车指南
......
...@@ -33,6 +33,7 @@ import com.ruiwenliu.wrapper.base.BaseBean; ...@@ -33,6 +33,7 @@ import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseFragment; import com.ruiwenliu.wrapper.base.BaseFragment;
import com.ruiwenliu.wrapper.bean.UserInfoBean; import com.ruiwenliu.wrapper.bean.UserInfoBean;
import com.ruiwenliu.wrapper.browse.ActivityImageBrowseInt; import com.ruiwenliu.wrapper.browse.ActivityImageBrowseInt;
import com.ruiwenliu.wrapper.util.AppUtils;
import com.ruiwenliu.wrapper.util.UtilsManager; import com.ruiwenliu.wrapper.util.UtilsManager;
import com.ruiwenliu.wrapper.util.glide.GlideManager; import com.ruiwenliu.wrapper.util.glide.GlideManager;
import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout; import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout;
...@@ -242,11 +243,7 @@ public class MineFragment extends BaseFragment<CommonPresenter> implements Simpl ...@@ -242,11 +243,7 @@ public class MineFragment extends BaseFragment<CommonPresenter> implements Simpl
.subscribe(new Observer<SignOutEvent>(disposable) { .subscribe(new Observer<SignOutEvent>(disposable) {
@Override @Override
public void onNext(SignOutEvent event) { public void onNext(SignOutEvent event) {
UtilsManager.getInstance(_mActivity).clearShareData("city_json"); AppUtils.logout(_mActivity);
UtilsManager.getInstance(_mActivity).setShNull();
RvCache.getInstance().clear();
Cookie.clear(_mActivity);
OkGoUtil.clearToken();
signOut(); signOut();
} }
}); });
......
...@@ -241,7 +241,7 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements S ...@@ -241,7 +241,7 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements S
Intent intent = new Intent(); Intent intent = new Intent();
intent.putExtra("login_user_id", Cookie.getStringValue(getContext(), SPConstance.USER_JSON_IMUSERID)); intent.putExtra("login_user_id", Cookie.getStringValue(getContext(), SPConstance.USER_JSON_IMUSERID));
intent.setComponent(name); intent.setComponent(name);
startActivityForResult(intent, 9527); _mActivity.startActivityForResult(intent, 9527);
} }
} else if (id == R.id.ll_item_popular_brigade_many || id == R.id.iv_popular_brigade_many) { } else if (id == R.id.ll_item_popular_brigade_many || id == R.id.iv_popular_brigade_many) {
//查看热门更多 //查看热门更多
......
...@@ -47,6 +47,7 @@ public class ImSetting { ...@@ -47,6 +47,7 @@ public class ImSetting {
// ChatConversationServiceImp.getInstance(getContext()).release(); // ChatConversationServiceImp.getInstance(getContext()).release();
CustomerServiceImp.getInstance(getContext()).release(); CustomerServiceImp.getInstance(getContext()).release();
ChatMessageServiceImp.getInstance(getContext()).release(); ChatMessageServiceImp.getInstance(getContext()).release();
getSharePreference(getContext()).edit().clear().commit();
SQLiteHelper.closeDb(); // 关掉数据库连接 SQLiteHelper.closeDb(); // 关掉数据库连接
} }
......
...@@ -9,7 +9,6 @@ import com.j256.ormlite.android.apptools.OpenHelperManager; ...@@ -9,7 +9,6 @@ import com.j256.ormlite.android.apptools.OpenHelperManager;
import com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper; import com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper;
import com.j256.ormlite.dao.Dao; import com.j256.ormlite.dao.Dao;
import com.j256.ormlite.dao.DaoManager; import com.j256.ormlite.dao.DaoManager;
import com.j256.ormlite.dao.GenericRawResults;
import com.rv.im.ImSetting; import com.rv.im.ImSetting;
import com.rv.im.db.SQLiteHelper; import com.rv.im.db.SQLiteHelper;
import com.rv.im.db.table.ChatMessage; import com.rv.im.db.table.ChatMessage;
......
...@@ -2,6 +2,7 @@ package com.rv.im.db.service; ...@@ -2,6 +2,7 @@ package com.rv.im.db.service;
import android.content.Context; import android.content.Context;
import com.ruiwenliu.wrapper.util.AppUtils;
import com.rv.im.ImSetting; import com.rv.im.ImSetting;
import com.rv.im.db.dao.ConversationDao; import com.rv.im.db.dao.ConversationDao;
import com.rv.im.db.dao.MessageDao; import com.rv.im.db.dao.MessageDao;
...@@ -16,7 +17,7 @@ public class ChatMessageServiceImp implements IChatMessageService { ...@@ -16,7 +17,7 @@ public class ChatMessageServiceImp implements IChatMessageService {
private static ChatMessageServiceImp instance = null; private static ChatMessageServiceImp instance = null;
private ConversationDao conversationDao = null; private ConversationDao conversationDao = null;
public ChatMessageServiceImp(Context context) { private ChatMessageServiceImp(Context context) {
dao = new MessageDao(context); dao = new MessageDao(context);
conversationDao = ConversationDao.getInstance(context); conversationDao = ConversationDao.getInstance(context);
} }
...@@ -87,6 +88,7 @@ public class ChatMessageServiceImp implements IChatMessageService { ...@@ -87,6 +88,7 @@ public class ChatMessageServiceImp implements IChatMessageService {
@Override @Override
public void setMsgRead(String targetUserId) { public void setMsgRead(String targetUserId) {
AppUtils.setBadger(ImSetting.getContext(),ChatMessageServiceImp.getInstance(ImSetting.getContext()).getUnReadMsg() );
dao.setMessageRead(targetUserId); dao.setMessageRead(targetUserId);
} }
......
...@@ -4,6 +4,7 @@ import android.media.MediaPlayer; ...@@ -4,6 +4,7 @@ import android.media.MediaPlayer;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
import com.ruiwenliu.wrapper.util.AppUtils;
import com.rv.im.ImSetting; import com.rv.im.ImSetting;
import com.rv.im.R; import com.rv.im.R;
import com.rv.im.db.service.ChatMessageServiceImp; import com.rv.im.db.service.ChatMessageServiceImp;
...@@ -101,6 +102,7 @@ public class ListenerManager { ...@@ -101,6 +102,7 @@ public class ListenerManager {
* 新消息来临 * 新消息来临
*/ */
public void notifyNewMesssage(final ChatMessage message) { public void notifyNewMesssage(final ChatMessage message) {
AppUtils.setBadger(ImSetting.getContext(),ChatMessageServiceImp.getInstance(ImSetting.getContext()).getUnReadMsg() );
NotificationMananger.showNewsNotification(ImSetting.getContext(), message.getFromId()); NotificationMananger.showNewsNotification(ImSetting.getContext(), message.getFromId());
bell(); bell();
mHandler.post(() -> { mHandler.post(() -> {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment