Commit 20f2fc4e authored by jianglx's avatar jianglx

添加Im

parent 51a60406
...@@ -114,13 +114,14 @@ dependencies { ...@@ -114,13 +114,14 @@ dependencies {
api 'com.jakewharton:butterknife:9.0.0-rc1' api 'com.jakewharton:butterknife:9.0.0-rc1'
annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc1' annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc1'
implementation 'com.android.support.constraint:constraint-layout:1.1.3' implementation 'com.android.support.constraint:constraint-layout:1.1.3'
// 进程保护
implementation 'com.fanjun:keeplive:1.1.10'
debugApi 'com.squareup.leakcanary:leakcanary-android:1.6.1' debugApi 'com.squareup.leakcanary:leakcanary-android:1.6.1'
releaseApi 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.1' releaseApi 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.1'
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' // 此处以JCore 2.1.2 版本为例。 api 'cn.jiguang.sdk:jcore:2.1.2'
// 此处以JCore 2.1.2 版本为例。
// api project(path: ':RvTravel') // api project(path: ':RvTravel')
api project(':component_resource') api project(':component_resource')
api project(path: ':module_home') api project(path: ':module_home')
...@@ -128,4 +129,5 @@ dependencies { ...@@ -128,4 +129,5 @@ dependencies {
api project(path: ':module_camp') api project(path: ':module_camp')
api project(path: ':module_tourism') api project(path: ':module_tourism')
api project(path: ':module_discovery') api project(path: ':module_discovery')
implementation project(':plugin_im')
} }
...@@ -22,6 +22,7 @@ import com.frame.base.manager.MyFrameManager; ...@@ -22,6 +22,7 @@ import com.frame.base.manager.MyFrameManager;
import com.frame.rv.config.RvFrameConfig; import com.frame.rv.config.RvFrameConfig;
import com.ruiwenliu.wrapper.util.LogUtils; import com.ruiwenliu.wrapper.util.LogUtils;
import com.rv.component.utils.LogUtil; import com.rv.component.utils.LogUtil;
import com.rv.im.ImSetting;
import com.sh.sdk.shareinstall.ShareInstall; import com.sh.sdk.shareinstall.ShareInstall;
import com.squareup.leakcanary.LeakCanary; import com.squareup.leakcanary.LeakCanary;
import com.tencent.bugly.crashreport.CrashReport; import com.tencent.bugly.crashreport.CrashReport;
...@@ -53,6 +54,7 @@ public class RvClientApplication extends FrameApp { ...@@ -53,6 +54,7 @@ public class RvClientApplication extends FrameApp {
super.onCreate(); super.onCreate();
ViewTarget.setTagId(R.id.glideIndexTag); ViewTarget.setTagId(R.id.glideIndexTag);
Log.e("xxxxxxxxxxxxxxxxxxxxx", "RvClientApplication_onCreate"); Log.e("xxxxxxxxxxxxxxxxxxxxx", "RvClientApplication_onCreate");
ImSetting.init(this);
StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder(); StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
StrictMode.setVmPolicy(builder.build()); StrictMode.setVmPolicy(builder.build());
builder.detectFileUriExposure(); builder.detectFileUriExposure();
......
...@@ -13,10 +13,15 @@ import com.ruiwenliu.wrapper.base.BaseActivity; ...@@ -13,10 +13,15 @@ import com.ruiwenliu.wrapper.base.BaseActivity;
import com.ruiwenliu.wrapper.base.BaseBean; import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.util.UtilsManager; import com.ruiwenliu.wrapper.util.UtilsManager;
import com.ruiwenliu.wrapper.weight.TitleView; import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.component.utils.CacheEnum;
import com.rv.component.utils.Cookie; import com.rv.component.utils.Cookie;
import com.rv.component.utils.DateUtils; import com.rv.component.utils.DateUtils;
import com.rv.component.utils.LogUtil; import com.rv.component.utils.LogUtil;
import com.ruiwenliu.wrapper.base.presenter.CommonPresenter; import com.ruiwenliu.wrapper.base.presenter.CommonPresenter;
import com.rv.component.utils.RvCache;
import com.rv.im.AppConfig;
import com.rv.im.bean.ImConfig;
import com.rv.im.bean.ImConfigBean;
import com.yuyife.okgo.OkGoUtil; import com.yuyife.okgo.OkGoUtil;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
...@@ -32,7 +37,16 @@ public class WelcomeActivity extends BaseActivity<CommonPresenter> { ...@@ -32,7 +37,16 @@ public class WelcomeActivity extends BaseActivity<CommonPresenter> {
@Override @Override
public void onShowResult(int requestType, BaseBean result) { public void onShowResult(int requestType, BaseBean result) {
if (requestType == 0) {
ImConfigBean bean = (ImConfigBean) result;
ImConfig config;
if (bean != null && bean.resultCode == 1 && ((ImConfigBean) result).getData() != null) {
LogUtil.e("zq", "获取网络配置成功,使用服务端返回的配置并更新本地配置");
config = bean.getData();
AppConfig appConfig = AppConfig.initConfig(config);
RvCache.getInstance(mActivity).save(appConfig, CacheEnum.IM_CONFIG);
}
}
} }
@Override @Override
...@@ -51,6 +65,11 @@ public class WelcomeActivity extends BaseActivity<CommonPresenter> { ...@@ -51,6 +65,11 @@ public class WelcomeActivity extends BaseActivity<CommonPresenter> {
@Override @Override
protected void loadData(Bundle savedInstanceState, Intent intent) { protected void loadData(Bundle savedInstanceState, Intent intent) {
mPresenter.saveOnclick("8", ""); mPresenter.saveOnclick("8", "");
getImConfig();
}
private void getImConfig() {
mPresenter.getData(0, AppConfig.CONFIG_URL, ImConfigBean.class, false);
} }
@Override @Override
......
package com.ruiwenliu.wrapper;
public class MessageEventLogout {
public MessageEventLogout() {
}
}
...@@ -34,7 +34,7 @@ public abstract class BaseWrapperActivity extends SupportActivity { ...@@ -34,7 +34,7 @@ public abstract class BaseWrapperActivity extends SupportActivity {
private boolean mReceiverTag = false;//判断广播是否注册 private boolean mReceiverTag = false;//判断广播是否注册
protected boolean isRegister = true; protected boolean isRegister = true;
private TitleView titleView; protected TitleView titleView;
protected FrameLayout frameLayout; protected FrameLayout frameLayout;
private LinearLayout rootView; private LinearLayout rootView;
protected AppCompatActivity mActivity; protected AppCompatActivity mActivity;
......
package com.ruiwenliu.wrapper.util;
import android.content.Context;
import com.ruiwenliu.wrapper.MessageEventLogout;
import com.rv.component.utils.Cookie;
import com.rv.component.utils.RvCache;
import com.yuyife.okgo.OkGoUtil;
import org.greenrobot.eventbus.EventBus;
public class AppUtils {
public static void logout(Context context) {
UtilsManager.getInstance(context).clearShareData("city_json");
UtilsManager.getInstance(context).setShNull();
RvCache.getInstance(context).clear();
Cookie.clear(context);
OkGoUtil.clearToken();
EventBus.getDefault().post(new MessageEventLogout());
}
}
...@@ -8,6 +8,9 @@ buildscript { ...@@ -8,6 +8,9 @@ buildscript {
maven { maven {
url "http://mvn.mob.com/android" url "http://mvn.mob.com/android"
} }
maven {
url 'https://github.com/jitsi/jitsi-maven-repository/raw/master/releases'
}
maven { maven {
url "https://jitpack.io" url "https://jitpack.io"
} }
...@@ -39,6 +42,10 @@ allprojects { ...@@ -39,6 +42,10 @@ allprojects {
maven { maven {
url 'https://dl.bintray.com/cjt/maven' url 'https://dl.bintray.com/cjt/maven'
} }
maven {
url 'https://github.com/jitsi/jitsi-maven-repository/raw/master/releases'
}
} }
} }
......
...@@ -7,7 +7,8 @@ public enum CacheEnum { ...@@ -7,7 +7,8 @@ public enum CacheEnum {
MEMBER(0, "member"), // 会员 MEMBER(0, "member"), // 会员
USER(1, "user"), // 用户 USER(1, "user"), // 用户
CONSUMER_RECORD(2, "consumer_record"), // 消费记录 CONSUMER_RECORD(2, "consumer_record"), // 消费记录
VISTOR_LIST(3, "vistor_list"); //出游人列表 VISTOR_LIST(3, "vistor_list"), //出游人列表
IM_CONFIG(4,"im_config") ;
private int type; private int type;
private String fileName; private String fileName;
......
...@@ -131,6 +131,9 @@ public abstract class BaseLoginActivity<P extends MvpPresenter> extends BaseStat ...@@ -131,6 +131,9 @@ public abstract class BaseLoginActivity<P extends MvpPresenter> extends BaseStat
Cookie.save(getApplicationContext(), SPConstance.USER_JSON_TOKEN, registeredBean.getToken()); Cookie.save(getApplicationContext(), SPConstance.USER_JSON_TOKEN, registeredBean.getToken());
Cookie.save(getApplicationContext(), SPConstance.USER_JSON_TOKE_TIME, DateUtils.getCurDate()); Cookie.save(getApplicationContext(), SPConstance.USER_JSON_TOKE_TIME, DateUtils.getCurDate());
Cookie.save(getApplicationContext(), SPConstance.USER_JSON_IMUSERID, registeredBean.getData().getImUserId());
Cookie.save(getApplicationContext(),SPConstance.USER_JSON_IMTOKEN,registeredBean.getData().getImToken());
UtilsManager.getInstance(OkGoUtil.application).setSharePreferencesSave(SPConstance.USER_JSON).putString(SPConstance.USER_JSON_CODE, registeredBean.getData().getCode()).commit(); UtilsManager.getInstance(OkGoUtil.application).setSharePreferencesSave(SPConstance.USER_JSON).putString(SPConstance.USER_JSON_CODE, registeredBean.getData().getCode()).commit();
UtilsManager.getInstance(OkGoUtil.application).setSharePreferencesSave(SPConstance.USER_JSON).putString(SPConstance.USER_JSON_NAME, registeredBean.getData().getUsername()).commit(); UtilsManager.getInstance(OkGoUtil.application).setSharePreferencesSave(SPConstance.USER_JSON).putString(SPConstance.USER_JSON_NAME, registeredBean.getData().getUsername()).commit();
UtilsManager.getInstance(OkGoUtil.application).setSharePreferencesSave(SPConstance.USER_JSON).putString(SPConstance.USER_JSON_HEADERURL, registeredBean.getData().getHeaderurl()).commit(); UtilsManager.getInstance(OkGoUtil.application).setSharePreferencesSave(SPConstance.USER_JSON).putString(SPConstance.USER_JSON_HEADERURL, registeredBean.getData().getHeaderurl()).commit();
......
package com.rv.home.rv.module.ui.main.home; package com.rv.home.rv.module.ui.main.home;
import android.Manifest; import android.Manifest;
import android.content.ComponentName;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.graphics.Color; import android.graphics.Color;
...@@ -38,6 +39,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter; ...@@ -38,6 +39,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
import com.frame.base.url.Constance; import com.frame.base.url.Constance;
import com.frame.rv.config.RvFrameConfig; import com.frame.rv.config.RvFrameConfig;
import com.google.gson.Gson; import com.google.gson.Gson;
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.util.LocationManager; import com.ruiwenliu.wrapper.util.LocationManager;
...@@ -47,6 +49,7 @@ import com.ruiwenliu.wrapper.util.listener.SwitchFragment; ...@@ -47,6 +49,7 @@ import com.ruiwenliu.wrapper.util.listener.SwitchFragment;
import com.ruiwenliu.wrapper.util.permission.RxPermission; import com.ruiwenliu.wrapper.util.permission.RxPermission;
import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout; import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout;
import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshView; import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshView;
import com.rv.component.utils.Cookie;
import com.rv.component.utils.DateUtils; import com.rv.component.utils.DateUtils;
import com.rv.component.utils.DisplayUtil; import com.rv.component.utils.DisplayUtil;
import com.rv.component.utils.LogUtil; import com.rv.component.utils.LogUtil;
...@@ -55,6 +58,7 @@ import com.rv.component.utils.ObservableScrollView; ...@@ -55,6 +58,7 @@ import com.rv.component.utils.ObservableScrollView;
import com.rv.home.R; import com.rv.home.R;
import com.rv.home.R2; import com.rv.home.R2;
import com.rv.home.rv.module.ApiConfig; import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.ui.login.LoginRvActivity;
import com.rv.home.rv.module.ui.main.home.adapter.HotCarTypeAdapter; import com.rv.home.rv.module.ui.main.home.adapter.HotCarTypeAdapter;
import com.rv.home.rv.module.ui.main.home.adapter.RVEnthusiastAdapter; import com.rv.home.rv.module.ui.main.home.adapter.RVEnthusiastAdapter;
import com.rv.home.rv.module.ui.main.home.adapter.RVTourListAdapter; import com.rv.home.rv.module.ui.main.home.adapter.RVTourListAdapter;
...@@ -868,10 +872,13 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa ...@@ -868,10 +872,13 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
} else if (id == R.id.ll_home_item_top) { } else if (id == R.id.ll_home_item_top) {
scrollview.fullScroll(View.FOCUS_UP); scrollview.fullScroll(View.FOCUS_UP);
} else if (id == R.id.iv_home_travel_server_image) { } else if (id == R.id.iv_home_travel_server_image) {
Intent intent = new Intent(Intent.ACTION_DIAL); if (isLogin()) {
Uri uri = Uri.parse("tel:" + "4000369369"); ComponentName name = new ComponentName(getActivity(), "com.rv.im.ConversationListActivity");
intent.setData(uri); Intent intent = new Intent();
intent.putExtra("login_user_id", Cookie.getStringValue(getContext(), SPConstance.USER_JSON_IMUSERID));
intent.setComponent(name);
startActivity(intent); startActivity(intent);
}
} else if (id == R.id.tv_home_car_rental_guide) { } else if (id == R.id.tv_home_car_rental_guide) {
//租车指南 //租车指南
ARouter.getInstance().build(Constance.ACTIVITY_URL_WEBVIEW) ARouter.getInstance().build(Constance.ACTIVITY_URL_WEBVIEW)
...@@ -886,7 +893,18 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa ...@@ -886,7 +893,18 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
return; return;
} }
} }
/**
* 判断是否登录
*
* @return
*/
private boolean isLogin() {
if (TextUtils.isEmpty(OkGoUtil.getToken())) {
startActivity(LoginRvActivity.getIntent(_mActivity,0));
return false;
}
return true;
}
@Override @Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
......
...@@ -382,7 +382,7 @@ public class MineFragment extends BaseFragment<CommonPresenter> implements Simpl ...@@ -382,7 +382,7 @@ public class MineFragment extends BaseFragment<CommonPresenter> implements Simpl
} }
} }
private void signOut() { public void signOut() {
ivAvatar.setBackgroundResource(0); ivAvatar.setBackgroundResource(0);
ivAvatar.setImageResource(R.drawable.common_icon_avatar_default); ivAvatar.setImageResource(R.drawable.common_icon_avatar_default);
tvNickname.setVisibility(View.GONE); tvNickname.setVisibility(View.GONE);
......
...@@ -16,6 +16,7 @@ import com.frame.base.bus.RxBus; ...@@ -16,6 +16,7 @@ import com.frame.base.bus.RxBus;
import com.ruiwenliu.wrapper.base.BaseBean; import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity; import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.other.TagAliasOperatorHelper; import com.ruiwenliu.wrapper.other.TagAliasOperatorHelper;
import com.ruiwenliu.wrapper.util.AppUtils;
import com.ruiwenliu.wrapper.util.UtilsManager; import com.ruiwenliu.wrapper.util.UtilsManager;
import com.ruiwenliu.wrapper.weight.TitleView; import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.component.utils.Cookie; import com.rv.component.utils.Cookie;
...@@ -152,11 +153,7 @@ public class SettingActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -152,11 +153,7 @@ public class SettingActivity extends BaseStatusActivity<CommonPresenter> {
tagAliasBean.isAliasAction = isAliasAction; tagAliasBean.isAliasAction = isAliasAction;
TagAliasOperatorHelper.getInstance().handleAction(getApplicationContext(), sequence, tagAliasBean); TagAliasOperatorHelper.getInstance().handleAction(getApplicationContext(), sequence, tagAliasBean);
UtilsManager.getInstance(mActivity).clearShareData("city_json"); AppUtils.logout(getApplicationContext());
UtilsManager.getInstance(mActivity).setShNull();
RvCache.getInstance(getApplicationContext()).clear();
Cookie.clear(getApplicationContext());
OkGoUtil.clearToken();
setResult(201); setResult(201);
showToast("退出成功!"); showToast("退出成功!");
finish(); finish();
......
package com.rv.im.bean;
import com.ruiwenliu.wrapper.base.BaseBean;
public class ImConfigBean extends BaseBean {
private long currentTime ;
private ImConfig data ;
// private int resultCode;
public long getCurrentTime() {
return currentTime;
}
public void setCurrentTime(long currentTime) {
this.currentTime = currentTime;
}
public ImConfig getData() {
return data;
}
public void setData(ImConfig data) {
this.data = data;
}
}
include ':RvFrame' include ':RvFrame', ':plugin_im', ':jcvideoplayer-lib'
include ':RvClient' include ':RvClient'
include ':RvWrapper' include ':RvWrapper'
include ':module_home' include ':module_home'
......
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