Commit ea3484e1 by konghaorui

补充 flutter 样式修改代码接口

parent 45c3459d
......@@ -211,7 +211,7 @@ dependencies {
// api rootProject.ext.dependencies["ydl-m-fm-module-ydl"]
// api rootProject.ext.dependencies["ydl-m-fm-api"]
implementation project(':m-fm')
implementation project(':m-course')
// implementation project(':m-course')
implementation modularPublication('com.ydl:m-fm-api')
implementation modularPublication('com.ydl:m-audioim-api')
} else {
......
......@@ -7,13 +7,14 @@ import android.content.Intent;
import android.os.Build;
import android.os.Process;
import android.support.annotation.RequiresApi;
import com.channel.ydl_flutter_base.plugin.YDLCommonPlugin;
import com.facebook.stetho.Stetho;
import com.meituan.android.walle.WalleChannelReader;
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.commonsdk.utils.UMUtils;
import com.umeng.socialize.PlatformConfig;
import com.umeng.socialize.UMShareAPI;
import com.ydl.component.BuildConfig;
......@@ -25,11 +26,15 @@ import com.ydl.ydlcommon.base.delegate.IAppLifecycles;
import com.ydl.ydlcommon.utils.AppProgressUtils;
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 io.flutter.view.FlutterMain;
import com.yidianling.tests.home.plugin.TestPlugin;
import org.jetbrains.annotations.NotNull;
import java.util.HashMap;
import io.flutter.view.FlutterMain;
/**
* Created by haorui on 2019-09-02.
* Des:
......@@ -51,7 +56,12 @@ public class DemoAppLifecycles implements IAppLifecycles {
initThirdServiceSDK(application);
//Flutter 初始化需要在主线程中执行
FlutterMain.startInitialization(application);
TestPlugin.Companion.setTestDelegate(() -> false);
YDLCommonPlugin.Companion.setPluginDelegate(() -> {
HashMap<String, String> map = new HashMap<>();
map.put("platform_main_theme","#34CD65");
return map;
});
// FlutterMain.ensureInitializationComplete(application, null);
//
// FlutterEngine flutterEngine = new FlutterEngine(application);
......@@ -61,7 +71,7 @@ public class DemoAppLifecycles implements IAppLifecycles {
Intent intent = new Intent(application, PlayService.class);
application.startService(intent);
application.registerActivityLifecycleCallbacks(new CoursePlayLifecycle());
// application.registerActivityLifecycleCallbacks(new CoursePlayLifecycle());
Stetho.initializeWithDefaults(application);
}
......
......@@ -270,7 +270,7 @@ ext {
//flutter功能组件升级===>发布ydl-flutter组件===>引用flutter相关的业务模块
"ydl-flutter-base" : "com.ydl:ydl-flutter-base:${ydlCompileVersion["ydl-flutter-base"]}", //组件化项目中的flutter base模块
"ydl-flutter" : "com.ydl:ydl-flutter:0.0.17.0@aar", //flutter aar
"ydl-flutter" : "com.ydl:ydl-flutter:0.0.17.1@aar", //flutter aar
"ydl-flutter-sp" : "com.ydl:ydl-flutter-sp:0.0.2@aar", //flutter 缓存 aar
//基础组件 <<--- 先发这个,发完改这里的版本号
......
package com.yidianling.tests.home.plugin
import android.app.Activity
import android.net.Uri
import android.util.Log
import com.ydl.webview.H5Params
import com.ydl.webview.NewH5Activity
import com.ydl.ydl_router.manager.YDLRouterManager
import com.ydl.ydl_router.manager.YDLRouterParams
import com.ydl.ydlcommon.base.config.HttpConfig
import com.ydl.ydlcommon.router.IYDLRouterConstant
import com.ydl.ydlcommon.utils.LogUtil
import com.yidianling.tests.list.view.TestCategoryListActivity
import com.yidianling.tests.router.TestsIn
import com.yidianling.tests.search.TestSearchActivity
......@@ -20,6 +19,7 @@ import io.flutter.plugin.common.MethodChannel
* Created by xj on 2019/11/19.
*/
class TestPlugin : MethodChannel.MethodCallHandler {
private var mActivity: FlutterActivity? = null
private constructor(activity: FlutterActivity) {
mActivity = activity
......@@ -35,6 +35,7 @@ class TestPlugin : MethodChannel.MethodCallHandler {
const val TEST_LIST_ITEM_CLICK = "testListItemClick" // 测评列表点击
const val LOOK_ALL_TEST = "lookAllTest" // 查看全部测评
const val IS_HIDE_LEFT_BACK = "hideLeftBackLL" // 是否隐藏标题左侧布局
public var testDelegate:TestPluginDelegate?=null
fun rigister(activity: FlutterActivity) {
MethodChannel(activity.flutterView, CHANNEL).setMethodCallHandler(TestPlugin(activity))
......@@ -92,8 +93,12 @@ class TestPlugin : MethodChannel.MethodCallHandler {
}
}
IS_HIDE_LEFT_BACK -> {
// TODO haorui 是否隐藏标题左侧布局
// result.success(true)
var hideBack = false
if (testDelegate!=null){
hideBack = testDelegate?.getHideBack()?:false
}
LogUtil.i("hideBack:$hideBack")
result.success(hideBack)
}
}
}
......@@ -117,4 +122,8 @@ class TestPlugin : MethodChannel.MethodCallHandler {
YDLRouterManager.router(linkUrl)
}
}
interface TestPluginDelegate{
fun getHideBack():Boolean
}
}
\ No newline at end of file
......@@ -7,7 +7,9 @@ import com.ydl.burypointlib.MD5Util
import com.ydl.ydlcommon.base.BaseApp
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.utils.LogUtil
import com.ydl.ydlcommon.utils.SharedPreferencesEditor
import com.ydl.ydlcommon.utils.YDLCacheUtils
import com.ydl.ydlcommon.utils.YdlBuryPointUtil
......@@ -37,6 +39,7 @@ class YDLCommonPlugin : MethodChannel.MethodCallHandler {
}
companion object {
var pluginDelegate:CommonPluginDelegate?=null
const val CHANNEL: String = "lib/common/channel"
const val GETPUBLICPARAMAS: String = "getPublicParamas"
const val ACTION_PUSH_EVENT_TRACKING_TAP: String = "action_push_event_tracking_tap"// 点击事件埋点
......@@ -119,10 +122,17 @@ class YDLCommonPlugin : MethodChannel.MethodCallHandler {
}
ACTION_ORIGIN_THEME -> {
val mMap = mutableMapOf<String, String>()
//TODO haorui 添加主题色定义
//mMap["platform_main_theme"] = "#ff0000"
if (pluginDelegate!=null){
val appTheme = pluginDelegate?.getAppTheme()
appTheme?.let { mMap.putAll(it) }
}
LogUtil.i("platform_origin_theme:"+GsonProvider.getGson().toJson(mMap))
result.success(mMap)
}
}
}
interface CommonPluginDelegate{
fun getAppTheme():HashMap<String,String>
}
}
\ No newline at end of file
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