Commit 62248901 by konghaorui

修改资源名称

parent b4bed120
package com.ydl.component.base;
import android.app.Application;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Process;
import android.support.annotation.RequiresApi;
import com.facebook.stetho.Stetho;
import com.meituan.android.walle.WalleChannelReader;
import com.netease.nimlib.sdk.util.NIMUtil;
import com.tencent.bugly.crashreport.CrashReport;
import com.tencent.smtt.sdk.QbSdk;
import com.umeng.analytics.MobclickAgent;
import com.umeng.commonsdk.UMConfigure;
import com.umeng.socialize.PlatformConfig;
import com.umeng.socialize.UMShareAPI;
import com.ydl.audioim.YDLavManager;
import com.ydl.component.BuildConfig;
import com.ydl.component.MainActivity;
import com.ydl.media.audio.PlayService;
import com.ydl.ydlcommon.base.config.HttpConfig;
import com.ydl.ydlcommon.base.config.YDLConstants;
import com.ydl.ydlcommon.base.delegate.IAppLifecycles;
import com.ydl.ydlcommon.utils.LogUtil;
import com.ydl.ydlcommon.utils.YdlBuryPointUtil;
import com.yidianling.course.lifeCallback.CoursePlayLifecycle;
import com.yidianling.im.config.NimApplication;
import org.jetbrains.annotations.NotNull;
import io.flutter.view.FlutterMain;
/**
* Created by haorui on 2019-09-02.
* Des:
*/
public class DemoAppLifecycles implements IAppLifecycles {
@Override
public void attachBaseContext(@NotNull Context base) {
}
@RequiresApi(api = Build.VERSION_CODES.ICE_CREAM_SANDWICH)
@Override
public void onCreate(@NotNull Application application) {
//模块初始化
moduleInit(application);
if (NIMUtil.isMainProcess(application)) {
YDLavManager.Companion.getInstances().init(application, "13b1536698f64905a1e7e5bb978ba821");
//第三方SDK初始化
initThirdServiceSDK(application);
//Flutter 初始化需要在主线程中执行
FlutterMain.startInitialization(application);
// FlutterMain.ensureInitializationComplete(application, null);
//
// FlutterEngine flutterEngine = new FlutterEngine(application);
// flutterEngine.getDartExecutor().executeDartEntrypoint(DartExecutor.DartEntrypoint.createDefault());
// YDLCommonPlugin plugin = new YDLCommonPlugin();
// flutterEngine.getLocalizationChannel().channel.setMethodCallHandler(plugin);
Intent intent = new Intent(application, PlayService.class);
application.startService(intent);
application.registerActivityLifecycleCallbacks(new CoursePlayLifecycle());
Stetho.initializeWithDefaults(application);
}
}
@Override
public void onTerminate(@NotNull Application application) {
}
private void moduleInit(Application application) {
NimApplication.getInstance().initIm(application, MainActivity.class);
}
private void initThirdServiceSDK(Application application) {
new Thread() {
@Override
public void run() {
super.run();
//设置线程优先级,不与主线程抢资源
Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
//子线程中初始化X5内核,防止ANR问题
initX5(application);
if (DemoGlobalConfig.appEnv.equals(YDLConstants.ENV_PROD)) {
// YDLavManager.Companion.getInstances().init(application, "3387e9b251f3491e9221a9877e8f7830");
} else {
// YDLavManager.Companion.getInstances().init(application, "13b1536698f64905a1e7e5bb978ba821");
}
//bugly
String packageName = application.getPackageName();
String channel = WalleChannelReader.getChannel(application);
if (channel == null || channel.equals("null")) {
channel = "test";
}
CrashReport.UserStrategy strategy = new CrashReport.UserStrategy(application);
strategy.setAppChannel(channel);
String appkey = BuildConfig.DEBUG ? "630a3a5cea" : "3939e71afa";
CrashReport.initCrashReport(application, appkey, BuildConfig.DEBUG, strategy);
//umeng
String umAppkey = null;
if (BuildConfig.FLAVOR.endsWith("ydl")) {
umAppkey = "56970affe0f55a9cda001e24";
channel = "android_" + channel;
initUM(umAppkey, channel, application);
PlatformConfig.setWeixin("wx57a9d930270498c7", "17c031f02500ded3457a80e69d8e5e45");
PlatformConfig.setQQZone("1105070461", "6BvkUnk6wXJekcgR");
} else if (BuildConfig.FLAVOR.endsWith("xlzx")) {
umAppkey = "5859e1656e27a42fa400021f";
channel = "ATK_7_android_" + channel;
initUM(umAppkey, channel, application);
PlatformConfig.setWeixin("wx1c6af5a11b5f531f", "1ddb93abbb2d81e604657d38e94a5720");
PlatformConfig.setQQZone("1107931541", "8dCvxUpi525uPGTJ");
}
// 选用AUTO页面采集模式
MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO);
MobclickAgent.setCatchUncaughtExceptions(!BuildConfig.DEBUG);
//开启友盟集成测试
UMConfigure.setLogEnabled(BuildConfig.DEBUG);
HttpConfig.Companion.getInstance().initSocketConfig(() -> {
//数据埋点初始化 (一定要放在主进程中/因为用到了umeng统计,需要放在umeng初始化后)
YdlBuryPointUtil.init(application, true);
});
//安全检测
//YDLAppProtector.init();
}
}.start();
}
private void initUM(String umAppKey, String channel, Application application) {
/**
* 初始化common库
* 参数1:上下文,不能为空
* 参数2:友盟 app key
* 参数3:友盟 channel
* 参数4:设备类型,UMConfigure.DEVICE_TYPE_PHONE为手机、UMConfigure.DEVICE_TYPE_BOX为盒子,默认为手机
* 参数5:Push推送业务的secret
*/
UMConfigure.init(application, umAppKey, channel, UMConfigure.DEVICE_TYPE_PHONE, null);
UMShareAPI.init(application, umAppKey);
}
/**
* 初始化X5内核
*
* @param application
*/
private void initX5(Application application) {
// 在调用TBS初始化、创建WebView之前进行如下配置,以开启优化方案
// HashMap map = new HashMap();
// map.put(TbsCoreSettings.TBS_SETTINGS_USE_SPEEDY_CLASSLOADER, true);
// QbSdk.initTbsSettings(map);
// if (!QbSdk.isTbsCoreInited()) {//// preinit只需要调用一次,如果已经完成了初始化,那么就直接构造view
// QbSdk.preInit(application, null);// 设置X5初始化完成的回调接口
// }
QbSdk.PreInitCallback cb = new QbSdk.PreInitCallback() {
@Override
public void onViewInitFinished(boolean arg0) {
//初始化完成回调
LogUtil.i("QbSdk onViewInitFinished:" + arg0);
}
@Override
public void onCoreInitFinished() {
LogUtil.i("QbSdk onCoreInitFinished");
}
};
QbSdk.initX5Environment(application, cb);
}
}
\ No newline at end of file
ext { ext {
kotlin_version = "1.3.21" kotlin_version = "1.3.21"
dev_mode = false dev_mode = true
ydl_app = [ ydl_app = [
appName : "心理咨询壹点灵", appName : "心理咨询壹点灵",
......
...@@ -2,10 +2,16 @@ package com.ydl.audioim ...@@ -2,10 +2,16 @@ package com.ydl.audioim
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import android.os.Handler
import android.text.TextUtils import android.text.TextUtils
import com.alibaba.android.arouter.launcher.ARouter
import com.ydl.audioim.http.AudioApiRequestUtil import com.ydl.audioim.http.AudioApiRequestUtil
import com.ydl.audioim.http.command.ConnectExceptionCommand
import com.ydl.audioim.utils.AudioLogUtils
import com.ydl.consultantim.ConsultantAudioHomeActivity
import com.ydl.ydl_av.messge_service.YDLRTMClient import com.ydl.ydl_av.messge_service.YDLRTMClient
import com.ydl.ydl_av.messge_service.bean.RTMMesssage import com.ydl.ydl_av.messge_service.bean.RTMMesssage
import com.ydl.ydl_av.messge_service.callback.CallListener
import com.ydl.ydl_av.messge_service.callback.InitListener import com.ydl.ydl_av.messge_service.callback.InitListener
import com.ydl.ydl_av.messge_service.callback.LoginCallback import com.ydl.ydl_av.messge_service.callback.LoginCallback
import com.ydl.ydl_av.messge_service.request.LoginParam import com.ydl.ydl_av.messge_service.request.LoginParam
...@@ -15,11 +21,11 @@ import com.ydl.ydlcommon.modular.ModularServiceManager ...@@ -15,11 +21,11 @@ import com.ydl.ydlcommon.modular.ModularServiceManager
import com.ydl.ydlcommon.utils.ActivityManager import com.ydl.ydlcommon.utils.ActivityManager
import com.ydl.ydlcommon.utils.LogUtil import com.ydl.ydlcommon.utils.LogUtil
import com.ydl.ydlcommon.utils.log.LogHelper import com.ydl.ydlcommon.utils.log.LogHelper
import com.yidianling.common.tools.ToastUtil
import com.yidianling.user.api.event.UserLoginEvent import com.yidianling.user.api.event.UserLoginEvent
import com.yidianling.user.api.event.UserLogoutEvent import com.yidianling.user.api.event.UserLogoutEvent
import de.greenrobot.event.EventBus
import com.yidianling.common.tools.ToastUtil
import com.yidianling.user.api.service.IUserService import com.yidianling.user.api.service.IUserService
import de.greenrobot.event.EventBus
import io.agora.rtm.RtmStatusCode import io.agora.rtm.RtmStatusCode
import io.reactivex.Observable import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.android.schedulers.AndroidSchedulers
...@@ -49,17 +55,6 @@ class YDLavManager { ...@@ -49,17 +55,6 @@ class YDLavManager {
fun init(context: Context,appId:String){ fun init(context: Context,appId:String){
YDLRTMClient.instances.init(context,appId,listener) YDLRTMClient.instances.init(context,appId,listener)
EventBus.getDefault().register(this) EventBus.getDefault().register(this)
}
public fun onEvent(event: UserLoginEvent) {
instances.login(event.uid)
}
public fun onEvent(event: UserLogoutEvent) {
instances.logout()
}
fun init(context: Context, appId: String) {
YDLRTMClient.instances.init(context, appId, listener)
//设置回调 //设置回调
setCallback() setCallback()
...@@ -72,7 +67,13 @@ class YDLavManager { ...@@ -72,7 +67,13 @@ class YDLavManager {
} }
} }
public fun onEvent(event: UserLoginEvent) {
instances.login(event.uid)
}
public fun onEvent(event: UserLogoutEvent) {
instances.logout()
}
private fun setCallback() { private fun setCallback() {
YDLRTMClient.instances.setCallListener(object : CallListener { YDLRTMClient.instances.setCallListener(object : CallListener {
override fun onCallRecivedByPeer(response: CallLocalResponse?) { override fun onCallRecivedByPeer(response: CallLocalResponse?) {
......
...@@ -1453,7 +1453,7 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres ...@@ -1453,7 +1453,7 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
} }
FILTER_STATUS_FILTERED -> { FILTER_STATUS_FILTERED -> {
tv.typeface = Typeface.DEFAULT_BOLD tv.typeface = Typeface.DEFAULT_BOLD
tv.setTextColor(ContextCompat.getColor(context, R.color.consultant_main_theme)) tv.setTextColor(ContextCompat.getColor(context, R.color.platform_main_theme))
tv.setCompoundDrawablesWithIntrinsicBounds( tv.setCompoundDrawablesWithIntrinsicBounds(
0, 0,
0, 0,
...@@ -1464,12 +1464,7 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres ...@@ -1464,12 +1464,7 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
FILTER_STATUS_OPEN -> { FILTER_STATUS_OPEN -> {
tv.typeface = Typeface.DEFAULT_BOLD tv.typeface = Typeface.DEFAULT_BOLD
tv.setTextColor(ContextCompat.getColor(context, R.color.platform_colorTextDefault)) tv.setTextColor(ContextCompat.getColor(context, R.color.platform_colorTextDefault))
tv.setCompoundDrawablesWithIntrinsicBounds( tv.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.platform_arrow_drop_down_en, 0)
0,
0,
R.drawable.consultant_ic_arrow_drop_down,
0
)
} }
} }
} }
......
...@@ -238,9 +238,10 @@ class ExpertSearchAdapter( ...@@ -238,9 +238,10 @@ class ExpertSearchAdapter(
holder.tvChat.setTextColor( holder.tvChat.setTextColor(
ContextCompat.getColor( ContextCompat.getColor(
context, context,
R.color.consultant_confirm_text_color R.color.platform_but_text_color
) )
) )
holder.tvChat.setTextColor(ContextCompat.getColor(context,R.color.platform_but_text_color))
holder.tvChat.background = holder.tvChat.background =
ContextCompat.getDrawable(context, R.drawable.consultant_expert_search_chat) ContextCompat.getDrawable(context, R.drawable.consultant_expert_search_chat)
} else { } else {
......
...@@ -365,10 +365,7 @@ ...@@ -365,10 +365,7 @@
android:layout_height="@dimen/platform_dp_24" android:layout_height="@dimen/platform_dp_24"
android:layout_alignBottom="@+id/cvHead" android:layout_alignBottom="@+id/cvHead"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:background="@drawable/consultant_expert_search_chat"
android:gravity="center" android:gravity="center"
android:text="私聊"
android:textColor="@color/consultant_confirm_text_color"
android:textSize="@dimen/platform_dp_13" android:textSize="@dimen/platform_dp_13"
android:textStyle="bold" android:textStyle="bold"
android:background="@drawable/consultant_expert_search_chat" android:background="@drawable/consultant_expert_search_chat"
......
...@@ -11,6 +11,7 @@ import com.ydl.ydlcommon.data.http.BaseAPIResponse ...@@ -11,6 +11,7 @@ import com.ydl.ydlcommon.data.http.BaseAPIResponse
import com.ydl.ydlcommon.data.http.BaseResponse import com.ydl.ydlcommon.data.http.BaseResponse
import com.ydl.ydlcommon.data.http.RxUtils.applySchedulers import com.ydl.ydlcommon.data.http.RxUtils.applySchedulers
import com.ydl.ydlcommon.data.http.UpLoadLogUtils.upLoadLog import com.ydl.ydlcommon.data.http.UpLoadLogUtils.upLoadLog
import com.ydl.ydlcommon.modular.ModularServiceManager
import com.ydl.ydlcommon.ui.LoadingDialogFragment import com.ydl.ydlcommon.ui.LoadingDialogFragment
import com.ydl.ydlcommon.ui.LoadingDialogFragment.Companion.newInstance import com.ydl.ydlcommon.ui.LoadingDialogFragment.Companion.newInstance
import com.ydl.ydlcommon.utils.NetworkParamsUtils import com.ydl.ydlcommon.utils.NetworkParamsUtils
...@@ -32,6 +33,7 @@ import com.yidianling.im.router.ImIn.isLogin ...@@ -32,6 +33,7 @@ import com.yidianling.im.router.ImIn.isLogin
import com.yidianling.im.router.ImIn.loginWayIntent import com.yidianling.im.router.ImIn.loginWayIntent
import com.yidianling.im.session.SessionHelper import com.yidianling.im.session.SessionHelper
import com.yidianling.im.ui.page.fragment.bean.ChatItemBean import com.yidianling.im.ui.page.fragment.bean.ChatItemBean
import com.yidianling.uikit.business.session.fragment.YDLMessageFragment
import com.yidianling.uikit.business.session.helper.ChatStatusCacheHelper import com.yidianling.uikit.business.session.helper.ChatStatusCacheHelper
import com.yidianling.uikit.custom.bridge.ActionHandlerStorage import com.yidianling.uikit.custom.bridge.ActionHandlerStorage
import com.yidianling.uikit.custom.bridge.IP2PCustomActionHandler import com.yidianling.uikit.custom.bridge.IP2PCustomActionHandler
...@@ -39,6 +41,7 @@ import com.yidianling.uikit.custom.http.ServiceImpl.Companion.instance ...@@ -39,6 +41,7 @@ import com.yidianling.uikit.custom.http.ServiceImpl.Companion.instance
import com.yidianling.uikit.custom.http.response.ChatStatusBean import com.yidianling.uikit.custom.http.response.ChatStatusBean
import com.yidianling.uikit.custom.http.response.RecommendExpertBean import com.yidianling.uikit.custom.http.response.RecommendExpertBean
import com.yidianling.uikit.custom.widget.TitleBarBottom import com.yidianling.uikit.custom.widget.TitleBarBottom
import com.yidianling.user.api.service.IUserService
import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers import io.reactivex.schedulers.Schedulers
import retrofit2.HttpException import retrofit2.HttpException
...@@ -284,7 +287,7 @@ object IMChatUtil { ...@@ -284,7 +287,7 @@ object IMChatUtil {
/** /**
* 初始化在线状态接口 * 初始化在线状态接口
*/ */
fun initChatOnlineState(tb: TitleBarBottom, context: Context, toUid: String) { fun initChatOnlineState(tb: TitleBarBottom, context: Context, toUid: String, messageFragment: YDLMessageFragment) {
val actionHandler = ActionHandlerStorage.getL(toUid) val actionHandler = ActionHandlerStorage.getL(toUid)
//获取私聊对方在线状态 //获取私聊对方在线状态
if (null != actionHandler) { if (null != actionHandler) {
...@@ -292,6 +295,12 @@ object IMChatUtil { ...@@ -292,6 +295,12 @@ object IMChatUtil {
if (null != docInfo && ("14" == docInfo.toUid || "4108805" == docInfo.toUid)) { //小壹客服 不显示是否在线 if (null != docInfo && ("14" == docInfo.toUid || "4108805" == docInfo.toUid)) { //小壹客服 不显示是否在线
tb.setmMinTitleVisiable(View.GONE) tb.setmMinTitleVisiable(View.GONE)
} else { } else {
//对方是用户,自己是助理
if (actionHandler.userType == 1 && ModularServiceManager.provide(IUserService::class.java).getUserInfo()?.user_type == 3) {
tb.setTitleTextRightIcon(R.drawable.user_info_icon) {
messageFragment.showUserInfoDialog()
}
}
if (actionHandler.userType == 2) { // 专家 if (actionHandler.userType == 2) { // 专家
// 调取接口获取专家状态 // 调取接口获取专家状态
val dis = instance val dis = instance
......
...@@ -87,6 +87,8 @@ import com.yidianling.uikit.custom.http.response.SubmitUserInfoBean; ...@@ -87,6 +87,8 @@ import com.yidianling.uikit.custom.http.response.SubmitUserInfoBean;
import com.yidianling.uikit.custom.http.response.UserQuestInfoBean; import com.yidianling.uikit.custom.http.response.UserQuestInfoBean;
import com.yidianling.uikit.custom.widget.ConfideOrderInfoView; import com.yidianling.uikit.custom.widget.ConfideOrderInfoView;
import com.yidianling.uikit.custom.widget.ExpertInfoDialog; import com.yidianling.uikit.custom.widget.ExpertInfoDialog;
import com.yidianling.uikit.custom.widget.TitleBarBottom;
import com.yidianling.uikit.custom.widget.UserInfoDialog;
import com.yidianling.uikit.custom.widget.expertConsultService.view.ExpertConsultServiceListDialog; import com.yidianling.uikit.custom.widget.expertConsultService.view.ExpertConsultServiceListDialog;
import com.yidianling.user.api.service.IUserService; import com.yidianling.user.api.service.IUserService;
...@@ -356,7 +358,7 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy { ...@@ -356,7 +358,7 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
initTopViewHeight(); //设置顶部专家信息栏高度 initTopViewHeight(); //设置顶部专家信息栏高度
addScrollListener(); addScrollListener();
TitleBarBottom titleBar = ((YDLBaseMessageActivity) getActivity()).getTitleBarBottom(); TitleBarBottom titleBar = ((YDLBaseMessageActivity) getActivity()).getTitleBarBottom();
IMChatUtil.INSTANCE.initChatOnlineState(titleBar,getContext(),sessionId); IMChatUtil.INSTANCE.initChatOnlineState(titleBar,getContext(),sessionId,this);
} }
if (ActionHandlerStorage.getL(sessionId) != null) { if (ActionHandlerStorage.getL(sessionId) != null) {
......
...@@ -151,7 +151,7 @@ ...@@ -151,7 +151,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:gravity="center"
android:textColor="@color/im_main_theme" android:textColor="@color/platform_main_theme"
android:text="*涉及用户隐私,请谨慎使用上述信息*" android:text="*涉及用户隐私,请谨慎使用上述信息*"
android:textSize="12dp"/> android:textSize="12dp"/>
......
...@@ -11,6 +11,8 @@ import com.ydl.ydlcommon.base.config.YDLConstants ...@@ -11,6 +11,8 @@ import com.ydl.ydlcommon.base.config.YDLConstants
import com.ydl.ydlcommon.data.PlatformDataManager import com.ydl.ydlcommon.data.PlatformDataManager
import com.ydl.ydlcommon.data.http.GsonProvider import com.ydl.ydlcommon.data.http.GsonProvider
import com.ydl.ydlcommon.modular.ModularServiceManager import com.ydl.ydlcommon.modular.ModularServiceManager
import com.ydl.ydlcommon.router.YdlCommonOut
import com.ydl.ydlcommon.utils.LogUtil
import com.ydl.ydlcommon.utils.SharedPreferencesEditor import com.ydl.ydlcommon.utils.SharedPreferencesEditor
import com.ydl.ydlcommon.utils.YDLCacheUtils import com.ydl.ydlcommon.utils.YDLCacheUtils
import com.ydl.ydlcommon.utils.YdlBuryPointUtil import com.ydl.ydlcommon.utils.YdlBuryPointUtil
......
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