Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
R
RvApp
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lify
RvApp
Commits
750a13b6
Commit
750a13b6
authored
Nov 07, 2019
by
linfeng
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master-price-john' of
http://113.105.137.151:22280/lify/rvapp
into master-price
parents
010ab394
8d13160c
Changes
19
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
205 additions
and
109 deletions
+205
-109
MainActivity.java
RvClient/src/main/java/com/xxfc/rv/MainActivity.java
+21
-15
RvActivityLifecycleCallbacks.java
.../java/com/xxfc/rv/other/RvActivityLifecycleCallbacks.java
+27
-4
build.gradle
RvWrapper/build.gradle
+2
-0
ImInitListenter.java
...ain/java/com/ruiwenliu/wrapper/inter/ImInitListenter.java
+5
-0
AppUtils.java
...er/src/main/java/com/ruiwenliu/wrapper/util/AppUtils.java
+16
-0
build.gradle
build.gradle
+2
-0
HomeFragment.java
...java/com/rv/home/rv/module/ui/main/home/HomeFragment.java
+11
-26
MineFragment.java
module_mine/src/main/java/com/rv/rvmine/MineFragment.java
+5
-5
TourismFragment.java
...tourism/src/main/java/com/rv/tourism/TourismFragment.java
+5
-12
CustomerListActivity.java
plugin_im/src/main/java/com/rv/im/CustomerListActivity.java
+2
-2
ImSetting.java
plugin_im/src/main/java/com/rv/im/ImSetting.java
+1
-2
CustomerListAdapter.java
.../src/main/java/com/rv/im/adapter/CustomerListAdapter.java
+15
-1
ConversationDao.java
...in_im/src/main/java/com/rv/im/db/dao/ConversationDao.java
+1
-18
MessageDao.java
plugin_im/src/main/java/com/rv/im/db/dao/MessageDao.java
+30
-16
ChatMessageServiceImp.java
...main/java/com/rv/im/db/service/ChatMessageServiceImp.java
+6
-1
IChatMessageService.java
...c/main/java/com/rv/im/db/service/IChatMessageService.java
+2
-0
Customer.java
plugin_im/src/main/java/com/rv/im/db/table/Customer.java
+10
-0
ListenerManager.java
plugin_im/src/main/java/com/rv/im/xmpp/ListenerManager.java
+2
-0
item_customer.xml
plugin_im/src/main/res/layout/item_customer.xml
+42
-7
No files found.
RvClient/src/main/java/com/xxfc/rv/MainActivity.java
View file @
750a13b6
...
@@ -38,9 +38,11 @@ import com.ruiwenliu.wrapper.base.BaseBean;
...
@@ -38,9 +38,11 @@ import com.ruiwenliu.wrapper.base.BaseBean;
import
com.ruiwenliu.wrapper.base.BaseWrapperFragment
;
import
com.ruiwenliu.wrapper.base.BaseWrapperFragment
;
import
com.ruiwenliu.wrapper.bean.ActBean
;
import
com.ruiwenliu.wrapper.bean.ActBean
;
import
com.ruiwenliu.wrapper.bean.UpdateTokenBean
;
import
com.ruiwenliu.wrapper.bean.UpdateTokenBean
;
import
com.ruiwenliu.wrapper.inter.ImInitListenter
;
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.GpsManager
;
import
com.ruiwenliu.wrapper.util.GpsManager
;
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
;
...
@@ -55,6 +57,7 @@ import com.rv.home.rv.module.ApiConfig;
...
@@ -55,6 +57,7 @@ import com.rv.home.rv.module.ApiConfig;
import
com.ruiwenliu.wrapper.base.presenter.CommonPresenter
;
import
com.ruiwenliu.wrapper.base.presenter.CommonPresenter
;
import
com.rv.home.rv.module.ui.main.home.HomeFragment
;
import
com.rv.home.rv.module.ui.main.home.HomeFragment
;
import
com.rv.home.rv.module.ui.main.home.bean.EffectiveTimeBean
;
import
com.rv.home.rv.module.ui.main.home.bean.EffectiveTimeBean
;
import
com.rv.im.CustomerListActivity
;
import
com.rv.im.ImService
;
import
com.rv.im.ImService
;
import
com.rv.im.ImSetting
;
import
com.rv.im.ImSetting
;
import
com.rv.im.call.AudioOrVideoController
;
import
com.rv.im.call.AudioOrVideoController
;
...
@@ -94,7 +97,8 @@ import butterknife.OnClick;
...
@@ -94,7 +97,8 @@ import butterknife.OnClick;
import
cn.jpush.android.api.BasicPushNotificationBuilder
;
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
{
public
class
MainActivity
extends
BaseActivity
<
CommonPresenter
>
implements
DownListenerManager
.
DownListener
,
ChatMessageListener
,
ImInitListenter
{
private
boolean
hasGetVersionInfo
=
false
;
// 判断是否已经获取过版本信息
private
boolean
hasGetVersionInfo
=
false
;
// 判断是否已经获取过版本信息
...
@@ -152,6 +156,11 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL
...
@@ -152,6 +156,11 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL
return
new
Intent
(
context
,
MainActivity
.
class
);
return
new
Intent
(
context
,
MainActivity
.
class
);
}
}
@Override
public
boolean
isBindService
()
{
return
hasBindService
;
}
@Override
@Override
protected
int
setLayout
()
{
protected
int
setLayout
()
{
return
R
.
layout
.
activity_main
;
return
R
.
layout
.
activity_main
;
...
@@ -165,6 +174,7 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL
...
@@ -165,6 +174,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());
GpsManager
.
getInstance
(
this
).
rigister
();
GpsManager
.
getInstance
(
this
).
rigister
();
}
}
...
@@ -247,9 +257,9 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL
...
@@ -247,9 +257,9 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL
case
1
:
case
1
:
EffectiveTimeBean
bean
=
(
EffectiveTimeBean
)
result
;
EffectiveTimeBean
bean
=
(
EffectiveTimeBean
)
result
;
if
(
bean
!=
null
&&
bean
.
isRel
()
&&
bean
.
getData
()
!=
null
)
{
if
(
bean
!=
null
&&
bean
.
isRel
()
&&
bean
.
getData
()
!=
null
)
{
AppCookie
.
save
(
"actRent"
,
bean
.
getData
().
getActRent
());
AppCookie
.
save
(
"actRent"
,
bean
.
getData
().
getActRent
());
AppCookie
.
save
(
"actTour"
,
bean
.
getData
().
getActTour
());
AppCookie
.
save
(
"actTour"
,
bean
.
getData
().
getActTour
());
AppCookie
.
save
(
"insurePrice"
,
bean
.
getData
().
getInsurePrice
());
AppCookie
.
save
(
"insurePrice"
,
bean
.
getData
().
getInsurePrice
());
AppCookie
.
save
(
"actMember"
,
bean
.
getData
().
getActMember
());
AppCookie
.
save
(
"actMember"
,
bean
.
getData
().
getActMember
());
}
}
break
;
break
;
...
@@ -258,14 +268,11 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL
...
@@ -258,14 +268,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
();
}
}
...
@@ -425,6 +432,7 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL
...
@@ -425,6 +432,7 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL
@Override
@Override
protected
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
@Nullable
Intent
data
)
{
protected
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
@Nullable
Intent
data
)
{
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
if
(
mAdapter
!=
null
)
{
if
(
mAdapter
!=
null
)
{
mAdapter
.
getCurrentFragment
().
onActivityResult
(
requestCode
,
resultCode
,
data
);
mAdapter
.
getCurrentFragment
().
onActivityResult
(
requestCode
,
resultCode
,
data
);
}
}
...
@@ -657,7 +665,7 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL
...
@@ -657,7 +665,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
();
}
}
...
@@ -757,7 +765,5 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL
...
@@ -757,7 +765,5 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL
TitleTextWindow
view
=
new
TitleTextWindow
(
this
);
TitleTextWindow
view
=
new
TitleTextWindow
(
this
);
view
.
show
();
view
.
show
();
}
}
((
HomeFragment
)
mAdapter
.
getItem
(
0
)).
newsComing
();
((
TourismFragment
)
mAdapter
.
getItem
(
1
)).
newsComing
();
}
}
}
}
RvClient/src/main/java/com/xxfc/rv/other/RvActivityLifecycleCallbacks.java
View file @
750a13b6
...
@@ -2,9 +2,16 @@ package com.xxfc.rv.other;
...
@@ -2,9 +2,16 @@ package com.xxfc.rv.other;
import
android.app.Activity
;
import
android.app.Activity
;
import
android.app.Application
;
import
android.app.Application
;
import
android.content.Context
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.text.TextUtils
;
import
com.ruiwenliu.wrapper.util.AppUtils
;
import
com.rv.im.CustomerListActivity
;
import
com.rv.im.CustomerListActivity
;
import
com.rv.im.db.service.ChatMessageServiceImp
;
import
com.yuyife.okgo.OkGoUtil
;
import
me.leolin.shortcutbadger.ShortcutBadger
;
public
class
RvActivityLifecycleCallbacks
implements
Application
.
ActivityLifecycleCallbacks
{
public
class
RvActivityLifecycleCallbacks
implements
Application
.
ActivityLifecycleCallbacks
{
...
@@ -23,22 +30,26 @@ public class RvActivityLifecycleCallbacks implements Application.ActivityLifecyc
...
@@ -23,22 +30,26 @@ public class RvActivityLifecycleCallbacks implements Application.ActivityLifecyc
@Override
@Override
public
void
onActivityStarted
(
Activity
activity
)
{
public
void
onActivityStarted
(
Activity
activity
)
{
ativiteCount
+=
1
;
}
}
@Override
@Override
public
void
onActivityResumed
(
Activity
activity
)
{
public
void
onActivityResumed
(
Activity
activity
)
{
ativiteCount
+=
1
;
}
}
@Override
@Override
public
void
onActivityPaused
(
Activity
activity
)
{
public
void
onActivityPaused
(
Activity
activity
)
{
ativiteCount
-=
1
;
}
}
@Override
@Override
public
void
onActivityStopped
(
Activity
activity
)
{
public
void
onActivityStopped
(
Activity
activity
)
{
ativiteCount
-=
1
;
if
(
ativiteCount
==
0
)
{
// Toast.makeText(activity.getApplication(), "程序退到后台", Toast.LENGTH_SHORT).show();
setBadger
(
activity
.
getApplicationContext
());
}
}
}
@Override
@Override
...
@@ -68,4 +79,16 @@ public class RvActivityLifecycleCallbacks implements Application.ActivityLifecyc
...
@@ -68,4 +79,16 @@ public class RvActivityLifecycleCallbacks implements Application.ActivityLifecyc
public
static
void
setIsSpecialCases
(
boolean
isSpecialCases
)
{
public
static
void
setIsSpecialCases
(
boolean
isSpecialCases
)
{
RvActivityLifecycleCallbacks
.
isSpecialCases
=
isSpecialCases
;
RvActivityLifecycleCallbacks
.
isSpecialCases
=
isSpecialCases
;
}
}
/********
* 设置桌面未读消息数
*/
public
static
void
setBadger
(
Context
context
)
{
if
(
ShortcutBadger
.
isBadgeCounterSupported
(
context
))
{
if
(
TextUtils
.
isEmpty
(
OkGoUtil
.
getToken
()))
AppUtils
.
setBadger
(
context
,
0
);
else
AppUtils
.
setBadger
(
context
,
ChatMessageServiceImp
.
getInstance
(
context
).
getUnReadMsg
());
}
}
}
}
RvWrapper/build.gradle
View file @
750a13b6
...
@@ -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 版本为例。
}
}
RvWrapper/src/main/java/com/ruiwenliu/wrapper/inter/ImInitListenter.java
0 → 100644
View file @
750a13b6
package
com
.
ruiwenliu
.
wrapper
.
inter
;
public
interface
ImInitListenter
{
boolean
isBindService
();
}
RvWrapper/src/main/java/com/ruiwenliu/wrapper/util/AppUtils.java
View file @
750a13b6
...
@@ -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
)
{
...
@@ -19,4 +21,18 @@ public class AppUtils {
...
@@ -19,4 +21,18 @@ public class AppUtils {
OkGoUtil
.
clearToken
();
OkGoUtil
.
clearToken
();
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
);
}
}
}
}
}
build.gradle
View file @
750a13b6
...
@@ -15,6 +15,7 @@ buildscript {
...
@@ -15,6 +15,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'
...
@@ -28,6 +29,7 @@ buildscript {
...
@@ -28,6 +29,7 @@ buildscript {
allprojects
{
allprojects
{
repositories
{
repositories
{
mavenCentral
()
google
()
google
()
jcenter
()
jcenter
()
// 支付宝 SDK AAR 包所需的配置
// 支付宝 SDK AAR 包所需的配置
...
...
module_home/src/main/java/com/rv/home/rv/module/ui/main/home/HomeFragment.java
View file @
750a13b6
...
@@ -48,6 +48,7 @@ import com.google.gson.Gson;
...
@@ -48,6 +48,7 @@ import com.google.gson.Gson;
import
com.ruiwenliu.wrapper.SPConstance
;
import
com.ruiwenliu.wrapper.SPConstance
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.base.BaseFragment
;
import
com.ruiwenliu.wrapper.base.BaseFragment
;
import
com.ruiwenliu.wrapper.inter.ImInitListenter
;
import
com.ruiwenliu.wrapper.util.GpsManager
;
import
com.ruiwenliu.wrapper.util.GpsManager
;
import
com.ruiwenliu.wrapper.util.LocationManager
;
import
com.ruiwenliu.wrapper.util.LocationManager
;
import
com.ruiwenliu.wrapper.util.UtilsManager
;
import
com.ruiwenliu.wrapper.util.UtilsManager
;
...
@@ -257,6 +258,7 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
...
@@ -257,6 +258,7 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
return
fragment
;
return
fragment
;
}
}
@Override
@Override
public
int
getViewLayout
()
{
public
int
getViewLayout
()
{
return
R
.
layout
.
fragment_home
;
return
R
.
layout
.
fragment_home
;
...
@@ -915,10 +917,14 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
...
@@ -915,10 +917,14 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
}
else
if
(
id
==
R
.
id
.
iv_home_travel_server_image
)
{
}
else
if
(
id
==
R
.
id
.
iv_home_travel_server_image
)
{
if
(
isLogin
())
{
if
(
isLogin
())
{
hasNewMessage
=
false
;
hasNewMessage
=
false
;
if
(
llItemTop
.
getVisibility
()
!=
View
.
VISIBLE
)
{
// if (llItemTop.getVisibility() != View.VISIBLE) {
travelServerImage
.
setImageResource
(
R
.
drawable
.
rv_rentingcar_icon_service_white
);
// travelServerImage.setImageResource(R.drawable.rv_rentingcar_icon_service_white);
}
else
{
// } else {
travelServerImage
.
setImageResource
(
R
.
drawable
.
rentingcar_icon_service_orangeorange
);
// travelServerImage.setImageResource(R.drawable.rentingcar_icon_service_orangeorange);
// }
if
(
_mActivity
instanceof
ImInitListenter
&&
!((
ImInitListenter
)
_mActivity
).
isBindService
())
{
showToast
(
"Im初始化中..."
);
return
;
}
}
ComponentName
name
=
new
ComponentName
(
getActivity
(),
"com.rv.im.CustomerListActivity"
);
ComponentName
name
=
new
ComponentName
(
getActivity
(),
"com.rv.im.CustomerListActivity"
);
Intent
intent
=
new
Intent
();
Intent
intent
=
new
Intent
();
...
@@ -1335,11 +1341,7 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
...
@@ -1335,11 +1341,7 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
//只是layout背景透明(仿知乎滑动效果)
//只是layout背景透明(仿知乎滑动效果)
llItemSearch
.
setBackground
(
getResources
().
getDrawable
(
R
.
drawable
.
shape_rv_textview_home_translucent
));
llItemSearch
.
setBackground
(
getResources
().
getDrawable
(
R
.
drawable
.
shape_rv_textview_home_translucent
));
travelCityText
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
colorWrite
));
travelCityText
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
colorWrite
));
// if(hasNewMessage){
// travelServerImage.setImageResource(R.drawable.rv_rentingcar_icon_service_white_news);
// }else {
// travelServerImage.setImageResource(R.drawable.rv_rentingcar_icon_service_white);
// }
travelServerImage
.
setImageResource
(
R
.
drawable
.
rv_rentingcar_icon_service_white
);
travelServerImage
.
setImageResource
(
R
.
drawable
.
rv_rentingcar_icon_service_white
);
ivTravelCityTextHint
.
setImageResource
(
R
.
drawable
.
rv_common_icon_up_arrow2
);
ivTravelCityTextHint
.
setImageResource
(
R
.
drawable
.
rv_common_icon_up_arrow2
);
ivSearchInputHint
.
setImageResource
(
R
.
drawable
.
rv_common_icon_search2
);
ivSearchInputHint
.
setImageResource
(
R
.
drawable
.
rv_common_icon_search2
);
...
@@ -1352,11 +1354,6 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
...
@@ -1352,11 +1354,6 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
}
else
{
}
else
{
llItemTop
.
setVisibility
(
View
.
VISIBLE
);
llItemTop
.
setVisibility
(
View
.
VISIBLE
);
llItemSearch
.
setBackground
(
getResources
().
getDrawable
(
R
.
drawable
.
shape_rv_textview_home_search
));
llItemSearch
.
setBackground
(
getResources
().
getDrawable
(
R
.
drawable
.
shape_rv_textview_home_search
));
// if(hasNewMessage){
// travelServerImage.setImageResource(R.drawable.rentingcar_icon_service_orangeorange_news);
// }else{
// travelServerImage.setImageResource(R.drawable.rentingcar_icon_service_orangeorange);
// }
travelServerImage
.
setImageResource
(
R
.
drawable
.
rentingcar_icon_service_orangeorange
);
travelServerImage
.
setImageResource
(
R
.
drawable
.
rentingcar_icon_service_orangeorange
);
travelCityText
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
colorMain
));
travelCityText
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
colorMain
));
ivTravelCityTextHint
.
setImageResource
(
R
.
drawable
.
rv_common_icon_up_arrow
);
ivTravelCityTextHint
.
setImageResource
(
R
.
drawable
.
rv_common_icon_up_arrow
);
...
@@ -1467,18 +1464,6 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
...
@@ -1467,18 +1464,6 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
});
});
}
}
/******
* 新消息
*/
public
void
newsComing
()
{
// hasNewMessage = true ;
// if (llItemTop.getVisibility() != View.VISIBLE) {
// travelServerImage.setImageResource(R.drawable.rv_rentingcar_icon_service_white_news);
// } else {
// travelServerImage.setImageResource(R.drawable.rentingcar_icon_service_orangeorange_news);
// }
}
@Override
@Override
public
void
onDestroyView
()
{
public
void
onDestroyView
()
{
super
.
onDestroyView
();
super
.
onDestroyView
();
...
...
module_mine/src/main/java/com/rv/rvmine/MineFragment.java
View file @
750a13b6
...
@@ -38,6 +38,7 @@ import com.ruiwenliu.wrapper.base.BaseBean;
...
@@ -38,6 +38,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
;
...
@@ -248,11 +249,7 @@ public class MineFragment extends BaseFragment<CommonPresenter> implements Simpl
...
@@ -248,11 +249,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
();
}
}
});
});
...
@@ -559,6 +556,9 @@ public class MineFragment extends BaseFragment<CommonPresenter> implements Simpl
...
@@ -559,6 +556,9 @@ public class MineFragment extends BaseFragment<CommonPresenter> implements Simpl
if
(!
TextUtils
.
isEmpty
(
info
.
getPositionName
())){
if
(!
TextUtils
.
isEmpty
(
info
.
getPositionName
())){
tvCapacity
.
setText
(
info
.
getPositionName
());
tvCapacity
.
setText
(
info
.
getPositionName
());
tvCapacity
.
setVisibility
(
View
.
VISIBLE
);
tvCapacity
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
tvCapacity
.
setText
(
""
);
tvCapacity
.
setVisibility
(
View
.
GONE
);
}
}
//更新实名信息
//更新实名信息
...
...
module_tourism/src/main/java/com/rv/tourism/TourismFragment.java
View file @
750a13b6
...
@@ -33,6 +33,7 @@ import com.ruiwenliu.wrapper.SPConstance;
...
@@ -33,6 +33,7 @@ import com.ruiwenliu.wrapper.SPConstance;
import
com.frame.base.url.Constance
;
import
com.frame.base.url.Constance
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.base.BaseFragment
;
import
com.ruiwenliu.wrapper.base.BaseFragment
;
import
com.ruiwenliu.wrapper.inter.ImInitListenter
;
import
com.ruiwenliu.wrapper.util.GpsManager
;
import
com.ruiwenliu.wrapper.util.GpsManager
;
import
com.ruiwenliu.wrapper.util.LocationManager
;
import
com.ruiwenliu.wrapper.util.LocationManager
;
import
com.ruiwenliu.wrapper.util.glide.GlideManager
;
import
com.ruiwenliu.wrapper.util.glide.GlideManager
;
...
@@ -112,9 +113,6 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements S
...
@@ -112,9 +113,6 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements S
private
LocationManager
locationManager
;
private
LocationManager
locationManager
;
private
GeoCoder
geoCoder
;
private
GeoCoder
geoCoder
;
private
boolean
hasNewMessage
;
public
static
TourismFragment
getInstance
(
int
type
)
{
public
static
TourismFragment
getInstance
(
int
type
)
{
Bundle
bundl
=
new
Bundle
();
Bundle
bundl
=
new
Bundle
();
bundl
.
putInt
(
"type"
,
type
);
bundl
.
putInt
(
"type"
,
type
);
...
@@ -237,9 +235,10 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements S
...
@@ -237,9 +235,10 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements S
.
navigation
();
.
navigation
();
}
else
if
(
id
==
R
.
id
.
travel_server_image
)
{
}
else
if
(
id
==
R
.
id
.
travel_server_image
)
{
if
(
isLogin
())
{
if
(
isLogin
())
{
if
(
_mActivity
instanceof
ImInitListenter
&&
!((
ImInitListenter
)
_mActivity
).
isBindService
())
{
hasNewMessage
=
false
;
showToast
(
"Im初始化中..."
);
ImgTravelServer
.
setImageResource
(
R
.
drawable
.
common_journey_service_gray
);
return
;
}
ComponentName
name
=
new
ComponentName
(
getActivity
(),
"com.rv.im.CustomerListActivity"
);
ComponentName
name
=
new
ComponentName
(
getActivity
(),
"com.rv.im.CustomerListActivity"
);
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
));
...
@@ -448,12 +447,6 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements S
...
@@ -448,12 +447,6 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements S
travelBanner
.
updateBannerStyle
(
BannerConfig
.
CIRCLE_INDICATOR
);
travelBanner
.
updateBannerStyle
(
BannerConfig
.
CIRCLE_INDICATOR
);
}
}
public
void
newsComing
()
{
// hasNewMessage = true;
// ImgTravelServer.setImageResource(R.drawable.common_journey_service_gray_news);
}
@Override
@Override
public
void
onDestroy
()
{
public
void
onDestroy
()
{
super
.
onDestroy
();
super
.
onDestroy
();
...
...
plugin_im/src/main/java/com/rv/im/CustomerListActivity.java
View file @
750a13b6
...
@@ -41,8 +41,6 @@ import java.util.List;
...
@@ -41,8 +41,6 @@ import java.util.List;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Timer
;
import
java.util.Timer
;
import
okhttp3.Call
;
public
class
CustomerListActivity
extends
BaseStatusActivity
<
CommonPresenter
>
implements
SimpleRefreshLayout
.
OnSimpleRefreshListener
,
ChatMessageListener
{
public
class
CustomerListActivity
extends
BaseStatusActivity
<
CommonPresenter
>
implements
SimpleRefreshLayout
.
OnSimpleRefreshListener
,
ChatMessageListener
{
private
SimpleRefreshLayout
refreshLayout
;
private
SimpleRefreshLayout
refreshLayout
;
...
@@ -129,6 +127,7 @@ public class CustomerListActivity extends BaseStatusActivity<CommonPresenter> im
...
@@ -129,6 +127,7 @@ public class CustomerListActivity extends BaseStatusActivity<CommonPresenter> im
if
(
lists
!=
null
&&
lists
.
size
()
>
0
)
{
if
(
lists
!=
null
&&
lists
.
size
()
>
0
)
{
for
(
Customer
customer
:
lists
)
{
for
(
Customer
customer
:
lists
)
{
ChatMessage
message
=
ChatMessageServiceImp
.
getInstance
(
getApplicationContext
()).
getLastMsg
(
customer
.
getImUserId
());
ChatMessage
message
=
ChatMessageServiceImp
.
getInstance
(
getApplicationContext
()).
getLastMsg
(
customer
.
getImUserId
());
customer
.
setUnReadMessage
(
ChatMessageServiceImp
.
getInstance
(
getApplicationContext
()).
getUnReadMsg
(
customer
.
getImUserId
()));
if
(
message
!=
null
)
customer
.
setLastMessageInfo
(
message
);
if
(
message
!=
null
)
customer
.
setLastMessageInfo
(
message
);
}
}
Collections
.
sort
(
lists
,
(
o1
,
o2
)
->
{
Collections
.
sort
(
lists
,
(
o1
,
o2
)
->
{
...
@@ -227,6 +226,7 @@ public class CustomerListActivity extends BaseStatusActivity<CommonPresenter> im
...
@@ -227,6 +226,7 @@ public class CustomerListActivity extends BaseStatusActivity<CommonPresenter> im
for
(
Customer
customer
:
customers
)
{
for
(
Customer
customer
:
customers
)
{
if
(!
TextUtils
.
isEmpty
(
customer
.
getImUserId
())
&&
if
(!
TextUtils
.
isEmpty
(
customer
.
getImUserId
())
&&
customer
.
getImUserId
().
equals
(
fromUserId
))
{
customer
.
getImUserId
().
equals
(
fromUserId
))
{
customer
.
setUnReadMessage
(
ChatMessageServiceImp
.
getInstance
(
getApplicationContext
()).
getUnReadMsg
(
fromUserId
));
if
(
message
!=
null
)
if
(
message
!=
null
)
customer
.
setLastMessageInfo
(
message
);
customer
.
setLastMessageInfo
(
message
);
break
;
break
;
...
...
plugin_im/src/main/java/com/rv/im/ImSetting.java
View file @
750a13b6
...
@@ -5,7 +5,6 @@ import android.content.Context;
...
@@ -5,7 +5,6 @@ import android.content.Context;
import
android.content.SharedPreferences
;
import
android.content.SharedPreferences
;
import
com.rv.im.db.SQLiteHelper
;
import
com.rv.im.db.SQLiteHelper
;
import
com.rv.im.db.service.ChatConversationServiceImp
;
import
com.rv.im.db.service.ChatMessageServiceImp
;
import
com.rv.im.db.service.ChatMessageServiceImp
;
import
com.rv.im.db.service.CustomerServiceImp
;
import
com.rv.im.db.service.CustomerServiceImp
;
...
@@ -44,9 +43,9 @@ public class ImSetting {
...
@@ -44,9 +43,9 @@ public class ImSetting {
*
*
*/
*/
public
static
void
logout
()
{
public
static
void
logout
()
{
// 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
();
// 关掉数据库连接
}
}
...
...
plugin_im/src/main/java/com/rv/im/adapter/CustomerListAdapter.java
View file @
750a13b6
...
@@ -4,6 +4,7 @@ import android.content.Context;
...
@@ -4,6 +4,7 @@ import android.content.Context;
import
android.graphics.Color
;
import
android.graphics.Color
;
import
android.support.annotation.Nullable
;
import
android.support.annotation.Nullable
;
import
android.text.TextUtils
;
import
android.text.TextUtils
;
import
android.view.View
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.BaseViewHolder
;
import
com.chad.library.adapter.base.BaseViewHolder
;
...
@@ -40,11 +41,24 @@ public class CustomerListAdapter extends BaseQuickAdapter<Customer, BaseViewHold
...
@@ -40,11 +41,24 @@ public class CustomerListAdapter extends BaseQuickAdapter<Customer, BaseViewHold
}
}
if
(!
TextUtils
.
isEmpty
(
item
.
getLastMsg
()))
if
(!
TextUtils
.
isEmpty
(
item
.
getLastMsg
()))
// helper.setText(R.id.tv_last_msg, item.getLastMsg());
helper
.
setText
(
R
.
id
.
tv_last_msg
,
parser
.
addSmileySpans
(
deleteHtml
(
item
.
getLastMsg
()),
true
));
helper
.
setText
(
R
.
id
.
tv_last_msg
,
parser
.
addSmileySpans
(
deleteHtml
(
item
.
getLastMsg
()),
true
));
else
{
else
{
helper
.
setText
(
R
.
id
.
tv_last_msg
,
" "
);
helper
.
setText
(
R
.
id
.
tv_last_msg
,
" "
);
}
}
if
(
item
.
getUnReadMessage
()
>
0
)
{
if
(
item
.
getUnReadMessage
()
<
100
){
helper
.
setText
(
R
.
id
.
tv_unread_num
,
item
.
getUnReadMessage
()
+
""
);
}
else
{
helper
.
setText
(
R
.
id
.
tv_unread_num
,
"···"
);
}
helper
.
itemView
.
findViewById
(
R
.
id
.
tv_unread_num
).
setVisibility
(
View
.
VISIBLE
);
helper
.
itemView
.
findViewById
(
R
.
id
.
img_no_unread
).
setVisibility
(
View
.
GONE
);
}
else
{
helper
.
itemView
.
findViewById
(
R
.
id
.
tv_unread_num
).
setVisibility
(
View
.
GONE
);
helper
.
itemView
.
findViewById
(
R
.
id
.
img_no_unread
).
setVisibility
(
View
.
VISIBLE
);
}
}
}
private
static
String
deleteHtml
(
String
msg
)
{
private
static
String
deleteHtml
(
String
msg
)
{
...
...
plugin_im/src/main/java/com/rv/im/db/dao/ConversationDao.java
View file @
750a13b6
...
@@ -24,7 +24,6 @@ public class ConversationDao {
...
@@ -24,7 +24,6 @@ public class ConversationDao {
private
ConversationDao
(
Context
context
)
{
private
ConversationDao
(
Context
context
)
{
try
{
try
{
this
.
mContext
=
context
;
this
.
mContext
=
context
;
// mHelper = OpenHelperManager.getHelper(mContext, SQLiteHelper.class);
dao
=
DaoManager
.
createDao
(
SQLiteHelper
.
getInstance
(
context
).
getConnectionSource
(),
ChatConversation
.
class
);
dao
=
DaoManager
.
createDao
(
SQLiteHelper
.
getInstance
(
context
).
getConnectionSource
(),
ChatConversation
.
class
);
}
catch
(
SQLException
e
)
{
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
...
@@ -32,26 +31,10 @@ public class ConversationDao {
...
@@ -32,26 +31,10 @@ public class ConversationDao {
}
}
public
static
final
ConversationDao
getInstance
(
Context
context
)
{
public
static
final
ConversationDao
getInstance
(
Context
context
)
{
// if (instance == null) {
// synchronized (ConversationDao.class) {
// if (instance == null) {
// instance = new ConversationDao(context);
// }
// }
// }
return
new
ConversationDao
(
context
);
return
new
ConversationDao
(
context
);
}
}
// public static final ConversationDao getInstance(Context context) {
// if (instance == null) {
// synchronized (ConversationDao.class) {
// if (instance == null) {
// instance = new ConversationDao(context);
// }
// }
// }
// return instance;
// }
@Override
@Override
protected
void
finalize
()
throws
Throwable
{
protected
void
finalize
()
throws
Throwable
{
...
...
plugin_im/src/main/java/com/rv/im/db/dao/MessageDao.java
View file @
750a13b6
...
@@ -9,7 +9,7 @@ import com.j256.ormlite.android.apptools.OpenHelperManager;
...
@@ -9,7 +9,7 @@ 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.db.SQLiteHelper
;
import
com.rv.im.db.SQLiteHelper
;
import
com.rv.im.db.table.ChatMessage
;
import
com.rv.im.db.table.ChatMessage
;
import
com.rv.im.enums.MessageStatusEnum
;
import
com.rv.im.enums.MessageStatusEnum
;
...
@@ -102,7 +102,7 @@ public class MessageDao {
...
@@ -102,7 +102,7 @@ public class MessageDao {
* 删除消息
* 删除消息
* @param message
* @param message
*/
*/
public
void
deleteMessage
(
ChatMessage
message
){
public
void
deleteMessage
(
ChatMessage
message
)
{
if
(
dao
==
null
)
{
if
(
dao
==
null
)
{
LogUtil
.
e
(
TAG
,
"dao is null"
);
LogUtil
.
e
(
TAG
,
"dao is null"
);
return
;
return
;
...
@@ -272,25 +272,40 @@ public class MessageDao {
...
@@ -272,25 +272,40 @@ public class MessageDao {
LogUtil
.
e
(
TAG
,
"userId is null"
);
LogUtil
.
e
(
TAG
,
"userId is null"
);
return
0
;
return
0
;
}
}
int
count
=
0
;
List
<
ChatMessage
>
chatMessages
=
null
;
List
<
ChatMessage
>
chatMessages
;
try
{
try
{
chatMessages
=
dao
.
queryBuilder
().
orderBy
(
"timeSend"
,
false
).
where
()
chatMessages
=
dao
.
queryBuilder
().
where
()
.
eq
(
"fromUserId"
,
userId
)
.
eq
(
"fromUserId"
,
userId
)
.
or
()
.
and
()
.
eq
(
"toUserId"
,
userId
)
.
eq
(
"isRead"
,
false
)
.
query
();
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
return
chatMessages
!=
null
?
chatMessages
.
size
()
:
0
;
}
/***********
* 获取所有未读的消息
* @return
*/
public
int
getUnReadMessage
()
{
if
(
dao
==
null
)
{
LogUtil
.
e
(
TAG
,
"dao is null"
);
return
0
;
}
List
<
ChatMessage
>
chatMessages
=
null
;
try
{
chatMessages
=
dao
.
queryBuilder
().
where
()
.
eq
(
"isRead"
,
false
)
.
and
()
.
eq
(
"toUserId"
,
ImSetting
.
getUserId
())
.
query
();
.
query
();
if
(
chatMessages
!=
null
&&
chatMessages
.
size
()
>
0
)
{
for
(
ChatMessage
message
:
chatMessages
)
{
if
(!
message
.
isRead
())
{
count
+=
1
;
}
}
}
}
catch
(
SQLException
e
)
{
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
return
c
ount
;
return
c
hatMessages
!=
null
?
chatMessages
.
size
()
:
0
;
}
}
public
void
setMessageRead
(
String
userId
)
{
public
void
setMessageRead
(
String
userId
)
{
...
@@ -302,7 +317,6 @@ public class MessageDao {
...
@@ -302,7 +317,6 @@ public class MessageDao {
LogUtil
.
e
(
TAG
,
"userId is null"
);
LogUtil
.
e
(
TAG
,
"userId is null"
);
return
;
return
;
}
}
int
count
=
0
;
List
<
ChatMessage
>
chatMessages
;
List
<
ChatMessage
>
chatMessages
;
try
{
try
{
chatMessages
=
dao
.
queryBuilder
().
orderBy
(
"timeSend"
,
false
).
where
()
chatMessages
=
dao
.
queryBuilder
().
orderBy
(
"timeSend"
,
false
).
where
()
...
...
plugin_im/src/main/java/com/rv/im/db/service/ChatMessageServiceImp.java
View file @
750a13b6
...
@@ -16,7 +16,7 @@ public class ChatMessageServiceImp implements IChatMessageService {
...
@@ -16,7 +16,7 @@ public class ChatMessageServiceImp implements IChatMessageService {
private
static
ChatMessageServiceImp
instance
=
null
;
private
static
ChatMessageServiceImp
instance
=
null
;
private
ConversationDao
conversationDao
=
null
;
private
ConversationDao
conversationDao
=
null
;
p
ublic
ChatMessageServiceImp
(
Context
context
)
{
p
rivate
ChatMessageServiceImp
(
Context
context
)
{
dao
=
new
MessageDao
(
context
);
dao
=
new
MessageDao
(
context
);
conversationDao
=
ConversationDao
.
getInstance
(
context
);
conversationDao
=
ConversationDao
.
getInstance
(
context
);
}
}
...
@@ -80,6 +80,11 @@ public class ChatMessageServiceImp implements IChatMessageService {
...
@@ -80,6 +80,11 @@ public class ChatMessageServiceImp implements IChatMessageService {
return
dao
.
getUnReadMessage
(
targetUserId
);
return
dao
.
getUnReadMessage
(
targetUserId
);
}
}
@Override
public
int
getUnReadMsg
()
{
return
dao
.
getUnReadMessage
();
}
@Override
@Override
public
void
setMsgRead
(
String
targetUserId
)
{
public
void
setMsgRead
(
String
targetUserId
)
{
dao
.
setMessageRead
(
targetUserId
);
dao
.
setMessageRead
(
targetUserId
);
...
...
plugin_im/src/main/java/com/rv/im/db/service/IChatMessageService.java
View file @
750a13b6
...
@@ -24,6 +24,8 @@ public interface IChatMessageService {
...
@@ -24,6 +24,8 @@ public interface IChatMessageService {
int
getUnReadMsg
(
String
targetUserId
);
int
getUnReadMsg
(
String
targetUserId
);
int
getUnReadMsg
();
void
setMsgRead
(
String
targetUserId
);
void
setMsgRead
(
String
targetUserId
);
void
setVoicePlay
(
String
packId
);
void
setVoicePlay
(
String
packId
);
...
...
plugin_im/src/main/java/com/rv/im/db/table/Customer.java
View file @
750a13b6
...
@@ -30,6 +30,8 @@ public class Customer {
...
@@ -30,6 +30,8 @@ public class Customer {
private
long
lastMsgTimes
;
private
long
lastMsgTimes
;
private
int
unReadMessage
;
public
int
get_id
()
{
public
int
get_id
()
{
return
_id
;
return
_id
;
}
}
...
@@ -102,6 +104,14 @@ public class Customer {
...
@@ -102,6 +104,14 @@ public class Customer {
this
.
lastMsgTimes
=
lastMsgTimes
;
this
.
lastMsgTimes
=
lastMsgTimes
;
}
}
public
int
getUnReadMessage
()
{
return
unReadMessage
;
}
public
void
setUnReadMessage
(
int
unReadMessage
)
{
this
.
unReadMessage
=
unReadMessage
;
}
public
void
setLastMessageInfo
(
ChatMessage
lastMessageInfo
)
{
public
void
setLastMessageInfo
(
ChatMessage
lastMessageInfo
)
{
if
(
lastMessageInfo
.
getMessageType
()
==
MessageTypeEnum
.
TEXT
.
getType
())
{
if
(
lastMessageInfo
.
getMessageType
()
==
MessageTypeEnum
.
TEXT
.
getType
())
{
...
...
plugin_im/src/main/java/com/rv/im/xmpp/ListenerManager.java
View file @
750a13b6
...
@@ -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
;
...
@@ -106,6 +107,7 @@ public class ListenerManager {
...
@@ -106,6 +107,7 @@ public class ListenerManager {
mHandler
.
post
(()
->
{
mHandler
.
post
(()
->
{
if
(
message
!=
null
)
{
if
(
message
!=
null
)
{
ChatMessageServiceImp
.
getInstance
(
ImSetting
.
getContext
()).
addMessage
(
message
);
// 数据库添加消息
ChatMessageServiceImp
.
getInstance
(
ImSetting
.
getContext
()).
addMessage
(
message
);
// 数据库添加消息
AppUtils
.
setBadger
(
ImSetting
.
getContext
(),
ChatMessageServiceImp
.
getInstance
(
ImSetting
.
getContext
()).
getUnReadMsg
()
);
for
(
int
i
=
mChatMessageListeners
.
size
()
-
1
;
i
>=
0
;
i
--)
{
for
(
int
i
=
mChatMessageListeners
.
size
()
-
1
;
i
>=
0
;
i
--)
{
mChatMessageListeners
.
get
(
i
).
onNewMessage
(
message
.
getFromUserId
(),
message
,
false
);
mChatMessageListeners
.
get
(
i
).
onNewMessage
(
message
.
getFromUserId
(),
message
,
false
);
}
}
...
...
plugin_im/src/main/res/layout/item_customer.xml
View file @
750a13b6
...
@@ -58,16 +58,51 @@
...
@@ -58,16 +58,51 @@
</LinearLayout>
</LinearLayout>
<TextView
android:id=
"@+id/tv_state"
<LinearLayout
android:layout_width=
"@dimen/size_50"
android:layout_width=
"@dimen/size_50"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:layout_marginTop=
"@dimen/dp_10"
android:layout_marginRight=
"@dimen/dp_10"
android:layout_marginRight=
"@dimen/dp_10"
android:gravity=
"right|top"
android:gravity=
"center"
android:text=
"在线"
android:orientation=
"vertical"
>
android:textColor=
"@color/gray"
android:textSize=
"@dimen/text_12"
/>
<TextView
android:id=
"@+id/tv_state"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:gravity=
"right"
android:text=
"在线"
android:textColor=
"@color/gray"
android:textSize=
"@dimen/text_12"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/size_3"
android:gravity=
"right"
android:orientation=
"horizontal"
>
<TextView
android:id=
"@+id/tv_unread_num"
android:layout_width=
"@dimen/indicator_size"
android:layout_height=
"@dimen/indicator_size"
android:layout_alignParentEnd=
"true"
android:layout_marginRight=
"@dimen/size_3"
android:background=
"@drawable/tab_unread_bg"
android:gravity=
"center"
android:textColor=
"@android:color/white"
android:textSize=
"10dp"
android:visibility=
"gone"
/>
<ImageView
android:id=
"@+id/img_no_unread"
android:layout_width=
"@dimen/dp20"
android:layout_height=
"@dimen/size_15"
android:src=
"@mipmap/msg_replay_icon"
android:visibility=
"gone"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment