Commit 20f2fc4e authored by jianglx's avatar jianglx

添加Im

parent 51a60406
......@@ -114,13 +114,14 @@ dependencies {
api 'com.jakewharton:butterknife: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.fanjun:keeplive:1.1.10'
debugApi 'com.squareup.leakcanary:leakcanary-android:1.6.1'
releaseApi 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.1'
api 'cn.jiguang.sdk:jpush:3.3.4' // 此处以JPush 3.3.4 版本为例。
api 'cn.jiguang.sdk:jcore:2.1.2' // 此处以JCore 2.1.2 版本为例。
api 'cn.jiguang.sdk:jpush:3.3.4'
// 此处以JPush 3.3.4 版本为例。
api 'cn.jiguang.sdk:jcore:2.1.2'
// 此处以JCore 2.1.2 版本为例。
// api project(path: ':RvTravel')
api project(':component_resource')
api project(path: ':module_home')
......@@ -128,4 +129,5 @@ dependencies {
api project(path: ':module_camp')
api project(path: ':module_tourism')
api project(path: ':module_discovery')
implementation project(':plugin_im')
}
......@@ -22,6 +22,7 @@ import com.frame.base.manager.MyFrameManager;
import com.frame.rv.config.RvFrameConfig;
import com.ruiwenliu.wrapper.util.LogUtils;
import com.rv.component.utils.LogUtil;
import com.rv.im.ImSetting;
import com.sh.sdk.shareinstall.ShareInstall;
import com.squareup.leakcanary.LeakCanary;
import com.tencent.bugly.crashreport.CrashReport;
......@@ -53,6 +54,7 @@ public class RvClientApplication extends FrameApp {
super.onCreate();
ViewTarget.setTagId(R.id.glideIndexTag);
Log.e("xxxxxxxxxxxxxxxxxxxxx", "RvClientApplication_onCreate");
ImSetting.init(this);
StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
StrictMode.setVmPolicy(builder.build());
builder.detectFileUriExposure();
......
......@@ -13,10 +13,15 @@ import com.ruiwenliu.wrapper.base.BaseActivity;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.util.UtilsManager;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.component.utils.CacheEnum;
import com.rv.component.utils.Cookie;
import com.rv.component.utils.DateUtils;
import com.rv.component.utils.LogUtil;
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 java.util.concurrent.TimeUnit;
......@@ -32,7 +37,16 @@ public class WelcomeActivity extends BaseActivity<CommonPresenter> {
@Override
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
......@@ -51,6 +65,11 @@ public class WelcomeActivity extends BaseActivity<CommonPresenter> {
@Override
protected void loadData(Bundle savedInstanceState, Intent intent) {
mPresenter.saveOnclick("8", "");
getImConfig();
}
private void getImConfig() {
mPresenter.getData(0, AppConfig.CONFIG_URL, ImConfigBean.class, false);
}
@Override
......
package com.ruiwenliu.wrapper;
public class MessageEventLogout {
public MessageEventLogout() {
}
}
......@@ -34,7 +34,7 @@ public abstract class BaseWrapperActivity extends SupportActivity {
private boolean mReceiverTag = false;//判断广播是否注册
protected boolean isRegister = true;
private TitleView titleView;
protected TitleView titleView;
protected FrameLayout frameLayout;
private LinearLayout rootView;
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 {
maven {
url "http://mvn.mob.com/android"
}
maven {
url 'https://github.com/jitsi/jitsi-maven-repository/raw/master/releases'
}
maven {
url "https://jitpack.io"
}
......@@ -39,6 +42,10 @@ allprojects {
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 {
MEMBER(0, "member"), // 会员
USER(1, "user"), // 用户
CONSUMER_RECORD(2, "consumer_record"), // 消费记录
VISTOR_LIST(3, "vistor_list"); //出游人列表
VISTOR_LIST(3, "vistor_list"), //出游人列表
IM_CONFIG(4,"im_config") ;
private int type;
private String fileName;
......
......@@ -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_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_NAME, registeredBean.getData().getUsername()).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;
import android.Manifest;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
......@@ -38,6 +39,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
import com.frame.base.url.Constance;
import com.frame.rv.config.RvFrameConfig;
import com.google.gson.Gson;
import com.ruiwenliu.wrapper.SPConstance;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseFragment;
import com.ruiwenliu.wrapper.util.LocationManager;
......@@ -47,6 +49,7 @@ import com.ruiwenliu.wrapper.util.listener.SwitchFragment;
import com.ruiwenliu.wrapper.util.permission.RxPermission;
import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout;
import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshView;
import com.rv.component.utils.Cookie;
import com.rv.component.utils.DateUtils;
import com.rv.component.utils.DisplayUtil;
import com.rv.component.utils.LogUtil;
......@@ -55,6 +58,7 @@ import com.rv.component.utils.ObservableScrollView;
import com.rv.home.R;
import com.rv.home.R2;
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.RVEnthusiastAdapter;
import com.rv.home.rv.module.ui.main.home.adapter.RVTourListAdapter;
......@@ -868,10 +872,13 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
} else if (id == R.id.ll_home_item_top) {
scrollview.fullScroll(View.FOCUS_UP);
} else if (id == R.id.iv_home_travel_server_image) {
Intent intent = new Intent(Intent.ACTION_DIAL);
Uri uri = Uri.parse("tel:" + "4000369369");
intent.setData(uri);
startActivity(intent);
if (isLogin()) {
ComponentName name = new ComponentName(getActivity(), "com.rv.im.ConversationListActivity");
Intent intent = new Intent();
intent.putExtra("login_user_id", Cookie.getStringValue(getContext(), SPConstance.USER_JSON_IMUSERID));
intent.setComponent(name);
startActivity(intent);
}
} else if (id == R.id.tv_home_car_rental_guide) {
//租车指南
ARouter.getInstance().build(Constance.ACTIVITY_URL_WEBVIEW)
......@@ -886,7 +893,18 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
return;
}
}
/**
* 判断是否登录
*
* @return
*/
private boolean isLogin() {
if (TextUtils.isEmpty(OkGoUtil.getToken())) {
startActivity(LoginRvActivity.getIntent(_mActivity,0));
return false;
}
return true;
}
@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
......
......@@ -382,7 +382,7 @@ public class MineFragment extends BaseFragment<CommonPresenter> implements Simpl
}
}
private void signOut() {
public void signOut() {
ivAvatar.setBackgroundResource(0);
ivAvatar.setImageResource(R.drawable.common_icon_avatar_default);
tvNickname.setVisibility(View.GONE);
......
......@@ -16,6 +16,7 @@ import com.frame.base.bus.RxBus;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.other.TagAliasOperatorHelper;
import com.ruiwenliu.wrapper.util.AppUtils;
import com.ruiwenliu.wrapper.util.UtilsManager;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.component.utils.Cookie;
......@@ -152,11 +153,7 @@ public class SettingActivity extends BaseStatusActivity<CommonPresenter> {
tagAliasBean.isAliasAction = isAliasAction;
TagAliasOperatorHelper.getInstance().handleAction(getApplicationContext(), sequence, tagAliasBean);
UtilsManager.getInstance(mActivity).clearShareData("city_json");
UtilsManager.getInstance(mActivity).setShNull();
RvCache.getInstance(getApplicationContext()).clear();
Cookie.clear(getApplicationContext());
OkGoUtil.clearToken();
AppUtils.logout(getApplicationContext());
setResult(201);
showToast("退出成功!");
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 ':RvWrapper'
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