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 {
kotlin_version = "1.3.21"
dev_mode = false
dev_mode = true
ydl_app = [
appName : "心理咨询壹点灵",
......
......@@ -2,10 +2,16 @@ package com.ydl.audioim
import android.annotation.SuppressLint
import android.content.Context
import android.os.Handler
import android.text.TextUtils
import com.alibaba.android.arouter.launcher.ARouter
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.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.LoginCallback
import com.ydl.ydl_av.messge_service.request.LoginParam
......@@ -15,11 +21,11 @@ import com.ydl.ydlcommon.modular.ModularServiceManager
import com.ydl.ydlcommon.utils.ActivityManager
import com.ydl.ydlcommon.utils.LogUtil
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.UserLogoutEvent
import de.greenrobot.event.EventBus
import com.yidianling.common.tools.ToastUtil
import com.yidianling.user.api.service.IUserService
import de.greenrobot.event.EventBus
import io.agora.rtm.RtmStatusCode
import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers
......@@ -49,17 +55,6 @@ class YDLavManager {
fun init(context: Context,appId:String){
YDLRTMClient.instances.init(context,appId,listener)
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()
......@@ -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() {
YDLRTMClient.instances.setCallListener(object : CallListener {
override fun onCallRecivedByPeer(response: CallLocalResponse?) {
......
......@@ -1453,7 +1453,7 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
}
FILTER_STATUS_FILTERED -> {
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(
0,
0,
......@@ -1464,12 +1464,7 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
FILTER_STATUS_OPEN -> {
tv.typeface = Typeface.DEFAULT_BOLD
tv.setTextColor(ContextCompat.getColor(context, R.color.platform_colorTextDefault))
tv.setCompoundDrawablesWithIntrinsicBounds(
0,
0,
R.drawable.consultant_ic_arrow_drop_down,
0
)
tv.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.platform_arrow_drop_down_en, 0)
}
}
}
......
......@@ -238,9 +238,10 @@ class ExpertSearchAdapter(
holder.tvChat.setTextColor(
ContextCompat.getColor(
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 =
ContextCompat.getDrawable(context, R.drawable.consultant_expert_search_chat)
} else {
......
......@@ -365,10 +365,7 @@
android:layout_height="@dimen/platform_dp_24"
android:layout_alignBottom="@+id/cvHead"
android:layout_alignParentRight="true"
android:background="@drawable/consultant_expert_search_chat"
android:gravity="center"
android:text="私聊"
android:textColor="@color/consultant_confirm_text_color"
android:textSize="@dimen/platform_dp_13"
android:textStyle="bold"
android:background="@drawable/consultant_expert_search_chat"
......
......@@ -11,6 +11,7 @@ import com.ydl.ydlcommon.data.http.BaseAPIResponse
import com.ydl.ydlcommon.data.http.BaseResponse
import com.ydl.ydlcommon.data.http.RxUtils.applySchedulers
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.Companion.newInstance
import com.ydl.ydlcommon.utils.NetworkParamsUtils
......@@ -32,6 +33,7 @@ import com.yidianling.im.router.ImIn.isLogin
import com.yidianling.im.router.ImIn.loginWayIntent
import com.yidianling.im.session.SessionHelper
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.custom.bridge.ActionHandlerStorage
import com.yidianling.uikit.custom.bridge.IP2PCustomActionHandler
......@@ -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.RecommendExpertBean
import com.yidianling.uikit.custom.widget.TitleBarBottom
import com.yidianling.user.api.service.IUserService
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
import retrofit2.HttpException
......@@ -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)
//获取私聊对方在线状态
if (null != actionHandler) {
......@@ -292,6 +295,12 @@ object IMChatUtil {
if (null != docInfo && ("14" == docInfo.toUid || "4108805" == docInfo.toUid)) { //小壹客服 不显示是否在线
tb.setmMinTitleVisiable(View.GONE)
} 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) { // 专家
// 调取接口获取专家状态
val dis = instance
......
......@@ -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.widget.ConfideOrderInfoView;
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.user.api.service.IUserService;
......@@ -356,7 +358,7 @@ public class YDLMessageFragment extends TFragment implements ModuleProxy {
initTopViewHeight(); //设置顶部专家信息栏高度
addScrollListener();
TitleBarBottom titleBar = ((YDLBaseMessageActivity) getActivity()).getTitleBarBottom();
IMChatUtil.INSTANCE.initChatOnlineState(titleBar,getContext(),sessionId);
IMChatUtil.INSTANCE.initChatOnlineState(titleBar,getContext(),sessionId,this);
}
if (ActionHandlerStorage.getL(sessionId) != null) {
......
......@@ -151,7 +151,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textColor="@color/im_main_theme"
android:textColor="@color/platform_main_theme"
android:text="*涉及用户隐私,请谨慎使用上述信息*"
android:textSize="12dp"/>
......
......@@ -11,6 +11,8 @@ import com.ydl.ydlcommon.base.config.YDLConstants
import com.ydl.ydlcommon.data.PlatformDataManager
import com.ydl.ydlcommon.data.http.GsonProvider
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.YDLCacheUtils
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