diff --git a/app/build.gradle b/app/build.gradle
index b8b1c2491a..bf6389f181 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -74,31 +74,14 @@ android {
launcher {
manifest.srcFile 'src/launcher/AndroidManifest.xml'
}
- independent {
- manifest.srcFile 'src/independent/AndroidManifest.xml'
- }
f8xxLauncherOnlineRelease {
manifest.srcFile 'src/f8xxLauncherOnlineRelease/AndroidManifest.xml'
}
- fPadLenovoLauncherOnlineRelease {
- manifest.srcFile 'src/launcher/AndroidManifest.xml'
- }
}
flavorDimensions "product", "basic", "env"
productFlavors {
- //独立app
- independent {
- dimension "basic"
- // 是否启动位置服务
- buildConfigField 'boolean', 'LAUNCH_LOCATION_SERVICE', 'false'
- // 是否作为 launcher 运行
- buildConfigField 'boolean', 'IS_LAUNCHER', 'false'
- buildConfigField 'String', 'SOCKET_APP_ID', '\"com.mogo.launcher\"'
- // 是否支持目的地导航策略
- buildConfigField 'boolean', 'IS_SUPPORT_SCHEDULE_CALCULATE_NOT_HOME_COMPANY_DISTANCE_FOR_PUSH', 'true'
- }
// launcher app
launcher {
dimension "basic"
@@ -128,7 +111,6 @@ android {
// 配置.so支持的CPU架构
apply from: "./functions/abiFilters.gradle"
// 配置不同渠道参数,直接影响功能完整度
- apply from: "./productFlavors/bydauto.gradle"
apply from: "./productFlavors/f8Amap.gradle"
apply from: "./productFlavors/f8xx.gradle"
apply from: "./productFlavors/f80x.gradle"
@@ -137,7 +119,6 @@ android {
apply from: "./productFlavors/fPadLenovo.gradle"
apply from: "./productFlavors/fPadLenovoOchBus.gradle"
apply from: "./productFlavors/fPadLenovoOchTaxi.gradle"
- apply from: "./productFlavors/phone.gradle"
packagingOptions {
exclude 'META-INF/io.netty.versions.properties'
diff --git a/app/functions/abiFilters.gradle b/app/functions/abiFilters.gradle
index 50a3b96168..231565ac78 100644
--- a/app/functions/abiFilters.gradle
+++ b/app/functions/abiFilters.gradle
@@ -64,15 +64,6 @@ project.android.productFlavors {
}
}
}
- // f系列-分体机
- phone {
- externalNativeBuild {
- ndk {
- // 设置支持的SO库架构
- abiFilters "arm64-v8a"
- }
- }
- }
// f系列-分体机-高德
f8Amap {
externalNativeBuild {
@@ -82,13 +73,4 @@ project.android.productFlavors {
}
}
}
- // 比亚迪
- bydauto {
- externalNativeBuild {
- ndk {
- // 设置支持的SO库架构
- abiFilters "armeabi-v7a"
- }
- }
- }
}
\ No newline at end of file
diff --git a/app/functions/aicloudservices.gradle b/app/functions/aicloudservices.gradle
index b27edb241e..ec9b7405b6 100644
--- a/app/functions/aicloudservices.gradle
+++ b/app/functions/aicloudservices.gradle
@@ -1,8 +1,6 @@
// 基础服务:仅比亚迪渠道用sdk方式实现,其他都基于apk基础服务
project.dependencies {
if (Boolean.valueOf(RELEASE)) {
- bydautoImplementation rootProject.ext.dependencies.mogoaicloudservicesdk
- phoneImplementation rootProject.ext.dependencies.mogoaicloudservicesdk
f8xxImplementation rootProject.ext.dependencies.mogoaicloudserviceapk
f80xImplementation rootProject.ext.dependencies.mogoaicloudserviceapk
@@ -14,8 +12,6 @@ project.dependencies {
fPadLenovoOchTaxiImplementation rootProject.ext.dependencies.mogoaicloudservicesdk
fPadLenovoOchBusImplementation rootProject.ext.dependencies.mogoaicloudservicesdk
} else {
- bydautoImplementation project(':foudations:mogo-aicloud-services-sdk')
- phoneImplementation project(':foudations:mogo-aicloud-services-sdk')
f8xxImplementation project(':foudations:mogo-aicloud-services-apk')
f80xImplementation project(':foudations:mogo-aicloud-services-apk')
diff --git a/app/functions/basedmap.gradle b/app/functions/basedmap.gradle
index 4ad704ff3e..ce84589c38 100644
--- a/app/functions/basedmap.gradle
+++ b/app/functions/basedmap.gradle
@@ -6,15 +6,12 @@ project.dependencies {
f80xImplementation rootProject.ext.dependencies.mapcustom
fochtaxiImplementation rootProject.ext.dependencies.mapcustom
fochbusImplementation rootProject.ext.dependencies.mapcustom
- phoneImplementation rootProject.ext.dependencies.mapcustom
fPadLenovoImplementation rootProject.ext.dependencies.mapcustom
fPadLenovoOchTaxiImplementation rootProject.ext.dependencies.mapcustom
fPadLenovoOchBusImplementation rootProject.ext.dependencies.mapcustom
f8AmapImplementation rootProject.ext.dependencies.mapamap
- bydautoImplementation rootProject.ext.dependencies.mapamap
-
} else {
f8xxImplementation project(':libraries:map-custom')
f80xImplementation project(':libraries:map-custom')
@@ -25,10 +22,6 @@ project.dependencies {
fPadLenovoOchTaxiImplementation project(':libraries:map-custom')
fPadLenovoOchBusImplementation project(':libraries:map-custom')
- phoneImplementation project(':libraries:map-custom')
-
f8AmapImplementation project(':libraries:map-amap')
- bydautoImplementation project(':libraries:map-amap')
-
}
}
\ No newline at end of file
diff --git a/app/functions/baseservices.gradle b/app/functions/baseservices.gradle
index 23d545639c..2eaa297774 100644
--- a/app/functions/baseservices.gradle
+++ b/app/functions/baseservices.gradle
@@ -2,9 +2,6 @@
project.dependencies {
if (Boolean.valueOf(RELEASE)) {
- bydautoImplementation rootProject.ext.dependencies.mogobaseservicesdk
- phoneImplementation rootProject.ext.dependencies.mogobaseservicesdk
-
f8xxImplementation rootProject.ext.dependencies.mogobaseserviceapk
f80xImplementation rootProject.ext.dependencies.mogobaseserviceapk
f8AmapImplementation rootProject.ext.dependencies.mogobaseserviceapk
@@ -15,9 +12,6 @@ project.dependencies {
fPadLenovoOchTaxiImplementation rootProject.ext.dependencies.mogobaseserviceapk
fPadLenovoOchBusImplementation rootProject.ext.dependencies.mogobaseserviceapk
} else {
- bydautoImplementation project(':foudations:mogo-base-services-sdk')
- phoneImplementation project(':foudations:mogo-base-services-sdk')
-
f8xxImplementation project(':foudations:mogo-base-services-apk')
f80xImplementation project(':foudations:mogo-base-services-apk')
f8AmapImplementation project(':foudations:mogo-base-services-apk')
diff --git a/app/functions/bizguide.gradle b/app/functions/bizguide.gradle
index 6b621b0750..12d0075d49 100644
--- a/app/functions/bizguide.gradle
+++ b/app/functions/bizguide.gradle
@@ -2,8 +2,6 @@
project.dependencies {
if (Boolean.valueOf(RELEASE)) {
- bydautoImplementation rootProject.ext.dependencies.mogomoduleguide
- phoneImplementation rootProject.ext.dependencies.mogomoduleguide
f8xxImplementation rootProject.ext.dependencies.mogomoduleguide
f80xImplementation rootProject.ext.dependencies.mogomoduleguide
f8AmapImplementation rootProject.ext.dependencies.mogomoduleguide
@@ -15,8 +13,6 @@ project.dependencies {
fPadLenovoOchTaxiImplementation rootProject.ext.dependencies.mogomoduleguide
fPadLenovoOchBusImplementation rootProject.ext.dependencies.mogomoduleguide
} else {
- bydautoImplementation project(':modules:mogo-module-guide')
- phoneImplementation project(':modules:mogo-module-guide')
f8xxImplementation project(':modules:mogo-module-guide')
f80xImplementation project(':modules:mogo-module-guide')
diff --git a/app/functions/leftpanel.gradle b/app/functions/leftpanel.gradle
index c8e07a3939..15a7509e9b 100644
--- a/app/functions/leftpanel.gradle
+++ b/app/functions/leftpanel.gradle
@@ -2,9 +2,6 @@
project.dependencies {
if (Boolean.valueOf(RELEASE)) {
- bydautoImplementation rootProject.ext.dependencies.moduleleftpanel
- phoneImplementation rootProject.ext.dependencies.moduleleftpanelnoop
-
f8xxImplementation rootProject.ext.dependencies.moduleleftpanelnoop
f80xImplementation rootProject.ext.dependencies.moduleleftpanelnoop
f8AmapImplementation rootProject.ext.dependencies.moduleleftpanelnoop
@@ -17,9 +14,6 @@ project.dependencies {
fPadLenovoOchBusImplementation rootProject.ext.dependencies.moduleleftpanelnoop
} else {
- bydautoImplementation project(':modules:mogo-module-left-panel')
- phoneImplementation project(':modules:mogo-module-left-panel-noop')
-
f8xxImplementation project(':modules:mogo-module-left-panel-noop')
f80xImplementation project(':modules:mogo-module-left-panel-noop')
f8AmapImplementation project(':modules:mogo-module-left-panel-noop')
diff --git a/app/functions/mediaui.gradle b/app/functions/mediaui.gradle
deleted file mode 100644
index fab92e7f71..0000000000
--- a/app/functions/mediaui.gradle
+++ /dev/null
@@ -1,9 +0,0 @@
-// 音乐播放模块
-
-project.dependencies {
- if (Boolean.valueOf(RELEASE)) {
- launcherImplementation rootProject.ext.dependencies.modulemedia
- } else {
- launcherImplementation project(':modules:mogo-module-media')
- }
-}
\ No newline at end of file
diff --git a/app/functions/och.gradle b/app/functions/och.gradle
index 255ba426d5..8738eeab06 100644
--- a/app/functions/och.gradle
+++ b/app/functions/och.gradle
@@ -1,9 +1,6 @@
// 网约车服务:仅小巴车、出租车渠道用
project.dependencies {
if (Boolean.valueOf(RELEASE)) {
- bydautoImplementation rootProject.ext.dependencies.mogoochnoop
- phoneImplementation rootProject.ext.dependencies.mogoochnoop
-
f8xxImplementation rootProject.ext.dependencies.mogoochnoop
f80xImplementation rootProject.ext.dependencies.mogoochnoop
f8AmapImplementation rootProject.ext.dependencies.mogoochnoop
@@ -15,9 +12,6 @@ project.dependencies {
fPadLenovoOchTaxiImplementation rootProject.ext.dependencies.mogoochtaxi
fPadLenovoOchBusImplementation rootProject.ext.dependencies.mogoochbus
} else {
- bydautoImplementation project(':OCH:mogo-och-noop')
- phoneImplementation project(':OCH:mogo-och-noop')
-
f8xxImplementation project(':OCH:mogo-och-noop')
f80xImplementation project(':OCH:mogo-och-noop')
f8AmapImplementation project(':OCH:mogo-och-noop')
diff --git a/app/functions/perform.gradle b/app/functions/perform.gradle
index 97017f2a5f..a1ebcec77c 100644
--- a/app/functions/perform.gradle
+++ b/app/functions/perform.gradle
@@ -3,14 +3,10 @@
project.dependencies {
if (Boolean.valueOf(RELEASE)) {
launcherImplementation rootProject.ext.dependencies.modulemainlauncher
- independentImplementation rootProject.ext.dependencies.modulemainindependent
-
// 仅launcher需要引入该模块
launcherImplementation rootProject.ext.dependencies.moduleapps
} else {
launcherImplementation project(':main-extensions:mogo-module-main-launcher')
- independentImplementation project(':main-extensions:mogo-module-main-independent')
-
// 仅launcher需要引入该模块
launcherImplementation project(':modules:mogo-module-apps')
}
diff --git a/app/functions/skin.gradle b/app/functions/skin.gradle
index 4c2f5725e7..44b5d83421 100644
--- a/app/functions/skin.gradle
+++ b/app/functions/skin.gradle
@@ -1,8 +1,5 @@
project.dependencies {
if (Boolean.valueOf(RELEASE)) {
- bydautoImplementation rootProject.ext.dependencies.skinsupportnoop
- phoneImplementation rootProject.ext.dependencies.skinsupportimpl
-
f8xxImplementation rootProject.ext.dependencies.skinsupportimpl
f80xImplementation rootProject.ext.dependencies.skinsupportimpl
f8AmapImplementation rootProject.ext.dependencies.skinsupportimpl
@@ -14,9 +11,6 @@ project.dependencies {
fPadLenovoOchTaxiImplementation rootProject.ext.dependencies.skinsupportimpl
fPadLenovoOchBusImplementation rootProject.ext.dependencies.skinsupportimpl
-
- phoneImplementation rootProject.ext.dependencies.skinsupportlight
-
f8xxImplementation rootProject.ext.dependencies.skinsupportlight
f80xImplementation rootProject.ext.dependencies.skinsupportlight
f8AmapImplementation rootProject.ext.dependencies.skinsupportlight
@@ -28,10 +22,6 @@ project.dependencies {
fPadLenovoOchTaxiImplementation rootProject.ext.dependencies.skinsupportlight
fPadLenovoOchBusImplementation rootProject.ext.dependencies.skinsupportlight
} else {
-
- bydautoImplementation project(':skin:mogo-skin-support-noop')
- phoneImplementation project(':skin:mogo-skin-support-impl')
-
f8xxImplementation project(':skin:mogo-skin-support-impl')
f80xImplementation project(':skin:mogo-skin-support-impl')
f8AmapImplementation project(':skin:mogo-skin-support-impl')
@@ -43,9 +33,6 @@ project.dependencies {
fPadLenovoOchTaxiImplementation project(':skin:mogo-skin-support-impl')
fPadLenovoOchBusImplementation project(':skin:mogo-skin-support-impl')
-
- phoneImplementation project(':skin:mogo-skin-light')
-
f8xxImplementation project(':skin:mogo-skin-light')
f80xImplementation project(':skin:mogo-skin-light')
f8AmapImplementation project(':skin:mogo-skin-light')
@@ -56,6 +43,5 @@ project.dependencies {
fPadLenovoImplementation project(':skin:mogo-skin-light')
fPadLenovoOchTaxiImplementation project(':skin:mogo-skin-light')
fPadLenovoOchBusImplementation project(':skin:mogo-skin-light')
-
}
}
\ No newline at end of file
diff --git a/app/functions/socketpush.gradle b/app/functions/socketpush.gradle
index b42be11b59..e3e7833d1b 100644
--- a/app/functions/socketpush.gradle
+++ b/app/functions/socketpush.gradle
@@ -4,10 +4,8 @@ project.dependencies {
if (Boolean.valueOf(RELEASE)) {
implementation rootProject.ext.dependencies.modulepushbase
launcherImplementation rootProject.ext.dependencies.modulepush
- independentImplementation rootProject.ext.dependencies.modulepushnoop
} else {
implementation project(":modules:mogo-module-push-base")
launcherImplementation project(":modules:mogo-module-push")
- independentImplementation project(":modules:mogo-module-push-noop")
}
}
\ No newline at end of file
diff --git a/app/functions/tts.gradle b/app/functions/tts.gradle
index bc6ed75bd7..8c7b00177e 100644
--- a/app/functions/tts.gradle
+++ b/app/functions/tts.gradle
@@ -1,8 +1,5 @@
project.dependencies {
if (Boolean.valueOf(RELEASE)) {
- bydautoImplementation rootProject.ext.dependencies.ttsdi
- phoneImplementation rootProject.ext.dependencies.ttszhi
-
f8xxImplementation rootProject.ext.dependencies.ttszhi
f80xImplementation rootProject.ext.dependencies.ttszhi
f8AmapImplementation rootProject.ext.dependencies.ttszhi
@@ -14,9 +11,6 @@ project.dependencies {
fPadLenovoOchTaxiImplementation rootProject.ext.dependencies.ttspad
fPadLenovoOchBusImplementation rootProject.ext.dependencies.ttspad
} else {
- bydautoImplementation project(':tts:tts-di')
- phoneImplementation project(':tts:tts-zhi')
-
f8xxImplementation project(':tts:tts-zhi')
f80xImplementation project(':tts:tts-zhi')
f8AmapImplementation project(':tts:tts-zhi')
diff --git a/app/productFlavors/bydauto.gradle b/app/productFlavors/bydauto.gradle
deleted file mode 100644
index d0b1dc91e3..0000000000
--- a/app/productFlavors/bydauto.gradle
+++ /dev/null
@@ -1,37 +0,0 @@
-project.android.productFlavors {
- // 比亚迪
- bydauto {
- minSdkVersion rootProject.ext.android.minSdkVersion
- targetSdkVersion rootProject.ext.android.targetSdkVersion
- // 应用包名
- applicationId rootProject.ext.android.bydautoIndependentApplicationId
- dimension "product"
- buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'false'
- // 车机类型,主要用于区分自研车机还是别人家的车机,其他车机,比亚迪定为1
- buildConfigField 'int', 'CAR_MACHINE_TYPE', '1'
- buildConfigField 'boolean', 'ROAD_EVENT_ANIMATED', 'true'
- manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.bydautoIndependentApiValue, CHANNEL_VALUE: "bydauto"]
- // 是否使用高德sdk自定义导航
- buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'true'
- // 是否支持换肤
- buildConfigField 'boolean', 'IS_SKIN_SUPPORTED', 'false'
- // 是否支持查询导航目的地车友
- buildConfigField 'boolean', 'IS_SUPPORTED_SEARCH_DESTINATION_ONLINE_CAR_LIST', 'false'
- // 是否支持桌面卡片刷新
- buildConfigField 'boolean', 'IS_SUPPORT_LAUNCHER_CARD_REFRESH_STRATEGY', 'false'
- // 是否基于地图
- buildConfigField 'boolean', 'IS_MAP_BASED', 'true'
- // 是否加载引导模块
- buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'true'
- // 分享时是否隐藏 adas
- buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'false'
- // 是否需要实时上报坐标
- buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'false'
- // 是否需要使用工控机的rtk定位
- buildConfigField 'boolean', 'IS_USE_ADAS_RTK_LOCATION_INFO', 'false'
- // 是否需要悬浮窗权限申请
- buildConfigField 'boolean', 'IS_NEED_REQUEST_FLOAT_PERMISSION', 'true'
- // GPS数据提供源: 0-Android系统,1-工控机,2-OBU
- buildConfigField 'int', 'GPS_PROVIDER', "1"
- }
-}
\ No newline at end of file
diff --git a/app/productFlavors/phone.gradle b/app/productFlavors/phone.gradle
deleted file mode 100644
index 7694872acc..0000000000
--- a/app/productFlavors/phone.gradle
+++ /dev/null
@@ -1,35 +0,0 @@
-project.android.productFlavors {
- // f系列-分体机
- phone {
- // 应用包名
- applicationId rootProject.ext.android.fLauncherApplicationId
- dimension "product"
- buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'false'
- // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0
- buildConfigField 'int', 'CAR_MACHINE_TYPE', '1'
- buildConfigField 'boolean', 'ROAD_EVENT_ANIMATED', 'true'
- manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "phone"]
- // 是否使用高德sdk自定义导航
- buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'false'
- // 是否支持换肤
- buildConfigField 'boolean', 'IS_SKIN_SUPPORTED', 'true'
- // 是否支持查询导航目的地车友
- buildConfigField 'boolean', 'IS_SUPPORTED_SEARCH_DESTINATION_ONLINE_CAR_LIST', 'true'
- // 是否支持桌面卡片刷新
- buildConfigField 'boolean', 'IS_SUPPORT_LAUNCHER_CARD_REFRESH_STRATEGY', 'false'
- // 是否基于地图
- buildConfigField 'boolean', 'IS_MAP_BASED', 'true'
- // 是否加载引导模块
- buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'true'
- // 分享时是否隐藏 adas
- buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'false'
- // 是否需要实时上报坐标
- buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true'
- // 是否需要使用工控机的rtk定位
- buildConfigField 'boolean', 'IS_USE_ADAS_RTK_LOCATION_INFO', 'true'
- // 是否需要悬浮窗权限申请
- buildConfigField 'boolean', 'IS_NEED_REQUEST_FLOAT_PERMISSION', 'true'
- // GPS数据提供源: 0-Android系统,1-工控机,2-OBU
- buildConfigField 'int', 'GPS_PROVIDER', "1"
- }
-}
\ No newline at end of file
diff --git a/app/regroup.gradle b/app/regroup.gradle
index 01bff408c2..8a57cf2e62 100644
--- a/app/regroup.gradle
+++ b/app/regroup.gradle
@@ -2,21 +2,12 @@
afterEvaluate {
- def independent = ["bydauto", "phone"]
def launcher = ["f80x", "f8xx", "f8amap", "fochtaxi", "fochbus", "fPadLenovo", "fPadLenovoOchTaxi", "fPadLenovoOchBus"]
it.getTasks().iterator().forEachRemaining {
def task = it
def taskName = task.name
if (taskName.startsWith("assemble")
- && taskName.contains("Independent")
- && (taskName.endsWith("Debug") || taskName.endsWith("Release"))) {
- independent.forEach {
- if (taskName.toLowerCase().contains(it)) {
- task.group = "assembleIndependent"
- }
- }
- } else if (taskName.startsWith("assemble")
&& taskName.contains("Launcher")
&& (taskName.endsWith("Debug") || taskName.endsWith("Release"))) {
launcher.forEach {
@@ -24,14 +15,6 @@ afterEvaluate {
task.group = "assembleLauncher"
}
}
- } else if (taskName.startsWith("install")
- && taskName.contains("Independent")
- && (taskName.endsWith("Debug") || taskName.endsWith("Release"))) {
- independent.forEach {
- if (taskName.toLowerCase().contains(it)) {
- task.group = "installIndependent"
- }
- }
} else if (taskName.startsWith("install")
&& taskName.contains("Launcher")
&& (taskName.endsWith("Debug") || taskName.endsWith("Release"))) {
diff --git a/app/src/e8xx/AndroidManifest.xml b/app/src/e8xx/AndroidManifest.xml
deleted file mode 100644
index 01afff1292..0000000000
--- a/app/src/e8xx/AndroidManifest.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/app/src/em4/AndroidManifest.xml b/app/src/em4/AndroidManifest.xml
deleted file mode 100644
index d755054676..0000000000
--- a/app/src/em4/AndroidManifest.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/app/src/launcher/AndroidManifest.xml b/app/src/launcher/AndroidManifest.xml
deleted file mode 100644
index cdf501d602..0000000000
--- a/app/src/launcher/AndroidManifest.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/config.gradle b/config.gradle
index d1934ad6e9..c01d2707b5 100644
--- a/config.gradle
+++ b/config.gradle
@@ -102,7 +102,6 @@ ext {
modulecommon : "com.mogo.module:module-common:${MOGO_MODULE_COMMON_VERSION}",
modulemain : "com.mogo.module:module-main:${MOGO_MODULE_MAIN_VERSION}",
modulemainlauncher : "com.mogo.module:module-main-launcher:${MOGO_MODULE_MAIN_LAUNCHER_VERSION}",
- modulemainindependent : "com.mogo.module:module-main-independent:${MOGO_MODULE_MAIN_INDEPENDENT_VERSION}",
modulemap : "com.mogo.module:module-map:${MOGO_MODULE_MAP_VERSION}",
moduleservice : "com.mogo.module:module-service:${MOGO_MODULE_SERVICE_VERSION}",
mogoservice : "com.mogo.service:mogo-service:${MOGO_SERVICE_VERSION}",
@@ -118,7 +117,6 @@ ext {
moduleV2x : "com.mogo.module:module-v2x:${MOGO_MODULE_V2X_VERSION}",
moduleSmallMap : "com.mogo.module:module-small-map:${MOGO_MODULES_SMALL_MAP}",
moduleADAS : "com.mogo.module:mogo-module-adas:${MOGO_MODULES_ADAS}",
- modulemedia : "com.mogo.module:module-media:${MOGO_MODULE_MEDIA_VERSION}",
modulesearch : "com.mogo.module:module-search:${MOGO_MODULE_SEARCH_VERSION}",
// push
modulepush : "com.mogo.module:module-push:${MOGO_MODULE_PUSH_VERSION}",
diff --git a/foudations/httpdns-tencent/.gitignore b/foudations/httpdns-tencent/.gitignore
deleted file mode 100644
index 42afabfd2a..0000000000
--- a/foudations/httpdns-tencent/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
\ No newline at end of file
diff --git a/foudations/httpdns-tencent/build.gradle b/foudations/httpdns-tencent/build.gradle
deleted file mode 100644
index 48df740363..0000000000
--- a/foudations/httpdns-tencent/build.gradle
+++ /dev/null
@@ -1,46 +0,0 @@
-apply plugin: 'com.android.library'
-
-android {
- compileSdkVersion rootProject.ext.android.compileSdkVersion
- // buildToolsVersion rootProject.ext.android.buildToolsVersion
- defaultConfig {
- minSdkVersion rootProject.ext.android.minSdkVersion
- targetSdkVersion rootProject.ext.android.targetSdkVersion
- versionCode Integer.valueOf(VERSION_CODE)
- versionName getValueFromRootProperties("${project.name.replace("-", "_").toUpperCase()}_VERSION")
-
-
- testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
- consumerProguardFiles "consumer-rules.pro"
-
- javaCompileOptions {
- annotationProcessorOptions {
- arguments = [AROUTER_MODULE_NAME: project.getName()]
- }
- }
- }
-
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
- }
- }
-}
-
-dependencies {
- implementation fileTree(dir: "libs", include: ["*.jar"])
- implementation "com.mogo.tencent.httpdns:android-httpdns:+@aar"
- implementation rootProject.ext.dependencies.arouter
- annotationProcessor rootProject.ext.dependencies.aroutercompiler
-
- if (Boolean.valueOf(RELEASE)) {
- implementation rootProject.ext.dependencies.httpdnsbase
- implementation rootProject.ext.dependencies.mogocommons
- } else {
- implementation project(':foudations:httpdns-base')
- implementation project(':foudations:mogo-commons')
- }
-}
-
-apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()
\ No newline at end of file
diff --git a/foudations/httpdns-tencent/consumer-rules.pro b/foudations/httpdns-tencent/consumer-rules.pro
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/foudations/httpdns-tencent/gradle.properties b/foudations/httpdns-tencent/gradle.properties
deleted file mode 100644
index 32c09bbf9b..0000000000
--- a/foudations/httpdns-tencent/gradle.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-GROUP=com.mogo.httpdns
-POM_ARTIFACT_ID=httpdns-tencent
-VERSION_CODE=1
\ No newline at end of file
diff --git a/foudations/httpdns-tencent/proguard-rules.pro b/foudations/httpdns-tencent/proguard-rules.pro
deleted file mode 100644
index 481bb43481..0000000000
--- a/foudations/httpdns-tencent/proguard-rules.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-# Add project specific ProGuard rules here.
-# You can control the set of applied configuration files using the
-# proguardFiles setting in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
-
-# Uncomment this to preserve the line number information for
-# debugging stack traces.
-#-keepattributes SourceFile,LineNumberTable
-
-# If you keep the line number information, uncomment this to
-# hide the original source file name.
-#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/foudations/httpdns-tencent/src/main/AndroidManifest.xml b/foudations/httpdns-tencent/src/main/AndroidManifest.xml
deleted file mode 100644
index a30884aeb4..0000000000
--- a/foudations/httpdns-tencent/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/foudations/httpdns-tencent/src/main/java/com/mogo/httpdns/tencent/HttpDnsIpsCache.java b/foudations/httpdns-tencent/src/main/java/com/mogo/httpdns/tencent/HttpDnsIpsCache.java
deleted file mode 100644
index 7e9e310346..0000000000
--- a/foudations/httpdns-tencent/src/main/java/com/mogo/httpdns/tencent/HttpDnsIpsCache.java
+++ /dev/null
@@ -1,170 +0,0 @@
-package com.mogo.httpdns.tencent;
-
-import android.os.Handler;
-import android.os.Looper;
-import android.os.Message;
-import android.text.TextUtils;
-
-import com.mogo.utils.ThreadPoolService;
-import com.mogo.utils.logger.Logger;
-import com.tencent.msdk.dns.MSDKDnsResolver;
-
-import java.util.Collection;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-
-/**
- * @author congtaowang
- * @since 2020/11/18
- *
- * 描述
- */
-class HttpDnsIpsCache {
-
- private static final String TAG = "HttpDnsIpsCache";
-
- // 缓存过期时间
- public static final long INTERVAL_CACHE = 60 * 60 * 1000;
-
- // 刷新缓存时间
- public static final long TTL = ( long ) ( INTERVAL_CACHE * 0.75 );
-
- // 使用dns新域名
- public static final int MSG_DNS_FLUSH = 6000000;
- // ttl
- public static final int MSG_DNS_TTL = 6000001;
-
- private final static Map< String, String > sCaches = new ConcurrentHashMap<>();
- private final static Map< String, String > sTTLCaches = new ConcurrentHashMap<>();
-
- private final static Map< String, IHttpDnsTtlCallback > sTtlCallbacks = new ConcurrentHashMap<>();
-
- private final static Handler sHandler = new Handler( Looper.getMainLooper() ) {
- @Override
- public void handleMessage( Message msg ) {
- super.handleMessage( msg );
- if ( msg.what == MSG_DNS_FLUSH ) {
- flushNewDnsCache();
- postTtlCallback();
- loopDnsParse();
- } else if ( msg.what == MSG_DNS_TTL ) {
- parseHosts();
- }
- }
- };
-
- /**
- * 将 ttl 消息回调
- */
- static void postTtlCallback() {
- if ( sTtlCallbacks.isEmpty() ) {
- return;
- }
- Collection callbacks = sTtlCallbacks.values();
- if (callbacks.isEmpty()) {
- return;
- }
- for ( IHttpDnsTtlCallback callback : callbacks ) {
- if ( callback == null ) {
- continue;
- }
- try {
- callback.onTtl();
- } catch ( Exception e ) {
- e.printStackTrace();
- }
- }
- }
-
- /**
- * 缓存域名
- *
- * @param host
- * @param ip
- */
- static void cache( String host, String ip ) {
- sCaches.put( host, ip );
- }
-
- /**
- * 获取缓存中的域名
- *
- * @param host
- * @return
- */
- static String getHttpDnsIps( String host ) {
- return sCaches.get( host );
- }
-
- /**
- * 使用新的 dns 缓存
- */
- static void flushNewDnsCache() {
- sCaches.clear();
- sCaches.putAll( sTTLCaches );
- }
-
- /**
- * ttl 到达后,刷新一遍 dns 域名
- */
- static void loopDnsParse() {
- Logger.d( TAG, "使用新的dns列表" );
- sHandler.sendEmptyMessageDelayed( MSG_DNS_FLUSH, INTERVAL_CACHE );
- sHandler.sendEmptyMessageDelayed( MSG_DNS_TTL, TTL );
- }
-
- /**
- * ttl 到期,刷新域名
- */
- static void parseHosts() {
- Logger.d( TAG, "ttl 过期,刷新dns列表" );
- ThreadPoolService.execute( new Runnable() {
- @Override
- public void run() {
- Set< String > hostSet = sCaches.keySet();
- if ( hostSet.isEmpty() ) {
- return;
- }
- for ( String host : hostSet ) {
- String newIp = parseHostFromHttpDns( host );
- if ( TextUtils.isEmpty( newIp ) ) {
- continue;
- }
- sTTLCaches.put( host, newIp );
- }
- }
- } );
- }
-
- /**
- * 使用腾讯服务解析域名
- *
- * @param host
- * @return
- */
- static String parseHostFromHttpDns( String host ) {
- String ips = MSDKDnsResolver.getInstance().getAddrByName( host );
- String[] ipArr = ips.split( ";" );
- if ( 0 == ipArr.length ) {
- return null;
- }
- for ( String ip : ipArr ) {
- if ( TextUtils.isEmpty( ip ) || TextUtils.equals( "0", ip ) ) {
- continue;
- }
- Logger.d( TAG, "parse: %s - %s", host, ip );
- return ip;
- }
- return null;
- }
-
-
- static void addHttpDnsTtlCallback( String host, IHttpDnsTtlCallback callback ) {
- sTtlCallbacks.put( host, callback );
- }
-
- static void removeHttpDnsTtlCallback( String host ) {
- sTtlCallbacks.remove( host );
- }
-}
diff --git a/foudations/httpdns-tencent/src/main/java/com/mogo/httpdns/tencent/IHttpDnsTtlCallback.java b/foudations/httpdns-tencent/src/main/java/com/mogo/httpdns/tencent/IHttpDnsTtlCallback.java
deleted file mode 100644
index 3e1ca6f6e8..0000000000
--- a/foudations/httpdns-tencent/src/main/java/com/mogo/httpdns/tencent/IHttpDnsTtlCallback.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.mogo.httpdns.tencent;
-
-public class IHttpDnsTtlCallback {
- public void onTtl() {
- }
-}
diff --git a/foudations/httpdns-tencent/src/main/java/com/mogo/httpdns/tencent/TencentHttpDns.java b/foudations/httpdns-tencent/src/main/java/com/mogo/httpdns/tencent/TencentHttpDns.java
deleted file mode 100644
index f516f0c448..0000000000
--- a/foudations/httpdns-tencent/src/main/java/com/mogo/httpdns/tencent/TencentHttpDns.java
+++ /dev/null
@@ -1,127 +0,0 @@
-package com.mogo.httpdns.tencent;
-
-import android.content.Context;
-import android.text.TextUtils;
-
-import androidx.annotation.Keep;
-
-import com.alibaba.android.arouter.facade.annotation.Route;
-import com.mogo.cloud.httpdns.listener.OnAddressChangedListener;
-import com.mogo.commons.debug.DebugConfig;
-import com.mogo.httpdns.HttpDnsConst;
-import com.mogo.httpdns.IHttpDnsCallback;
-import com.mogo.httpdns.IMogoHttpDns;
-import com.mogo.utils.logger.Logger;
-import com.mogo.utils.network.HttpDns;
-import com.tencent.msdk.dns.MSDKDnsResolver;
-
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import static com.mogo.httpdns.HttpDnsConst.HTTP_DNS_ADDRESS_TYPE_IM;
-import static com.mogo.httpdns.HttpDnsConst.HTTP_DNS_ADDRESS_TYPE_WS;
-
-
-@Route( path = HttpDnsConst.PATH )
-public class TencentHttpDns implements IMogoHttpDns, HttpDns {
-
- private static volatile boolean sInited = false;
-
- private static final String TAG = "TencentHttpDns";
-
- @Override
- public List< InetAddress > lookup( String hostname ) throws UnknownHostException {
- Logger.d( TAG, "需要dns解析" );
- String cacheIp = getCacheOrParseIpIfNecessary( hostname );
- if ( TextUtils.isEmpty( cacheIp ) ) {
- return Collections.emptyList();
- }
-
- return Arrays.asList( InetAddress.getAllByName( cacheIp ) );
- }
-
- @Override
- public String getCachedHttpDnsIps( String host,int type ) {
- String ip = HttpDnsIpsCache.getHttpDnsIps(host);
- if (ip == null) {
- return null;
- } else {
- return tailPort(ip, type);
- }
- }
-
- private String getCacheOrParseIpIfNecessary( String host ) {
- String cacheIp = HttpDnsIpsCache.getHttpDnsIps( host );
- if ( TextUtils.isEmpty( cacheIp ) ) {
- cacheIp = HttpDnsIpsCache.parseHostFromHttpDns( host );
- if ( !TextUtils.isEmpty( cacheIp ) ) {
- HttpDnsIpsCache.cache( host, cacheIp );
- }
- }
- return cacheIp;
- }
-
- @Override
- public void getHttpDnsIp( String host,int type, boolean useCache, IHttpDnsCallback callback ) {
- String cacheIp;
- if ( useCache ) {
- cacheIp = getCacheOrParseIpIfNecessary( host );
- } else {
- cacheIp = HttpDnsIpsCache.parseHostFromHttpDns( host );
- if ( !TextUtils.isEmpty( cacheIp ) ) {
- HttpDnsIpsCache.cache( host, cacheIp );
- }
- }
- if ( !TextUtils.isEmpty( cacheIp ) ) {
- if ( callback != null ) {
- callback.onParsed( tailPort(cacheIp,type) );
- return;
- }
- }
- if ( callback != null ) {
- callback.onParsed( null );
- }
- }
-
- @Override
- public String syncGetHttpDns(String host, int type, boolean useCache) {
- return null;
- }
-
- @Override
- public void addressChangedListener(OnAddressChangedListener listener) {
-
- }
-
- @Keep
- @Override
- public void init( Context context ) {
- if ( sInited ) {
- return;
- }
- MSDKDnsResolver.getInstance().init( context.getApplicationContext(),
- "0I00093F244N42WU",
- "2742",
- "7Pplkaua",
- DebugConfig.isDebug(),
- 1_000
- );
- MSDKDnsResolver.getInstance().WGSetDnsOpenId( "1AE58PG9444E3G9L" );
- HttpDnsIpsCache.loopDnsParse();
- sInited = true;
- }
-
- private String tailPort(String ip, int type) {
- switch (type) {
- case HTTP_DNS_ADDRESS_TYPE_WS:
- return ip + ":4004";
- case HTTP_DNS_ADDRESS_TYPE_IM:
- return ip + ":4002";
- default:
- return ip;
- }
- }
-}
diff --git a/foudations/mogo-base-services-apk/.gitignore b/foudations/mogo-base-services-apk/.gitignore
deleted file mode 100644
index 42afabfd2a..0000000000
--- a/foudations/mogo-base-services-apk/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
\ No newline at end of file
diff --git a/foudations/mogo-base-services-apk/README.md b/foudations/mogo-base-services-apk/README.md
deleted file mode 100644
index b6ee9eafae..0000000000
--- a/foudations/mogo-base-services-apk/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-## 基实现功能
-
-基础服务apk实现对应功能:位置上报、长连接、passport
-
-位置上报:com.zhidao.locationinfo
-长链:com.zhidao.socketservice
-passport:
\ No newline at end of file
diff --git a/foudations/mogo-base-services-apk/build.gradle b/foudations/mogo-base-services-apk/build.gradle
deleted file mode 100644
index 943521aac6..0000000000
--- a/foudations/mogo-base-services-apk/build.gradle
+++ /dev/null
@@ -1,51 +0,0 @@
-apply plugin: 'com.android.library'
-
-android {
- compileSdkVersion rootProject.ext.android.compileSdkVersion
- // buildToolsVersion rootProject.ext.android.buildToolsVersion
- defaultConfig {
- minSdkVersion rootProject.ext.android.minSdkVersion
- targetSdkVersion rootProject.ext.android.targetSdkVersion
- versionCode Integer.valueOf(VERSION_CODE)
- versionName getValueFromRootProperties("${project.name.replace("-", "_").toUpperCase()}_VERSION")
-
-
- testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
- consumerProguardFiles "consumer-rules.pro"
- }
-
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
- }
- }
-
- compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
- }
-}
-
-dependencies {
- implementation fileTree(dir: "libs", include: ["*.jar"])
- implementation rootProject.ext.dependencies.arouter
-
- api rootProject.ext.dependencies.socketsdk
- api rootProject.ext.dependencies.socketsdkconnsvrprotoco
- api rootProject.ext.dependencies.socketsdkprotobufjava
- implementation rootProject.ext.dependencies.accountsdk
-
- if (Boolean.valueOf(RELEASE)) {
- implementation rootProject.ext.dependencies.mogoutils
- implementation rootProject.ext.dependencies.mogocommons
- implementation rootProject.ext.dependencies.mogoserviceapi
- } else {
- implementation project(":foudations:mogo-utils")
- implementation project(":foudations:mogo-commons")
- implementation project(":services:mogo-service-api")
- }
-
-}
-
-apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()
\ No newline at end of file
diff --git a/foudations/mogo-base-services-apk/consumer-rules.pro b/foudations/mogo-base-services-apk/consumer-rules.pro
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/foudations/mogo-base-services-apk/gradle.properties b/foudations/mogo-base-services-apk/gradle.properties
deleted file mode 100644
index aae1d6638c..0000000000
--- a/foudations/mogo-base-services-apk/gradle.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-GROUP=com.mogo.base
-POM_ARTIFACT_ID=services-apk
-VERSION_CODE=1
diff --git a/foudations/mogo-base-services-apk/proguard-rules.pro b/foudations/mogo-base-services-apk/proguard-rules.pro
deleted file mode 100644
index 481bb43481..0000000000
--- a/foudations/mogo-base-services-apk/proguard-rules.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-# Add project specific ProGuard rules here.
-# You can control the set of applied configuration files using the
-# proguardFiles setting in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
-
-# Uncomment this to preserve the line number information for
-# debugging stack traces.
-#-keepattributes SourceFile,LineNumberTable
-
-# If you keep the line number information, uncomment this to
-# hide the original source file name.
-#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/foudations/mogo-base-services-apk/src/main/AndroidManifest.xml b/foudations/mogo-base-services-apk/src/main/AndroidManifest.xml
deleted file mode 100644
index a82c409551..0000000000
--- a/foudations/mogo-base-services-apk/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
- /
-
\ No newline at end of file
diff --git a/foudations/mogo-base-services-apk/src/main/java/com/mogo/base/services/locationinfo/MogoLocationInfoServices.java b/foudations/mogo-base-services-apk/src/main/java/com/mogo/base/services/locationinfo/MogoLocationInfoServices.java
deleted file mode 100644
index 5a6c31d624..0000000000
--- a/foudations/mogo-base-services-apk/src/main/java/com/mogo/base/services/locationinfo/MogoLocationInfoServices.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package com.mogo.base.services.locationinfo;
-
-import android.content.Context;
-
-import androidx.annotation.Keep;
-
-import com.mogo.map.location.MogoLocation;
-import com.mogo.service.locationinfo.IMogoLocationInfoService;
-import com.mogo.utils.logger.Logger;
-
-public
-/**
- * @author congtaowang
- * @since 2020/7/16
- *
- * 位置服务
- */
-@Keep
-class MogoLocationInfoServices implements IMogoLocationInfoService {
-
- private static final String TAG = "MogoLocationInfoServices-apk";
-
- private static volatile MogoLocationInfoServices sInstance;
-
- private MogoLocationInfoServices() {
- }
-
- @Keep
- public static MogoLocationInfoServices getInstance() {
- if ( sInstance == null ) {
- synchronized ( MogoLocationInfoServices.class ) {
- if ( sInstance == null ) {
- sInstance = new MogoLocationInfoServices();
- }
- }
- }
- return sInstance;
- }
-
- public synchronized void release() {
- sInstance = null;
- }
-
- @Override
- public void provideLocation( MogoLocation location ) {
- Logger.d( TAG, "apk - provideLocation" );
- }
-
- @Override
- public void start() {
- Logger.d( TAG, "apk - start" );
- }
-
- @Override
- public void stop() {
- Logger.d( TAG, "apk - stop" );
- }
-
- @Override
- public void init( Context context ) {
- Logger.d( TAG, "apk - init" );
- }
-}
diff --git a/foudations/mogo-base-services-apk/src/main/java/com/mogo/base/services/passport/PassportManager.java b/foudations/mogo-base-services-apk/src/main/java/com/mogo/base/services/passport/PassportManager.java
deleted file mode 100644
index 624c97c390..0000000000
--- a/foudations/mogo-base-services-apk/src/main/java/com/mogo/base/services/passport/PassportManager.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package com.mogo.base.services.passport;
-
-import android.content.Context;
-
-import androidx.annotation.Keep;
-
-import com.mogo.commons.debug.DebugConfig;
-import com.mogo.commons.storage.SpStorage;
-import com.mogo.service.passport.IMogoPassportManager;
-import com.mogo.service.passport.IMogoTicketCallback;
-import com.mogo.utils.logger.Logger;
-import com.zhidao.account.sdk.AccountClientManager;
-import com.zhidao.account.sdk.BusinessType;
-import com.zhidao.account.sdk.Environment;
-import com.zhidao.account.sdk.callback.TicketInfoCallback;
-import com.zhidao.account.sdk.network.NetEnvironManager;
-
-public
-/**
- * @author congtaowang
- * @since 2020/7/16
- *
- * 描述
- */
-@Keep
-class PassportManager implements IMogoPassportManager {
-
- private static final String TAG = "PassportManager-apk";
-
- private static volatile PassportManager sInstance;
-
- private PassportManager() {
- }
-
- @Keep
- public static PassportManager getInstance() {
- if ( sInstance == null ) {
- synchronized ( PassportManager.class ) {
- if ( sInstance == null ) {
- sInstance = new PassportManager();
- }
- }
- }
- return sInstance;
- }
-
- public synchronized void release() {
- sInstance = null;
- }
-
- @Override
- public void requestTicket( final IMogoTicketCallback callback ) {
- getTicket( new TicketInfoCallback() {
- @Override
- public void onSuccess( String ticket ) {
- Logger.d( TAG, "success" );
- SpStorage.setTicket( ticket );
- if ( callback != null ) {
- callback.onTicketGot( ticket );
- }
- }
-
- @Override
- public void onFailure( int code, String msg ) {
- Logger.d( TAG, "fail code= %s, msg=%s", code, msg );
- if ( callback != null ) {
- callback.onError( code, msg );
- }
- }
- } );
- }
-
- private static void getTicket( TicketInfoCallback callback ) {
- AccountClientManager.getTicket( callback );
- }
-
- @Override
- public void init( Context context ) {
- AccountClientManager.init( context.getApplicationContext(), getNetEnvironment(), BusinessType.toc_login, "os2.0-launcher" );
- }
-
- private Environment getNetEnvironment() {
- int mode = DebugConfig.getNetMode();
- if ( mode == DebugConfig.NET_MODE_DEMO ) {
- // 演示环境用 qa 的
- mode = DebugConfig.NET_MODE_QA;
- }
- switch ( mode ) {
- case DebugConfig.NET_MODE_DEV:
- return Environment.dev;
- case DebugConfig.NET_MODE_DEMO:
- case DebugConfig.NET_MODE_QA:
- return Environment.qa;
- case DebugConfig.NET_MODE_RELEASE:
- default:
- return Environment.release;
-
- }
- }
-}
diff --git a/foudations/mogo-base-services-apk/src/main/java/com/mogo/base/services/socket/SocketManager.java b/foudations/mogo-base-services-apk/src/main/java/com/mogo/base/services/socket/SocketManager.java
deleted file mode 100644
index a89c7c6b7c..0000000000
--- a/foudations/mogo-base-services-apk/src/main/java/com/mogo/base/services/socket/SocketManager.java
+++ /dev/null
@@ -1,227 +0,0 @@
-package com.mogo.base.services.socket;
-
-import android.content.Context;
-
-import androidx.annotation.Keep;
-
-import com.google.protobuf.ByteString;
-import com.google.protobuf.InvalidProtocolBufferException;
-import com.mogo.service.connection.IMogoMsgAckListener;
-import com.mogo.service.connection.IMogoOnMessageListener;
-import com.mogo.service.connection.IMogoSocketManager;
-import com.mogo.service.connection.MsgBody;
-import com.mogo.utils.logger.Logger;
-import com.mogo.utils.network.utils.GsonUtil;
-import com.zhidao.ptech.connsvr.commom.protocol.MogoCommon;
-import com.zhidao.ptech.connsvr.protocol.MogoConnsvr;
-import com.zhidao.socketsdk.manager.OnSocketAckCallback;
-import com.zhidao.socketsdk.manager.OnSocketReceiveCallback;
-import com.zhidao.socketsdk.manager.SocketConnManager;
-import com.zhidao.socketsdk.manager.SocketConnManagerImpl;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-/**
- * @author congtaowang
- * @since 2019-12-31
- *
- * 长链实现:基于 netty
- */
-@Keep
-public class SocketManager implements IMogoSocketManager, OnSocketReceiveCallback, OnSocketAckCallback {
-
- private static final String TAG = "SocketManager-apk";
-
- public static final int MSG_PRODUCT_LINE = MogoCommon.Product.mogoBussiness_VALUE;
- private static final int MSG_HEADER_TYPE = MogoConnsvr.MsgType.mogoMsgTypeDispatchSvrNoRspReq_VALUE;
-
- private static volatile SocketManager sInstance;
-
- private SocketManager( Context context ) {
- mSocketConnManager = SocketConnManagerImpl.getInstance( context );
- mSocketConnManager.addSocketMessageCallback( this );
- mSocketConnManager.addSocketAckCallback( this );
- }
-
- @Keep
- public static SocketManager getInstance( Context context ) {
- if ( sInstance == null ) {
- synchronized ( SocketManager.class ) {
- if ( sInstance == null ) {
- sInstance = new SocketManager( context );
- }
- }
- }
- return sInstance;
- }
-
- /**
- * 管理消息分发
- *
- * key - msgType
- */
- private Map< Integer, List< IMogoOnMessageListener > > mListeners = new ConcurrentHashMap<>();
-
- /**
- * 管理消息回执
- *
- * key - msgId
- */
- private Map< Long, IMogoMsgAckListener > mAckListeners = new ConcurrentHashMap<>();
-
-
- private SocketConnManager mSocketConnManager;
- public static final int MAX_CAP = 64; //保证充足的容量应对非常延时的推送
- private ArrayList< Long > mReceivedMsgId = new ArrayList<>( MAX_CAP );
- private int mCurrentIndex = 0;
-
- @Override
- public void init( Context context, String appId ) {
- if ( mSocketConnManager != null ) {
- mSocketConnManager.init( appId );
- }
- }
-
- @Override
- public void onMessageReceived( byte[] content ) {
- onMessageReceived( content, 0);
- }
-
- public void onMessageReceived( byte[] content, long msgId ) {
- try {
- MogoConnsvr.Payload payload = MogoConnsvr.Payload.parseFrom( content );
- int msgType = payload.getMsgType();
- Logger.d( TAG, "received msg type = " + msgType );
- List< IMogoOnMessageListener > listeners = mListeners.get( msgType );
- if ( listeners != null && !listeners.isEmpty() ) {
- Iterator< IMogoOnMessageListener > iterator = listeners.iterator();
- if ( msgId != 0 ) { //兼容老版本
- if ( mReceivedMsgId.contains( msgId ) ) { // 避免消息重发
- return;
- }
- cacheLastReceivedMsgId( msgId );
- }
- Object object = null;
- while ( iterator.hasNext() ) {
- IMogoOnMessageListener listener = iterator.next();
- if ( object == null ) {
- object = GsonUtil.objectFromJson( payload.getPayload().toStringUtf8(), listener.target() );
- }
- if ( listener != null ) {
- Logger.d( TAG, "received msgId = %s, content = %s", msgId, payload.getPayload().toStringUtf8() );
- listener.onMsgReceived( object );
- }
- }
- }
- } catch ( InvalidProtocolBufferException e ) {
- Logger.e( TAG, e, "parse msg error." );
- }
- }
-
- private void cacheLastReceivedMsgId( long msgId ) {
- if ( msgId == 0 ) {
- return;
- }
- synchronized ( this ){
- mReceivedMsgId.add( mCurrentIndex % MAX_CAP, msgId );
- mCurrentIndex++;
- }
- }
-
- @Override
- public void onAck( byte[] headerBytes, byte[] payloadBytes ) {
- try {
- MogoConnsvr.Header header = MogoConnsvr.Header.parseFrom( headerBytes );
- int msgType = header.getMsgType();
- String appId = header.getAppId();
- int productLine = header.getProductLine();
- long msgId = header.getMsgId();
- IMogoMsgAckListener listener = mAckListeners.remove( msgId );
- if ( listener != null ) {
- listener.onAck( msgId );
- }
- } catch ( InvalidProtocolBufferException e ) {
- e.printStackTrace();
- }
- }
-
- @Override
- public void registerOnMessageListener( int msgType, IMogoOnMessageListener listener ) {
- if ( mListeners.containsKey( msgType ) ) {
- Logger.w( TAG, "msgType %d is exist.", msgType );
- }
- if ( !mListeners.containsKey( msgType ) ) {
- mListeners.put( msgType, new ArrayList< IMogoOnMessageListener >() );
- }
- mListeners.get( msgType ).add( listener );
- }
-
- @Override
- public void unregisterOnMessageListener( int msgType ) {
- mListeners.remove( msgType );
- }
-
- @Override
- public void unregisterOnMessageListener( int msgType, IMogoOnMessageListener listener ) {
- if ( listener == null ) {
- return;
- }
- if ( !mListeners.containsKey( msgType ) ) {
- return;
- }
- List< IMogoOnMessageListener > listeners = mListeners.get( msgType );
- if ( listeners != null && listeners.contains( listener ) ) {
- listeners.remove( listener );
- }
- }
-
- @Override
- public void sendMsg( MsgBody body, IMogoMsgAckListener listener ) {
- Logger.d( TAG, "sendMsg." );
- if ( mSocketConnManager != null ) {
- if ( mSocketConnManager.isConnected() ) {
- Logger.d( TAG, "isConnected." );
- final byte[] pb = convertToPBBytes( body.getMsgType(), objectToBytes( body.getContent() ) );
- mSocketConnManager.sendPayload(
- MSG_PRODUCT_LINE,
- pb,
- MSG_HEADER_TYPE,
- body.isAck(),
- body.getMsgId()
- );
- mAckListeners.put( body.getMsgId(), listener );
- } else {
- Logger.e( TAG, "sendMsg error, connect is lost." );
- }
- } else {
- Logger.e( TAG, "sendMsg error, client is null." );
- }
- }
-
- public byte[] objectToBytes( Object obj ) {
- String jsonStr = GsonUtil.jsonFromObject( obj );
- return jsonStr.getBytes();
- }
-
- private byte[] convertToPBBytes( int msgType, byte[] payloadBytes ) {
- MogoConnsvr.Payload payloadData = MogoConnsvr.Payload.newBuilder()
- .setMsgType( msgType )
- .setPayload( ByteString.copyFrom( payloadBytes ) ).build();
- return payloadData.toByteArray();
- }
-
- public synchronized void release() {
- mListeners.clear();
- mListeners = null;
- sInstance = null;
- }
-
-
- @Override
- public void init( Context context ) {
- }
-}
diff --git a/foudations/mogo-base-services-sdk/.gitignore b/foudations/mogo-base-services-sdk/.gitignore
deleted file mode 100644
index 42afabfd2a..0000000000
--- a/foudations/mogo-base-services-sdk/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
\ No newline at end of file
diff --git a/foudations/mogo-base-services-sdk/README.md b/foudations/mogo-base-services-sdk/README.md
deleted file mode 100644
index d5fa09de5b..0000000000
--- a/foudations/mogo-base-services-sdk/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## sdk实现功能
-
-脱离基础服务apk实现对应功能:位置上报、长连接、passport
\ No newline at end of file
diff --git a/foudations/mogo-base-services-sdk/build.gradle b/foudations/mogo-base-services-sdk/build.gradle
deleted file mode 100644
index cec1ce1ece..0000000000
--- a/foudations/mogo-base-services-sdk/build.gradle
+++ /dev/null
@@ -1,53 +0,0 @@
-apply plugin: 'com.android.library'
-
-android {
- compileSdkVersion rootProject.ext.android.compileSdkVersion
- // buildToolsVersion rootProject.ext.android.buildToolsVersion
- defaultConfig {
- minSdkVersion rootProject.ext.android.minSdkVersion
- targetSdkVersion rootProject.ext.android.targetSdkVersion
- versionCode Integer.valueOf(VERSION_CODE)
- versionName getValueFromRootProperties("${project.name.replace("-", "_").toUpperCase()}_VERSION")
-
- testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
- consumerProguardFiles "consumer-rules.pro"
- }
-
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
- }
- }
-
- compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
- }
-}
-
-dependencies {
- implementation fileTree(dir: "libs", include: ["*.jar"])
- implementation rootProject.ext.dependencies.arouter
- // 上报位置
- implementation 'com.zhidao.locupload:loc-upload-sdk:1.1.7'
- // 长链
- implementation 'com.zhidao.socket:built-in-socket:1.0.17'
- // passport
- implementation 'com.zhidao.tcloginsdk:tclogin:1.1.3'
-
- annotationProcessor 'com.elegant.spi:compiler:1.0.3'
-
-
- if (Boolean.valueOf(RELEASE)) {
- implementation rootProject.ext.dependencies.mogoutils
- implementation rootProject.ext.dependencies.mogocommons
- implementation rootProject.ext.dependencies.mogoserviceapi
- } else {
- implementation project(":foudations:mogo-utils")
- implementation project(":foudations:mogo-commons")
- implementation project(":services:mogo-service-api")
- }
-}
-
-apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()
\ No newline at end of file
diff --git a/foudations/mogo-base-services-sdk/consumer-rules.pro b/foudations/mogo-base-services-sdk/consumer-rules.pro
deleted file mode 100644
index e4c27a022e..0000000000
--- a/foudations/mogo-base-services-sdk/consumer-rules.pro
+++ /dev/null
@@ -1,2 +0,0 @@
-#-----MogoBaseServiceSdk-----
--keep class com.mogo.base.services.locationinfo.MogoLocationSource.*{*;}
\ No newline at end of file
diff --git a/foudations/mogo-base-services-sdk/gradle.properties b/foudations/mogo-base-services-sdk/gradle.properties
deleted file mode 100644
index ce31a0de78..0000000000
--- a/foudations/mogo-base-services-sdk/gradle.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-GROUP=com.mogo.base
-POM_ARTIFACT_ID=services-sdk
-VERSION_CODE=1
\ No newline at end of file
diff --git a/foudations/mogo-base-services-sdk/proguard-rules.pro b/foudations/mogo-base-services-sdk/proguard-rules.pro
deleted file mode 100644
index ba8f820823..0000000000
--- a/foudations/mogo-base-services-sdk/proguard-rules.pro
+++ /dev/null
@@ -1,24 +0,0 @@
-# Add project specific ProGuard rules here.
-# You can control the set of applied configuration files using the
-# proguardFiles setting in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
-
-# Uncomment this to preserve the line number information for
-# debugging stack traces.
-#-keepattributes SourceFile,LineNumberTable
-
-# If you keep the line number information, uncomment this to
-# hide the original source file name.
-#-renamesourcefileattribute SourceFile
-
-#-----MogoBaseServiceSdk-----
--keep class com.mogo.base.services.locationinfo.MogoLocationSource.*{*;}
\ No newline at end of file
diff --git a/foudations/mogo-base-services-sdk/src/main/AndroidManifest.xml b/foudations/mogo-base-services-sdk/src/main/AndroidManifest.xml
deleted file mode 100644
index d7ee25b198..0000000000
--- a/foudations/mogo-base-services-sdk/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
- /
-
\ No newline at end of file
diff --git a/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/BaseServicesConstants.java b/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/BaseServicesConstants.java
deleted file mode 100644
index 927c8ef250..0000000000
--- a/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/BaseServicesConstants.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.mogo.base.services;
-
-import androidx.annotation.Keep;
-
-public abstract
-/*
- * @author congtaowang
- * @since 2020/7/23
- *
- * 描述
- */
-class BaseServicesConstants {
-
- /**
- * 建立长链的通道ID
- */
- @Keep
- public static final String SOCKET_CHANNEL_ID = "dataCrawler";
-}
diff --git a/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/locationinfo/MogoLocationInfoServices.java b/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/locationinfo/MogoLocationInfoServices.java
deleted file mode 100644
index a8310e6ad9..0000000000
--- a/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/locationinfo/MogoLocationInfoServices.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package com.mogo.base.services.locationinfo;
-
-import android.content.Context;
-
-import androidx.annotation.Keep;
-
-import com.mogo.commons.debug.DebugConfig;
-import com.mogo.map.location.MogoLocation;
-import com.mogo.service.locationinfo.IMogoLocationInfoService;
-import com.mogo.utils.logger.Logger;
-import com.zhidao.locupload.LocUploadConfig;
-import com.zhidao.locupload.LocUploadManager;
-
-public
-/*
- * @author congtaowang
- * @since 2020/7/16
- *
- * 位置服务
- */
-@Keep
-class MogoLocationInfoServices implements IMogoLocationInfoService {
-
- private static final String TAG = "MogoLocationInfoServices-sdk";
-
- private static volatile MogoLocationInfoServices sInstance;
- private MogoLocation mLocation;
-
- private MogoLocationInfoServices() {
- }
-
- @Keep
- public static MogoLocationInfoServices getInstance() {
- if ( sInstance == null ) {
- synchronized ( MogoLocationInfoServices.class ) {
- if ( sInstance == null ) {
- sInstance = new MogoLocationInfoServices();
- }
- }
- }
- return sInstance;
- }
-
- public synchronized void release() {
- sInstance = null;
- }
-
- @Override
- public void provideLocation( MogoLocation location ) {
- mLocation = location;
- Logger.d( TAG, "sdk - provideLocation" );
- }
-
- public MogoLocation getLocation() {
- return mLocation;
- }
-
- @Override
- public void start() {
- LocUploadManager.getInstance().startUpload();
- Logger.d( TAG, "sdk - start" );
- }
-
- @Override
- public void stop() {
- LocUploadManager.getInstance().stopUpload();
- Logger.d( TAG, "sdk - stop" );
- }
-
- @Override
- public void init( Context context ) {
- LocUploadConfig.instance().
- setAppId( DebugConfig.getSocketAppId() ).
- setContext( context.getApplicationContext() ).
- setLoggable( DebugConfig.isDebug() ).
- setLocInterval( 2000L );
- Logger.d( TAG, "sdk - init" );
- }
-}
diff --git a/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/locationinfo/MogoLocationSource.java b/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/locationinfo/MogoLocationSource.java
deleted file mode 100644
index 844abb4a98..0000000000
--- a/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/locationinfo/MogoLocationSource.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package com.mogo.base.services.locationinfo;
-
-import com.elegant.spi.annotations.Service;
-import com.zhidao.locupload.location.LocationServiceProvider;
-
-public
-/**
- * @author congtaowang
- * @since 2020/7/16
- *
- * 描述
- */
-@Service( value = LocationServiceProvider.class )
-class MogoLocationSource extends LocationServiceProvider {
-
- @Override
- public float getBearing() {
- if ( MogoLocationInfoServices.getInstance().getLocation() != null ) {
- return MogoLocationInfoServices.getInstance().getLocation().getBearing();
- }
- return 0;
- }
-
- @Override
- public float getAccuracy() {
- if ( MogoLocationInfoServices.getInstance().getLocation() != null ) {
- return MogoLocationInfoServices.getInstance().getLocation().getAccuracy();
- }
- return 0;
- }
-
- @Override
- public String getProvider() {
- if ( MogoLocationInfoServices.getInstance().getLocation() != null ) {
- return MogoLocationInfoServices.getInstance().getLocation().getProvider();
- }
- return null;
- }
-
- @Override
- public float getSpeed() {
- if ( MogoLocationInfoServices.getInstance().getLocation() != null ) {
- return MogoLocationInfoServices.getInstance().getLocation().getSpeed();
- }
- return 0;
- }
-
- @Override
- public double getAltitude() {
- if ( MogoLocationInfoServices.getInstance().getLocation() != null ) {
- return MogoLocationInfoServices.getInstance().getLocation().getAltitude();
- }
- return 0;
- }
-
- @Override
- public String getAdCode() {
- if ( MogoLocationInfoServices.getInstance().getLocation() != null ) {
- return MogoLocationInfoServices.getInstance().getLocation().getAdCode();
- }
- return null;
- }
-
- @Override
- public int getLocType() {
- if ( MogoLocationInfoServices.getInstance().getLocation() != null ) {
- return MogoLocationInfoServices.getInstance().getLocation().getLocType();
- }
- return 0;
- }
-
- @Override
- public double getLatitude() {
- if ( MogoLocationInfoServices.getInstance().getLocation() != null ) {
- return MogoLocationInfoServices.getInstance().getLocation().getLatitude();
- }
- return 0;
- }
-
- @Override
- public double getLongitude() {
- if ( MogoLocationInfoServices.getInstance().getLocation() != null ) {
- return MogoLocationInfoServices.getInstance().getLocation().getLongitude();
- }
- return 0;
- }
-
- @Override
- public long getTime() {
- if ( MogoLocationInfoServices.getInstance().getLocation() != null ) {
- return MogoLocationInfoServices.getInstance().getLocation().getTime();
- }
- return 0;
- }
-
- @Override
- public String getCityCode() {
- if ( MogoLocationInfoServices.getInstance().getLocation() != null ) {
- return MogoLocationInfoServices.getInstance().getLocation().getCityCode();
- }
- return null;
- }
-
- @Override
- public String getCityName() {
- if ( MogoLocationInfoServices.getInstance().getLocation() != null ) {
- return MogoLocationInfoServices.getInstance().getLocation().getCityName();
- }
- return null;
- }
-
- @Override
- public int getGpsAccuracyStatus() {
- if ( MogoLocationInfoServices.getInstance().getLocation() != null ) {
- return MogoLocationInfoServices.getInstance().getLocation().getGpsAccuracyStatus();
- }
- return 0;
- }
-
- @Override
- public int getSatellites() {
- if ( MogoLocationInfoServices.getInstance().getLocation() != null ) {
- return MogoLocationInfoServices.getInstance().getLocation().getSatellite();
- }
- return 0;
- }
-
- @Override
- public int getCarStatus() {
- // 常开状态
- return 1;
- }
-}
diff --git a/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/passport/PassportManager.java b/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/passport/PassportManager.java
deleted file mode 100644
index 183e633722..0000000000
--- a/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/passport/PassportManager.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package com.mogo.base.services.passport;
-
-import android.content.Context;
-
-import androidx.annotation.Keep;
-
-import com.mogo.commons.debug.DebugConfig;
-import com.mogo.commons.storage.SpStorage;
-import com.mogo.service.passport.IMogoPassportManager;
-import com.mogo.service.passport.IMogoTicketCallback;
-import com.mogo.utils.logger.Logger;
-import com.zhidao.accountsdk.manager.CarPadClientManagerImpl;
-import com.zhidao.accountsdk.manager.TicketInfoCallback;
-import com.zhidao.tcloginsdk.LoginManager;
-import com.zhidao.tcloginsdk.model.TokenData;
-import com.zhidao.tcloginsdk.network.LoginCallback;
-
-public
-/*
- * @author congtaowang
- * @since 2020/7/16
- *
- * 描述
- */
-@Keep
-class PassportManager implements IMogoPassportManager {
-
- private static final String TAG = "PassportManager-sdk";
- private Context mContext;
-
- private static volatile PassportManager sInstance;
-
- private PassportManager() {
- }
-
- @Keep
- public static PassportManager getInstance() {
- if ( sInstance == null ) {
- synchronized ( PassportManager.class ) {
- if ( sInstance == null ) {
- sInstance = new PassportManager();
- }
- }
- }
- return sInstance;
- }
-
- public synchronized void release() {
- sInstance = null;
- }
-
- @Override
- public void requestTicket( final IMogoTicketCallback callback ) {
- LoginManager.getInstance( mContext ).login( DebugConfig.getCarMachineType() != DebugConfig.CAR_MACHINE_TYPE_SELF_INNOVATE, DebugConfig.getProductFlavor(), new LoginCallback() {
- @Override
- public void onSuccess( TokenData.TokenResult result ) {
- if ( callback != null ) {
- callback.onLoginSuccess( result.token, result.sn );
- }
- getTicket( new TicketInfoCallback() {
- @Override
- public void onSuccess( String ticket ) {
- Logger.d( TAG, "success" );
- SpStorage.setTicket( ticket );
- if ( callback != null ) {
- callback.onTicketGot( ticket );
- }
- }
-
- @Override
- public void onFailure( int code ) {
- Logger.d( TAG, "fail: code = %s", code );
- if ( callback != null ) {
- callback.onError( code, "getTicket error." );
- }
- }
- } );
- }
-
- @Override
- public void onFailure( int code, String msg ) {
- Logger.d( TAG, "onFailure: code = %s, msg = %s", code, msg );
- if ( callback != null ) {
- callback.onError( code, "login: " + msg );
- }
- }
- } );
-
- }
-
- private void getTicket( TicketInfoCallback callback ) {
- CarPadClientManagerImpl.getInstance( mContext ).getTicket( "os2.0-launcher", new TicketInfoCallback() {
- @Override
- public void onSuccess( String ticket ) {
- if ( callback != null ) {
- callback.onSuccess( ticket );
- }
- }
-
- @Override
- public void onFailure( int code ) {
- if ( callback != null ) {
- callback.onFailure( code );
- }
- }
- } );
- }
-
- @Override
- public void init( Context context ) {
- mContext = context;
- int mode = DebugConfig.getNetMode();
- if ( mode == DebugConfig.NET_MODE_DEMO ) {
- // 演示环境用 qa 的
- mode = DebugConfig.NET_MODE_QA;
- }
- LoginManager.getInstance( context ).setNetEnviron( mode );
- }
-}
diff --git a/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/socket/SocketManager.java b/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/socket/SocketManager.java
deleted file mode 100644
index 6fdb1699cc..0000000000
--- a/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/socket/SocketManager.java
+++ /dev/null
@@ -1,231 +0,0 @@
-package com.mogo.base.services.socket;
-
-import android.content.Context;
-
-import androidx.annotation.Keep;
-import androidx.annotation.NonNull;
-
-import com.google.protobuf.ByteString;
-import com.google.protobuf.InvalidProtocolBufferException;
-import com.mogo.base.services.BaseServicesConstants;
-import com.mogo.commons.debug.DebugConfig;
-import com.mogo.commons.network.Utils;
-import com.mogo.service.connection.IMogoMsgAckListener;
-import com.mogo.service.connection.IMogoOnMessageListener;
-import com.mogo.service.connection.IMogoSocketManager;
-import com.mogo.service.connection.MsgBody;
-import com.mogo.utils.logger.Logger;
-import com.mogo.utils.network.utils.GsonUtil;
-import com.zhidao.locupload.Platform;
-import com.zhidao.ptech.connsvr.protocol.MogoConnsvr;
-import com.zhidao.socket.Callback;
-import com.zhidao.socket.CallbackManager;
-import com.zhidao.socket.Environment;
-import com.zhidao.socket.SocketClient;
-import com.zhidao.socket.SocketConfig;
-import com.zhidao.socket.utils.RequestUtil;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-public
-/**
- * @author congtaowang
- * @since 2020/7/16
- *
- * 长链
- */
-@Keep
-class SocketManager implements IMogoSocketManager, Callback {
-
- private static final String TAG = "SocketManager-sdk";
-
- private static volatile SocketManager sInstance;
- private String mAppId;
-
- public SocketManager( Context context ) {
- CallbackManager.getInstance().register( this );
- }
-
- @Keep
- public static SocketManager getInstance( Context context ) {
- if ( sInstance == null ) {
- synchronized ( SocketManager.class ) {
- if ( sInstance == null ) {
- sInstance = new SocketManager( context );
- }
- }
- }
- return sInstance;
- }
-
- /**
- * 管理消息分发
- *
- * key - msgType
- */
- private Map< Integer, List< IMogoOnMessageListener > > mListeners = new ConcurrentHashMap<>();
-
- /**
- * 管理消息回执
- *
- * key - msgId
- */
- private Map< Long, IMogoMsgAckListener > mAckListeners = new ConcurrentHashMap<>();
-
-
- public static final int MAX_CAP = 64; //保证充足的容量应对非常延时的推送
- private ArrayList< Long > mReceivedMsgId = new ArrayList<>( MAX_CAP );
- private int mCurrentIndex = 0;
-
- @Override
- public void init( Context context, String appId ) {
- mAppId = appId;
- SocketConfig.instance()
- .setAppContext( context.getApplicationContext() )
- .setEnvironment( getEnvironment() )
- .setClient( Platform.getClient( Platform.car ) )
- .setChannelId( BaseServicesConstants.SOCKET_CHANNEL_ID )
- .setOpenAnalytics( true )
- .setSn( MoGoAiCloudClientConfig.getInstance().getSn() )
- .setDebug( DebugConfig.isDebug() );
- SocketClient.getInstance().start( context );
- }
-
- private Environment getEnvironment() {
- switch ( DebugConfig.getNetMode() ) {
- case 1:
- return Environment.dev;
- case 2:
- case 4:
- return Environment.qa;
- case 3:
- default:
- return Environment.release;
- }
- }
-
- @Override
- public void update( @NonNull CallbackManager manager, @NonNull byte[] content, String appId, long msgId ) {
- try {
- MogoConnsvr.Payload payload = MogoConnsvr.Payload.parseFrom( content );
- int msgType = payload.getMsgType();
- Logger.d( TAG, "received msg type = %d", msgType );
- List< IMogoOnMessageListener > listeners = mListeners.get( msgType );
- if ( listeners != null && !listeners.isEmpty() ) {
- Iterator< IMogoOnMessageListener > iterator = listeners.iterator();
- if ( msgId != 0 ) { //兼容老版本
- if ( mReceivedMsgId.contains( msgId ) ) { // 避免消息重发
- return;
- }
- cacheLastReceivedMsgId( msgId );
- }
- Object object = null;
- while ( iterator.hasNext() ) {
- IMogoOnMessageListener listener = iterator.next();
- if ( object == null ) {
- object = GsonUtil.objectFromJson( payload.getPayload().toStringUtf8(), listener.target() );
- }
- if ( listener != null ) {
- Logger.d( TAG, "received msgId = %s, content = %s", msgId, payload.getPayload().toStringUtf8() );
- listener.onMsgReceived( object );
- }
- }
- }
- } catch ( InvalidProtocolBufferException e ) {
- Logger.e( TAG, e, "parse msg error." );
- }
- }
-
- @Override
- public void onAck( @NonNull CallbackManager manager, @NonNull byte[] headerBytes, byte[] content ) {
- try {
- MogoConnsvr.Header header = MogoConnsvr.Header.parseFrom( headerBytes );
- int msgType = header.getMsgType();
- String appId = header.getAppId();
- int productLine = header.getProductLine();
- long msgId = header.getMsgId();
- IMogoMsgAckListener listener = mAckListeners.remove( msgId );
- if ( listener != null ) {
- listener.onAck( msgId );
- }
- Logger.d( TAG, "send message success: msgType = %d, appId = %s, productLine = %d", msgType, appId, productLine );
- } catch ( InvalidProtocolBufferException e ) {
- e.printStackTrace();
- }
- }
-
- private void cacheLastReceivedMsgId( long msgId ) {
- if ( msgId == 0 ) {
- return;
- }
- synchronized ( this ) {
- mReceivedMsgId.add( mCurrentIndex % MAX_CAP, msgId );
- mCurrentIndex++;
- }
- }
-
- @Override
- public void registerOnMessageListener( int msgType, IMogoOnMessageListener listener ) {
- if ( mListeners.containsKey( msgType ) ) {
- Logger.w( TAG, "msgType %d is exist.", msgType );
- }
- if ( !mListeners.containsKey( msgType ) ) {
- mListeners.put( msgType, new ArrayList<>() );
- }
- mListeners.get( msgType ).add( listener );
- }
-
- @Override
- public void unregisterOnMessageListener( int msgType ) {
- mListeners.remove( msgType );
- }
-
- @Override
- public void unregisterOnMessageListener( int msgType, IMogoOnMessageListener listener ) {
- if ( listener == null ) {
- return;
- }
- if ( !mListeners.containsKey( msgType ) ) {
- return;
- }
- List< IMogoOnMessageListener > listeners = mListeners.get( msgType );
- if ( listeners != null && listeners.contains( listener ) ) {
- listeners.remove( listener );
- }
- }
-
- @Override
- public void sendMsg( MsgBody body, IMogoMsgAckListener listener ) {
- Logger.d( TAG, "sendMsg." );
- final byte[] pb = convertToPBBytes( body.getMsgType(), objectToBytes( body.getContent() ) );
- RequestUtil.sendPayloadData( mAppId, 2, pb, 1, true, System.currentTimeMillis() );
- }
-
- public byte[] objectToBytes( Object obj ) {
- String jsonStr = GsonUtil.jsonFromObject( obj );
- return jsonStr.getBytes();
- }
-
- private byte[] convertToPBBytes( int msgType, byte[] payloadBytes ) {
- MogoConnsvr.Payload payloadData = MogoConnsvr.Payload.newBuilder()
- .setMsgType( msgType )
- .setPayload( ByteString.copyFrom( payloadBytes ) ).build();
- return payloadData.toByteArray();
- }
-
- public synchronized void release() {
- mListeners.clear();
- mListeners = null;
- sInstance = null;
- }
-
-
- @Override
- public void init( Context context ) {
- }
-
-}
diff --git a/modules/mogo-module-guide/.gitignore b/modules/mogo-module-guide/.gitignore
deleted file mode 100644
index 796b96d1c4..0000000000
--- a/modules/mogo-module-guide/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
diff --git a/modules/mogo-module-guide/build.gradle b/modules/mogo-module-guide/build.gradle
deleted file mode 100644
index 5c13d19f76..0000000000
--- a/modules/mogo-module-guide/build.gradle
+++ /dev/null
@@ -1,70 +0,0 @@
-apply plugin: 'com.android.library'
-apply plugin: 'kotlin-android'
-apply plugin: 'kotlin-android-extensions'
-apply plugin: 'com.alibaba.arouter'
-apply plugin: 'kotlin-kapt'
-
-android {
- compileSdkVersion rootProject.ext.android.compileSdkVersion
-
- defaultConfig {
- minSdkVersion rootProject.ext.android.minSdkVersion
- targetSdkVersion rootProject.ext.android.targetSdkVersion
- versionCode Integer.valueOf(VERSION_CODE)
- versionName getValueFromRootProperties("${project.name.replace("-", "_").toUpperCase()}_VERSION")
-
- testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
- consumerProguardFiles 'consumer-rules.pro'
-
- //ARouter apt 参数
- kapt {
- useBuildCache = false
- arguments {
- arg("AROUTER_MODULE_NAME",project.getName() )
- }
- }
- }
-
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
- }
- }
-
- compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
- }
-
-}
-
-dependencies {
- implementation fileTree(dir: 'libs', include: ['*.jar'])
- implementation rootProject.ext.dependencies.kotlinstdlibjdk7
- implementation rootProject.ext.dependencies.androidxccorektx
- implementation rootProject.ext.dependencies.coroutinescore
- implementation rootProject.ext.dependencies.coroutinesandroid
- implementation rootProject.ext.dependencies.androidxappcompat
- implementation rootProject.ext.dependencies.androidxconstraintlayout
- implementation rootProject.ext.dependencies.androidxviewpager2
- implementation rootProject.ext.dependencies.arouter
- kapt rootProject.ext.dependencies.aroutercompiler
- implementation rootProject.ext.dependencies.indicator
-
- if (Boolean.valueOf(RELEASE)) {
- implementation rootProject.ext.dependencies.mogoutils
- implementation rootProject.ext.dependencies.mogocommons
- implementation rootProject.ext.dependencies.mogoserviceapi
- implementation rootProject.ext.dependencies.mogomoduleauth
- implementation rootProject.ext.dependencies.modulecommon
- } else {
- implementation project(":foudations:mogo-utils")
- implementation project(":foudations:mogo-commons")
- implementation project(':services:mogo-service-api')
- implementation project(':modules:mogo-module-authorize')
- implementation project(":modules:mogo-module-common")
- }
-}
-
-apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()
\ No newline at end of file
diff --git a/modules/mogo-module-guide/consumer-rules.pro b/modules/mogo-module-guide/consumer-rules.pro
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/modules/mogo-module-guide/gradle.properties b/modules/mogo-module-guide/gradle.properties
deleted file mode 100644
index d5a467b651..0000000000
--- a/modules/mogo-module-guide/gradle.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-GROUP=com.mogo.module
-POM_ARTIFACT_ID=module-guide
-VERSION_CODE=1
diff --git a/modules/mogo-module-guide/proguard-rules.pro b/modules/mogo-module-guide/proguard-rules.pro
deleted file mode 100644
index f1b424510d..0000000000
--- a/modules/mogo-module-guide/proguard-rules.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-# Add project specific ProGuard rules here.
-# You can control the set of applied configuration files using the
-# proguardFiles setting in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
-
-# Uncomment this to preserve the line number information for
-# debugging stack traces.
-#-keepattributes SourceFile,LineNumberTable
-
-# If you keep the line number information, uncomment this to
-# hide the original source file name.
-#-renamesourcefileattribute SourceFile
diff --git a/modules/mogo-module-guide/src/androidTest/java/com/mogo/module/guide/agreement/ExampleInstrumentedTest.kt b/modules/mogo-module-guide/src/androidTest/java/com/mogo/module/guide/agreement/ExampleInstrumentedTest.kt
deleted file mode 100644
index 1b82ddd479..0000000000
--- a/modules/mogo-module-guide/src/androidTest/java/com/mogo/module/guide/agreement/ExampleInstrumentedTest.kt
+++ /dev/null
@@ -1,2 +0,0 @@
-package com.mogo.module.guide.agreement
-
diff --git a/modules/mogo-module-guide/src/main/AndroidManifest.xml b/modules/mogo-module-guide/src/main/AndroidManifest.xml
deleted file mode 100644
index f00166428d..0000000000
--- a/modules/mogo-module-guide/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/GuideBizManager.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/GuideBizManager.kt
deleted file mode 100644
index 6e6f4ac846..0000000000
--- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/GuideBizManager.kt
+++ /dev/null
@@ -1,65 +0,0 @@
-package com.mogo.module.guide
-
-import com.alibaba.android.arouter.launcher.ARouter
-import com.mogo.module.authorize.authprovider.invoke.AuthorizeConstant
-import com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant.Companion.AUTHORIZE_TYPE_LAUNCHER_MAIN
-import com.mogo.module.authorize.authprovider.module.IMogoAuthorizeModuleManager
-import com.mogo.module.guide.GuideConstant.Companion.PATH_GUIDE_MODULE_NAME
-import com.mogo.module.guide.fragment.GuideFragment
-import com.mogo.module.guide.util.SharedPreferenceUtil.hasGuide
-import com.mogo.module.guide.util.SharedPreferenceUtil.setGuideFinish
-import com.mogo.module.guide.util.SharedPreferenceUtil.setGuideRecord
-import com.mogo.service.IMogoServiceApis
-import com.mogo.service.MogoServicePaths
-import com.mogo.service.fragmentmanager.FragmentDescriptor
-import com.mogo.utils.UiThreadHandler
-import com.mogo.utils.logger.Logger
-
-object GuideBizManager {
-
- private var serviceApi: IMogoServiceApis? = null
-
- fun init() {
- Logger.d("GuideBizManager", "init===================================")
- initService()
- addGuideFragmentToStack()
- }
-
- private fun initService() {
- val mogoService = ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation()
- if (mogoService is IMogoServiceApis && serviceApi == null) {
- serviceApi = mogoService
- serviceApi?.adasControllerApi?.closeADAS()
- }
- }
-
- private fun addGuideFragmentToStack() {
- if (!hasGuide()) {
- serviceApi?.let {
- val builderWrapper = FragmentDescriptor.Builder().fragment(GuideFragment())
- .tag(PATH_GUIDE_MODULE_NAME).build()
- it.fragmentManagerApi.push(builderWrapper)
- }
- }
- }
-
- fun removeGuideFragmentToStack() {
- Logger.d("GuideBizManager", "removeGuideFragmentToStack")
- setGuideFinish()
- setGuideRecord()
- serviceApi?.fragmentManagerApi?.pop()
- serviceApi?.adasControllerApi?.showADAS()
- }
-
- fun invokeAuthorize() {
- UiThreadHandler.postDelayed({
- val authorizeInvoke = ARouter.getInstance().build(AuthorizeConstant.PROVIDER_MODULE).navigation()
- if (authorizeInvoke is IMogoAuthorizeModuleManager) {
- if (authorizeInvoke.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_MAIN)) {
- authorizeInvoke.invokeAuthorizeForShow()
- }
- }
- }, 3000L)
-
- }
-}
\ No newline at end of file
diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/GuideConstant.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/GuideConstant.kt
deleted file mode 100644
index 4e2c54c706..0000000000
--- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/GuideConstant.kt
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.mogo.module.guide
-
-class GuideConstant {
-
- companion object {
- /**
- * 展示用户引导模块地址
- */
- const val PATH_GUIDE_FRAGMENT = "/guide/showFragment"
-
- /**
- * provider模块实例名称(暂时仅有卡片用到)
- */
- const val PATH_GUIDE_MODULE_NAME = "GUIDE_MODULE_NAME"
- }
-}
\ No newline at end of file
diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/MogoGuideProvider.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/MogoGuideProvider.kt
deleted file mode 100644
index d1a00f893e..0000000000
--- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/MogoGuideProvider.kt
+++ /dev/null
@@ -1,68 +0,0 @@
-package com.mogo.module.guide
-
-import android.content.Context
-import android.os.Bundle
-import android.view.View
-import androidx.fragment.app.Fragment
-import com.alibaba.android.arouter.facade.annotation.Route
-import com.mogo.map.listener.IMogoMapListener
-import com.mogo.map.location.IMogoLocationListener
-import com.mogo.map.marker.IMogoMarkerClickListener
-import com.mogo.map.navi.IMogoNaviListener
-import com.mogo.module.guide.GuideConstant.Companion.PATH_GUIDE_FRAGMENT
-import com.mogo.module.guide.GuideConstant.Companion.PATH_GUIDE_MODULE_NAME
-import com.mogo.service.module.IMogoModuleProvider
-import com.mogo.service.module.ModuleType
-import com.mogo.utils.logger.Logger
-
-@Route(path = PATH_GUIDE_FRAGMENT)
-class MogoGuideProvider : IMogoModuleProvider {
-
- /**
- * 卡片用到
- */
- override fun createFragment(context: Context?, data: Bundle?): Fragment? {
- return null
- }
-
- override fun createView(context: Context?): View? {
- return null
- }
-
- override fun getModuleName(): String {
- return PATH_GUIDE_MODULE_NAME
- }
-
- override fun getMapListener(): IMogoMapListener? {
- return null
- }
-
- override fun getType(): Int {
- return ModuleType.TYPE_SERVICE
- }
-
- override fun getNaviListener(): IMogoNaviListener? {
- return null
- }
-
- override fun getLocationListener(): IMogoLocationListener? {
- return null
- }
-
- override fun getMarkerClickListener(): IMogoMarkerClickListener? {
- return null
- }
-
- override fun init(context: Context?) {
- Logger.d("MogoGuideProvider", "init====")
- GuideBizManager.init()
- }
-
- override fun getAppPackage(): String? {
- return null
- }
-
- override fun getAppName(): String? {
- return null
- }
-}
\ No newline at end of file
diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideAdapter.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideAdapter.kt
deleted file mode 100644
index af3660c13e..0000000000
--- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideAdapter.kt
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.mogo.module.guide.fragment
-
-import androidx.fragment.app.Fragment
-import androidx.viewpager2.adapter.FragmentStateAdapter
-import com.mogo.module.guide.guide.*
-
-class GuideAdapter(fragmentActivity: GuideFragment) : FragmentStateAdapter(fragmentActivity) {
-
- override fun getItemCount(): Int {
- return guideList.size
- }
-
- override fun createFragment(position: Int): Fragment {
- return guideList[position]
- }
-
- private val guideList: MutableList = mutableListOf()
-
- companion object {
- const val GUIDE_PAGE_ONE = 0
- const val GUIDE_PAGE_TWO = 1
- const val GUIDE_PAGE_THREE = 2
- const val GUIDE_PAGE_FOUR = 3
- const val GUIDE_PAGE_FIVE = 4
- }
-
- init {
- guideList.add(GUIDE_PAGE_ONE, GuideStageOneFragment(fragmentActivity))
- guideList.add(GUIDE_PAGE_TWO, GuideStageTwoFragment(fragmentActivity))
- guideList.add(GUIDE_PAGE_THREE, GuideStageThreeFragment(fragmentActivity))
- guideList.add(GUIDE_PAGE_FOUR, GuideStageFourFragment(fragmentActivity))
- guideList.add(GUIDE_PAGE_FIVE, GuideStageFiveFragment(fragmentActivity))
- }
-
-}
\ No newline at end of file
diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideConstract.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideConstract.kt
deleted file mode 100644
index 22c574452a..0000000000
--- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideConstract.kt
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.mogo.module.guide.fragment
-
-import com.mogo.commons.mvp.IView
-
-class GuideConstract {
-
- interface View:IView{
-
- }
-
- interface Biz{
-
- }
-}
\ No newline at end of file
diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideFragment.kt
deleted file mode 100644
index 127c0fcfe3..0000000000
--- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideFragment.kt
+++ /dev/null
@@ -1,138 +0,0 @@
-package com.mogo.module.guide.fragment
-
-import android.view.View
-import androidx.recyclerview.widget.RecyclerView
-import com.mogo.commons.mvp.MvpFragment
-import com.mogo.commons.voice.IMogoVoiceCmdCallBack
-import com.mogo.module.guide.GuideBizManager
-import com.mogo.module.guide.R
-import com.mogo.module.guide.util.AnalyticsUtil
-import com.mogo.module.guide.util.AnalyticsUtil.INVOKE_TRACK_PASS_TIME
-import com.mogo.module.guide.util.AnalyticsUtil.INVOKE_TRACK_PLAY_PASS_ID
-import com.mogo.module.guide.util.AnalyticsUtil.INVOKE_TRACK_PLAY_TIME
-import com.mogo.module.guide.util.breakOffSpeak
-import com.mogo.module.guide.util.speak
-import com.mogo.utils.logger.Logger
-import com.zhpan.indicator.enums.IndicatorSlideMode
-import com.zhpan.indicator.enums.IndicatorStyle
-import kotlinx.android.synthetic.main.module_guide_fragment.*
-import kotlinx.android.synthetic.main.module_guide_item_include.*
-
-class GuideFragment : MvpFragment(), GuideConstract.View {
-
- companion object {
- const val TAG = "GuideFragment"
- }
-
- private var duringTime: Long = 0L
- private var recordCount = 0
-
- override fun getLayoutId(): Int {
- return R.layout.module_guide_fragment
- }
-
- override fun createPresenter(): GuidePresenter {
- return GuidePresenter(this)
- }
-
- private var adapter: GuideAdapter? = null
-
- override fun initViews() {
- Logger.d(TAG, "init Views")
- duringTime = System.currentTimeMillis()
- adapter = GuideAdapter(this)
- moduleGuideViewPager.adapter = adapter
- (moduleGuideViewPager.getChildAt(0) as RecyclerView).layoutManager!!.isItemPrefetchEnabled = false
- @Suppress("DEPRECATION")
- moduleGuideIndicator.setSliderColor(context!!.resources.getColor(R.color.module_guide_indicator_dark), context!!.resources.getColor(R.color.module_guide_indicator_white))
- .setSliderWidth(context!!.resources.getDimension(R.dimen.dp_22))
- .setSlideMode(IndicatorSlideMode.NORMAL)
- .setIndicatorStyle(IndicatorStyle.CIRCLE)
- .setupWithViewPager(moduleGuideViewPager)
- visibleRight()
- module_guide_page_left.setOnClickListener {
- moveToBack()
- }
- module_guide_page_right.setOnClickListener {
- moveToNext()
- }
- module_guide_tv_next_step.setOnClickListener {
- if( (moduleGuideViewPager.currentItem + 1) == adapter!!.itemCount){
- closeGuideFragment()
- }else{
- moveToNext()
- }
- }
- }
-
- fun visibleLeft() {
- module_guide_page_left.visibility = View.VISIBLE
- }
-
- fun invisibleLeft() {
- module_guide_page_left.visibility = View.GONE
- }
-
- fun visibleRight() {
- module_guide_page_right.visibility = View.VISIBLE
- module_guide_tv_next_step.text = context!!.resources.getString(R.string.module_guide_item_next_step)
- }
-
- fun invisibleRight() {
- module_guide_page_right.visibility = View.GONE
- module_guide_tv_next_step.text = context!!.resources.getString(R.string.module_guide_finish)
- }
-
- fun moveToNext() {
- val count = adapter?.itemCount
- if (moduleGuideViewPager.currentItem != count) {
- moduleGuideViewPager.currentItem = moduleGuideViewPager.currentItem + 1
- }
- }
-
- private fun moveToBack() {
- val count = adapter?.itemCount
- val backCount = moduleGuideViewPager.currentItem - 1
- if (moduleGuideViewPager.currentItem != count) {
- moduleGuideViewPager.currentItem = backCount
- }
- }
-
- fun closeGuideFragment() {
- recordCount = moduleGuideViewPager.currentItem + 1
- destroy()
- }
-
- private fun track() {
- val recordTime = System.currentTimeMillis() - duringTime
- AnalyticsUtil.track(INVOKE_TRACK_PLAY_PASS_ID,
- hashMapOf(INVOKE_TRACK_PASS_TIME to recordCount
- , INVOKE_TRACK_PLAY_TIME to recordTime))
- Logger.d(TAG, "closeGuideFragment -> recordTime : $recordTime , recordCount : $recordCount")
- }
-
- private fun destroy() {
- GuideBizManager.removeGuideFragmentToStack()
- }
-
- private fun invokeAuthorize() {
- GuideBizManager.invokeAuthorize()
- }
-
- override fun onDestroyView() {
- closeGuideFragment()
- super.onDestroyView()
- }
-
- override fun onDestroy() {
- super.onDestroy()
- track()
- breakOffSpeak(context!!)
- speak(context!!, context!!.resources.getString(R.string.module_guide_voice_page_end), object : IMogoVoiceCmdCallBack {
- override fun onTTSEnd(ttsId: String?, tts: String?) {
-
- }
- })
- invokeAuthorize()
- }
-}
\ No newline at end of file
diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuidePresenter.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuidePresenter.kt
deleted file mode 100644
index 09000d16f4..0000000000
--- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuidePresenter.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.mogo.module.guide.fragment
-
-import androidx.lifecycle.LifecycleOwner
-import com.mogo.commons.mvp.Presenter
-
-class GuidePresenter : Presenter, GuideConstract.Biz {
-
- constructor(view: GuideConstract.View) : super(view)
-
- companion object{
- const val TAG = "GuidePresenter"
- }
-
- override fun onCreate(owner: LifecycleOwner) {
- super.onCreate(owner)
-
- }
-}
\ No newline at end of file
diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFiveFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFiveFragment.kt
deleted file mode 100644
index 64b3a4d15e..0000000000
--- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFiveFragment.kt
+++ /dev/null
@@ -1,57 +0,0 @@
-package com.mogo.module.guide.guide
-
-import com.mogo.commons.debug.DebugConfig
-import com.mogo.commons.mvp.IView
-import com.mogo.commons.mvp.MvpFragment
-import com.mogo.commons.mvp.Presenter
-import com.mogo.commons.voice.IMogoVoiceCmdCallBack
-import com.mogo.module.guide.R
-import com.mogo.module.guide.fragment.GuideFragment
-import com.mogo.module.guide.util.breakOffSpeak
-import com.mogo.module.guide.util.speak
-import kotlinx.android.synthetic.main.module_guide_item_stage_five.*
-import kotlinx.android.synthetic.main.module_guide_item_stage_four.*
-
-class GuideStageFiveFragment : MvpFragment> {
-
- private var containerFragment: GuideFragment? = null
-
- constructor(containerFragment: GuideFragment) {
- this.containerFragment = containerFragment
- }
-
- override fun getLayoutId(): Int {
- return R.layout.module_guide_item_stage_five
- }
-
- override fun createPresenter(): Presenter {
- return GuideLocationPresenter(this)
- }
-
- override fun initViews() {
- if(!DebugConfig.isLauncher()){
- @Suppress("DEPRECATION")
- moduleGuidePageFive.background = context!!.resources!!.getDrawable(R.mipmap.module_guide_item_stage_five)
- }
- }
-
- override fun onResume() {
- super.onResume()
- containerFragment?.invisibleRight()
- breakOffSpeak(context!!)
- speak(context!!, context!!.resources.getString(R.string.module_guide_voice_page_five), object : IMogoVoiceCmdCallBack {
- override fun onSpeakEnd(speakText: String?) {
- if(!isVisible){
- return
- }
- containerFragment?.closeGuideFragment()
- }
- })
- }
-
- class GuideLocationPresenter : Presenter {
-
- constructor(view: IView?) : super(view)
- }
-
-}
diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFourFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFourFragment.kt
deleted file mode 100644
index 0b703259fb..0000000000
--- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFourFragment.kt
+++ /dev/null
@@ -1,58 +0,0 @@
-package com.mogo.module.guide.guide
-
-import com.mogo.commons.debug.DebugConfig
-import com.mogo.commons.mvp.IView
-import com.mogo.commons.mvp.MvpFragment
-import com.mogo.commons.mvp.Presenter
-import com.mogo.commons.voice.IMogoVoiceCmdCallBack
-import com.mogo.module.guide.R
-import com.mogo.module.guide.fragment.GuideFragment
-import com.mogo.module.guide.util.breakOffSpeak
-import com.mogo.module.guide.util.speak
-import kotlinx.android.synthetic.main.module_guide_item_stage_four.*
-import kotlinx.android.synthetic.main.module_guide_item_stage_three.*
-
-class GuideStageFourFragment : MvpFragment> {
-
- private var containerFragment: GuideFragment? = null
-
- constructor(containerFragment: GuideFragment) {
- this.containerFragment = containerFragment
- }
-
- override fun getLayoutId(): Int {
- return R.layout.module_guide_item_stage_four
- }
-
- override fun createPresenter(): Presenter {
- return GuideNavigationPresenter(this)
- }
-
- override fun initViews() {
- if(!DebugConfig.isLauncher()){
- @Suppress("DEPRECATION")
- moduleGuidePageFour.background = context!!.resources!!.getDrawable(R.mipmap.module_guide_item_stage_four)
- }
- }
-
- override fun onResume() {
- super.onResume()
- containerFragment?.visibleLeft()
- containerFragment?.visibleRight()
- breakOffSpeak(context!!)
- speak(context!!, context!!.resources.getString(R.string.module_guide_voice_page_four), object : IMogoVoiceCmdCallBack {
- override fun onSpeakEnd(speakText: String?) {
- if(!isVisible){
- return
- }
- containerFragment?.moveToNext()
- }
- })
- }
-
- class GuideNavigationPresenter : Presenter {
-
- constructor(view: IView?) : super(view)
- }
-
-}
diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageOneFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageOneFragment.kt
deleted file mode 100644
index 6844e29fc7..0000000000
--- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageOneFragment.kt
+++ /dev/null
@@ -1,57 +0,0 @@
-package com.mogo.module.guide.guide
-
-import com.mogo.commons.debug.DebugConfig
-import com.mogo.commons.mvp.IView
-import com.mogo.commons.mvp.MvpFragment
-import com.mogo.commons.mvp.Presenter
-import com.mogo.commons.voice.IMogoVoiceCmdCallBack
-import com.mogo.module.guide.R
-import com.mogo.module.guide.fragment.GuideFragment
-import com.mogo.module.guide.util.breakOffSpeak
-import com.mogo.module.guide.util.speak
-import kotlinx.android.synthetic.main.module_guide_item_stage_one.*
-
-
-class GuideStageOneFragment : MvpFragment> {
-
- private var containerFragment: GuideFragment? = null
-
- constructor(containerFragment: GuideFragment) {
- this.containerFragment = containerFragment
- }
-
- override fun getLayoutId(): Int {
- return R.layout.module_guide_item_stage_one
- }
-
- override fun createPresenter(): Presenter {
- return GuideStartPresenter(this)
- }
-
- override fun initViews() {
- containerFragment?.visibleRight()
- if(!DebugConfig.isLauncher()){
- @Suppress("DEPRECATION")
- moduleGuidePageOne.background = context!!.resources!!.getDrawable(R.mipmap.module_guide_item_stage_one)
- }
- }
-
- override fun onResume() {
- super.onResume()
- containerFragment?.invisibleLeft()
- breakOffSpeak(context!!)
- speak(context!!, context!!.resources.getString(R.string.module_guide_voice_page_one), object : IMogoVoiceCmdCallBack {
- override fun onSpeakEnd(speakText: String?) {
- if (!isVisible) {
- return
- }
- containerFragment?.moveToNext()
- }
- })
- }
-
- class GuideStartPresenter : Presenter {
-
- constructor(view: IView?) : super(view)
- }
-}
diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageThreeFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageThreeFragment.kt
deleted file mode 100644
index 88238ecc21..0000000000
--- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageThreeFragment.kt
+++ /dev/null
@@ -1,58 +0,0 @@
-package com.mogo.module.guide.guide
-
-import com.mogo.commons.debug.DebugConfig
-import com.mogo.commons.mvp.IView
-import com.mogo.commons.mvp.MvpFragment
-import com.mogo.commons.mvp.Presenter
-import com.mogo.commons.voice.IMogoVoiceCmdCallBack
-import com.mogo.module.guide.R
-import com.mogo.module.guide.fragment.GuideFragment
-import com.mogo.module.guide.util.breakOffSpeak
-import com.mogo.module.guide.util.speak
-import kotlinx.android.synthetic.main.module_guide_item_stage_three.*
-import kotlinx.android.synthetic.main.module_guide_item_stage_two.*
-
-class GuideStageThreeFragment : MvpFragment> {
-
- private var containerFragment: GuideFragment? = null
-
- constructor(containerFragment: GuideFragment) {
- this.containerFragment = containerFragment
- }
-
- override fun getLayoutId(): Int {
- return R.layout.module_guide_item_stage_three
- }
-
- override fun createPresenter(): Presenter {
- return GuideOnLineCarPresenter(this)
- }
-
- override fun initViews() {
- if(!DebugConfig.isLauncher()){
- @Suppress("DEPRECATION")
- moduleGuidePageThree.background = context!!.resources!!.getDrawable(R.mipmap.module_guide_item_stage_three)
- }
- }
-
- override fun onResume() {
- super.onResume()
- containerFragment?.visibleLeft()
- containerFragment?.visibleRight()
- breakOffSpeak(context!!)
- speak(context!!, context!!.resources.getString(R.string.module_guide_voice_page_three), object : IMogoVoiceCmdCallBack {
- override fun onSpeakEnd(speakText: String?) {
- if(!isVisible){
- return
- }
- containerFragment?.moveToNext()
- }
- })
- }
-
- class GuideOnLineCarPresenter : Presenter {
-
- constructor(view: IView?) : super(view)
- }
-
-}
diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageTwoFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageTwoFragment.kt
deleted file mode 100644
index 37e7a8d29a..0000000000
--- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageTwoFragment.kt
+++ /dev/null
@@ -1,58 +0,0 @@
-package com.mogo.module.guide.guide
-
-import com.mogo.commons.debug.DebugConfig
-import com.mogo.commons.mvp.IView
-import com.mogo.commons.mvp.MvpFragment
-import com.mogo.commons.mvp.Presenter
-import com.mogo.commons.voice.IMogoVoiceCmdCallBack
-import com.mogo.module.guide.R
-import com.mogo.module.guide.fragment.GuideFragment
-import com.mogo.module.guide.util.breakOffSpeak
-import com.mogo.module.guide.util.speak
-import kotlinx.android.synthetic.main.module_guide_item_stage_one.*
-import kotlinx.android.synthetic.main.module_guide_item_stage_two.*
-
-class GuideStageTwoFragment : MvpFragment> {
-
- private var containerFragment: GuideFragment? = null
-
- constructor(containerFragment: GuideFragment) {
- this.containerFragment = containerFragment
- }
-
- override fun getLayoutId(): Int {
- return R.layout.module_guide_item_stage_two
- }
-
- override fun createPresenter(): Presenter {
- return GuideCardPresenter(this)
- }
-
- override fun initViews() {
- if(!DebugConfig.isLauncher()){
- @Suppress("DEPRECATION")
- moduleGuidePageTwo.background = context!!.resources!!.getDrawable(R.mipmap.module_guide_item_stage_two)
- }
- }
-
- override fun onResume() {
- super.onResume()
- containerFragment?.visibleLeft()
- containerFragment?.visibleRight()
- breakOffSpeak(context!!)
- speak(context!!, context!!.resources.getString(R.string.module_guide_voice_page_two), object : IMogoVoiceCmdCallBack {
- override fun onSpeakEnd(speakText: String?) {
- if(!isVisible){
- return
- }
- containerFragment?.moveToNext()
- }
- })
- }
-
- class GuideCardPresenter : Presenter {
-
- constructor(view: IView?) : super(view)
- }
-
-}
diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/util/AnalyticsUtil.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/util/AnalyticsUtil.kt
deleted file mode 100644
index c5b94fcb41..0000000000
--- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/util/AnalyticsUtil.kt
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.mogo.module.guide.util
-
-import com.alibaba.android.arouter.launcher.ARouter
-import com.mogo.service.IMogoServiceApis
-import com.mogo.service.MogoServicePaths
-import com.mogo.service.analytics.IMogoAnalytics
-
-object AnalyticsUtil {
-
- const val INVOKE_TRACK_PLAY_PASS_ID = "v2x_play_pass"
- const val INVOKE_TRACK_PASS_TIME = "pass_time"
- const val INVOKE_TRACK_PLAY_TIME = "play_time"
-
- private var trackRouter: IMogoAnalytics? = null
-
- fun track(eventType: String, data: MutableMap? = hashMapOf()) {
- if (trackRouter == null) {
- val arouter = ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation()
- if (arouter is IMogoServiceApis) {
- trackRouter = arouter.analyticsApi
- }
- }
- trackRouter!!.track(eventType, data)
- }
-}
\ No newline at end of file
diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/util/SharedPreferenceUtil.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/util/SharedPreferenceUtil.kt
deleted file mode 100644
index ee0b39edb3..0000000000
--- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/util/SharedPreferenceUtil.kt
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.mogo.module.guide.util
-
-import com.mogo.commons.AbsMogoApplication
-import com.mogo.module.common.utils.SPConst.getSPGuideRecord
-import com.mogo.module.common.utils.SPConst.getSpGuide
-import com.mogo.utils.storage.SharedPrefsMgr
-
-object SharedPreferenceUtil {
-
- fun hasGuide(): Boolean {
- return SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()).getBoolean(getSpGuide(), false)
- }
-
- fun setGuideFinish() {
- SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()).putBoolean(getSpGuide(), true)
- }
-
- fun setGuideRecord() {
- SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()).putLong(getSPGuideRecord(), System.currentTimeMillis())
- }
-
-}
\ No newline at end of file
diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/util/VoiceUtil.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/util/VoiceUtil.kt
deleted file mode 100644
index b4d728f82e..0000000000
--- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/util/VoiceUtil.kt
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.mogo.module.guide.util
-
-import android.content.Context
-import com.mogo.commons.voice.AIAssist
-import com.mogo.commons.voice.IMogoVoiceCmdCallBack
-import com.mogo.commons.voice.VoicePreemptType
-
-fun speak(context: Context, text: String, callBack: IMogoVoiceCmdCallBack?) {
- AIAssist.getInstance(context).speakTTSVoice(text, VoicePreemptType.PREEMPT_TYPE_IMMEADIATELY, callBack)
-}
-
-fun breakOffSpeak(context: Context){
- AIAssist.getInstance(context).breakOffSpeak()
-}
\ No newline at end of file
diff --git a/modules/mogo-module-guide/src/main/res/drawable/module_guide_blue_corner.xml b/modules/mogo-module-guide/src/main/res/drawable/module_guide_blue_corner.xml
deleted file mode 100644
index c21deebfbf..0000000000
--- a/modules/mogo-module-guide/src/main/res/drawable/module_guide_blue_corner.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-guide/src/main/res/layout/module_guide_fragment.xml b/modules/mogo-module-guide/src/main/res/layout/module_guide_fragment.xml
deleted file mode 100644
index c0ab9b03e5..0000000000
--- a/modules/mogo-module-guide/src/main/res/layout/module_guide_fragment.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-guide/src/main/res/layout/module_guide_item_include.xml b/modules/mogo-module-guide/src/main/res/layout/module_guide_item_include.xml
deleted file mode 100644
index c170a9db8c..0000000000
--- a/modules/mogo-module-guide/src/main/res/layout/module_guide_item_include.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-guide/src/main/res/layout/module_guide_item_stage_five.xml b/modules/mogo-module-guide/src/main/res/layout/module_guide_item_stage_five.xml
deleted file mode 100644
index a7842257a8..0000000000
--- a/modules/mogo-module-guide/src/main/res/layout/module_guide_item_stage_five.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-guide/src/main/res/layout/module_guide_item_stage_four.xml b/modules/mogo-module-guide/src/main/res/layout/module_guide_item_stage_four.xml
deleted file mode 100644
index a0a61c5541..0000000000
--- a/modules/mogo-module-guide/src/main/res/layout/module_guide_item_stage_four.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-guide/src/main/res/layout/module_guide_item_stage_one.xml b/modules/mogo-module-guide/src/main/res/layout/module_guide_item_stage_one.xml
deleted file mode 100644
index 217f6c1c9c..0000000000
--- a/modules/mogo-module-guide/src/main/res/layout/module_guide_item_stage_one.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-guide/src/main/res/layout/module_guide_item_stage_three.xml b/modules/mogo-module-guide/src/main/res/layout/module_guide_item_stage_three.xml
deleted file mode 100644
index 7721a4fde7..0000000000
--- a/modules/mogo-module-guide/src/main/res/layout/module_guide_item_stage_three.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-guide/src/main/res/layout/module_guide_item_stage_two.xml b/modules/mogo-module-guide/src/main/res/layout/module_guide_item_stage_two.xml
deleted file mode 100644
index 4c79d09447..0000000000
--- a/modules/mogo-module-guide/src/main/res/layout/module_guide_item_stage_two.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_five.png b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_five.png
deleted file mode 100644
index fcd22618a3..0000000000
Binary files a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_five.png and /dev/null differ
diff --git a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_four.png b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_four.png
deleted file mode 100644
index d6fc96f989..0000000000
Binary files a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_four.png and /dev/null differ
diff --git a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_one.png b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_one.png
deleted file mode 100644
index 2690abb302..0000000000
Binary files a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_one.png and /dev/null differ
diff --git a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_three.png b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_three.png
deleted file mode 100644
index b849869d20..0000000000
Binary files a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_three.png and /dev/null differ
diff --git a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_two.png b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_two.png
deleted file mode 100644
index dc2840a228..0000000000
Binary files a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_item_stage_two.png and /dev/null differ
diff --git a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_left_page.png b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_left_page.png
deleted file mode 100644
index da94ba4a48..0000000000
Binary files a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_left_page.png and /dev/null differ
diff --git a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_right_page.png b/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_right_page.png
deleted file mode 100644
index f25becf47a..0000000000
Binary files a/modules/mogo-module-guide/src/main/res/mipmap-ldpi/module_guide_right_page.png and /dev/null differ
diff --git a/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_five_launcher.png b/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_five_launcher.png
deleted file mode 100644
index e027bb55bb..0000000000
Binary files a/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_five_launcher.png and /dev/null differ
diff --git a/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_four_launcher.png b/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_four_launcher.png
deleted file mode 100644
index e7be0d312e..0000000000
Binary files a/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_four_launcher.png and /dev/null differ
diff --git a/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_one_launcher.png b/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_one_launcher.png
deleted file mode 100644
index 14cd567ad0..0000000000
Binary files a/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_one_launcher.png and /dev/null differ
diff --git a/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_three_launcher.png b/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_three_launcher.png
deleted file mode 100644
index 94fdf82256..0000000000
Binary files a/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_three_launcher.png and /dev/null differ
diff --git a/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_two_launcher.png b/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_two_launcher.png
deleted file mode 100644
index 8b8861a012..0000000000
Binary files a/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_item_stage_two_launcher.png and /dev/null differ
diff --git a/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_left_page.png b/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_left_page.png
deleted file mode 100644
index a79e3d796c..0000000000
Binary files a/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_left_page.png and /dev/null differ
diff --git a/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_right_page.png b/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_right_page.png
deleted file mode 100644
index 07fed27927..0000000000
Binary files a/modules/mogo-module-guide/src/main/res/mipmap-mdpi/module_guide_right_page.png and /dev/null differ
diff --git a/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_five_launcher.png b/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_five_launcher.png
deleted file mode 100644
index 61a3e015dc..0000000000
Binary files a/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_five_launcher.png and /dev/null differ
diff --git a/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_four_launcher.png b/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_four_launcher.png
deleted file mode 100644
index 7153f0b341..0000000000
Binary files a/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_four_launcher.png and /dev/null differ
diff --git a/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_one_launcher.png b/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_one_launcher.png
deleted file mode 100644
index 46a01e4a7a..0000000000
Binary files a/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_one_launcher.png and /dev/null differ
diff --git a/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_three_launcher.png b/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_three_launcher.png
deleted file mode 100644
index 9e27ccecaa..0000000000
Binary files a/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_three_launcher.png and /dev/null differ
diff --git a/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_two_launcher.png b/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_two_launcher.png
deleted file mode 100644
index 6a29d13093..0000000000
Binary files a/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_item_stage_two_launcher.png and /dev/null differ
diff --git a/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_left_page.png b/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_left_page.png
deleted file mode 100644
index 98ca2cb6df..0000000000
Binary files a/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_left_page.png and /dev/null differ
diff --git a/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_right_page.png b/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_right_page.png
deleted file mode 100644
index f476cfc2dc..0000000000
Binary files a/modules/mogo-module-guide/src/main/res/mipmap-xhdpi/module_guide_right_page.png and /dev/null differ
diff --git a/modules/mogo-module-guide/src/main/res/values-xhdpi-v4/dimens.xml b/modules/mogo-module-guide/src/main/res/values-xhdpi-v4/dimens.xml
deleted file mode 100644
index d56caf71d6..0000000000
--- a/modules/mogo-module-guide/src/main/res/values-xhdpi-v4/dimens.xml
+++ /dev/null
@@ -1,1054 +0,0 @@
-
-
-
-
-
- -60px
- -30px
- -20px
- -12px
- -10px
- -8px
- -5px
- -2px
- -1px
- 0px
- 0.1px
- 0.5px
- 1px
- 1.5px
- 2px
- 2.5px
- 3px
- 3.5px
- 4px
- 4.5px
- 5px
- 6px
- 7px
- 7.5px
- 8px
- 9px
- 10px
- 11px
- 12px
- 13px
- 14px
- 15px
- 16px
- 17px
- 18px
- 19px
- 20px
- 21px
- 22px
- 23px
- 24px
- 25px
- 26px
- 27px
- 28px
- 29px
- 30px
- 31px
- 32px
- 33px
- 34px
- 35px
- 36px
- 37px
- 38px
- 39px
- 40px
- 41px
- 42px
- 43px
- 44px
- 45px
- 46px
- 47px
- 48px
- 49px
- 50px
- 51px
- 52px
- 53px
- 54px
- 55px
- 56px
- 57px
- 58px
- 59px
- 60px
- 61px
- 62px
- 63px
- 64px
- 65px
- 66px
- 67px
- 68px
- 69px
- 70px
- 71px
- 72px
- 73px
- 74px
- 75px
- 76px
- 77px
- 78px
- 79px
- 80px
- 81px
- 82px
- 83px
- 84px
- 85px
- 86px
- 87px
- 88px
- 89px
- 90px
- 91px
- 92px
- 93px
- 94px
- 95px
- 96px
- 97px
- 98px
- 99px
- 100px
- 101px
- 102px
- 103px
- 104px
- 104.5px
- 105px
- 106px
- 107px
- 108px
- 109px
- 110px
- 111px
- 112px
- 113px
- 114px
- 115px
- 116px
- 117px
- 118px
- 119px
- 120px
- 121px
- 122px
- 123px
- 124px
- 125px
- 126px
- 127px
- 128px
- 129px
- 130px
- 131px
- 132px
- 133px
- 134px
- 134.5px
- 135px
- 136px
- 137px
- 138px
- 139px
- 140px
- 141px
- 142px
- 143px
- 144px
- 145px
- 146px
- 147px
- 148px
- 149px
- 150px
- 151px
- 152px
- 153px
- 154px
- 155px
- 156px
- 157px
- 158px
- 159px
- 160px
- 161px
- 162px
- 163px
- 164px
- 165px
- 166px
- 167px
- 168px
- 169px
- 170px
- 171px
- 172px
- 173px
- 174px
- 175px
- 176px
- 177px
- 178px
- 179px
- 180px
- 181px
- 182px
- 183px
- 184px
- 185px
- 186px
- 187px
- 188px
- 189px
- 190px
- 191px
- 191.25px
- 192px
- 193px
- 194px
- 195px
- 196px
- 197px
- 198px
- 199px
- 200px
- 201px
- 202px
- 203px
- 204px
- 205px
- 206px
- 207px
- 208px
- 209px
- 210px
- 211px
- 212px
- 213px
- 214px
- 215px
- 216px
- 217px
- 218px
- 219px
- 220px
- 221px
- 222px
- 223px
- 224px
- 225px
- 226px
- 227px
- 228px
- 229px
- 230px
- 231px
- 232px
- 233px
- 234px
- 235px
- 236px
- 237px
- 238px
- 239px
- 240px
- 241px
- 242px
- 243px
- 244px
- 245px
- 246px
- 247px
- 248px
- 249px
- 250px
- 251px
- 252px
- 253px
- 254px
- 255px
- 256px
- 257px
- 258px
- 259px
- 260px
- 261px
- 262px
- 263px
- 264px
- 265px
- 266px
- 267px
- 268px
- 269px
- 270px
- 271px
- 272px
- 273px
- 274px
- 275px
- 276px
- 277px
- 278px
- 279px
- 280px
- 281px
- 282px
- 283px
- 284px
- 285px
- 286px
- 287px
- 288px
- 289px
- 290px
- 291px
- 292px
- 293px
- 294px
- 295px
- 296px
- 297px
- 298px
- 299px
- 300px
- 301px
- 302px
- 303px
- 304px
- 305px
- 306px
- 307px
- 308px
- 309px
- 310px
- 311px
- 312px
- 313px
- 314px
- 315px
- 316px
- 317px
- 318px
- 319px
- 320px
- 321px
- 322px
- 323px
- 324px
- 325px
- 326px
- 327px
- 328px
- 329px
- 330px
- 331px
- 332px
- 333px
- 334px
- 335px
- 336px
- 337px
- 338px
- 339px
- 340px
- 341px
- 342px
- 343px
- 344px
- 345px
- 346px
- 347px
- 348px
- 349px
- 350px
- 351px
- 352px
- 353px
- 354px
- 355px
- 356px
- 357px
- 358px
- 359px
- 366px
- 367px
- 368px
- 369px
- 370px
- 371px
- 372px
- 373px
- 374px
- 375px
- 376px
- 377px
- 378px
- 379px
- 380px
- 381px
- 382px
- 383px
- 384px
- 385px
- 386px
- 387px
- 388px
- 389px
- 390px
- 391px
- 392px
- 393px
- 394px
- 395px
- 396px
- 397px
- 398px
- 399px
- 400px
- 401px
- 402px
- 403px
- 404px
- 405px
- 406px
- 407px
- 408px
- 409px
- 410px
- 411px
- 412px
- 413px
- 414px
- 415px
- 416px
- 417px
- 418px
- 419px
- 420px
- 421px
- 422px
- 423px
- 424px
- 425px
- 426px
- 427px
- 428px
- 429px
- 430px
- 431px
- 432px
- 433px
- 434px
- 435px
- 436px
- 437px
- 438px
- 439px
- 440px
- 441px
- 442px
- 443px
- 444px
- 445px
- 446px
- 447px
- 448px
- 449px
- 450px
- 451px
- 452px
- 453px
- 454px
- 455px
- 456px
- 457px
- 458px
- 459px
- 460px
- 461px
- 462px
- 463px
- 464px
- 465px
- 466px
- 467px
- 468px
- 469px
- 470px
- 471px
- 472px
- 473px
- 474px
- 475px
- 476px
- 477px
- 478px
- 479px
- 480px
- 481px
- 482px
- 483px
- 484px
- 485px
- 486px
- 487px
- 488px
- 489px
- 490px
- 491px
- 492px
- 493px
- 494px
- 495px
- 496px
- 497px
- 498px
- 499px
- 500px
- 501px
- 502px
- 503px
- 504px
- 505px
- 506px
- 507px
- 508px
- 509px
- 510px
- 511px
- 512px
- 513px
- 514px
- 515px
- 516px
- 517px
- 518px
- 519px
- 520px
- 521px
- 522px
- 523px
- 524px
- 525px
- 526px
- 527px
- 528px
- 529px
- 530px
- 531px
- 532px
- 533px
- 534px
- 535px
- 536px
- 537px
- 538px
- 539px
- 540px
- 541px
- 542px
- 543px
- 544px
- 545px
- 546px
- 547px
- 548px
- 549px
- 550px
- 551px
- 552px
- 553px
- 554px
- 555px
- 556px
- 557px
- 558px
- 559px
- 560px
- 561px
- 562px
- 563px
- 564px
- 565px
- 566px
- 567px
- 568px
- 569px
- 570px
- 571px
- 572px
- 573px
- 574px
- 575px
- 576px
- 577px
- 578px
- 579px
- 580px
- 581px
- 582px
- 583px
- 584px
- 585px
- 586px
- 587px
- 588px
- 589px
- 590px
- 591px
- 592px
- 593px
- 594px
- 595px
- 596px
- 597px
- 598px
- 599px
- 600px
- 601px
- 602px
- 603px
- 604px
- 605px
- 606px
- 607px
- 608px
- 609px
- 610px
- 611px
- 612px
- 613px
- 614px
- 615px
- 616px
- 617px
- 618px
- 619px
- 620px
- 621px
- 622px
- 623px
- 624px
- 625px
- 626px
- 627px
- 628px
- 629px
- 630px
- 631px
- 632px
- 633px
- 634px
- 635px
- 636px
- 637px
- 638px
- 639px
- 640px
- 641px
- 642px
- 643px
- 644px
- 645px
- 646px
- 647px
- 648px
- 649px
- 650px
- 651px
- 652px
- 653px
- 654px
- 655px
- 656px
- 657px
- 658px
- 659px
- 660px
- 661px
- 662px
- 663px
- 664px
- 665px
- 666px
- 667px
- 668px
- 669px
- 670px
- 671px
- 672px
- 673px
- 674px
- 675px
- 676px
- 677px
- 678px
- 679px
- 680px
- 681px
- 682px
- 683px
- 684px
- 685px
- 686px
- 687px
- 688px
- 689px
- 690px
- 691px
- 692px
- 693px
- 694px
- 695px
- 696px
- 697px
- 698px
- 699px
- 700px
- 701px
- 702px
- 703px
- 704px
- 705px
- 706px
- 707px
- 708px
- 709px
- 710px
- 711px
- 712px
- 713px
- 714px
- 715px
- 716px
- 717px
- 718px
- 719px
- 720px
- 721px
- 722px
- 723px
- 724px
- 725px
- 726px
- 727px
- 728px
- 729px
- 730px
- 731px
- 732px
- 733px
- 734px
- 735px
- 736px
- 737px
- 738px
- 739px
- 740px
- 741px
- 742px
- 743px
- 744px
- 745px
- 746px
- 747px
- 748px
- 749px
- 750px
- 751px
- 752px
- 753px
- 754px
- 755px
- 756px
- 757px
- 758px
- 759px
- 760px
- 761px
- 762px
- 763px
- 764px
- 765px
- 766px
- 767px
- 768px
- 769px
- 770px
- 771px
- 772px
- 773px
- 774px
- 775px
- 776px
- 777px
- 778px
- 779px
- 780px
- 781px
- 782px
- 783px
- 784px
- 785px
- 786px
- 787px
- 788px
- 789px
- 790px
- 791px
- 792px
- 793px
- 794px
- 795px
- 796px
- 797px
- 798px
- 799px
- 800px
- 801px
- 802px
- 803px
- 804px
- 805px
- 806px
- 807px
- 808px
- 809px
- 810px
- 811px
- 812px
- 813px
- 814px
- 815px
- 816px
- 817px
- 818px
- 819px
- 820px
- 821px
- 822px
- 823px
- 824px
- 825px
- 826px
- 827px
- 828px
- 829px
- 830px
- 831px
- 832px
- 833px
- 834px
- 835px
- 836px
- 837px
- 838px
- 839px
- 840px
- 841px
- 842px
- 843px
- 844px
- 845px
- 846px
- 847px
- 848px
- 849px
- 850px
- 851px
- 852px
- 853px
- 854px
- 855px
- 856px
- 857px
- 858px
- 859px
- 860px
- 861px
- 862px
- 863px
- 864px
- 865px
- 866px
- 867px
- 868px
- 869px
- 870px
- 871px
- 872px
- 873px
- 874px
- 875px
- 876px
- 877px
- 878px
- 879px
- 880px
- 881px
- 882px
- 883px
- 884px
- 885px
- 886px
- 887px
- 888px
- 889px
- 890px
- 891px
- 892px
- 893px
- 894px
- 895px
- 896px
- 897px
- 898px
- 899px
- 900px
- 901px
- 902px
- 903px
- 904px
- 905px
- 906px
- 907px
- 908px
- 909px
- 910px
- 911px
- 912px
- 913px
- 914px
- 915px
- 916px
- 917px
- 918px
- 919px
- 920px
- 921px
- 922px
- 923px
- 924px
- 925px
- 926px
- 927px
- 928px
- 929px
- 930px
- 931px
- 932px
- 933px
- 934px
- 935px
- 936px
- 937px
- 938px
- 939px
- 940px
- 941px
- 942px
- 943px
- 944px
- 945px
- 946px
- 947px
- 948px
- 949px
- 950px
- 951px
- 952px
- 953px
- 954px
- 955px
- 956px
- 957px
- 958px
- 959px
- 960px
- 961px
- 962px
- 963px
- 964px
- 965px
- 966px
- 967px
- 968px
- 969px
- 970px
- 971px
- 972px
- 973px
- 974px
- 975px
- 976px
- 977px
- 978px
- 979px
- 980px
- 981px
- 982px
- 983px
- 984px
- 985px
- 986px
- 987px
- 988px
- 989px
- 990px
- 991px
- 992px
- 993px
- 994px
- 995px
- 996px
- 997px
- 998px
- 999px
- 1300px
-
-
-
-
- 6px
- 7px
- 8px
- 9px
- 10px
- 11px
- 12px
- 13px
- 14px
- 15px
- 16px
- 17px
- 18px
- 19px
- 20px
- 21px
- 22px
- 23px
- 24px
- 25px
- 28px
- 30px
- 32px
- 34px
- 36px
- 38px
- 40px
- 42px
- 48px
-
-
diff --git a/modules/mogo-module-guide/src/main/res/values/color.xml b/modules/mogo-module-guide/src/main/res/values/color.xml
deleted file mode 100644
index 5405f26c5a..0000000000
--- a/modules/mogo-module-guide/src/main/res/values/color.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
- #3B91FF
- #33ffffff
- #ffffff
-
\ No newline at end of file
diff --git a/modules/mogo-module-guide/src/main/res/values/dimens.xml b/modules/mogo-module-guide/src/main/res/values/dimens.xml
deleted file mode 100644
index 86faec4c01..0000000000
--- a/modules/mogo-module-guide/src/main/res/values/dimens.xml
+++ /dev/null
@@ -1,1046 +0,0 @@
-
-
- -32.8125px
- -16.4062px
- -10.9375px
- -6.5625px
- -5.4688px
- -4.3750px
- -2.7344px
- -1.0938px
- -0.5469px
- 0.0000px
- 0.0547px
- 0.2734px
- 0.5469px
- 0.8203px
- 1.0938px
- 1.3672px
- 1.6406px
- 1.9141px
- 2.1875px
- 2.4609px
- 2.7344px
- 3.2812px
- 3.8281px
- 4.1016px
- 4.3750px
- 4.9219px
- 5.4688px
- 6.0156px
- 6.5625px
- 7.1094px
- 7.6562px
- 8.2031px
- 8.7500px
- 9.2969px
- 9.8438px
- 10.3906px
- 10.9375px
- 11.4844px
- 12.0312px
- 12.5781px
- 13.1250px
- 13.6719px
- 14.2188px
- 14.7656px
- 15.3125px
- 15.8594px
- 16.4062px
- 16.9531px
- 17.5000px
- 18.0469px
- 18.5938px
- 19.1406px
- 19.6875px
- 20.2344px
- 20.7812px
- 21.3281px
- 21.8750px
- 22.4219px
- 22.9688px
- 23.5156px
- 24.0625px
- 24.6094px
- 25.1562px
- 25.7031px
- 26.2500px
- 26.7969px
- 27.3438px
- 27.8906px
- 28.4375px
- 28.9844px
- 29.5312px
- 30.0781px
- 30.6250px
- 31.1719px
- 31.7188px
- 32.2656px
- 32.8125px
- 33.3594px
- 33.9062px
- 34.4531px
- 35.0000px
- 35.5469px
- 36.0938px
- 36.6406px
- 37.1875px
- 37.7344px
- 38.2812px
- 38.8281px
- 39.3750px
- 39.9219px
- 40.4688px
- 41.0156px
- 41.5625px
- 42.1094px
- 42.6562px
- 43.2031px
- 43.7500px
- 44.2969px
- 44.8438px
- 45.3906px
- 45.9375px
- 46.4844px
- 47.0312px
- 47.5781px
- 48.1250px
- 48.6719px
- 49.2188px
- 49.7656px
- 50.3125px
- 50.8594px
- 51.4062px
- 51.9531px
- 52.5000px
- 53.0469px
- 53.5938px
- 54.1406px
- 54.6875px
- 55.2344px
- 55.7812px
- 56.3281px
- 56.8750px
- 57.1484px
- 57.4219px
- 57.9688px
- 58.5156px
- 59.0625px
- 59.6094px
- 60.1562px
- 60.7031px
- 61.2500px
- 61.7969px
- 62.3438px
- 62.8906px
- 63.4375px
- 63.9844px
- 64.5312px
- 65.0781px
- 65.6250px
- 66.1719px
- 66.7188px
- 67.2656px
- 67.8125px
- 68.3594px
- 68.9062px
- 69.4531px
- 70.0000px
- 70.5469px
- 71.0938px
- 71.6406px
- 72.1875px
- 72.7344px
- 73.2812px
- 73.5547px
- 73.8281px
- 74.3750px
- 74.9219px
- 75.4688px
- 76.0156px
- 76.5625px
- 77.1094px
- 77.6562px
- 78.2031px
- 78.7500px
- 79.2969px
- 79.8438px
- 80.3906px
- 80.9375px
- 81.4844px
- 82.0312px
- 82.5781px
- 83.1250px
- 83.6719px
- 84.2188px
- 84.7656px
- 85.3125px
- 85.8594px
- 86.4062px
- 86.9531px
- 87.5000px
- 88.0469px
- 88.5938px
- 89.1406px
- 89.6875px
- 90.2344px
- 90.7812px
- 91.3281px
- 91.8750px
- 92.4219px
- 92.9688px
- 93.5156px
- 94.0625px
- 94.6094px
- 95.1562px
- 95.7031px
- 96.2500px
- 96.7969px
- 97.3438px
- 97.8906px
- 98.4375px
- 98.9844px
- 99.5312px
- 100.0781px
- 100.6250px
- 101.1719px
- 101.7188px
- 102.2656px
- 102.8125px
- 103.3594px
- 103.9062px
- 104.4531px
- 104.5898px
- 105.0000px
- 105.5469px
- 106.0938px
- 106.6406px
- 107.1875px
- 107.7344px
- 108.2812px
- 108.8281px
- 109.3750px
- 109.9219px
- 110.4688px
- 111.0156px
- 111.5625px
- 112.1094px
- 112.6562px
- 113.2031px
- 113.7500px
- 114.2969px
- 114.8438px
- 115.3906px
- 115.9375px
- 116.4844px
- 117.0312px
- 117.5781px
- 118.1250px
- 118.6719px
- 119.2188px
- 119.7656px
- 120.3125px
- 120.8594px
- 121.4062px
- 121.9531px
- 122.5000px
- 123.0469px
- 123.5938px
- 124.1406px
- 124.6875px
- 125.2344px
- 125.7812px
- 126.3281px
- 126.8750px
- 127.4219px
- 127.9688px
- 128.5156px
- 129.0625px
- 129.6094px
- 130.1562px
- 130.7031px
- 131.2500px
- 131.7969px
- 132.3438px
- 132.8906px
- 133.4375px
- 133.9844px
- 134.5312px
- 135.0781px
- 135.6250px
- 136.1719px
- 136.7188px
- 137.2656px
- 137.8125px
- 138.3594px
- 138.9062px
- 139.4531px
- 140.0000px
- 140.5469px
- 141.0938px
- 141.6406px
- 142.1875px
- 142.7344px
- 143.2812px
- 143.8281px
- 144.3750px
- 144.9219px
- 145.4688px
- 146.0156px
- 146.5625px
- 147.1094px
- 147.6562px
- 148.2031px
- 148.7500px
- 149.2969px
- 149.8438px
- 150.3906px
- 150.9375px
- 151.4844px
- 152.0312px
- 152.5781px
- 153.1250px
- 153.6719px
- 154.2188px
- 154.7656px
- 155.3125px
- 155.8594px
- 156.4062px
- 156.9531px
- 157.5000px
- 158.0469px
- 158.5938px
- 159.1406px
- 159.6875px
- 160.2344px
- 160.7812px
- 161.3281px
- 161.8750px
- 162.4219px
- 162.9688px
- 163.5156px
- 164.0625px
- 164.6094px
- 165.1562px
- 165.7031px
- 166.2500px
- 166.7969px
- 167.3438px
- 167.8906px
- 168.4375px
- 168.9844px
- 169.5312px
- 170.0781px
- 170.6250px
- 171.1719px
- 171.7188px
- 172.2656px
- 172.8125px
- 173.3594px
- 173.9062px
- 174.4531px
- 175.0000px
- 175.5469px
- 176.0938px
- 176.6406px
- 177.1875px
- 177.7344px
- 178.2812px
- 178.8281px
- 179.3750px
- 179.9219px
- 180.4688px
- 181.0156px
- 181.5625px
- 182.1094px
- 182.6562px
- 183.2031px
- 183.7500px
- 184.2969px
- 184.8438px
- 185.3906px
- 185.9375px
- 186.4844px
- 187.0312px
- 187.5781px
- 188.1250px
- 188.6719px
- 189.2188px
- 189.7656px
- 190.3125px
- 190.8594px
- 191.4062px
- 191.9531px
- 192.5000px
- 193.0469px
- 193.5938px
- 194.1406px
- 194.6875px
- 195.2344px
- 195.7812px
- 196.3281px
- 200.1562px
- 200.7031px
- 201.2500px
- 201.7969px
- 202.3438px
- 202.8906px
- 203.4375px
- 203.9844px
- 204.5312px
- 205.0781px
- 205.6250px
- 206.1719px
- 206.7188px
- 207.2656px
- 207.8125px
- 208.3594px
- 208.9062px
- 209.4531px
- 210.0000px
- 210.5469px
- 211.0938px
- 211.6406px
- 212.1875px
- 212.7344px
- 213.2812px
- 213.8281px
- 214.3750px
- 214.9219px
- 215.4688px
- 216.0156px
- 216.5625px
- 217.1094px
- 217.6562px
- 218.2031px
- 218.7500px
- 219.2969px
- 219.8438px
- 220.3906px
- 220.9375px
- 221.4844px
- 222.0312px
- 222.5781px
- 223.1250px
- 223.6719px
- 224.2188px
- 224.7656px
- 225.3125px
- 225.8594px
- 226.4062px
- 226.9531px
- 227.5000px
- 228.0469px
- 228.5938px
- 229.1406px
- 229.6875px
- 230.2344px
- 230.7812px
- 231.3281px
- 231.8750px
- 232.4219px
- 232.9688px
- 233.5156px
- 234.0625px
- 234.6094px
- 235.1562px
- 235.7031px
- 236.2500px
- 236.7969px
- 237.3438px
- 237.8906px
- 238.4375px
- 238.9844px
- 239.5312px
- 240.0781px
- 240.6250px
- 241.1719px
- 241.7188px
- 242.2656px
- 242.8125px
- 243.3594px
- 243.9062px
- 244.4531px
- 245.0000px
- 245.5469px
- 246.0938px
- 246.6406px
- 247.1875px
- 247.7344px
- 248.2812px
- 248.8281px
- 249.3750px
- 249.9219px
- 250.4688px
- 251.0156px
- 251.5625px
- 252.1094px
- 252.6562px
- 253.2031px
- 253.7500px
- 254.2969px
- 254.8438px
- 255.3906px
- 255.9375px
- 256.4844px
- 257.0312px
- 257.5781px
- 258.1250px
- 258.6719px
- 259.2188px
- 259.7656px
- 260.3125px
- 260.8594px
- 261.4062px
- 261.9531px
- 262.5000px
- 263.0469px
- 263.5938px
- 264.1406px
- 264.6875px
- 265.2344px
- 265.7812px
- 266.3281px
- 266.8750px
- 267.4219px
- 267.9688px
- 268.5156px
- 269.0625px
- 269.6094px
- 270.1562px
- 270.7031px
- 271.2500px
- 271.7969px
- 272.3438px
- 272.8906px
- 273.4375px
- 273.9844px
- 274.5312px
- 275.0781px
- 275.6250px
- 276.1719px
- 276.7188px
- 277.2656px
- 277.8125px
- 278.3594px
- 278.9062px
- 279.4531px
- 280.0000px
- 280.5469px
- 281.0938px
- 281.6406px
- 282.1875px
- 282.7344px
- 283.2812px
- 283.8281px
- 284.3750px
- 284.9219px
- 285.4688px
- 286.0156px
- 286.5625px
- 287.1094px
- 287.6562px
- 288.2031px
- 288.7500px
- 289.2969px
- 289.8438px
- 290.3906px
- 290.9375px
- 291.4844px
- 292.0312px
- 292.5781px
- 293.1250px
- 293.6719px
- 294.2188px
- 294.7656px
- 295.3125px
- 295.8594px
- 296.4062px
- 296.9531px
- 297.5000px
- 298.0469px
- 298.5938px
- 299.1406px
- 299.6875px
- 300.2344px
- 300.7812px
- 301.3281px
- 301.8750px
- 302.4219px
- 302.9688px
- 303.5156px
- 304.0625px
- 304.6094px
- 305.1562px
- 305.7031px
- 306.2500px
- 306.7969px
- 307.3438px
- 307.8906px
- 308.4375px
- 308.9844px
- 309.5312px
- 310.0781px
- 310.6250px
- 311.1719px
- 311.7188px
- 312.2656px
- 312.8125px
- 313.3594px
- 313.9062px
- 314.4531px
- 315.0000px
- 315.5469px
- 316.0938px
- 316.6406px
- 317.1875px
- 317.7344px
- 318.2812px
- 318.8281px
- 319.3750px
- 319.9219px
- 320.4688px
- 321.0156px
- 321.5625px
- 322.1094px
- 322.6562px
- 323.2031px
- 323.7500px
- 324.2969px
- 324.8438px
- 325.3906px
- 325.9375px
- 326.4844px
- 327.0312px
- 327.5781px
- 328.1250px
- 328.6719px
- 329.2188px
- 329.7656px
- 330.3125px
- 330.8594px
- 331.4062px
- 331.9531px
- 332.5000px
- 333.0469px
- 333.5938px
- 334.1406px
- 334.6875px
- 335.2344px
- 335.7812px
- 336.3281px
- 336.8750px
- 337.4219px
- 337.9688px
- 338.5156px
- 339.0625px
- 339.6094px
- 340.1562px
- 340.7031px
- 341.2500px
- 341.7969px
- 342.3438px
- 342.8906px
- 343.4375px
- 343.9844px
- 344.5312px
- 345.0781px
- 345.6250px
- 346.1719px
- 346.7188px
- 347.2656px
- 347.8125px
- 348.3594px
- 348.9062px
- 349.4531px
- 350.0000px
- 350.5469px
- 351.0938px
- 351.6406px
- 352.1875px
- 352.7344px
- 353.2812px
- 353.8281px
- 354.3750px
- 354.9219px
- 355.4688px
- 356.0156px
- 356.5625px
- 357.1094px
- 357.6562px
- 358.2031px
- 358.7500px
- 359.2969px
- 359.8438px
- 360.3906px
- 360.9375px
- 361.4844px
- 362.0312px
- 362.5781px
- 363.1250px
- 363.6719px
- 364.2188px
- 364.7656px
- 365.3125px
- 365.8594px
- 366.4062px
- 366.9531px
- 367.5000px
- 368.0469px
- 368.5938px
- 369.1406px
- 369.6875px
- 370.2344px
- 370.7812px
- 371.3281px
- 371.8750px
- 372.4219px
- 372.9688px
- 373.5156px
- 374.0625px
- 374.6094px
- 375.1562px
- 375.7031px
- 376.2500px
- 376.7969px
- 377.3438px
- 377.8906px
- 378.4375px
- 378.9844px
- 379.5312px
- 380.0781px
- 380.6250px
- 381.1719px
- 381.7188px
- 382.2656px
- 382.8125px
- 383.3594px
- 383.9062px
- 384.4531px
- 385.0000px
- 385.5469px
- 386.0938px
- 386.6406px
- 387.1875px
- 387.7344px
- 388.2812px
- 388.8281px
- 389.3750px
- 389.9219px
- 390.4688px
- 391.0156px
- 391.5625px
- 392.1094px
- 392.6562px
- 393.2031px
- 393.7500px
- 394.2969px
- 394.8438px
- 395.3906px
- 395.9375px
- 396.4844px
- 397.0312px
- 397.5781px
- 398.1250px
- 398.6719px
- 399.2188px
- 399.7656px
- 400.3125px
- 400.8594px
- 401.4062px
- 401.9531px
- 402.5000px
- 403.0469px
- 403.5938px
- 404.1406px
- 404.6875px
- 405.2344px
- 405.7812px
- 406.3281px
- 406.8750px
- 407.4219px
- 407.9688px
- 408.5156px
- 409.0625px
- 409.6094px
- 410.1562px
- 410.7031px
- 411.2500px
- 411.7969px
- 412.3438px
- 412.8906px
- 413.4375px
- 413.9844px
- 414.5312px
- 415.0781px
- 415.6250px
- 416.1719px
- 416.7188px
- 417.2656px
- 417.8125px
- 418.3594px
- 418.9062px
- 419.4531px
- 420.0000px
- 420.5469px
- 421.0938px
- 421.6406px
- 422.1875px
- 422.7344px
- 423.2812px
- 423.8281px
- 424.3750px
- 424.9219px
- 425.4688px
- 426.0156px
- 426.5625px
- 427.1094px
- 427.6562px
- 428.2031px
- 428.7500px
- 429.2969px
- 429.8438px
- 430.3906px
- 430.9375px
- 431.4844px
- 432.0312px
- 432.5781px
- 433.1250px
- 433.6719px
- 434.2188px
- 434.7656px
- 435.3125px
- 435.8594px
- 436.4062px
- 436.9531px
- 437.5000px
- 438.0469px
- 438.5938px
- 439.1406px
- 439.6875px
- 440.2344px
- 440.7812px
- 441.3281px
- 441.8750px
- 442.4219px
- 442.9688px
- 443.5156px
- 444.0625px
- 444.6094px
- 445.1562px
- 445.7031px
- 446.2500px
- 446.7969px
- 447.3438px
- 447.8906px
- 448.4375px
- 448.9844px
- 449.5312px
- 450.0781px
- 450.6250px
- 451.1719px
- 451.7188px
- 452.2656px
- 452.8125px
- 453.3594px
- 453.9062px
- 454.4531px
- 455.0000px
- 455.5469px
- 456.0938px
- 456.6406px
- 457.1875px
- 457.7344px
- 458.2812px
- 458.8281px
- 459.3750px
- 459.9219px
- 460.4688px
- 461.0156px
- 461.5625px
- 462.1094px
- 462.6562px
- 463.2031px
- 463.7500px
- 464.2969px
- 464.8438px
- 465.3906px
- 465.9375px
- 466.4844px
- 467.0312px
- 467.5781px
- 468.1250px
- 468.6719px
- 469.2188px
- 469.7656px
- 470.3125px
- 470.8594px
- 471.4062px
- 471.9531px
- 472.5000px
- 473.0469px
- 473.5938px
- 474.1406px
- 474.6875px
- 475.2344px
- 475.7812px
- 476.3281px
- 476.8750px
- 477.4219px
- 477.9688px
- 478.5156px
- 479.0625px
- 479.6094px
- 480.1562px
- 480.7031px
- 481.2500px
- 481.7969px
- 482.3438px
- 482.8906px
- 483.4375px
- 483.9844px
- 484.5312px
- 485.0781px
- 485.6250px
- 486.1719px
- 486.7188px
- 487.2656px
- 487.8125px
- 488.3594px
- 488.9062px
- 489.4531px
- 490.0000px
- 490.5469px
- 491.0938px
- 491.6406px
- 492.1875px
- 492.7344px
- 493.2812px
- 493.8281px
- 494.3750px
- 494.9219px
- 495.4688px
- 496.0156px
- 496.5625px
- 497.1094px
- 497.6562px
- 498.2031px
- 498.7500px
- 499.2969px
- 499.8438px
- 500.3906px
- 500.9375px
- 501.4844px
- 502.0312px
- 502.5781px
- 503.1250px
- 503.6719px
- 504.2188px
- 504.7656px
- 505.3125px
- 505.8594px
- 506.4062px
- 506.9531px
- 507.5000px
- 508.0469px
- 508.5938px
- 509.1406px
- 509.6875px
- 510.2344px
- 510.7812px
- 511.3281px
- 511.8750px
- 512.4219px
- 512.9688px
- 513.5156px
- 514.0625px
- 514.6094px
- 515.1562px
- 515.7031px
- 516.2500px
- 516.7969px
- 517.3438px
- 517.8906px
- 518.4375px
- 518.9844px
- 519.5312px
- 520.0781px
- 520.6250px
- 521.1719px
- 521.7188px
- 522.2656px
- 522.8125px
- 523.3594px
- 523.9062px
- 524.4531px
- 525.0000px
- 525.5469px
- 526.0938px
- 526.6406px
- 527.1875px
- 527.7344px
- 528.2812px
- 528.8281px
- 529.3750px
- 529.9219px
- 530.4688px
- 531.0156px
- 531.5625px
- 532.1094px
- 532.6562px
- 533.2031px
- 533.7500px
- 534.2969px
- 534.8438px
- 535.3906px
- 535.9375px
- 536.4844px
- 537.0312px
- 537.5781px
- 538.1250px
- 538.6719px
- 539.2188px
- 539.7656px
- 540.3125px
- 540.8594px
- 541.4062px
- 541.9531px
- 542.5000px
- 543.0469px
- 543.5938px
- 544.1406px
- 544.6875px
- 545.2344px
- 545.7812px
- 546.3281px
- 710.9375px
- 3.2812px
- 3.8281px
- 4.3750px
- 4.9219px
- 5.4688px
- 6.0156px
- 6.5625px
- 7.1094px
- 7.6562px
- 8.2031px
- 8.7500px
- 9.2969px
- 9.8438px
- 10.3906px
- 10.9375px
- 11.4844px
- 12.0312px
- 12.5781px
- 13.1250px
- 13.6719px
- 15.3125px
- 16.4062px
- 17.5000px
- 18.5938px
- 19.6875px
- 20.7812px
- 21.8750px
- 22.9688px
- 26.2500px
-
diff --git a/modules/mogo-module-guide/src/main/res/values/strings.xml b/modules/mogo-module-guide/src/main/res/values/strings.xml
deleted file mode 100644
index 6ce77e8b38..0000000000
--- a/modules/mogo-module-guide/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
- mogo-module-guide-agreement
- 左滑了解更多
- 进入首页
- 下一步
- 结束
-
- 欢迎使用’蘑菇车联‘,您下次可以直接对我说,打开’蘑菇车联‘来直接进入应用,点击左下方按钮进行摄像头设置
- 左边是道路事件的播报,点击右边地图上的事件标示可以查看事件详情,或者直接唤醒小智说,中关村附近堵不堵,来查询目的地周围路况
- 这里是道路信息显示,点击后可查看事件详情
- 这里是事件汇总,您可以查看您参与的事件和您的分享记录
- 更多设置,在左上角的设置功能中,点击右下角的分享,可以把路况分享给其他车友,或者直接唤醒小智说,上报路况
- 我们希望让您的出行更加安全高效,更多功能等着你去发现,快去体验体验吧
-
diff --git a/modules/mogo-module-guide/src/test/java/com/mogo/module/guide/agreement/ExampleUnitTest.kt b/modules/mogo-module-guide/src/test/java/com/mogo/module/guide/agreement/ExampleUnitTest.kt
deleted file mode 100644
index 7570d3781c..0000000000
--- a/modules/mogo-module-guide/src/test/java/com/mogo/module/guide/agreement/ExampleUnitTest.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.mogo.module.guide.agreement
-
-import org.junit.Test
-
-import org.junit.Assert.*
-
-/**
- * Example local unit test, which will execute on the development machine (host).
- *
- * See [testing documentation](http://d.android.com/tools/testing).
- */
-class ExampleUnitTest {
- @Test
- fun addition_isCorrect() {
- assertEquals(4, 2 + 2)
- }
-}
diff --git a/modules/mogo-module-media/.gitignore b/modules/mogo-module-media/.gitignore
deleted file mode 100644
index 426a199cc8..0000000000
--- a/modules/mogo-module-media/.gitignore
+++ /dev/null
@@ -1,14 +0,0 @@
-*.iml
-.gradle
-/local.properties
-/.idea/caches
-/.idea/libraries
-/.idea/modules.xml
-/.idea/workspace.xml
-/.idea/navEditor.xml
-/.idea/assetWizardSettings.xml
-.DS_Store
-/build
-/captures
-.externalNativeBuild
-.cxx
\ No newline at end of file
diff --git a/modules/mogo-module-media/build.gradle b/modules/mogo-module-media/build.gradle
deleted file mode 100644
index e378c9aa3f..0000000000
--- a/modules/mogo-module-media/build.gradle
+++ /dev/null
@@ -1,73 +0,0 @@
-apply plugin: 'com.android.library'
-apply plugin: 'com.alibaba.arouter'
-
-android {
- compileSdkVersion rootProject.ext.android.compileSdkVersion
- buildToolsVersion rootProject.ext.android.buildToolsVersion
- defaultConfig {
- minSdkVersion rootProject.ext.android.minSdkVersion
- targetSdkVersion rootProject.ext.android.targetSdkVersion
- versionCode Integer.valueOf(VERSION_CODE)
- versionName getValueFromRootProperties("${project.name.replace("-", "_").toUpperCase()}_VERSION")
-
- testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
- consumerProguardFiles 'consumer-rules.pro'
-
- javaCompileOptions {
- annotationProcessorOptions {
- arguments = [AROUTER_MODULE_NAME: project.getName()]
- }
- }
- }
-
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
- }
- }
-
- compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
- }
-
-}
-
-dependencies {
- implementation fileTree(dir: 'libs', include: ['*.aar'])
-
- annotationProcessor rootProject.ext.dependencies.aroutercompiler
- implementation rootProject.ext.dependencies.arouter
- implementation rootProject.ext.dependencies.rxandroid
- implementation rootProject.ext.dependencies.androidxappcompat
- implementation rootProject.ext.dependencies.androidxconstraintlayout
-
- // 爱趣听sdk上传到了公司的maven,用来规避RELEASE时ClassDefNotFound异常,后续若爱趣听有新的sdk也需要上传maven
- implementation "com.mogo.tencent.wecarflow:mogo-wecarflow:+@aar"
- implementation "com.mogo.kwmusic:mogo-kwmusic:+"
-
- implementation rootProject.ext.dependencies.callchatprovider
-
- if (Boolean.valueOf(RELEASE)) {
- implementation rootProject.ext.dependencies.mogomap
- implementation rootProject.ext.dependencies.mogoutils
- implementation rootProject.ext.dependencies.mogocommons
- implementation rootProject.ext.dependencies.mogoserviceapi
- implementation rootProject.ext.dependencies.mogoservice
- implementation rootProject.ext.dependencies.moduleservice
- implementation rootProject.ext.dependencies.modulecommon
- implementation rootProject.ext.dependencies.mogomoduleauth
- } else {
- implementation project(":libraries:mogo-map")
- implementation project(":foudations:mogo-utils")
- implementation project(":foudations:mogo-commons")
- implementation project(':services:mogo-service-api')
- implementation project(':services:mogo-service')
- implementation project(':modules:mogo-module-common')
- implementation project(':modules:mogo-module-service')
- implementation project(':modules:mogo-module-authorize')
- }
-}
-
-apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()
\ No newline at end of file
diff --git a/modules/mogo-module-media/consumer-rules.pro b/modules/mogo-module-media/consumer-rules.pro
deleted file mode 100644
index f1ea2b90d5..0000000000
--- a/modules/mogo-module-media/consumer-rules.pro
+++ /dev/null
@@ -1,11 +0,0 @@
-#-----MediaModule-----
--dontwarn com.mogo.module.media.**
--keep class com.mogo.module.media.api.* { *; }
--keep class com.mogo.module.media.constants.* { *; }
--keep class com.mogo.module.media.model.** { *; }
--keep class com.mogo.module.media.view.* { *; }
--keep class com.mogo.module.media.widget.** { *; }
--keep class com.mogo.module.media.receiver.* { *; }
--keep class com.mogo.module.media.utils.OnBitmapToLocalListener
--keep class com.mogo.module.media.utils.OnCompressListener
--keep class com.mogo.module.media.MediaConstants{*;}
\ No newline at end of file
diff --git a/modules/mogo-module-media/gradle.properties b/modules/mogo-module-media/gradle.properties
deleted file mode 100644
index 8ff91031eb..0000000000
--- a/modules/mogo-module-media/gradle.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-GROUP=com.mogo.module
-POM_ARTIFACT_ID=module-media
-VERSION_CODE=1
diff --git a/modules/mogo-module-media/proguard-rules.pro b/modules/mogo-module-media/proguard-rules.pro
deleted file mode 100644
index 0d676ccbbf..0000000000
--- a/modules/mogo-module-media/proguard-rules.pro
+++ /dev/null
@@ -1,35 +0,0 @@
-# Add project specific ProGuard rules here.
-# You can control the set of applied configuration files using the
-# proguardFiles setting in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
-
-# Uncomment this to preserve the line number information for
-# debugging stack traces.
-#-keepattributes SourceFile,LineNumberTable
-
-# If you keep the line number information, uncomment this to
-# hide the original source file name.
-#-renamesourcefileattribute SourceFile
-
-#-----MediaModule-----
--dontwarn com.mogo.module.media.**
--keep class com.mogo.module.media.listener.** { *; }
--keep class com.mogo.module.media.model.** { *; }
--keep class com.mogo.module.media.view.** { *; }
--keep class com.mogo.module.media.widget.** { *; }
--keep class com.mogo.module.media.api.** { *; }
--keep class com.mogo.module.media.constants.** { *; }
--keep class com.mogo.module.media.presenter.** { *; }
--keep class com.mogo.module.media.receiver.** { *; }
--keep class com.mogo.module.media.utils.OnBitmapToLocalListener
--keep class com.mogo.module.media.utils.OnCompressListener
--keep class com.mogo.module.media.MediaConstants
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/androidTest/java/com/mogo/module/media/ExampleInstrumentedTest.java b/modules/mogo-module-media/src/androidTest/java/com/mogo/module/media/ExampleInstrumentedTest.java
deleted file mode 100644
index 2ac6fb5988..0000000000
--- a/modules/mogo-module-media/src/androidTest/java/com/mogo/module/media/ExampleInstrumentedTest.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.mogo.module.media;
-
-import android.content.Context;
-
-import androidx.test.platform.app.InstrumentationRegistry;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import static org.junit.Assert.*;
-
-/**
- * Instrumented test, which will execute on an Android device.
- *
- * @see Testing documentation
- */
-@RunWith(AndroidJUnit4.class)
-public class ExampleInstrumentedTest {
- @Test
- public void useAppContext() {
- // Context of the app under test.
- Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
-
- assertEquals("com.mogo.module.media", appContext.getPackageName());
- }
-}
diff --git a/modules/mogo-module-media/src/main/AndroidManifest.xml b/modules/mogo-module-media/src/main/AndroidManifest.xml
deleted file mode 100644
index 4292dc7f05..0000000000
--- a/modules/mogo-module-media/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/assets/13646-rugby-loader.json b/modules/mogo-module-media/src/main/assets/13646-rugby-loader.json
deleted file mode 100644
index 70c3b84438..0000000000
--- a/modules/mogo-module-media/src/main/assets/13646-rugby-loader.json
+++ /dev/null
@@ -1 +0,0 @@
-{"v":"5.5.9","fr":30,"ip":0,"op":17,"w":500,"h":500,"nm":"Base Ball","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 17","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.166,"y":0},"t":23,"s":[295.125,240.875,0],"to":[0,0,0],"ti":[0,0,0]},{"t":37,"s":[287.625,240.875,0]}],"ix":2},"a":{"a":0,"k":[37.625,-9.125,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[35.375,-9.125],[39.875,-9.125]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.313725490196,0.313725490196,0.313725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.956862804936,0.63137254902,0.564705882353,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.211],"y":[0]},"t":23,"s":[100]},{"t":33,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.211],"y":[0]},"t":29,"s":[100]},{"t":38,"s":[0]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 2","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":23,"op":36,"st":23,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 16","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.115,"y":0},"t":26,"s":[299.938,258.875,0],"to":[0,0,0],"ti":[0,0,0]},{"t":40,"s":[287.438,258.875,0]}],"ix":2},"a":{"a":0,"k":[35.938,8.875,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[30.625,8.875],[41.25,8.875]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.313725490196,0.313725490196,0.313725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.956862804936,0.63137254902,0.564705882353,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.211],"y":[0]},"t":26,"s":[100]},{"t":36,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.211],"y":[0]},"t":32,"s":[100]},{"t":41,"s":[0]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 2","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":26,"op":39,"st":26,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 15","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.115,"y":0},"t":23,"s":[300.188,275.812,0],"to":[0,0,0],"ti":[0,0,0]},{"t":36,"s":[282.688,275.812,0]}],"ix":2},"a":{"a":0,"k":[32.688,25.812,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[44.25,25.625],[48.75,25.625]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.313725490196,0.313725490196,0.313725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.956862804936,0.63137254902,0.564705882353,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.211],"y":[0]},"t":23,"s":[100]},{"t":33,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.211],"y":[0]},"t":28,"s":[100]},{"t":34,"s":[0]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 2","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[16.625,26],[34.875,26]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.313725490196,0.313725490196,0.313725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.956862804936,0.63137254902,0.564705882353,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.211],"y":[0]},"t":27,"s":[100]},{"t":37,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.211],"y":[0]},"t":33,"s":[100]},{"t":43,"s":[0]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 2","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":23,"op":35,"st":23,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 9","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.166,"y":0},"t":2,"s":[295.125,240.875,0],"to":[0,0,0],"ti":[0,0,0]},{"t":16,"s":[287.625,240.875,0]}],"ix":2},"a":{"a":0,"k":[37.625,-9.125,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[35.375,-9.125],[39.875,-9.125]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.313725490196,0.313725490196,0.313725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.956862804936,0.63137254902,0.564705882353,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.211],"y":[0]},"t":2,"s":[100]},{"t":12,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.211],"y":[0]},"t":8,"s":[100]},{"t":17,"s":[0]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 2","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":2,"op":15,"st":2,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 8","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.115,"y":0},"t":5,"s":[299.938,258.875,0],"to":[0,0,0],"ti":[0,0,0]},{"t":19,"s":[287.438,258.875,0]}],"ix":2},"a":{"a":0,"k":[35.938,8.875,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[30.625,8.875],[41.25,8.875]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.313725490196,0.313725490196,0.313725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.956862804936,0.63137254902,0.564705882353,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.211],"y":[0]},"t":5,"s":[100]},{"t":15,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.211],"y":[0]},"t":11,"s":[100]},{"t":20,"s":[0]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 2","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":5,"op":18,"st":5,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Shape Layer 7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.115,"y":0},"t":2,"s":[300.188,275.812,0],"to":[0,0,0],"ti":[0,0,0]},{"t":15,"s":[282.688,275.812,0]}],"ix":2},"a":{"a":0,"k":[32.688,25.812,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[44.25,25.625],[48.75,25.625]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.313725490196,0.313725490196,0.313725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.956862804936,0.63137254902,0.564705882353,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.211],"y":[0]},"t":2,"s":[100]},{"t":12,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.211],"y":[0]},"t":7,"s":[100]},{"t":13,"s":[0]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 2","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[16.625,26],[34.875,26]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.313725490196,0.313725490196,0.313725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.956862804936,0.63137254902,0.564705882353,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.211],"y":[0]},"t":6,"s":[100]},{"t":16,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.211],"y":[0]},"t":12,"s":[100]},{"t":22,"s":[0]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":4,"nm":"Trim Paths 2","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":2,"op":14,"st":2,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 6","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-6.969,-6.062,0],"ix":2},"a":{"a":0,"k":[-19.656,6.062,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-23.812,1.562],[-15.5,10.562]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.313725490196,0.313725490196,0.313725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.956862804936,0.63137254902,0.564705882353,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":61,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 5","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-13.406,-0.188,0],"ix":2},"a":{"a":0,"k":[-19.656,6.062,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-23.812,1.562],[-15.5,10.562]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.313725490196,0.313725490196,0.313725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.956862804936,0.63137254902,0.564705882353,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":61,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 4","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-19.656,6.062,0],"ix":2},"a":{"a":0,"k":[-19.656,6.062,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-23.812,1.562],[-15.5,10.562]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.313725490196,0.313725490196,0.313725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.956862804936,0.63137254902,0.564705882353,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":61,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[264.625,274.625,0],"to":[0,0,0],"ti":[0,0,0]},{"t":17,"s":[210.875,222.125,0]}],"ix":2,"x":"var $bm_rt;\n$bm_rt = loopOut('cycle');"},"a":{"a":0,"k":[-13.625,0.125,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-23.75,10],[-3.5,-9.75]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.313725490196,0.313725490196,0.313725490196,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.956862804936,0.63137254902,0.564705882353,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":61,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Effect","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[250,250,0],"ix":1},"s":{"a":0,"k":[147,147,100],"ix":6}},"ao":0,"w":500,"h":500,"ip":0,"op":61,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 11","parent":4,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-12.821,-0.393,0],"ix":2},"a":{"a":0,"k":[-12.821,-0.393,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[17.75,-18.75],[0,0],[-17.058,18.196]],"o":[[0,0],[-18.717,19.772],[0,0],[18.75,-20]],"v":[[17.75,-31],[-29.75,-17],[-43.5,31.5],[4.25,15.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.315119485294,0.315119485294,0.315119485294,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":61,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"Centre Part","parent":4,"tt":1,"refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-5.301,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2},"a":{"a":0,"k":[250,250,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":500,"h":500,"ip":0,"op":61,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 1","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-12.821,-0.393,0],"ix":2},"a":{"a":0,"k":[-12.821,-0.393,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[23.5,-23],[0,0],[-20.5,21.75]],"o":[[0,0],[-21.485,21.028],[0,0],[20.5,-21.75]],"v":[[17.75,-31],[-31.25,-18.25],[-43.5,31.5],[6.5,16.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.315119485294,0.315119485294,0.315119485294,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":94,"ix":2},"o":{"a":0,"k":142,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":61,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 10","parent":4,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-12.821,-0.393,0],"ix":2},"a":{"a":0,"k":[-12.821,-0.393,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[18.544,-17.965],[0,0],[-17.058,18.196]],"o":[[0,0],[-19.25,18.648],[0,0],[18.75,-20]],"v":[[17.75,-31],[-32.25,-17.75],[-43.5,31.5],[4.25,15.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.315119485294,0.315119485294,0.315119485294,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":61,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"color","parent":4,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-46.534,"ix":10},"p":{"a":0,"k":[-13.142,-0.536,0],"ix":2},"a":{"a":0,"k":[-12.892,-0.786,0],"ix":1},"s":{"a":0,"k":[83.074,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[65.681,75.156],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.956862804936,0.63137254902,0.564705882353,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-12.892,-0.786],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":61,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Shape Layer 12","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[231.153,249.422,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":8.5,"s":[231.153,253.097,0],"to":[0,0,0],"ti":[0,0,0]},{"t":17,"s":[231.153,249.422,0]}],"ix":2},"a":{"a":0,"k":[-12.821,-0.393,0],"ix":1},"s":{"a":0,"k":[147,147,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[23.5,-23],[0,0],[-20.5,21.75]],"o":[[0,0],[-21.485,21.028],[0,0],[20.5,-21.75]],"v":[[17.75,-31],[-31.25,-18.25],[-43.5,31.5],[6.5,16.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":94,"ix":2},"o":{"a":0,"k":142,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":61,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/assets/images/img_0.png b/modules/mogo-module-media/src/main/assets/images/img_0.png
deleted file mode 100644
index 34b602b89f..0000000000
Binary files a/modules/mogo-module-media/src/main/assets/images/img_0.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/assets/images/img_1.png b/modules/mogo-module-media/src/main/assets/images/img_1.png
deleted file mode 100644
index c7f4766de9..0000000000
Binary files a/modules/mogo-module-media/src/main/assets/images/img_1.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/assets/traffic_active_animator.json b/modules/mogo-module-media/src/main/assets/traffic_active_animator.json
deleted file mode 100644
index 753c8125f1..0000000000
--- a/modules/mogo-module-media/src/main/assets/traffic_active_animator.json
+++ /dev/null
@@ -1 +0,0 @@
-{"v":"5.5.9","fr":25,"ip":0,"op":40,"w":600,"h":600,"nm":"合成 2","ddd":0,"assets":[{"id":"image_0","w":249,"h":420,"u":"images/","p":"img_0.png","e":0},{"id":"image_1","w":606,"h":396,"u":"images/","p":"img_1.png","e":0},{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"tick2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":20,"s":[0],"e":[99]},{"t":22}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[473.856,259.731,0],"ix":2},"a":{"a":0,"k":[27.375,-11.375,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":20,"s":[0,0,100],"e":[80,80,100]},{"t":22}],"ix":6,"x":"var $bm_rt;\nvar amp, freq, decay, n, n, t, t, v;\namp = 0.1;\nfreq = 1;\ndecay = 4;\n$bm_rt = n = 0;\nif (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n}\nif (n == 0) {\n $bm_rt = t = 0;\n} else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n}\nif (n > 0) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n} else {\n $bm_rt = value;\n}"}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-36,-15.5],[-21,-0.75],[1.75,-22.25]],"c":false},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":8,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[45,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":20,"op":770,"st":20,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":" Round 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[474.319,259.882,0],"ix":2},"a":{"a":0,"k":[-9,-4,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":22,"s":[50,50,100],"e":[70,70,100]},{"t":25}],"ix":6,"x":"var $bm_rt;\nvar amp, freq, decay, n, n, t, t, v;\namp = 0.1;\nfreq = 1;\ndecay = 4;\n$bm_rt = n = 0;\nif (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n}\nif (n == 0) {\n $bm_rt = t = 0;\n} else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n}\nif (n > 0) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n} else {\n $bm_rt = value;\n}"}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[90,90],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":20,"s":[0.600000023842,0.600000023842,0.600000023842,1],"e":[0.196078434587,0.772549033165,1,1]},{"t":22}],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":20,"s":[100],"e":[50]},{"t":22}],"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-9.264,-4.264],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":20,"op":770,"st":20,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":" Round 8","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[2],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":9.899,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":20,"s":[0],"e":[1]},{"t":749}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[474.519,259.894,0],"ix":2},"a":{"a":0,"k":[-9,-4,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[50,50,100],"e":[159,159,100]},{"t":20}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[70,70],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.162408118154,0.778977397844,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-9.264,-4.264],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":20,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":" Round 9","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":9,"s":[2],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":18.899,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":29,"s":[0],"e":[1]},{"t":758}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[474.519,259.894,0],"ix":2},"a":{"a":0,"k":[-9,-4,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":9,"s":[50,50,100],"e":[159,159,100]},{"t":29}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[70,70],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.162408118154,0.778977397844,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-9.264,-4.264],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":9,"op":29,"st":9,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":" Round 7","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":15,"s":[2],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":24.899,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":35,"s":[0],"e":[1]},{"t":764}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[474.519,259.894,0],"ix":2},"a":{"a":0,"k":[-9,-4,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":15,"s":[50,50,100],"e":[159,159,100]},{"t":35}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[70,70],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.162408118154,0.778977397844,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-9.264,-4.264],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":15,"op":35,"st":15,"bm":0},{"ddd":0,"ind":6,"ty":2,"nm":"手机.png","cl":"png","refId":"image_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[472,302,0],"ix":2},"a":{"a":0,"k":[124.5,210,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":750,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"line 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[281,380.5,0],"ix":2},"a":{"a":0,"k":[-25.5,-79.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[34,-174.5],[74,-174.5]],"c":false},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.162408118154,0.778977397844,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-163.061,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状 2","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.162408118154,0.778977397844,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[73.195,-73.461],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状 1","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":20,"s":[100],"e":[7]},{"t":24}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":20,"s":[100],"e":[7]},{"t":28}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":20,"op":30,"st":20,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"line 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[281,380.5,0],"ix":2},"a":{"a":0,"k":[-25.5,-79.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[34,-174.5],[74,-174.5]],"c":false},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.162408118154,0.778977397844,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状 2","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[0.162408118154,0.778977397844,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[73.195,-73.461],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状 1","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":21,"s":[7],"e":[100]},{"t":25}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":21,"s":[7],"e":[100]},{"t":29}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":20,"op":30,"st":20,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"line 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[281,380.5,0],"ix":2},"a":{"a":0,"k":[-25.5,-79.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-7],[0,0]],"o":[[0,7],[0,0]],"v":[[-25,-107],[-25,-80]],"c":false},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.162408118154,0.778977397844,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":21,"s":[7],"e":[100]},{"t":25}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":21,"s":[7],"e":[100]},{"t":29}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":20,"op":30,"st":20,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"line","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[281,208.5,0],"ix":2},"a":{"a":0,"k":[-25.5,-106.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-7],[0,0]],"o":[[0,7],[0,0]],"v":[[-25,-107],[-25,-80]],"c":false},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.162408118154,0.778977397844,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":21,"s":[100],"e":[0]},{"t":24.5}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":21,"s":[100],"e":[0]},{"t":28}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":20,"op":30,"st":20,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"tick1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[283.556,288.743,0],"ix":2},"a":{"a":0,"k":[27.375,-11.375,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":10,"s":[100,100,100],"e":[50,50,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":15,"s":[50,50,100],"e":[100,100,100]},{"t":18}],"ix":6,"x":"var $bm_rt;\nvar amp, freq, decay, n, n, t, t, v;\namp = 0.1;\nfreq = 1;\ndecay = 4;\n$bm_rt = n = 0;\nif (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n}\nif (n == 0) {\n $bm_rt = t = 0;\n} else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n}\nif (n > 0) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n} else {\n $bm_rt = value;\n}"}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-36,-15.5],[-21,-0.75],[1.75,-22.25]],"c":false},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[45,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":16,"s":[0],"e":[100]},{"t":24}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":750,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":" Round 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[284.319,288.882,0],"ix":2},"a":{"a":0,"k":[-9,-4,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":10,"s":[100,100,100],"e":[80,80,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":15,"s":[80,80,100],"e":[100,100,100]},{"t":18}],"ix":6,"x":"var $bm_rt;\nvar amp, freq, decay, n, n, t, t, v;\namp = 0.1;\nfreq = 1;\ndecay = 4;\n$bm_rt = n = 0;\nif (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n}\nif (n == 0) {\n $bm_rt = t = 0;\n} else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n}\nif (n > 0) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n} else {\n $bm_rt = value;\n}"}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[90,90],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0.600000023842,0.600000023842,0.600000023842,1],"e":[0.196078431373,0.772549019608,1,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":10,"s":[0.196078431373,0.772549019608,1,1],"e":[0.196078434587,0.772549033165,1,1]},{"t":22}],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-9.264,-4.264],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":750,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"手机","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.517],"y":[0.999]},"o":{"x":[0.652],"y":[0.016]},"t":0,"s":[22],"e":[287.899]},{"t":25}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.99],"y":[1]},"o":{"x":[0.01],"y":[0]},"t":0,"s":[300],"e":[300]},{"t":25}],"ix":4}},"a":{"a":0,"k":[300,300,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":600,"h":600,"ip":0,"op":40,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"bule tick","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[300,300,0],"ix":2},"a":{"a":0,"k":[300,300,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":600,"h":600,"ip":0,"op":40,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":2,"nm":"车机.png","cl":"png","refId":"image_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[302,310,0],"ix":2},"a":{"a":0,"k":[303,198,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":40,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"形状图层 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[294.742,298.636,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[600,606.881],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"矩形路径 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[5.258,4.805],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":750,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/MediaCardViewFragment.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/MediaCardViewFragment.java
deleted file mode 100644
index 2d7e5713f4..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/MediaCardViewFragment.java
+++ /dev/null
@@ -1,2003 +0,0 @@
-package com.mogo.module.media;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.graphics.Bitmap;
-import android.graphics.Rect;
-import android.graphics.drawable.Drawable;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.RelativeLayout;
-import android.widget.SeekBar;
-import android.widget.TextView;
-
-import com.bumptech.glide.load.engine.DiskCacheStrategy;
-import com.bumptech.glide.request.RequestOptions;
-import com.bumptech.glide.request.target.SimpleTarget;
-import com.bumptech.glide.request.transition.Transition;
-import com.mogo.commons.mvp.MvpFragment;
-import com.mogo.commons.voice.AIAssist;
-import com.mogo.commons.voice.IMogoVoiceCmdCallBack;
-import com.mogo.map.MogoLatLng;
-import com.mogo.map.location.IMogoLocationListener;
-import com.mogo.map.location.MogoLocation;
-import com.mogo.map.marker.IMogoMarker;
-import com.mogo.map.marker.IMogoMarkerClickListener;
-import com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant;
-import com.mogo.module.authorize.authprovider.module.IMogoAcquireAuthorizeListener;
-import com.mogo.module.common.entity.MarkerLocation;
-import com.mogo.module.common.entity.MarkerShareMusic;
-import com.mogo.module.common.entity.MarkerShowEntity;
-import com.mogo.module.common.entity.MarkerUserInfo;
-import com.mogo.module.media.constants.EventConstants;
-import com.mogo.module.media.constants.LeTingFieldConstants;
-import com.mogo.module.media.constants.QQMusicFieldConstants;
-import com.mogo.module.media.constants.VoiceConstants;
-import com.mogo.module.media.dialog.MediaShareDialogFragment;
-import com.mogo.module.media.listener.NoDoubleClickListener;
-import com.mogo.module.media.model.LanRenInsertData;
-import com.mogo.module.media.model.LeTingNewsData;
-import com.mogo.module.media.model.MediaInfoData;
-import com.mogo.module.media.model.ShareLikeData;
-import com.mogo.module.media.model.ShareMediaJsonData;
-import com.mogo.module.media.presenter.MediaPresenter;
-import com.mogo.module.media.receiver.MediaSpeechReceiver;
-import com.mogo.module.media.utils.FastBlurUtil;
-import com.mogo.module.media.utils.MediaAnalyticsUtils;
-import com.mogo.module.media.utils.MusicControlBroadCast;
-import com.mogo.module.media.utils.StorageManager;
-import com.mogo.module.media.utils.TimeUtils;
-import com.mogo.module.media.utils.Utils;
-import com.mogo.module.media.view.MediaView;
-import com.mogo.module.media.widget.AnimCircleImageView;
-import com.mogo.module.media.widget.NoScrollSeekBar;
-import com.mogo.module.media.widget.RoundedImageView;
-import com.mogo.module.media.widget.ScrollingTextView;
-import com.mogo.module.media.widget.surfaceview.FrameTextureView;
-import com.mogo.service.intent.IMogoIntentListener;
-import com.mogo.service.module.IMogoModuleLifecycle;
-import com.mogo.service.statusmanager.IMogoStatusChangedListener;
-import com.mogo.service.statusmanager.StatusDescriptor;
-import com.mogo.utils.ActivityLifecycleManager;
-import com.mogo.utils.ThreadPoolService;
-import com.mogo.utils.TipToast;
-import com.mogo.utils.UiThreadHandler;
-import com.mogo.utils.glide.GlideApp;
-import com.mogo.utils.logger.Logger;
-import com.mogo.utils.network.utils.GsonUtil;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-
-/**
- * 音乐卡片Fragment
- */
-public class MediaCardViewFragment extends MvpFragment implements
- MediaView, IMogoMarkerClickListener,
- IMogoModuleLifecycle,
- IMogoLocationListener, View.OnClickListener, MediaShareDialogFragment.Callback {
-
- public static final String TAG = MediaCardViewFragment.class.getName();
- public static boolean isMediaResume = false;
- private Context mContext;
-
- private ImageView mShareImageView;
- private ImageView mFullScreenImageView;
-
- private LinearLayout mShaerBackView;
-
- private RelativeLayout mUserShareBackView;
- private ImageView mShareUserHeardImageView;
- private ScrollingTextView mShareUserNameTextView;
- private ImageView mShareLikeImageView;
- private TextView mShareLikeNumTextView;
-
- private RoundedImageView mShareSongImageView;
- private ScrollingTextView mShareSongNameTextView;
- private ScrollingTextView mShareSingerNameTextView;
-
- private LinearLayout mNoShareBackView;
- private ImageView mNoShareSongImageView;
- private ScrollingTextView mNoShareSongNameTextView;
- private ScrollingTextView mNoShareSingerNameTextView; //章节
-
- private ImageView mLastMusicImageView;
- private ImageView mMusicPlay;
- private ImageView mNextMusicImageView;
-
- private TextView mLeftTimeTextView;
- private TextView mRightTimeTextView;
- private NoScrollSeekBar mProgressBar;
- private FrameTextureView mAnimalSurfaceView;
- private View mBlurAbove;
-
- private MediaCardViewFragment.MediaStateReceiver mediaStateReceiver;
- private MediaCardViewFragment.MediaProcessReceiver mediaProcessReceiver;
- private MediaCardViewFragment.PlayingMusicReceiver playingMusicReceiver;
- private MediaCardViewFragment.MediaNewsPayInfo mediaNewsPayInfo;
- private MediaCardViewFragment.MediaCenterReceiver mediaCenterReceiver;
- private MediaSpeechShareReceiver mediaCanShareReceiver;
- private MediaInfoData mMediaInfoData;
- private int mShowPlayState;
-
- private View mWindowView;
- private IMogoMarker mLastClickedMarker;
- private AnimCircleImageView mCircleImg;
- private TextView mScrollText;
- private ImageView mWindowPlayPause;
- private ImageView mWindowPlayNext;
- private MediaShareDialogFragment mShareDilogFragment;
- private MediaMogoVoiceListener mMediaVoiceListener;
- private TextView mWindowCurrTime;
- private TextView mWindowMaxTime;
- private SeekBar mWindowProgress;
- private ImageView mBlurBg;
- private ShareLikeData.ShareLikeDataResult mLikeDataResult;
- private NoDoubleClickListener mNoDoubleClickListener;
-
- //是否提醒用户主动显示未分享
- private boolean mShowSharePush = false;
- private boolean mCardCenter = false;
- private boolean mHasAddWindow = false;
- private String mOldLoadUrl = "";
- private boolean mTwoChange = false;
- private boolean isFirstPlay = false;
- private boolean mFragmentResume = false;
- private ArrayList mLastAdasMarker = new ArrayList<>();
-
- private Runnable mRunnable = new Runnable() {
- @Override
- public void run() {
- MusicControlBroadCast.sendGetMusicPlayStateBroadcast();
- }
- };
- private MediaMogoStatusManager mMogoStatusChangeListener;
- private boolean mAdasShow = false;
- private boolean mAuthorShow = false;
-
- @Override
- public void onAttach(Context context) {
- super.onAttach(context);
- this.mContext = context;
- }
-
- @Override
- protected int getLayoutId() {
- return R.layout.module_media_card_fragment_view;
- }
-
- @Override
- public void onActivityCreated(Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
- getViewLifecycleOwner().getLifecycle().addObserver(mPresenter);
- mMediaVoiceListener = new MediaMogoVoiceListener();
- mMogoStatusChangeListener = new MediaMogoStatusManager();
- registerMediaReceiver();
- if (ServiceMediaHandler.getMogoRegisterCenter() != null){
- ServiceMediaHandler.getMogoRegisterCenter().registerMogoLocationListener(MediaConstants.MODULE_TYPE, this);
- ServiceMediaHandler.getMogoRegisterCenter().registerMogoMarkerClickListener(MediaConstants.MODULE_TYPE, this);
- ServiceMediaHandler.getMogoRegisterCenter().registerMogoModuleLifecycle(MediaConstants.MODULE_TYPE, this);
- }
-
- if (ServiceMediaHandler.getMogoVoiceManager() != null){
- ServiceMediaHandler.getMogoVoiceManager().registerIntentListener("com.zhidao.music.friend.query" ,mMediaVoiceListener);
- ServiceMediaHandler.getMogoVoiceManager().registerIntentListener("com.zhidao.music.user.query" ,mMediaVoiceListener);
- }
-
- if (ServiceMediaHandler.getIMogoStatusManager() != null){
- ServiceMediaHandler.getIMogoStatusManager().registerStatusChangedListener(MediaConstants.MODULE_TYPE,StatusDescriptor.ADAS_UI,mMogoStatusChangeListener);
- }
- ServiceMediaHandler.getMogoAuthorizeModuleManager().registerAuthorizeListener( AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_MUSIC, new IMogoAcquireAuthorizeListener() {
- @Override
- public void authorizeSuccess() {
- if (mAuthorShow){
- if (mPresenter != null){
- if (mCardCenter && mMediaInfoData != null && !mMediaInfoData.isLocalMedia() && (mMediaInfoData.getType() == 1 || mMediaInfoData.getType() == 2 || mMediaInfoData.getType() == 3)) {
- mPresenter.shareMusic(mMediaInfoData,false);
- }else{
- TipToast.shortTip("当前音频不可分享");
- AIAssist.getInstance(getActivity()).speakTTSVoice("当前音频不可分享",null);
- }
- }
- }else{
- showShareDialog();
- }
-
- }
-
- @Override
- public void authorizeFailed(String s) {
- //TipToast.shortTip("授权失败");
- }
-
- @Override
- public void forbiddenVoiceWhenAuthorize(String s) {
- Logger.d(TAG,"forbiddenVoiceWhenAuthorize");
- }
- });
-
- // registerNoWakeUpShareCmd();
- if (mPresenter != null ) {
- mPresenter.getShouldShare();
- }
- }
-
- @Override
- protected void initViews() {
-
- mAnimalSurfaceView = findViewById(R.id.media_animal_surface_view);
- mAnimalSurfaceView.setVisibility(View.GONE);
- mAnimalSurfaceView.setBitmapIds(Arrays.asList(Utils.getIconArray()));
- mAnimalSurfaceView.setDuration(15000);
- mAnimalSurfaceView.setRepeatTimes(FrameTextureView.INFINITE);
-
- mShareImageView = findViewById(R.id.share_id);
- mShareImageView.setVisibility(View.GONE);
- mFullScreenImageView = findViewById(R.id.full_screen_id);
- mFullScreenImageView.setVisibility(View.GONE);
- mShaerBackView = findViewById(R.id.share_back_id);
-
- mUserShareBackView = findViewById(R.id.share_user_back_id);
-
- mShareUserHeardImageView = findViewById(R.id.share_user_heardImage);
- mShareUserNameTextView = findViewById(R.id.share_user_name);
- mShareLikeImageView = findViewById(R.id.like_id);
- mShareLikeNumTextView = findViewById(R.id.like_num_id);
-
- mShareSongImageView = findViewById(R.id.share_medial_image_id);
- mShareSongNameTextView = findViewById(R.id.share_medial_song_name_id);
- mShareSingerNameTextView = findViewById(R.id.share_medial_singer_name_id);
-
- mNoShareBackView = findViewById(R.id.no_share_back_id);
- mNoShareSongImageView = findViewById(R.id.no_share_medial_image_id);
- mNoShareSongNameTextView = findViewById(R.id.no_share_medial_song_name_id);
- mNoShareSingerNameTextView = findViewById(R.id.no_share_medial_singer_name_id);
-
- mLastMusicImageView = findViewById(R.id.last_music);
- mMusicPlay = findViewById(R.id.play_pause_music);
- mNextMusicImageView = findViewById(R.id.next_music);
-
- mLeftTimeTextView = findViewById(R.id.left_time_progress);
- mRightTimeTextView = findViewById(R.id.right_all_time_progress);
- mProgressBar = findViewById(R.id.music_progress_bar);
- mBlurBg = findViewById(R.id.media_blur_img);
- mBlurAbove = findViewById(R.id.media_blur_img_above);
- mBlurAbove.setVisibility(View.VISIBLE);
-
- mNoDoubleClickListener = new NoDoubleClickListener() {
- @Override
- public void onClicks(View view) {
- if (view == mShareImageView) {
- boolean tneedAuthor = ServiceMediaHandler.getMogoAuthorizeModuleManager().needAuthorize(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_MUSIC);
- Logger.d(TAG,"是否授权 "+tneedAuthor);
- if (tneedAuthor){//需要授权
- closeAdasEvent();
- mAuthorShow = false;
- ServiceMediaHandler.getMogoAuthorizeModuleManager().invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_MUSIC);
- }else{
- mAuthorShow = false;
- showShareDialog();
- }
-
- try {
- if (mMediaInfoData != null){
- HashMap hashMap = new HashMap<>();
- hashMap.put("type",1);
- String trackId = "";
- if (mMediaInfoData.getType() == 1){
- trackId = EventConstants.EVENT_QQ_OPEN_SHARE_DIALOG_SHOW;
- }else if (mMediaInfoData.getType() == 2){
- trackId = EventConstants.EVENT_BOOK_OPEN_SHARE_DIALOG_SHOW;
- }else if (mMediaInfoData.getType() == 3){
- trackId = EventConstants.EVENT_NEWS_OPEN_SHARE_DIALOG_SHOW;
- }
- MediaAnalyticsUtils.track(trackId,hashMap);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- } else if (view == mLastMusicImageView) {
- if (mMediaInfoData != null) {
- MusicControlBroadCast.commandPre(mMediaInfoData.getType());
- HashMap hashMap = new HashMap<>();
- hashMap.put("type", 3);
- if (mMediaInfoData.getType() == 1){
- MediaAnalyticsUtils.track(EventConstants.EVENT_QQ_LAST_PLAY,hashMap);
- }else if (mMediaInfoData.getType() == 2){
- MediaAnalyticsUtils.track(EventConstants.EVENT_BOOK_LAST_PLAY,hashMap);
- }else if (mMediaInfoData.getType() == 3){
- MediaAnalyticsUtils.track(EventConstants.EVENT_NEWS_LAST_PLAY,hashMap);
- }
- }else{
- MusicControlBroadCast.commandPlayPause(1,2);
- }
- } else if (view == mMusicPlay) {
- if (isFirstPlay){
- if (mMediaInfoData != null){
- MusicControlBroadCast.listeningSendData(mMediaInfoData);
- }
- }
- if (mMediaInfoData != null) {
- MusicControlBroadCast.commandPlayPause(mMediaInfoData.getType(),mMediaInfoData.getPlayState());
- HashMap hashMap = new HashMap<>();
- hashMap.put("type", 3);
- int playstate = mMediaInfoData.getPlayState();
- if (mMediaInfoData.getType() == 1){
- MediaAnalyticsUtils.track(playstate == 1 ?EventConstants.EVENT_QQ_MUSIC_PAUSE:EventConstants.EVENT_QQ_MUSIC_START,hashMap);
- }else if (mMediaInfoData.getType() == 2){
- MediaAnalyticsUtils.track(playstate == 1 ?EventConstants.EVENT_BOOK_MUSIC_PAUSE:EventConstants.EVENT_BOOK_MUSIC_START,hashMap);
- }else if (mMediaInfoData.getType() == 3){
- MediaAnalyticsUtils.track(playstate == 1 ?EventConstants.EVENT_NEWS_MUSIC_PAUSE:EventConstants.EVENT_NEWS_MUSIC_START,hashMap);
- }
- }else{
- MusicControlBroadCast.qqPlayQQMusic();
- }
-
- } else if (view == mNextMusicImageView) {
- if (mMediaInfoData != null) {
- MusicControlBroadCast.commandNext(mMediaInfoData.getType());
- HashMap hashMap = new HashMap<>();
- hashMap.put("type", 3);
- if (mMediaInfoData.getType() == 1){
- MediaAnalyticsUtils.track(EventConstants.EVENT_QQ_Next_PLAY,hashMap);
- }else if (mMediaInfoData.getType() == 2){
- MediaAnalyticsUtils.track(EventConstants.EVENT_BOOK_Next_PLAY,hashMap);
- }else if (mMediaInfoData.getType() == 3){
- MediaAnalyticsUtils.track(EventConstants.EVENT_NEWS_Next_PLAY,hashMap);
- }
- }else{
- MusicControlBroadCast.commandPlayPause(1,2);
- }
- }else if (view == mShareLikeImageView){
- if (mPresenter != null && mLikeDataResult != null && !mLikeDataResult.checkLiked){
- mPresenter.likeShare(mLikeDataResult);
- }else{
- ifNeedRefreshMediaCard(true);
- }
- }
- }
- };
-
- mShareImageView.setOnClickListener(mNoDoubleClickListener);
- mFullScreenImageView.setOnClickListener(this);
- mShareLikeImageView.setOnClickListener(mNoDoubleClickListener);
- mLastMusicImageView.setOnClickListener(mNoDoubleClickListener);
- mMusicPlay.setOnClickListener(mNoDoubleClickListener);
- mNextMusicImageView.setOnClickListener(mNoDoubleClickListener);
-
- MediaInfoData sMediaInfoData = MusicControlBroadCast.getHisMedia();
- mMediaInfoData = sMediaInfoData;
- if (mMediaInfoData != null ){
- if (mRightTimeTextView != null){
- mRightTimeTextView.setText(Utils.calculateTime(mMediaInfoData.getMaxTime()));
- }
-
- if (mLeftTimeTextView != null){
- mLeftTimeTextView.setText("00:00");
- }
- }
-
- if (mMediaInfoData != null && !mHasAddWindow){
- addWindowView();
- }
-
- ifNeedRefreshMediaCard(true);
- mFullScreenImageView.setVisibility(View.VISIBLE);
- //发送消息 如果在播放就会返回状态进行更新
- UiThreadHandler.postDelayed(new Runnable() {
- @Override
- public void run() {
- MusicControlBroadCast.sendGetMusicPlayStateBroadcast();
- }
- },300);
-
- isFirstPlay = true;
- }
-
-
- @Override
- protected MediaPresenter createPresenter() {
- return new MediaPresenter(this);
- }
-
- @Override
- public void showSharePush(boolean show) {
- mShowSharePush = show;
- }
-
- @Override
- public void loadNearShareMusicSuccess(List list) {
- if (list == null || list.size() < 1) return;
- addNewMarker(list);
- }
-
- @Override
- public void loadFriendShareMusicSuccess(List list) {
- if (list == null || list.size() < 1) return;
- addNewMarker(list);
- }
-
- @Override
- public void loadShareLikeDataResultSuccess(ShareLikeData.ShareLikeDataResult likeDataResult,String mediaId) {
-
- if (mediaId == null){
- return;
- }
- if (mMediaInfoData == null){
- mShareLikeImageView.setImageResource(R.drawable.module_media_no_heart);
- return;
- }
-
- if (TextUtils.equals(mediaId,mMediaInfoData.getMediaId())){
- mLikeDataResult = likeDataResult;
- int likeNum = mLikeDataResult.likedCount;
- mShareLikeNumTextView.setText(likeNum > 99 ? "99+":likeNum+"");
- if (likeDataResult.checkLiked){
- mShareLikeImageView.setImageResource(R.drawable.module_media_have_heart);
- if (likeDataResult.likedCount <= 0){
- mLikeDataResult.likedCount = 1;
- mShareLikeNumTextView.setText("1");
- }
- }else {
- mShareLikeImageView.setImageResource(R.drawable.module_media_no_heart);
- }
- }
- }
-
- @Override
- public void likeShareSuccess() {
- if (mLikeDataResult != null){
- int likeNum = mLikeDataResult.likedCount+1;
-
- mShareLikeNumTextView.setText(likeNum > 99 ? "99+":likeNum+"");
- mLikeDataResult.likedCount = mLikeDataResult.likedCount + 1;
- mLikeDataResult.checkLiked = true;
- mShareLikeImageView.setImageResource(R.drawable.module_media_have_heart);
- if (mLikeDataResult.likedCount <= 0){
- mLikeDataResult.likedCount = 1;
- mShareLikeNumTextView.setText("1");
- }
- }else{
- mShareLikeImageView.setImageResource(R.drawable.module_media_no_heart);
- }
-
- }
-
- @Override
- public boolean onMarkerClicked(IMogoMarker marker) {
- clickMarkerOper(marker);
- return false;
- }
-
- private void clickMarkerOper(IMogoMarker marker) {
- Logger.d(TAG,"clickMarkerOper");
- try {
- if (marker != null && !marker.isDestroyed()) {
- MarkerShowEntity markerShowEntity = (MarkerShowEntity) marker.getObject();
-
- if (markerShowEntity != null && markerShowEntity.getBindObj() != null && markerShowEntity.getBindObj() instanceof MarkerShareMusic){
- MarkerShareMusic markerShareMusic = (MarkerShareMusic) markerShowEntity.getBindObj();
- if (markerShareMusic != null){
- if (mMediaInfoData != null && mMediaInfoData.getMediaId().equals(markerShareMusic.getMediaId())){
- if (mMediaInfoData.getPlayState() != 1){
- MusicControlBroadCast.commandPlayPause(mMediaInfoData.getType(),mMediaInfoData.getPlayState());
- }
- return;
- }
- MusicControlBroadCast.clickMarkerSendData(markerShareMusic);
- }
- }
-
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Override
- public void onPerform() {
- if (mMediaInfoData != null && mWindowView != null) {
- mWindowView.setVisibility(View.GONE);
- if (mCircleImg != null && mCircleImg.isRotationing()) {
- mCircleImg.stopAnim();
- }
- }
-
- if (mMediaInfoData != null && mMediaInfoData.getPlayState() == 1 && mNoShareBackView.getVisibility() == View.VISIBLE){
- if (mAnimalSurfaceView != null){
- mAnimalSurfaceView.setVisibility(View.VISIBLE);
- if (mFragmentResume)mAnimalSurfaceView.start(true);
- }
- }
- mCardCenter = true;
- }
-
- @Override
- public void onDisable() {
- if (mMediaInfoData != null && mWindowView != null) {
- if (mMediaInfoData.getType() == 1 || mMediaInfoData.getType() == 2 || mMediaInfoData.getType() == 3){
- mWindowView.setVisibility(View.VISIBLE);
- if (mCircleImg != null && mMediaInfoData.getPlayState() == 1 && mFragmentResume) {
- mCircleImg.startAnim();
- }
- }
- }
- if (mAnimalSurfaceView != null && mAnimalSurfaceView.getVisibility() == View.VISIBLE){
- mAnimalSurfaceView.setVisibility(View.GONE);
- mAnimalSurfaceView.pause();
- }
-
- mCardCenter = false;
- }
-
- @Override
- public void accOn() {
- if (mPresenter != null && !TimeUtils.isSameData(System.currentTimeMillis() + "", StorageManager.getShowPushShareTime())) {
- mPresenter.getShouldShare();
- }
- }
-
- @Override
- public void onClick(View view) {
- if (view == mFullScreenImageView) {
- if (mMediaInfoData != null) {
- MusicControlBroadCast.openMediaApp(mMediaInfoData.getType());
- } else {
- MusicControlBroadCast.openMediaApp(1);
- }
- }
- }
-
- private synchronized void showShareDialog() {
- closeAdasEvent();
-
- if (mShareDilogFragment != null && mShareDilogFragment.getDialog() != null && mShareDilogFragment.getDialog().isShowing()) {
- destroyShareDialogFragment();
- }else{
- mShareDilogFragment = null;
- }
-
- if (mCardCenter && mMediaInfoData != null && !mMediaInfoData.isLocalMedia() && (mMediaInfoData.getType() == 1 || mMediaInfoData.getType() == 2 || mMediaInfoData.getType() == 3)) {
- destroyShareDialogFragment();
- mShareDilogFragment = MediaShareDialogFragment.newInstance(mMediaInfoData,false);
- mShareDilogFragment.show(getChildFragmentManager(), "MediaShareDialogFragment");
- }else{
- TipToast.shortTip("当前音频不可分享");
- AIAssist.getInstance(getActivity()).speakTTSVoice("当前音频不可分享",null);
- }
- }
-
- private void closeAdasEvent() {
-// if (ServiceMediaHandler.getIMogoStatusManager().isADASShow() || mAdasShow){
-// ServiceMediaHandler.getMogoADASController().closeADAS();
-// Logger.d(TAG,"====关闭辅助驾驶=========");
-// }
- }
-
- /**
- * 关闭分享,免唤醒
- */
- private void destroyShareDialogFragment() {
- if (mShareDilogFragment != null && mShareDilogFragment.getDialog() != null
- && mShareDilogFragment.getDialog().isShowing()) {
- mShareDilogFragment.dismissAllowingStateLoss();
- mShareDilogFragment = null;
- }else{
- mShareDilogFragment = null;
- }
- }
-
- private void addWindowView() {
- if (ServiceMediaHandler.getMogoWindowManager() == null){
- return ;
- }
-
- if (!mHasAddWindow) {
- mHasAddWindow = true;
- mWindowView = LayoutInflater.from(mContext).inflate(R.layout.module_media_music_window_alert_layout, null);
- if (mCardCenter){
- mWindowView.setVisibility(View.GONE);
- } else{
- mWindowView.setVisibility(View.VISIBLE);
- }
-// if (ServiceMediaHandler.getIMogoStatusManager().isADASShow() || mAdasShow){
-//// if (){
-////
-//// }
-// }else {
-// mWindowView.setVisibility(View.GONE);
-// }
- mCircleImg = mWindowView.findViewById(R.id.window_circle_img);
- mScrollText = mWindowView.findViewById(R.id.window_scroll_txt);
- mWindowPlayPause = mWindowView.findViewById(R.id.window_play_pause);
- mWindowPlayNext = mWindowView.findViewById(R.id.window_music_next);
- mWindowCurrTime = mWindowView.findViewById(R.id.window_current_time);
- mWindowMaxTime = mWindowView.findViewById(R.id.window_max_time);
- mWindowProgress = mWindowView.findViewById(R.id.window_progress_bar);
- if (mWindowPlayPause != null){
- mWindowPlayPause.setImageResource(R.drawable.module_media_window_pop_pause);
- }
- int yPos = getContext().getResources().getDimensionPixelOffset(R.dimen.module_media_music_state_location);
- int xPos = getContext().getResources().getDimensionPixelOffset(R.dimen.module_media_music_state_location_x);
- ServiceMediaHandler.getMogoWindowManager().addView( mWindowView, xPos, yPos, false);
- updateWindowUI(true);
- mWindowView.setOnClickListener(new NoDoubleClickListener() {
- @Override
- public void onClicks(View view) {
- if (mMediaInfoData != null) {
- MusicControlBroadCast.openMediaApp(mMediaInfoData.getType());
- } else {
- MusicControlBroadCast.openMediaApp(1);
- }
- }
- });
-
- mWindowPlayPause.setOnClickListener(new NoDoubleClickListener() {
- @Override
- public void onClicks(View view) {
- if (isFirstPlay){
- if (mMediaInfoData != null){
-// if (ServiceMediaHandler.getIMogoStatusManager() != null && ServiceMediaHandler.getIMogoStatusManager().isADASShow()){
-// ServiceMediaHandler.getMogoADASController().closeADAS();
-// }
- MusicControlBroadCast.listeningSendData(mMediaInfoData);
- }
- }else{
- if (mMediaInfoData != null) {
-// if (ServiceMediaHandler.getIMogoStatusManager() != null && ServiceMediaHandler.getIMogoStatusManager().isADASShow()){
-// ServiceMediaHandler.getMogoADASController().closeADAS();
-// }
- MusicControlBroadCast.commandPlayPause(mMediaInfoData.getType(),mMediaInfoData.getPlayState());
- }
- }
- }
- });
-
- mWindowPlayNext.setOnClickListener(new NoDoubleClickListener() {
- @Override
- public void onClicks(View view) {
- if (mMediaInfoData != null) {
-// if (ServiceMediaHandler.getIMogoStatusManager() != null && ServiceMediaHandler.getIMogoStatusManager().isADASShow()){
-// ServiceMediaHandler.getMogoADASController().closeADAS();
-// }
- MusicControlBroadCast.commandNext(mMediaInfoData.getType());
- }
- }
- });
- }
- }
-
- private void updateWindowUI(){
- updateWindowUI(false);
- }
-
- private void updateWindowUI(boolean first) {
- if (mWindowView == null || mMediaInfoData == null) return;
- if (mMediaInfoData != null) {
- if (mCardCenter){
- mWindowView.setVisibility(View.GONE);
- }else{
- if (mMediaInfoData.getType() == 1 || mMediaInfoData.getType() == 2 || mMediaInfoData.getType() == 3){
- mWindowView.setVisibility(View.VISIBLE);
- }
- }
- }else{
- mWindowView.setVisibility(View.GONE);
- }
-
- if (mScrollText != null){
- mScrollText.setText(mMediaInfoData.getMediaName());
- }
-
- if (first || mMediaInfoData.getPlayState() == 1 || mMediaInfoData.getPlayState() == 2) {
- if (mWindowMaxTime != null) mWindowMaxTime.setText(Utils.calculateTime((int) mMediaInfoData.getMaxTime()));
- if (mWindowCurrTime != null) mWindowCurrTime.setText(Utils.calculateTime((int) mMediaInfoData.getCurTime()));
- }
-
- if (mCircleImg != null){
- com.bumptech.glide.request.RequestOptions options = new com.bumptech.glide.request.RequestOptions()
- .placeholder(R.drawable.module_media_share_default_icon);
- GlideApp.with(mContext).applyDefaultRequestOptions(options).load(mMediaInfoData.getMediaImg()).into(mCircleImg);
- }
-
- }
-
- private void ifNeedRefreshMediaCard(boolean change) {
- if (mMediaInfoData == null) {
- return;
- }
-
- Logger.d(TAG,"ifNeedRefreshMediaCard "+change);
- if (mMediaInfoData != null && change){
- String bimgUrl = mMediaInfoData.getMediaImg();
- if (!TextUtils.isEmpty(bimgUrl)) {
- if(!mOldLoadUrl.equals(bimgUrl)){
- mOldLoadUrl = bimgUrl;
- GlideApp.with(mContext)
- .asBitmap()
- .load(bimgUrl)
- .into(new SimpleTarget() {
- @Override
- public void onResourceReady( Bitmap resource, Transition super Bitmap> transition) {
-
- new Thread(new Runnable() {
- @Override
- public void run() {
- if (resource != null) {
- Bitmap newBitmap = FastBlurUtil.toBlur(resource, 10);
- getActivity().runOnUiThread(new Runnable() {
- @Override
- public void run() {
- mBlurBg.setImageBitmap(newBitmap);
- mBlurAbove.setVisibility(View.VISIBLE);
- }
- });
- }
- }
- }).start();
- }
-
- @Override
- public void onLoadStarted(Drawable placeholder) {
- super.onLoadStarted(placeholder);
- }
-
- @Override
- public void onLoadFailed(Drawable errorDrawable) {
- getActivity().runOnUiThread(new Runnable() {
- @Override
- public void run() {
- mBlurBg.setImageResource(R.drawable.module_media_no_img_default_icon);
- mBlurAbove.setVisibility(View.GONE);
- }
- });
- }
- });
- }
- }
- }
-
- MarkerShareMusic shareMediaMarkerInfo1 = null;
- if (mMediaInfoData != null && (mMediaInfoData.getPlayState() == 1)){
- ArrayList mtShareMusicList = new ArrayList<>();
- if (ServiceMediaHandler.getMarkerManager() != null){
- List< IMogoMarker > mogoMarkersList = ServiceMediaHandler.getMarkerManager().getMarkers(MediaConstants.MODULE_TYPE);
- if (mogoMarkersList != null){
- try {
- for (IMogoMarker mogoMarker:mogoMarkersList){
- if (mogoMarker != null && mogoMarker.getObject() != null && !mogoMarker.isDestroyed()){
- MarkerShowEntity markerShowEntity = (MarkerShowEntity) mogoMarker.getObject();
- if ( markerShowEntity.getBindObj()!= null){
- MarkerShareMusic markerShareMusic = (MarkerShareMusic) markerShowEntity.getBindObj();
- if (markerShareMusic != null){
- mtShareMusicList.add(markerShareMusic);
- }
- }
- }
-
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
-
- for (MarkerShareMusic shareMediaMarkerInfo : mtShareMusicList) {
- if (!TextUtils.isEmpty(mMediaInfoData.getMediaId()) && TextUtils.equals(shareMediaMarkerInfo.getMediaId(), mMediaInfoData.getMediaId())) {
- shareMediaMarkerInfo1 = shareMediaMarkerInfo;
- break;
- }
- }
- }
-
- if (shareMediaMarkerInfo1 == null) {
- //这里显示没有分享的样式
- mShaerBackView.setVisibility(View.GONE);
- mNoShareBackView.setVisibility(View.VISIBLE);
- mShareSongNameTextView.setText("");
- mShareSingerNameTextView.setText("");
- mShareUserNameTextView.setText("");
- String imgUrl = mMediaInfoData.getMediaImg();
- RequestOptions requestOptions = new RequestOptions()
- .placeholder(R.drawable.module_media_share_default_icon)
- .dontAnimate()
- .diskCacheStrategy(DiskCacheStrategy.RESOURCE);
- GlideApp.with(mContext).applyDefaultRequestOptions(requestOptions).load(imgUrl != null ? imgUrl : "").into(mNoShareSongImageView);
- mNoShareSongNameTextView.setText(mMediaInfoData.getMediaName());
- mNoShareSingerNameTextView.setText(mMediaInfoData.getMediaSinger());
-
- if (mAnimalSurfaceView != null && mCardCenter && mMediaInfoData.getPlayState() == 1){
- mAnimalSurfaceView.setVisibility(View.VISIBLE);
- if (mFragmentResume)mAnimalSurfaceView.start(true);
- }else{
- if (mAnimalSurfaceView != null){
- mAnimalSurfaceView.setVisibility(View.GONE);
- mAnimalSurfaceView.pause();
- }
- }
- } else {
- //这里显示有分享的样式 并且请求点赞个数
- mShaerBackView.setVisibility(View.VISIBLE);
- mNoShareBackView.setVisibility(View.GONE);
- if (mAnimalSurfaceView != null){
- mAnimalSurfaceView.setVisibility(View.GONE);
- mAnimalSurfaceView.pause();
- }
-
- mNoShareSongNameTextView.setText("");
- mNoShareSingerNameTextView.setText("");
-
- if (mMediaInfoData != null){
- String musicImg = mMediaInfoData.getMediaImg();
- RequestOptions musicImgRequestOptions = new RequestOptions()
- .placeholder(R.drawable.module_media_share_default_rect_icon)
- .dontAnimate()
- .diskCacheStrategy(DiskCacheStrategy.RESOURCE);
- GlideApp.with(getContext()).applyDefaultRequestOptions(musicImgRequestOptions).load(musicImg != null ? musicImg : "").into(mShareSongImageView);
- mShareSongNameTextView.setText(mMediaInfoData.getMediaName());
- mShareSingerNameTextView.setText(mMediaInfoData.getMediaSinger());
- }
-
- MarkerUserInfo markerUserInfo = shareMediaMarkerInfo1.getUserInfo();
- if (markerUserInfo != null){
- String userImg = markerUserInfo.getUserHead();
- RequestOptions requestOptions = new RequestOptions()
- .placeholder(R.drawable.module_media_head_default_img)
- .dontAnimate()
- .diskCacheStrategy(DiskCacheStrategy.RESOURCE);
- GlideApp.with(mContext).applyDefaultRequestOptions(requestOptions).load(userImg != null ? userImg : "").into(mShareUserHeardImageView);
- mShareUserNameTextView.setText(shareMediaMarkerInfo1.getUserInfo().getUserName());
-
- // mShareLikeNumTextView.setText(mLikeDataResult != null ? mLikeDataResult.likedCount+"":shareMediaMarkerInfo1.getLikeNumber()+"");
- }
-
- if (mPresenter != null && change){
- mPresenter.selectByPrimaryKey(shareMediaMarkerInfo1.getId(),mMediaInfoData.getMediaId());
- }
- }
-
- if (mMediaInfoData.isLocalMedia()) {
- //不能分项
- mShareImageView.setVisibility(View.GONE);
- } else {
- //可以分享
- mShareImageView.setVisibility(View.VISIBLE);
- }
-
- }
-
- private class PlayingMusicReceiver extends BroadcastReceiver{
-
- @Override
- public void onReceive(Context context, Intent intent) {
- try {
- if (intent != null){
- String mediaStr = intent.getStringExtra("mediaData");
- if (!TextUtils.isEmpty(mediaStr)){
- MediaInfoData data = (MediaInfoData) GsonUtil.arrayFromJson(mediaStr, MediaInfoData.class);
- if (data != null){
- MusicControlBroadCast.listeningSendData(data);
- }
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
-
- private class MediaCenterReceiver extends BroadcastReceiver{
-
- @Override
- public void onReceive(Context context, Intent intent) {
- try {
- if (intent != null){
- cardToCenter();
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
-
- private class MediaSpeechShareReceiver extends BroadcastReceiver{
-
- @Override
- public void onReceive(Context context, Intent intent) {
- if (intent != null){
- String cmdStr = intent.getStringExtra("command");
- Logger.d(TAG,"MediaSpeechShareReceiver"+cmdStr);
- if (cmdStr.equals("com.zhidao.multiMedia.share.allow")){
- //告诉小智语音,是否可以分享
- String typeStr = "音乐";
- try {
- String typeJson = intent.getExtras().getString("data");
- ShareMediaJsonData data = GsonUtil.objectFromJson(typeJson, ShareMediaJsonData.class);
- if (data != null) typeStr = data.type;
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- if (typeStr == null) typeStr = "音乐";
-
- int type = 1;
- if (typeStr.equals("音乐")){
- type = 1;
- }else if (typeStr.equals("书籍")){
- type = 2;
- }else if (typeStr.equals("新闻")){
- type = 3;
- }else{
- type = 1;
- }
- boolean canShare = false;
- String why = "没有可分享音频";
- int cannotType = 2;
- if (mFragmentResume && mCardCenter && mMediaInfoData != null && !mMediaInfoData.isLocalMedia() && mMediaInfoData.getType() == type){
- canShare = true;
- }else{
- canShare = false;
- }
-
- if (!mCardCenter){
- why = "媒体卡片不在C位";
- cannotType = 1;
- canShare = false;
- }
-
- boolean tneedAuthor = ServiceMediaHandler.getMogoAuthorizeModuleManager().needAuthorize(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_MUSIC);
- Logger.d(TAG,"是否授权 "+tneedAuthor+" resume "+mFragmentResume);
-
- if (!canShare){
- MusicControlBroadCast.ifCanShare(false,tneedAuthor,cannotType,why);
- return;
- }
-
- if (tneedAuthor){//需要授权
- if (mMediaInfoData != null) {
- mShowPlayState = mMediaInfoData.getPlayState();
- if (mShowPlayState == 1) {
- MusicControlBroadCast.commandPlayPause(mMediaInfoData.getType(),mMediaInfoData.getPlayState());
- }
- }
- mAuthorShow = true;
- closeAdasEvent();
- ServiceMediaHandler.getMogoAuthorizeModuleManager().invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_MUSIC);
- cannotType = 2;
- canShare = false;
- }
-
- MusicControlBroadCast.ifCanShare(canShare,!tneedAuthor,cannotType,why);
- if (canShare){
- showShareDialog();
- }
- }
- }
-
- }
- }
-
- /**
- * 音频播放状态改变广播监听
- */
- private class MediaStateReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- //用于请求点赞数
- boolean change = false;
- boolean cancleChoose = false;
- String ttMid = "";
- if (intent != null) {
- int type = intent.getIntExtra("type", -1);
- int playState = intent.getIntExtra(QQMusicFieldConstants.playState, 0);
- Logger.d("MediaStateReceiver", "===MediaStateReceiver==playState=="+playState+" type= "+type);
- if (playState == 1) {
- isFirstPlay = false;
- if (mMusicPlay != null){
- mMusicPlay.setImageResource(R.drawable.module_media_suspend);
- }
-
- if (mWindowPlayPause != null){
- mWindowPlayPause.setImageResource(R.drawable.module_media_window_pop_play);
- }
-
- if (mCircleImg != null){
- if (!mCardCenter && mFragmentResume){
- mCircleImg.startAnim();
- }else{
- mCircleImg.stopAnim();
- }
- }
-
- } else {
- if (mMusicPlay != null){
- mMusicPlay.setImageResource(R.drawable.module_media_play);
- }
-
- if (mWindowPlayPause != null){
- mWindowPlayPause.setImageResource(R.drawable.module_media_window_pop_pause);
- }
- if (mAnimalSurfaceView != null){
- mAnimalSurfaceView.setVisibility(View.GONE);
- mAnimalSurfaceView.pause();
- }
-
- if (mCircleImg != null) mCircleImg.stopAnim();
-
- if (type == 1 || type == 2 || type ==3){
- UiThreadHandler.removeCallbacks(mRunnable);
- UiThreadHandler.postDelayed(mRunnable,3000);
- }
-
- }
-
- if (playState == 1 || playState == 2){
- if (type == 1) {//qq音乐
-
- int maxTime = intent.getIntExtra(QQMusicFieldConstants.maxTime, 0);
- int curTime = intent.getIntExtra(QQMusicFieldConstants.curTime, 0);
- String mediaName = intent.getStringExtra(QQMusicFieldConstants.mediaName);
- String mediaUrl = intent.getStringExtra(QQMusicFieldConstants.mediaUrl);
- String mediaSinger = intent.getStringExtra(QQMusicFieldConstants.mediaSinger);
- String mediaImgUrl = intent.getStringExtra(QQMusicFieldConstants.mediaImgUrl);
- String mediaType = intent.getStringExtra(QQMusicFieldConstants.mediaType);
- String mediaMid = intent.getStringExtra(QQMusicFieldConstants.mediaMid);
- int mediaPLayMode = intent.getIntExtra(QQMusicFieldConstants.mediaPlayMode, -1);
- boolean isLocalMedia = intent.getBooleanExtra(QQMusicFieldConstants.isLocalMedia, false);
-
- if (playState == 1 || playState == 2) {
- mRightTimeTextView.setText(Utils.calculateTime(maxTime * 1000));
- // mLeftTimeTextView.setText(Utils.calculateTime(curTime * 1000));
- if (playState == 1){
- if (mMediaInfoData == null){
- change = true;
- ttMid = "";
- }else{
- ttMid = mMediaInfoData.getMediaId();
- }
- if (mMediaInfoData != null && mMediaInfoData.getMediaId() != null && !mMediaInfoData.getMediaId().equals(mediaMid)) {
- change = true;
- }
- }
- }
-
- if (mMediaInfoData == null) {
- mMediaInfoData = new MediaInfoData();
- }
- mMediaInfoData.setType(type);
- mMediaInfoData.setPlayState(playState);
- mMediaInfoData.setMaxTime(maxTime * 1000);
- mMediaInfoData.setCurTime(curTime * 1000);
- mMediaInfoData.setMediaName(mediaName);
- mMediaInfoData.setMediaUrl(mediaUrl);
- mMediaInfoData.setMediaId(mediaMid);
- mMediaInfoData.setMediaImg(mediaImgUrl);
- mMediaInfoData.setMediaSinger(mediaSinger);
- mMediaInfoData.setMediaPlayMode(mediaPLayMode);
- mMediaInfoData.setLocalMedia(isLocalMedia);
- mMediaInfoData.setMediaType(mediaType);
- mMediaInfoData.setBookInfo("");
-
- if (playState == 1 && mShowSharePush && mCardCenter) {
- //播放分享推荐消息
- showSharePushVoice();
- }
-
- } else if (type == 2) {//懒人听书
-
- int maxTime = intent.getIntExtra(LeTingFieldConstants.maxTime, 0);
- int curTime = intent.getIntExtra(LeTingFieldConstants.curTime, 0);
-
- String mediaName = intent.getStringExtra(LeTingFieldConstants.mediaName);//章节数
- String bookInfoStr = intent.getStringExtra(LeTingFieldConstants.bookInfo);
- LanRenInsertData lanRenInsertData = GsonUtil.objectFromJson(bookInfoStr, LanRenInsertData.class);
-
- String bookName = ""; // 书名 需要从bookinfo里面取
- String cover = ""; //封面 bookinfo中取
- String bookid = "";
-
- try {
- if (lanRenInsertData != null){
- bookName = lanRenInsertData.getName(); // 书名 需要从bookinfo里面取
- cover = lanRenInsertData.getCover(); //封面 bookinfo中取
- bookid = lanRenInsertData.getBookId() + "";
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
-
-
- if (playState == 1 || playState == 2){
- mRightTimeTextView.setText(Utils.calculateTime(maxTime));
- // mLeftTimeTextView.setText(Utils.calculateTime(curTime));
- if (playState == 1 || playState == 2){
- if (mMediaInfoData == null){
- change = true;
- ttMid = "";
- }else{
- ttMid = mMediaInfoData.getMediaId();
- }
- if (mMediaInfoData != null && mMediaInfoData.getMediaId() != null && !mMediaInfoData.getMediaId().equals(bookid)) {
- change = true;
- }
- }
-
- }
-
- if (mMediaInfoData == null) {
- mMediaInfoData = new MediaInfoData();
- }
- mMediaInfoData.setType(type);
- mMediaInfoData.setPlayState(playState);
- mMediaInfoData.setMaxTime(maxTime);
- mMediaInfoData.setCurTime(curTime);
- if (!TextUtils.isEmpty(bookName)){
- mMediaInfoData.setMediaName(bookName); //bookName 或者mediaName
- }else if (!TextUtils.isEmpty(mediaName)){
- mMediaInfoData.setMediaName(mediaName); //bookName 或者mediaName
- }
- mMediaInfoData.setMediaSinger(mediaName); //章节数
- mMediaInfoData.setMediaImg(cover); //书籍封面
- mMediaInfoData.setMediaId(bookid);//书籍的bookid int
- mMediaInfoData.setBookInfo(bookInfoStr);
- mMediaInfoData.setMediaUrl("");
- mMediaInfoData.setLocalMedia(false);
- mMediaInfoData.setMediaType("");
-
- } else if (type == 3) {//乐听头条
- int maxTime = intent.getIntExtra(LeTingFieldConstants.maxTime, 0);
- int curTime = intent.getIntExtra(LeTingFieldConstants.curTime, 0);
- String mediaName = intent.getStringExtra(LeTingFieldConstants.mediaName); //新闻title
- String artist = intent.getStringExtra(LeTingFieldConstants.artist); //新闻来源,赋值给singer mediaSinger
- String cover = intent.getStringExtra(LeTingFieldConstants.cover); //封面
- String bookInfo = intent.getStringExtra("news");//新闻实体
- String bookid = "";
- try {
- if (!TextUtils.isEmpty(bookInfo)){
- LeTingNewsData leTingNewsData = GsonUtil.objectFromJson(bookInfo, LeTingNewsData.class);
- if (leTingNewsData != null){
- mediaName = leTingNewsData.getTitle();
- artist = leTingNewsData.getSource();
- cover = leTingNewsData.getImage();
- bookid = leTingNewsData.getSid();
- }
-
- if (mediaName == null) mediaName = "";
- if (artist == null) artist = "";
- if (cover == null) cover = "";
- if (bookid == null) bookid = "";
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
-
-
- if (playState == 1 || playState == 2){
- mRightTimeTextView.setText(Utils.calculateTime(maxTime));
- if (mMediaInfoData == null){
- change = true;
- ttMid = "";
- }else{
- ttMid = mMediaInfoData.getMediaId();
- }
- if (mMediaInfoData != null && mMediaInfoData.getMediaId() != null && !mMediaInfoData.getMediaId().equals(bookid)) {
- change = true;
- }
- }
-
- mMediaInfoData.setType(type);
- mMediaInfoData.setPlayState(playState);
- mMediaInfoData.setMaxTime(maxTime);
- mMediaInfoData.setCurTime(curTime);
- mMediaInfoData.setMediaName(mediaName); //新闻标题
- mMediaInfoData.setMediaSinger(artist); //新闻来源
- mMediaInfoData.setMediaImg(cover); //新闻封面
-
- mMediaInfoData.setMediaId(bookid);//新闻的sid
- mMediaInfoData.setBookInfo(bookInfo);
- mMediaInfoData.setMediaUrl("");
- mMediaInfoData.setLocalMedia(false);
- mMediaInfoData.setMediaType("");
-
- }
-
- try {
- if (mMediaInfoData != null && (type == 1 || type == 2)){
- ThreadPoolService.execute(new Runnable() {
- @Override
- public void run() {
- String tmData = GsonUtil.jsonFromObject(mMediaInfoData);
- StorageManager.setLastListenMediaMusic(tmData);
- Logger.d(TAG,"save"+tmData != null ? tmData:"");
- }
- });
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- if (change) {
- changePlayMusic(mMediaInfoData);
- }
-
- //播放另外一个时去掉选中状态
- if (!ttMid.equals(mMediaInfoData.getMediaId())){
- cancleChoose = true;
- }
- if (cancleChoose && mMediaInfoData != null && (playState == 1 || playState == 2)){
- if (ServiceMediaHandler.getMarkerManager() != null){
- List< IMogoMarker > mogoMarkersList = ServiceMediaHandler.getMarkerManager().getMarkers(MediaConstants.MODULE_TYPE);
- try {
- if ( mogoMarkersList != null && mogoMarkersList.size() > 0){
- for (IMogoMarker mogoMarker : mogoMarkersList){
- if (mogoMarker != null && !mogoMarker.isDestroyed()){
- if (mogoMarker.getObject() != null && mogoMarker.getObject() instanceof MarkerShowEntity){
- MarkerShowEntity markerShowEntity = (MarkerShowEntity) mogoMarker.getObject();
- if (markerShowEntity.getBindObj() != null && markerShowEntity.getBindObj() instanceof MarkerShareMusic){
- MarkerShareMusic markerShareMusic = (MarkerShareMusic) markerShowEntity.getBindObj();
- if (markerShowEntity.isChecked() && !markerShareMusic.getMediaId().equals(mMediaInfoData.getMediaId())){
-// MapMarkerManager.getInstance().closeMarkerSelect(mogoMarker);
- break;
- }
- }
-
- }
- }
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- if (playState == 1 || playState == 2){
- if (mTwoChange){
- change = true;
- mTwoChange = false;
- }
- if (change) {
- mLikeDataResult = null;
- if (mShareLikeImageView != null)mShareLikeImageView.setImageResource(R.drawable.module_media_no_heart);
- }
-
- Logger.d(TAG,"onreceive state change = "+change+" mediaid= "+mMediaInfoData.getMediaId());
- ifNeedRefreshMediaCard(change);
- }
-
- //pop window 弹窗
- if (mMediaInfoData != null && !TextUtils.isEmpty(mMediaInfoData.getMediaName()) && !TextUtils.isEmpty(mMediaInfoData.getMediaSinger())){
- if (mFullScreenImageView != null && mFullScreenImageView.getVisibility() == View.GONE){
- mFullScreenImageView.setVisibility(View.VISIBLE);
- }
- if (!mHasAddWindow){
- addWindowView();
- }else{
- if (playState == 1 || playState == 2){
- updateWindowUI();
- }
- }
- }
-
- }
-
- if (playState == 1) {
- mPresenter.startedMusic(mMediaInfoData);
- } else {
- if (mMediaInfoData != null){
- mMediaInfoData.setPlayState(playState);
- }
- mPresenter.stopMusic();
- }
-
- }
- }
-
- }
-
- /**
- * 音频进度改变广播接收者
- */
- private class MediaProcessReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- if (intent != null) {
- int curTime = intent.getIntExtra("curTime", -1);
- Logger.d("MediaProcessReceiver", "===MediaProcessReceiver===="+curTime);
- getActivity().runOnUiThread(new Runnable() {
- @Override
- public void run() {
- if (mMediaInfoData != null) {
- if (mLeftTimeTextView != null) {
- mLeftTimeTextView.setText(Utils.calculateTime(curTime));
- }
-
- if (mWindowCurrTime !=null){
- mWindowCurrTime.setText(Utils.calculateTime(curTime));
- }
-
- try {
- if (mProgressBar != null) {
- int progress = (int) ((curTime * 1.0f * 100) / (mMediaInfoData.getMaxTime() * 1.0f));
- mProgressBar.setProgress(progress);
- if (mWindowProgress != null){
- mWindowProgress.setProgress(progress);
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- }
- }
- });
- }
- }
-
- }
-
- /**
- * 获取新闻是否付费
- * com.zhidao.mediacenter.ltnewsPayInfo
- */
- private class MediaNewsPayInfo extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- if (intent != null) {
- boolean playinfo = intent.getBooleanExtra("payinfo", false);
- boolean appActive = ActivityLifecycleManager.getInstance().isAppActive();
- appActive = isMediaResume;
- String category = MediaSpeechReceiver.mCategoryStr;
- MediaSpeechReceiver.mCategoryStr = "";
- Logger.d(TAG," MediaNewsPayInfo "+"news "+category == null?"":category+" "+appActive);
- if (playinfo){
- if (TextUtils.isEmpty(category)){
- //打开新闻
- //播放某一类型新闻
- if (appActive){
- MusicControlBroadCast.sendPlayTypeNews("推荐");
- cardToCenter();
- }else{
- MusicControlBroadCast.sendPlayTypeNewsOpenApp("推荐");
- }
- }else{
- //播放某一类型新闻
- if (appActive){
- MusicControlBroadCast.sendPlayTypeNews(category);
- cardToCenter();
- }else{
- MusicControlBroadCast.sendPlayTypeNewsOpenApp(category);
- }
- }
- }else{
- MusicControlBroadCast.openMediaApp(3);
- }
- }
- }
-
- }
-
- private void registerMediaReceiver() {
- mediaStateReceiver = new MediaCardViewFragment.MediaStateReceiver();
- IntentFilter filterone = new IntentFilter();
- filterone.addAction("com.zhidao.action.MEDIA_LRTS");
- filterone.addAction("com.zhidao.action.MEDIA_LT_NEWS");
- filterone.addAction("com.qq.music.status.change");
- getContext().registerReceiver(mediaStateReceiver, filterone);
-
- mediaProcessReceiver = new MediaCardViewFragment.MediaProcessReceiver();
- IntentFilter filtertwo = new IntentFilter();
- filtertwo.addAction("com.zhidao.action.MEDIA_PROGRESS");
- getContext().registerReceiver(mediaProcessReceiver, filtertwo);
-
- playingMusicReceiver = new PlayingMusicReceiver();
- IntentFilter filterthree = new IntentFilter();
- filterthree.addAction("com.mogo.launcher.media.listening");
- getContext().registerReceiver(playingMusicReceiver, filterthree);
-
- mediaNewsPayInfo = new MediaNewsPayInfo();
- IntentFilter filterFour = new IntentFilter();
- filterFour.addAction("com.zhidao.mediacenter.ltnewsPayInfo");
- getContext().registerReceiver(mediaNewsPayInfo, filterFour);
-
- mediaCenterReceiver = new MediaCenterReceiver();
- IntentFilter filterFive = new IntentFilter();
- filterFive.addAction("com.mogo.launcher.media.card.center");
- getContext().registerReceiver(mediaCenterReceiver, filterFive);
-
- //分享语音回调 -> 需要参数,分享的类型(音乐,书籍,新闻)
- mediaCanShareReceiver = new MediaSpeechShareReceiver();
- IntentFilter filterSix = new IntentFilter();
- filterSix.addAction("com.zhidao.speech.awake.notify");//分享的询问
- getContext().registerReceiver(mediaCanShareReceiver, filterSix);
- }
-
- private void unRegisterMediaReceiver() {
- getContext().unregisterReceiver(mediaProcessReceiver);
- getContext().unregisterReceiver(mediaStateReceiver);
- getContext().unregisterReceiver(playingMusicReceiver);
- getContext().unregisterReceiver(mediaNewsPayInfo);
- getContext().unregisterReceiver(mediaCenterReceiver);
- getContext().unregisterReceiver(mediaCanShareReceiver);
- }
-
- /**
- * qq 音乐和懒人听书切换了不同的音频,不包括新闻
- */
- private void changePlayMusic(MediaInfoData data) {
-
- }
-
- private class MediaMogoStatusManager implements IMogoStatusChangedListener{
-
- @Override
- public void onStatusChanged(StatusDescriptor descriptor, boolean isTrue) {
- Logger.d(TAG,"==onStatusChanged== "+isTrue);
- mAdasShow = isTrue;
- if (!isTrue && mLastAdasMarker != null && mLastAdasMarker.size() > 0){
-
- try {
- for (MarkerShareMusic markerShareMusic:mLastAdasMarker){
- if (markerShareMusic != null && !TextUtils.isEmpty(markerShareMusic.getMediaId())){
- drawMarkerShareMusicMarker(markerShareMusic);
- }
- }
-
- drawMarkerAndBounds(mLastAdasMarker);
-
- UiThreadHandler.postDelayed(new Runnable() {
- @Override
- public void run() {
- ifNeedRefreshMediaCard(true);
- }
- },500);
-
- mLastAdasMarker.clear();
-
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- }
-
- private class MediaMogoVoiceListener implements IMogoIntentListener {
-
- @Override
- public void onIntentReceived(String action, Intent intent) {
- //此处接收注册的需要唤醒的指令
- if (!TextUtils.isEmpty(action)){
- if (action.equals( "com.zhidao.music.friend.query")){
- //播放好友的歌
- if (mPresenter != null){
- mPresenter.getFriendMusic();
- }
- }else if (action.equals("com.zhidao.music.user.query")){
- //播放附近的人的歌
- if (mPresenter != null){
- mPresenter.getNearShareMusic();
- }
- }else if (action.equals("com.mogo.launcher.media.share.dialog.close")){
- //关闭分享
- destroyShareDialogFragment();
- }
- }
- }
- }
-
- /**
- * 注册免唤醒 分享命令
- */
- private void registerNoWakeUpShareCmd() {
- shareNoWakeUpCmd();
- }
-
- private void shareNoWakeUpCmd() {
- AIAssist.getInstance(getActivity())
- .registerUnWakeupCommand(
- VoiceConstants.COMMAND_NO_WAKEUP_SHARE_MUSIC_CMD
- , VoiceConstants.COMMAND_NO_WAKEUP_MUSIC_SHARE, new IMogoVoiceCmdCallBack() {
- @Override
- public void onCmdSelected(String cmd) {
- if (mCardCenter && VoiceConstants.COMMAND_NO_WAKEUP_SHARE_MUSIC_CMD.equals(cmd)) {
-
- if (mMediaInfoData != null && mMediaInfoData.getType() == 1){
- showShareDialogEvent();
- showShareDialog();
- }else{
- if (mMediaInfoData != null){
- AIAssist.getInstance(getActivity()).speakTTSVoice("当前音频不可分享",null);
- }else{
- AIAssist.getInstance(getActivity()).speakTTSVoice("当前没有音频可分享",null);
- }
- }
- }
- }
-
- @Override
- public void onSpeakEnd(String speakText) {
-
- }
-
- @Override
- public void onSpeakSelectTimeOut(String speakText) {
-
- }
-
- @Override
- public void onCmdAction(String speakText) {
-
- }
-
- @Override
- public void onCmdCancel(String speakText) {
-
- }
- });
-
- AIAssist.getInstance(getActivity())
- .registerUnWakeupCommand(
- VoiceConstants.COMMAND_NO_WAKEUP_SHARE_BOOK_CMD
- , VoiceConstants.COMMAND_NO_WAKEUP_BOOK_SHARE, new IMogoVoiceCmdCallBack() {
- @Override
- public void onCmdSelected(String cmd) {
- if (mCardCenter && VoiceConstants.COMMAND_NO_WAKEUP_SHARE_BOOK_CMD.equals(cmd)) {
- if (mMediaInfoData != null && mMediaInfoData.getType() == 2){
- showShareDialog();
- showShareDialogEvent();
- }else{
- if (mMediaInfoData != null){
- AIAssist.getInstance(getActivity()).speakTTSVoice("当前音频不可分享",null);
- }else{
- AIAssist.getInstance(getActivity()).speakTTSVoice("当前没有音频可分享",null);
- }
- }
-
- }
- }
-
- @Override
- public void onSpeakEnd(String speakText) {
-
- }
-
- @Override
- public void onSpeakSelectTimeOut(String speakText) {
-
- }
-
- @Override
- public void onCmdAction(String speakText) {
- }
-
- @Override
- public void onCmdCancel(String speakText) {
- }
- });
-
- AIAssist.getInstance(getActivity())
- .registerUnWakeupCommand(
- VoiceConstants.COMMAND_NO_WAKEUP_SHARE_BOOK_MUSIC_CMD
- , VoiceConstants.COMMAND_NO_WAKEUP_BOOK_MUSIC_SHARE, new IMogoVoiceCmdCallBack() {
- @Override
- public void onCmdSelected(String cmd) {
- if (!isShareDialogShowing()){
- if (mCardCenter && VoiceConstants.COMMAND_NO_WAKEUP_SHARE_BOOK_MUSIC_CMD.equals(cmd)) {
- if (mMediaInfoData != null){
- showShareDialog();
- showShareDialogEvent();
- }else{
- if (mMediaInfoData != null){
- AIAssist.getInstance(getActivity()).speakTTSVoice("当前音频不可分享",null);
- }else{
- AIAssist.getInstance(getActivity()).speakTTSVoice("当前没有音频可分享",null);
- }
- }
-
- }
- }
- }
-
- @Override
- public void onSpeakEnd(String speakText) {
-
- }
-
- @Override
- public void onSpeakSelectTimeOut(String speakText) {
-
- }
-
- @Override
- public void onCmdAction(String speakText) {
- }
-
- @Override
- public void onCmdCancel(String speakText) {
- }
- });
-
- AIAssist.getInstance(getActivity())
- .registerUnWakeupCommand(
- VoiceConstants.COMMAND_NO_WAKEUP_SHARE_NEWS_CMD
- , VoiceConstants.COMMAND_NO_WAKEUP_NEWS_SHARE, new IMogoVoiceCmdCallBack() {
- @Override
- public void onCmdSelected(String cmd) {
- if (!isShareDialogShowing()){
- if (mCardCenter && VoiceConstants.COMMAND_NO_WAKEUP_SHARE_NEWS_CMD.equals(cmd)) {
- if (mMediaInfoData != null){
- showShareDialog();
- showShareDialogEvent();
- }else{
- if (mMediaInfoData != null){
- AIAssist.getInstance(getActivity()).speakTTSVoice("当前音频不可分享",null);
- }else{
- AIAssist.getInstance(getActivity()).speakTTSVoice("当前没有音频可分享",null);
- }
- }
-
- }
- }
- }
-
- @Override
- public void onSpeakEnd(String speakText) {
-
- }
-
- @Override
- public void onSpeakSelectTimeOut(String speakText) {
-
- }
-
- @Override
- public void onCmdAction(String speakText) {
- }
-
- @Override
- public void onCmdCancel(String speakText) {
- }
- });
- }
-
- private void showShareDialogEvent() {
- try {
- if (mMediaInfoData != null){
- HashMap hashMap = new HashMap<>();
- hashMap.put("type",2);
- String trackId = "";
- if (mMediaInfoData.getType() == 1){
- trackId = EventConstants.EVENT_QQ_OPEN_SHARE_DIALOG_SHOW;
- }else if (mMediaInfoData.getType() == 2){
- trackId = EventConstants.EVENT_BOOK_OPEN_SHARE_DIALOG_SHOW;
- }else if (mMediaInfoData.getType() == 3){
- trackId = EventConstants.EVENT_NEWS_OPEN_SHARE_DIALOG_SHOW;
- }
- MediaAnalyticsUtils.track(trackId,hashMap);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- /**
- * 播放push share 语音
- */
- private void showSharePushVoice() {
- mShowSharePush = false;
- AIAssist.getInstance(getActivity()).speakQAndACmd(VoiceConstants.COMMAND_SHARE_MUSIC_PUSH_MESSAGE
- , VoiceConstants.COMMAND_SHARE_MUSIC_PUSH_MESSAGE_OK, VoiceConstants.COMMAND_SHARE_MUSIC_PUSH_MESSAGE_CANCEL
- , new IMogoVoiceCmdCallBack() {
-
- @Override
- public void onSpeakEnd(String speakText) {
- Logger.d(TAG,"showSharePushVoice"+"speakEnd"+speakText);
- }
-
- @Override
- public void onSpeakSelectTimeOut(String speakText) {
-
- }
-
- @Override
- public void onCmdAction(String speakText) {
- //弹出分享框
- boolean needAuthor = ServiceMediaHandler.getMogoAuthorizeModuleManager().needAuthorize(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_MUSIC);
- Logger.d(TAG,"是否授权 "+needAuthor);
- if (needAuthor){//需要授权
- mAuthorShow = true;
- closeAdasEvent();
- ServiceMediaHandler.getMogoAuthorizeModuleManager().invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_MUSIC);
- }else{
- mAuthorShow = false;
- showShareDialog();
- }
-
- if (mMediaInfoData != null){
- HashMap hashMap = new HashMap<>();
- hashMap.put("type",2);
- String trackId = "";
- if (mMediaInfoData.getType() == 1){
- trackId = EventConstants.EVENT_QQ_OPEN_SHARE_DIALOG_SHOW;
- }else if (mMediaInfoData.getType() == 2){
- trackId = EventConstants.EVENT_BOOK_OPEN_SHARE_DIALOG_SHOW;
- }else if (mMediaInfoData.getType() == 3){
- trackId = EventConstants.EVENT_NEWS_OPEN_SHARE_DIALOG_SHOW;
- }
- MediaAnalyticsUtils.track(trackId,hashMap);
- }
- }
-
- @Override
- public void onCmdCancel(String speakText) {
-
- }
-
- @Override
- public void onCmdSelected(String cmd) {
-
- }
- });
- }
-
- /**
- * 删除所有自己卡片的点
- */
- private void removeAllMyTypeMarker() {
- ServiceMediaHandler.getMarkerManager().removeMarkers(MediaConstants.MODULE_TYPE);
- }
-
- private void addNewMarker(List shareMusic) {
- if (ServiceMediaHandler.getIMogoStatusManager().isADASShow() || mAdasShow){
- ServiceMediaHandler.getMogoADASController().closeADAS();
- }
- try {
- removeAllMyTypeMarker();
-
- UiThreadHandler.postDelayed(new Runnable() {
- @Override
- public void run() {
- if (shareMusic != null) {
- for (MarkerShareMusic markerShareMusic : shareMusic) {
- drawMarkerShareMusicMarker(markerShareMusic);
- }
-
- if (!mCardCenter){
- ServiceMediaHandler.getMogoCardManager().switch2(MediaConstants.MODULE_TYPE);
- }else{
- ServiceMediaHandler.getMogoCardManager().switch2(MediaConstants.MODULE_TYPE);
- }
-
- ServiceMediaHandler.getMapUIController().changeZoom(16);
-
- try {
- drawMarkerAndBounds((ArrayList) shareMusic);
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- Logger.d(TAG,"switch2 cardtype music");
-
- }
-
- if (shareMusic != null && shareMusic.size() > 0){
- MusicControlBroadCast.addQQMusicShareListPlayList((ArrayList) shareMusic);
- }
- }
- }, 1000);
-
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Override
- public void onShareDialogShow() {
- if (mMediaInfoData != null) {
- mShowPlayState = mMediaInfoData.getPlayState();
- if (mShowPlayState == 1) {
- MusicControlBroadCast.commandPlayPause(mMediaInfoData.getType(),mMediaInfoData.getPlayState());
- }
- }
- }
-
- @Override
- public void onShareDialogDismiss(boolean success,MarkerShareMusic markerShareMusic) {
- shareSuccessResult(success, markerShareMusic);
- }
-
- @Override
- public void shareSuccessResult(boolean success, MarkerShareMusic markerShareMusic) {
- if (success) {
- mTwoChange = true;
- mShowSharePush = false;
- }
- if (mShowPlayState == 1) {
- MusicControlBroadCast.commandPlayPause(mMediaInfoData.getType(),mMediaInfoData.getPlayState());
- }
-
- UiThreadHandler.postDelayed(new Runnable() {
- @Override
- public void run() {
- ifNeedRefreshMediaCard(true);
- }
- },500);
-
- try {
- if (success && markerShareMusic != null && !TextUtils.isEmpty(markerShareMusic.getMediaId())){
- if (ServiceMediaHandler.getIMogoStatusManager().isADASShow() || mAdasShow){
- mLastAdasMarker.add(markerShareMusic);
- }else{
- drawMarkerShareMusicMarker(markerShareMusic);
- }
-
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- private void drawMarkerShareMusicMarker(MarkerShareMusic markerShareMusic) {
- MarkerLocation markerLocation = markerShareMusic.getLocation();
- MarkerShowEntity markerShowEntity = new MarkerShowEntity();
- markerShowEntity.setBindObj(markerShareMusic);
- markerShowEntity.setMarkerLocation(markerLocation);
- markerShowEntity.setMarkerType(markerShareMusic.getType());
- markerShowEntity.setTextContent(markerShareMusic.getMediaName());
- markerShowEntity.setIconUrl(markerShareMusic.getMediaImg());
-
- ServiceMediaHandler.getMarkerService().drawMarker( markerShowEntity );
- }
-
- @Override
- public void onPause() {
- super.onPause();
- mFragmentResume = false;
- isMediaResume = false;
- if (mMediaInfoData != null && mWindowView != null ) {
- if (mMediaInfoData.getType() == 1 || mMediaInfoData.getType() == 2 || mMediaInfoData.getType() == 3){
- if (mCircleImg != null && mCircleImg.isRotationing()) {
- mCircleImg.stopAnim();
- }
- }
- }
- if (mAnimalSurfaceView != null && mAnimalSurfaceView.getVisibility() == View.VISIBLE){
- mAnimalSurfaceView.pause();
- }
- }
-
- @Override
- public void onResume() {
- super.onResume();
- mFragmentResume = true;
- isMediaResume = true;
- if (mMediaInfoData != null && mWindowView != null && !mCardCenter) {
- if (mMediaInfoData.getType() == 1 || mMediaInfoData.getType() == 2 || mMediaInfoData.getType() == 3){
- if (mCircleImg != null && mMediaInfoData.getPlayState() == 1) {
- mCircleImg.startAnim();
- }
- }
- }
- if (mMediaInfoData != null && mMediaInfoData.getPlayState() == 1 && mCardCenter && mAnimalSurfaceView != null && mAnimalSurfaceView.getVisibility() == View.VISIBLE ){
- mAnimalSurfaceView.start(true);
- }
- }
-
- @Override
- public void onDestroy() {
- super.onDestroy();
- try {
- UiThreadHandler.removeCallbacks(mRunnable);
- mRunnable = null;
- mLastMusicImageView.setOnClickListener(null);
- mMusicPlay.setOnClickListener(null);
- mNextMusicImageView.setOnClickListener(null);
- mShareImageView.setOnClickListener(null);
- mShareLikeImageView.setOnClickListener(null);
- ServiceMediaHandler.getIMogoStatusManager().unregisterStatusChangedListener(MediaConstants.MODULE_TYPE,StatusDescriptor.ADAS_UI,mMogoStatusChangeListener);
- ServiceMediaHandler.getMogoAuthorizeModuleManager().unregisterAuthorizeListener(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE_MUSIC);
-
- if (mAnimalSurfaceView != null){
- mAnimalSurfaceView.destroy();
- mAnimalSurfaceView = null;
- }
- unRegisterMediaReceiver();
- destroyShareDialogFragment();
- if (mCircleImg != null && mCircleImg.isRotationing()) {
- mCircleImg.stopAnim();
- }
-
- if (ServiceMediaHandler.getMogoWindowManager() != null){
- ServiceMediaHandler.getMogoWindowManager().removeView(mWindowView);
- }
-
- if (ServiceMediaHandler.getMogoRegisterCenter() != null){
- ServiceMediaHandler.getMogoRegisterCenter().unregisterMogoLocationListener(MediaConstants.MODULE_TYPE);
- ServiceMediaHandler.getMogoRegisterCenter().unregisterMogoMapListener(MediaConstants.MODULE_TYPE);
- ServiceMediaHandler.getMogoRegisterCenter().unregisterMogoMarkerClickListener(MediaConstants.MODULE_TYPE);
- ServiceMediaHandler.getMogoRegisterCenter().unregisterMogoModuleLifecycle(MediaConstants.MODULE_TYPE);
- }
-
- if (ServiceMediaHandler.getMogoVoiceManager() != null){
- ServiceMediaHandler.getMogoVoiceManager().unregisterIntentListener("com.zhidao.music.friend.query" ,mMediaVoiceListener);
- ServiceMediaHandler.getMogoVoiceManager().unregisterIntentListener("com.zhidao.music.user.query" ,mMediaVoiceListener);
- }
-
- AIAssist.getInstance(getActivity()).unregisterUnWakeupCommand( VoiceConstants.COMMAND_NO_WAKEUP_SHARE_MUSIC_CMD);
- AIAssist.getInstance(getActivity()).unregisterUnWakeupCommand( VoiceConstants.COMMAND_NO_WAKEUP_SHARE_BOOK_CMD);
- AIAssist.getInstance(getActivity()).unregisterUnWakeupCommand( VoiceConstants.COMMAND_NO_WAKEUP_SHARE_NEWS_CMD);
- AIAssist.getInstance(getActivity()).unregisterUnWakeupCommand( VoiceConstants.COMMAND_NO_WAKEUP_SHARE_BOOK_MUSIC_CMD);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- /**
- * 定位发生改变
- *
- * @param location 新定位点
- */
- @Override
- public void onLocationChanged(MogoLocation location) {
- if (location != null) {
- // Logger.d("onLocationChanged", location.getLatitude() + " " + location.getLongitude());
- }
- }
-
- public String getPackageName(){
- if (mPresenter == null){
- return "";
- }else{
- return mPresenter.getPackageName(mMediaInfoData);
- }
- }
-
- public String getAppName(){
- if (mPresenter == null){
- return "";
- }else{
- return mPresenter.getAppName(mMediaInfoData);
- }
- }
-
- public boolean isShareDialogShowing(){
- if (mShareDilogFragment != null && mShareDilogFragment.getDialog() != null && mShareDilogFragment.getDialog().isShowing()) {
- return true;
- }else{
- return false;
- }
- }
-
- private void cardToCenter(){
- ServiceMediaHandler.getMogoCardManager().switch2(MediaConstants.MODULE_TYPE);
- }
-
- private void drawMarkerAndBounds(ArrayList musicList){
- final MogoLocation location = ServiceMediaHandler.getLocationClient().getLastKnowLocation();
- if (location != null && musicList != null && musicList.size() > 0) {
- MogoLatLng ownLatLng = new MogoLatLng(location.getLatitude(), location.getLongitude());
- List locationList = new ArrayList<>();
- for (int i = 1; i < musicList.size() && i < 6; i++) {
- MarkerShareMusic mark = musicList.get(i);
- MogoLatLng markLocation = new MogoLatLng(mark.getLocation().getLat(), mark.getLocation().getLon());
- locationList.add(markLocation);
- }
- Rect rect = new Rect(
- (int) getContext().getResources().getDimension(R.dimen.module_media_draw_rect_map_left),
- (int) getContext().getResources().getDimension(R.dimen.module_media_draw_rect_map_top),
- (int) getContext().getResources().getDimension(R.dimen.module_media_draw_rect_map_right),
- (int) getContext().getResources().getDimension(R.dimen.module_media_draw_rect_map_bottom));
- ServiceMediaHandler.getMapUIController().showBounds(MediaConstants.MODULE_TYPE, ownLatLng, locationList, rect, true);
-
- }
- }
-
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/MediaCardViewProvider.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/MediaCardViewProvider.java
deleted file mode 100644
index c4fdd84162..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/MediaCardViewProvider.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package com.mogo.module.media;
-
-import android.content.Context;
-import android.os.Bundle;
-import android.view.View;
-
-import androidx.fragment.app.Fragment;
-
-import com.alibaba.android.arouter.facade.annotation.Route;
-import com.mogo.map.listener.IMogoMapListener;
-import com.mogo.map.location.IMogoLocationListener;
-import com.mogo.map.marker.IMogoMarkerClickListener;
-import com.mogo.map.navi.IMogoNaviListener;
-import com.mogo.module.media.window.MediaWindow2;
-import com.mogo.service.module.IMogoModuleLifecycle;
-import com.mogo.service.module.IMogoModuleProvider;
-import com.mogo.service.module.ModuleType;
-
-@Route( path = MediaConstants.TAG )
-public class MediaCardViewProvider implements IMogoModuleProvider {
-
- private static final String TAG = "MediaCardViewProvider";
- private MediaWindow2 mediaWindow2;
-
- @Override
- public Fragment createFragment( Context context, Bundle data ) {
-// fragment = new MediaCardViewFragment();
-// fragment.setArguments( data );
-// Logger.i( TAG, "createFragment" );
- return null;
- }
-
- @Override
- public void init( Context context ) {
- ServiceMediaHandler.init( context );
- mediaWindow2 = new MediaWindow2();
- mediaWindow2.initMedia(context);
- }
-
- @Override
- public String getModuleName() {
- return MediaConstants.MODULE_TYPE;
- }
-
- @Override
- public View createView( Context context ) {
- // don't
- return null;
- }
-
- @Override
- public int getType() {
- return ModuleType.TYPE_CARD_FRAGMENT;
- }
-
- @Override
- public IMogoNaviListener getNaviListener() {
- return null;
- }
-
-
- @Override
- public IMogoModuleLifecycle getCardLifecycle() {
- return null;
- }
-
- @Override
- public IMogoMapListener getMapListener() {
- return null;
- }
-
- @Override
- public IMogoLocationListener getLocationListener() {
- return null;
- }
-
- @Override
- public IMogoMarkerClickListener getMarkerClickListener() {
- return null;
- }
-
- @Override
- public String getAppPackage() {
- return "";
- }
-
- @Override
- public String getAppName() {
- return "";
- }
-
- @Override
- public void onDestroy() {
- if ( mediaWindow2 != null ) {
- mediaWindow2.onDestroy();
- }
- mediaWindow2 = null;
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/MediaConstants.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/MediaConstants.java
deleted file mode 100644
index 108ea4d744..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/MediaConstants.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.mogo.module.media;
-
-/**
- * 卡片类型 name
- */
-public class MediaConstants {
- public static final String TAG = "/media/ui";
- public static final String MODULE_TYPE = "CARD_TYPE_SHARE_MUSIC";
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/ServiceMediaHandler.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/ServiceMediaHandler.java
deleted file mode 100644
index b6da495fdc..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/ServiceMediaHandler.java
+++ /dev/null
@@ -1,206 +0,0 @@
-package com.mogo.module.media;
-
-import android.content.Context;
-
-import com.alibaba.android.arouter.launcher.ARouter;
-import com.mogo.commons.AbsMogoApplication;
-import com.mogo.commons.debug.DebugConfig;
-import com.mogo.map.location.IMogoLocationClient;
-import com.mogo.map.marker.IMogoMarkerManager;
-import com.mogo.map.navi.IMogoNavi;
-import com.mogo.map.uicontroller.IMogoMapUIController;
-import com.mogo.module.authorize.authprovider.invoke.AuthorizeConstant;
-import com.mogo.module.authorize.authprovider.module.IMogoAuthorizeModuleManager;
-import com.mogo.service.MogoServicePaths;
-import com.mogo.service.adas.IMogoADASController;
-import com.mogo.service.analytics.IMogoAnalytics;
-import com.mogo.service.cardmanager.IMogoCardManager;
-import com.mogo.service.datamanager.IMogoDataManager;
-import com.mogo.service.imageloader.IMogoImageloader;
-import com.mogo.service.impl.MogoServiceApis;
-import com.mogo.service.intent.IMogoIntentManager;
-import com.mogo.service.map.IMogoMapService;
-import com.mogo.service.module.IMogoActionManager;
-import com.mogo.service.module.IMogoMarkerService;
-import com.mogo.service.module.IMogoRegisterCenter;
-import com.mogo.service.network.IMogoNetwork;
-import com.mogo.service.statusmanager.IMogoStatusManager;
-import com.mogo.service.windowview.IMogoWindowManager;
-import com.zhidao.carchattingprovider.ICarsChattingProvider;
-
-/**
- *
- * 持有服务接口实例
- */
-public class ServiceMediaHandler {
-
- private static MogoServiceApis mApis;
- private static IMogoMapService mMapService;
- private static IMogoLocationClient mLocationClient;
- private static IMogoMarkerManager mMarkerManager;
- private static IMogoMapUIController mMapUIController;
- private static IMogoImageloader mImageloader;
- private static IMogoNetwork mMogoNetWorkService;
- private static IMogoWindowManager mMogoWindowManager;
- private static IMogoCardManager mMogoCardManager;
- private static IMogoAnalytics mMogoAnalytis;
- private static IMogoRegisterCenter mMogoRegisterCenter;
- private static IMogoIntentManager mMogoVoiceManager;
- private static IMogoStatusManager mIMogoStatusManager;
- private static IMogoNavi mMogoNavi;
- private static IMogoDataManager mMogoDataManager;
- private static IMogoActionManager mMogoActionManager;
- private static IMogoADASController mMogoADASController;
- private static IMogoAuthorizeModuleManager mMogoAuthorizeModuleManager;
- private static IMogoMarkerService sMarkerService;
-
- private static ICarsChattingProvider sCarsChattingProvider;
-
- public static void init(Context context) {
- mApis = (MogoServiceApis) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation(context);
- mMapService = mApis.getMapServiceApi();
- mImageloader = mApis.getImageLoaderApi();
- mLocationClient = mMapService.getLocationClient(context);
- mMarkerManager = mMapService.getMarkerManager(context);
- mMapUIController = mMapService.getMapUIController();//zoomTo
- mMogoNetWorkService = mApis.getNetworkApi();
- mMogoWindowManager = mApis.getWindowManagerApi();
- mMogoCardManager = mApis.getCardManagerApi();
- mMogoAnalytis = mApis.getAnalyticsApi();
- mMogoRegisterCenter = mApis.getRegisterCenterApi();
- mMogoVoiceManager = mApis.getIntentManagerApi();
- mIMogoStatusManager = mApis.getStatusManagerApi();
- mMogoNavi = mMapService.getNavi( context );
- mMogoDataManager = mApis.getDataManagerApi();
- mMogoActionManager = mApis.getActionManagerApi();
- mMogoADASController = mApis.getAdasControllerApi();
- mMogoAuthorizeModuleManager = (IMogoAuthorizeModuleManager) ARouter.getInstance().build(AuthorizeConstant.PROVIDER_MODULE).navigation(context);
- sMarkerService = mApis.getMarkerService();
-
- sCarsChattingProvider = ARouter.getInstance().navigation( ICarsChattingProvider.class );
- }
-
- public static IMogoADASController getMogoADASController(){
- isApisNull(mMogoADASController);
- return mMogoADASController;
- }
-
- public static IMogoMapService getMapService() {
- isApisNull(mMapService);
- return mMapService;
- }
-
- public static IMogoLocationClient getLocationClient() {
- isApisNull(mLocationClient);
- return mLocationClient;
- }
-
- public static IMogoMarkerManager getMarkerManager() {
- isApisNull(mMarkerManager);
- return mMarkerManager;
- }
-
- public static IMogoMapUIController getMapUIController() {
- isApisNull(mMapUIController);
- return mMapUIController;
- }
-
- public static IMogoImageloader getImageloader() {
- isApisNull(mImageloader);
- return mImageloader;
- }
-
- public static IMogoNetwork getMogoNetWorkService(){
- isApisNull(mMogoNetWorkService);
- return mMogoNetWorkService;
- }
-
- public static IMogoWindowManager getMogoWindowManager() {
- isApisNull(mMogoWindowManager);
- return mMogoWindowManager;
- }
-
- public static IMogoCardManager getMogoCardManager() {
- isApisNull(mMogoCardManager);
- return mMogoCardManager;
- }
-
- public static IMogoAnalytics getMogoAnalytis() {
- isApisNull(mMogoAnalytis);
- return mMogoAnalytis;
- }
-
- /**
- * 1 2 3 dev qa release
- * @return
- */
- public static int getCurrentEvent(){
- return DebugConfig.getNetMode();
- }
-
- public static IMogoRegisterCenter getMogoRegisterCenter(){
- isApisNull(mMogoRegisterCenter);
- return mMogoRegisterCenter;
- }
-
- public static IMogoIntentManager getMogoVoiceManager(){
- isApisNull(mMogoVoiceManager);
- return mMogoVoiceManager;
- }
-
- public static IMogoStatusManager getIMogoStatusManager(){
- isApisNull(mIMogoStatusManager);
- return mIMogoStatusManager;
- }
-
- public static IMogoNavi getMogoNavi(){
- isApisNull(mMogoNavi);
- return mMogoNavi;}
-
- public static IMogoDataManager getMogoDataManager(){
- isApisNull(mMogoDataManager);
- return mMogoDataManager;
- }
-
- public static MogoServiceApis getApis() {
- return mApis;
- }
-
- /**
- * 这个注册的第一个参数是模块名称,目的是只给当前显示的卡片分发事件
- * @return
- */
- public static IMogoActionManager getMogoctionManager(){
- isApisNull(mMogoActionManager);
- return mMogoActionManager;
- }
-
- public static IMogoAuthorizeModuleManager getMogoAuthorizeModuleManager(){
- isApisNull(mMogoAuthorizeModuleManager);
- return mMogoAuthorizeModuleManager;
- }
-
- public static boolean isObjStaticNull(Object object){
- if (mApis == null || object == null){
- return true;
- }
- return false;
- }
-
- public static IMogoMarkerService getMarkerService() {
- isApisNull(sMarkerService);
- return sMarkerService;
- }
-
- public static ICarsChattingProvider getCarsChattingApis() {
- isApisNull( sCarsChattingProvider );
- return sCarsChattingProvider;
- }
-
- public static void isApisNull( Object object){
- if (isObjStaticNull(object)){
- init(AbsMogoApplication.getApp());
- }
- }
-
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/api/MediaDztService.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/api/MediaDztService.java
deleted file mode 100644
index 0adfc59051..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/api/MediaDztService.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package com.mogo.module.media.api;
-
-import com.mogo.commons.data.BaseData;
-import com.mogo.module.common.entity.MarkerResponse;
-import com.mogo.module.media.model.ShareLikeData;
-import com.mogo.module.media.model.ShareMediaMarkerInfoData;
-import com.mogo.module.media.model.ShareSuccessResult;
-import com.mogo.module.media.model.ShowShareData;
-
-import java.util.Map;
-
-import io.reactivex.Observable;
-import okhttp3.RequestBody;
-import retrofit2.http.Body;
-import retrofit2.http.FieldMap;
-import retrofit2.http.FormUrlEncoded;
-import retrofit2.http.GET;
-import retrofit2.http.Header;
-import retrofit2.http.Headers;
-import retrofit2.http.POST;
-import retrofit2.http.QueryMap;
-import retrofit2.http.Url;
-
-public interface MediaDztService {
-
- /**
- * 查询音频分享信息
- */
- @GET("/sunflower/os/music/car/v1/selectByPrimaryKey")
- Observable selectByPrimaryKey(@QueryMap Map params);
-
- /**
- * 分享音乐
- */
- @Headers({"Content-type:application/json;charset=UTF-8"})
- @POST
- Observable shareMusic(@Url String url, @Body RequestBody body);
-
- /**
- * 好友分享的歌
- */
- @GET("/sunflower/os/music/car/v1/getFriendsMusic")
- Observable getFriendShareMusic(@QueryMap Map params);
-
- /**
- * 是否需要触发分享
- */
- @GET("/sunflower/os/music/car/v1/checkShare")
- Observable getShouldPushShare(@QueryMap Map params);
-
- /**
- * 开始音乐
- */
- @FormUrlEncoded
- @POST("/yycp-launcherSnapshot/mediaShare/mediaStart")
- Observable startedMusic(@FieldMap Map params );
-
- /**
- * 停止音乐
- */
- @FormUrlEncoded
- @POST("/yycp-launcherSnapshot/mediaShare/mediaPause")
- Observable stopMusic(@FieldMap Map params );
-
- /**
- * 点赞分享
- */
- @Headers({"Content-type:application/json;charset=UTF-8"})
- @POST
- Observable likeShare(@Url String url, @Body RequestBody body);
-
- /**
- * 获取附近分享的歌,传入一个type,单独拉取模块的markerdata
- */
- @FormUrlEncoded
- @POST("/yycp-launcherSnapshot/launcherSnapshot/querySnapshotSync")
- Observable getNearShareMusic(@FieldMap Map params );
-
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/constants/BaseUrlConstants.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/constants/BaseUrlConstants.java
deleted file mode 100644
index 42f21c56a1..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/constants/BaseUrlConstants.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.mogo.module.media.constants;
-
-public interface BaseUrlConstants {
- String DEV_BASE_URL = "http://dzt-dev.zhidaohulian.com";
- String QA_BASE_URL = "http://dzt-test.zhidaozhixing.com";
- String SHOW_BASE_URL = "http://dzt-show.zhidaozhixing.com";
- String RELEASE_BASE_URL = "http://dzt.zhidaohulian.com";
-
-
- String SHARE_MUSIC_URL = "/sunflower/os/music/car/v1/osMusiceShare";
- String SHARE_MUSIC_LIKE_URL = "/sunflower/os/music/car/v1/likedShareMusic";
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/constants/Constants.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/constants/Constants.java
deleted file mode 100644
index 28eb9095d5..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/constants/Constants.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.mogo.module.media.constants;
-
-public interface Constants {
-
- int ONE_KB = 1024;
- int ONE_MB = ONE_KB * 1024;
-
- int SIZE_DEFAULT = 2048;
- int SIZE_LIMIT = 2048;
-
- String IMAGE_COMPRESS_PATH = "image/compress/";
-
- //storage
- String SHOW_SHARE_PUSH_TIME = "show_share_push_time";
- //his music
- String LAST_TIME_LISTEN_MEDIA_MUSIC = "last_time_listen_media_music";
- String MEDIA_UNIQUE_NAME = "media_unique_name";
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/constants/EventConstants.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/constants/EventConstants.java
deleted file mode 100644
index 46cfaef99a..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/constants/EventConstants.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.mogo.module.media.constants;
-
-public interface EventConstants {
- String EVENT_QQ_OPEN_SHARE_DIALOG_SHOW = "card_QQMusic_pop";//打开分享弹窗 type 1、click,2、小智语音
- String EVENT_QQ_SHARE_DIALOG_OK = "card_QQMusic_affirm";//弹窗内选择“确认”
- String EVENT_QQ_SHARE_DIALOG_CANCLE = "card_QQMusic_close";//弹窗内选择“取消”
- String EVENT_QQ_MUSIC_START = "QQMusicBegin";// 音乐开始 type 1、click,2、小智语音,3、卡片
- String EVENT_QQ_MUSIC_PAUSE = "QQMusicSuspend";// 音乐暂停 type 1、click,2、小智语音,3、卡片
- String EVENT_QQ_LAST_PLAY = "QQMusicTheLast";//qq音乐上一章 type 1、click,2、小智语音,3、卡片
- String EVENT_QQ_Next_PLAY = "QQMusicNext";//qq音乐下一章 type 1、click,2、小智语音,3、卡片
-
- String EVENT_BOOK_OPEN_SHARE_DIALOG_SHOW = "card_Book_pop";//打开分享弹窗 type 1、click,2、小智语音
- String EVENT_BOOK_SHARE_DIALOG_OK = "card_Book_affirm";//弹窗内选择“确认”
- String EVENT_BOOK_SHARE_DIALOG_CANCLE = "card_Book_close";//弹窗内选择“取消”
- String EVENT_BOOK_MUSIC_START = "BookBegin";// 书开始 type 1、click,2、小智语音,3、卡片
- String EVENT_BOOK_MUSIC_PAUSE = "BookSuspend";// 书暂停 type 1、click,2、小智语音,3、卡片
- String EVENT_BOOK_LAST_PLAY = "BookTheLast";//懒人听书上一章 type 1、click,2、小智语音,3、卡片
- String EVENT_BOOK_Next_PLAY = "BookNext";//懒人听书下一章 type 1、click,2、小智语音,3、卡片
-
- String EVENT_NEWS_OPEN_SHARE_DIALOG_SHOW = "card_News_pop";//打开分享弹窗 type 1、click,2、小智语音
- String EVENT_NEWS_SHARE_DIALOG_OK = "card_News_affirm";//弹窗内选择“确认”
- String EVENT_NEWS_SHARE_DIALOG_CANCLE = "card_News_close";//弹窗内选择“取消”
- String EVENT_NEWS_MUSIC_START = "NewsBegin";// 新闻开始 type 1、click,2、小智语音,3、卡片
- String EVENT_NEWS_MUSIC_PAUSE = "NewsSuspend";// 新闻暂停 type 1、click,2、小智语音,3、卡片
- String EVENT_NEWS_LAST_PLAY = "NewsTheLast";//新闻上一章 type 1、click,2、小智语音,3、卡片
- String EVENT_NEWS_Next_PLAY = "NewsNext";//新闻下一章 type 1、click,2、小智语音,3、卡片
-
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/constants/LeTingFieldConstants.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/constants/LeTingFieldConstants.java
deleted file mode 100644
index 68ecba4a7e..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/constants/LeTingFieldConstants.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.mogo.module.media.constants;
-
-public interface LeTingFieldConstants {
- String curTime = "curTime";//当前播放时长
- String maxTime = "maxTime";//书籍总时长
- String type = "type";//2 为书籍听书,3 为新闻 1 qq音乐
- String mediaName = "mediaName";//新书标题,新闻标题
- String artist = "artist";//新书来源,新闻来源
- String cover = "cover";//作者封面,封面
- String bookName = "bookName";//书籍名
- String playState = "playState";//1 播放 2 缓冲 0 暂停/停止 -1 播放错误
- String bookInfo = "bookInfo";//书本实例
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/constants/MusicConstant.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/constants/MusicConstant.java
deleted file mode 100644
index e26222ae1f..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/constants/MusicConstant.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.mogo.module.media.constants;
-
-/**
- * 音频相关常量
- *
- * @author tongchenfei
- */
-public class MusicConstant {
- public static final int PLAY_STATE_PLAYING = 1;
- public static final int PLAY_STATE_BUFF = 2;
- public static final int PLAY_STATE_PAUSE_OR_STOP = 0;
- public static final int PLAY_STATE_ERROR = -1;
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/constants/QQMusicFieldConstants.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/constants/QQMusicFieldConstants.java
deleted file mode 100644
index 8c6c8915ef..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/constants/QQMusicFieldConstants.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.mogo.module.media.constants;
-
-public interface QQMusicFieldConstants {
- String curTime = "curTime";//当前播放时长
- String maxTime = "maxTime";//书籍总时长
- String type = "type";//2 为书籍听书,3 为新闻,1 为qq音乐
- String mediaName = "mediaName";//歌曲名
- String playState = "playState";//1 播放 2 缓冲 0 暂停/停止 -1 播放错误
- String mediaUrl = "mediaUrl";//音乐url
- String mediaSinger = "mediaSinger";//歌手名
- String mediaImgUrl = "mediaImgUrl";//封面
- String mediaType = "mediaType";//歌曲类别
- String mediaMid = "mediaMid";//song mid
- String isLocalMedia = "isLocalMedia";//是否是本地歌曲
- String mediaPlayMode = "mediaPlayMode";//播放模式
- String mediaAlbumName = "mediaAlbumName";//专辑名
-
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/constants/VoiceConstants.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/constants/VoiceConstants.java
deleted file mode 100644
index ee00d72ce0..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/constants/VoiceConstants.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.mogo.module.media.constants;
-
-public interface VoiceConstants {
- String SHARE_QQ_MUSIC = "确认分享该歌曲,你可对我说确认或取消";
- String SHARE_LANREN_MUSIC = "确认分享本书,你可对我说确认或取消";
- String SHARE_LETINGNES_MUSIC = "确认分享新闻,你可对我说确认或取消";
- String COMMAND_SHARE_MUSIC_PUSH_MESSAGE ="可把歌曲,书籍,新闻分享给附近的车友,语音回复分享即可分享";
- String[] COMMAND_SHARE_MUSIC_PUSH_MESSAGE_OK = {"分享"};
- String[] COMMAND_SHARE_MUSIC_PUSH_MESSAGE_CANCEL = { "不分享"};
-
- String[] COMMAND_NO_WAKEUP_MUSIC_SHARE = {"分享歌曲","分享音乐","分享这首歌","帮我分享一下这个歌","把这首歌分享一下"};
- String COMMAND_NO_WAKEUP_SHARE_MUSIC_CMD = "media_card_music_no_wake_share";
-
- String[] COMMAND_NO_WAKEUP_BOOK_SHARE = {"分享书","分享这本书","帮我分享一下这本书","把这本书分享一下"};
- String COMMAND_NO_WAKEUP_SHARE_BOOK_CMD = "media_card_book_no_wake_share";
-
- String[] COMMAND_NO_WAKEUP_NEWS_SHARE = {"分享新闻","分享这条新闻","把这条新闻分享一下","帮我分享一下这条新闻"};
- String COMMAND_NO_WAKEUP_SHARE_NEWS_CMD = "media_card_news_no_wake_share";
-
- String[] COMMAND_NO_WAKEUP_BOOK_MUSIC_SHARE = {"分享"};
- String COMMAND_NO_WAKEUP_SHARE_BOOK_MUSIC_CMD = "media_card_book_music_no_wake_share";
-
- String[] COMMAND_SHARE_MUSIC_OK = {"确认", "是","分享"};
- String[] COMMAND_NO_SHARE_MUSIC_CANCEL = {"取消", "不分享"};
-
- String[] COMMAND_OPEN_MUSIC = {"**打开**音乐**","打开音乐","帮我打开一下音乐好不好","打开一下音乐好不好","帮我打开音乐","打开音乐谢谢"};
- String COMMAND_OPEN_MUSIC_CMD = "media_card_open_music";
-
- String[] COMMAND_CLOSE_MUSIC = {"**关闭**音乐**","关闭音乐","退出音乐","帮我关闭一下音乐好不好","关闭一下音乐好不好","帮我关闭音乐","关闭那个音乐","关闭音乐谢谢"};
- String COMMAND_CLOSE_MUSIC_CMD = "media_card_close_music";
-
- String[] COMMAND_NEAR_MUSIC = {"附近的歌","附近的人听的歌","附近的人听的音乐","周围的人听的歌","周围的人听的音乐"};
- String COMMAND_NEAR_MUSIC_CMD = "media_card_near_music";
-
- String[] COMMAND_FRIEND_MUSIC = {"好友听的歌","好友听的音乐","播放好友的歌","放好友的歌","听好友的歌","播放好友的音乐","放好友的音乐","听好友的音乐"};
- String COMMAND_FRIEND_MUSIC_CMD = "media_card_friend_music";
-
- String[] COMMAND_QUERY_MUSIC_NAME = {"这歌是什么","这歌叫啥","这首歌叫什么名字","歌名是什么","这首歌的名字","这首音乐叫什么","这个歌是啥"};
- String COMMAND_QUERY_MUSIC_NAME_CMD = "media_card_query_music_name";
-
- String[] COMMAND_QUERY_MUSIC_SINGER = {"这首歌是谁唱的","这歌谁唱的","这首歌的歌手","这首歌的歌手是谁","查一下这首歌的歌手"};
- String COMMAND_QUERY_MUSIC_SINGERME_CMD = "media_card_query_music_singer";
-
- String[] COMMAND_SHARE_DIALOG_TIMEOUT_CLOSE = {"关闭","取消","关闭分享","取消分享","关闭弹窗","取消弹窗","不分享"};
- String COMMAND_SHARE_DIALOG_TIMEOUT_CLOSE_COMMAND = "share_dialog_timeout_close_command";
-
- String[] COMMAND_SHARE_DIALOG_TIMEOUT_OK = {"确认","确定","分享","确认分享","确定分享"};
- String COMMAND_SHARE_DIALOG_TIMEOUT_OK_COMMAND = "share_dialog_timeout_confirm_command";
-
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/dialog/BaseDialogFragment.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/dialog/BaseDialogFragment.java
deleted file mode 100644
index f899862699..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/dialog/BaseDialogFragment.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package com.mogo.module.media.dialog;
-
-import android.app.Activity;
-import android.content.Context;
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Bundle;
-import android.view.View;
-import android.view.inputmethod.InputMethodManager;
-
-import androidx.annotation.Nullable;
-import androidx.fragment.app.DialogFragment;
-
-import com.mogo.utils.TipToast;
-
-
-public abstract class BaseDialogFragment extends DialogFragment {
- protected Bundle mBundle;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- mBundle = savedInstanceState == null ? getArguments() : savedInstanceState;
- if (mBundle == null) {
- mBundle = new Bundle();
- }
- }
-
- @Override
- public void onActivityCreated(@Nullable Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
- }
-
- @Override
- public void onSaveInstanceState(Bundle outState) {
- if (mBundle != null) {
- outState.putAll(mBundle);
- }
- super.onSaveInstanceState(outState);
- }
-
- public void openActivity(Class extends Activity> cls) {
- openActivity(cls, null);
- }
-
- public void openActivity(Class extends Activity> cls, Bundle bundle) {
- Intent intent = new Intent();
- if (bundle != null) {
- intent.putExtras(bundle);
- }
- intent.setClass(getActivity(), cls);
- startActivity(intent);
- }
-
- public void openActivity(String url, Bundle bundle) {
- Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
- if (bundle != null) {
- intent.putExtras(bundle);
- }
- intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
- startActivity(intent);
- }
-
- public void openActivityForResult(Class extends Activity> cls, Bundle bundle, int requestCode) {
- Intent intent = new Intent();
- if (bundle != null) {
- intent.putExtras(bundle);
- }
- intent.setClass(getActivity(), cls);
- startActivityForResult(intent, requestCode);
- }
-
- public void backForResult(int resultCode, Bundle bundle) {
- Intent intent = new Intent();
- if (bundle != null) {
- intent.putExtras(bundle);
- }
- getActivity().setResult(resultCode, intent);
- getActivity().finish();
- }
-
- public void backToActivity(Class extends Activity> cls, Bundle bundle) {
- Intent intent = new Intent();
- if (bundle != null) {
- intent.putExtras(bundle);
- }
- intent.setClass(getActivity(), cls);
- intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
- startActivity(intent);
- }
-
- @Override
- public Context getContext() {
- return super.getContext();
- }
-
- public boolean isVisibleToUser() {
- return isResumed();
- }
-
-
- public void showToast(CharSequence toast) {
- TipToast.shortTip(toast.toString());
- }
- public void showInputMethod(View view) {
- if (getContext() == null) return;
- InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
- if (imm != null) {
- imm.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT);
- }
- }
-
- public void hideInputMethod(View view) {
- if (getContext() == null) return;
- InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
- if (imm != null) {
- imm.hideSoftInputFromWindow(view.getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);
- }
- }
-}
-
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/dialog/CustomDialog.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/dialog/CustomDialog.java
deleted file mode 100644
index 2e11fbdbe2..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/dialog/CustomDialog.java
+++ /dev/null
@@ -1,229 +0,0 @@
-package com.mogo.module.media.dialog;
-
-import android.app.Dialog;
-import android.content.Context;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.text.method.LinkMovementMethod;
-import android.util.TypedValue;
-import android.view.Gravity;
-import android.view.View;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-
-import com.mogo.module.media.R;
-
-public class CustomDialog extends Dialog {
- TextView txtOk;
- TextView txtCancel;
- TextView txtTitle;
- TextView txtContent;
- TextView txtSubContent;
-
- private int mContentSize = 0;
- private int mContentColor = 0;
- private int mBtnSize = 0;
-
- private int mSubContentSize = 0;
- private int mContentLeftPadding = 0;
-
- private View.OnClickListener onOkListener, onCancelListener;
-
- private String title, subContent, okText, cancelText;
- private CharSequence content;
- private boolean isAutoDismissDialog = true;
-
- private int contentGravity = Gravity.CENTER;
- private int subContentGravity = Gravity.LEFT;
-
- private boolean isContentClickSpanEnable = false;
-
- public CustomDialog(@NonNull Context context) {
- super(context);
- }
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.module_media_dialog_cutom_layout);
-
- initView();
-
- if (TextUtils.isEmpty(title)) {
- txtTitle.setVisibility(View.GONE);
- } else {
- txtTitle.setText(title);
- txtTitle.setVisibility(View.VISIBLE);
- }
-
- if (mContentSize > 0){
- txtContent.setTextSize(TypedValue.COMPLEX_UNIT_PX,mContentSize);
- }
-
- if (mSubContentSize > 0){
- txtSubContent.setTextSize(TypedValue.COMPLEX_UNIT_PX,mSubContentSize);
- }
-
- if (mContentColor > 0){
- txtContent.setTextColor(mContentColor);
- }
-
- if (mContentLeftPadding > 0){
- txtContent.setPadding(mContentLeftPadding,0,mContentLeftPadding,0);
- }
-
- if ( content instanceof String) {
- content = ( (String) content ).replace( "\\n", "\n" );
- }
-
- txtContent.setText(content);
- if (TextUtils.isEmpty(subContent)) {
- txtSubContent.setVisibility(View.GONE);
- } else {
- txtSubContent.setVisibility(View.VISIBLE);
- txtSubContent.setText(subContent);
- }
-
- txtSubContent.setGravity(subContentGravity);
-
- if (mBtnSize > 0){
- txtOk.setTextSize(TypedValue.COMPLEX_UNIT_PX,mBtnSize);
- txtCancel.setTextSize(TypedValue.COMPLEX_UNIT_PX,mBtnSize);
- }
-
- if (!TextUtils.isEmpty(okText)) {
- txtOk.setVisibility(View.VISIBLE);
- txtOk.setText(okText);
- } else {
- txtOk.setVisibility(View.GONE);
- }
- if (!TextUtils.isEmpty(cancelText)) {
- txtCancel.setVisibility(View.VISIBLE);
- txtCancel.setText(cancelText);
- } else {
- txtCancel.setVisibility(View.GONE);
- }
-
- txtOk.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (isAutoDismissDialog) {
- dismiss();
- }
- if (onOkListener != null) {
- onOkListener.onClick(v);
- }
- }
- });
- txtCancel.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (isAutoDismissDialog) {
- dismiss();
- }
- if (onCancelListener != null) {
- onCancelListener.onClick(v);
- }
- }
- });
-
- txtContent.setGravity( contentGravity );
-
- if ( isContentClickSpanEnable ) {
- txtContent.setMovementMethod( LinkMovementMethod.getInstance() );
- }
-
- }
-
- private void initView() {
- txtOk = findViewById(R.id.txt_ok);
- txtCancel = findViewById(R.id.txt_cancel);
- txtTitle = findViewById(R.id.txt_title);
- txtContent = findViewById(R.id.txt_content);
- txtSubContent = findViewById(R.id.txt_sub_content);
- }
-
- public void setTitle(String title) {
- this.title = title;
- }
-
- public void setContent(CharSequence content) {
- this.content = content;
- }
-
- public void setSubContent(String subContent) {
- this.subContent = subContent;
- }
-
- public void setContentGravity(int gravity) {
- contentGravity = gravity;
- }
-
- public void hiddenBtnCancel() {
- txtCancel.setVisibility(View.GONE);
- }
-
- public void setOnOkClickListener(String okText, View.OnClickListener onOkClickListener) {
- this.okText = okText;
- this.onOkListener = onOkClickListener;
- }
-
- public void setOnOkClickListener(View.OnClickListener onOkClickListener) {
- setOnOkClickListener("确定", onOkClickListener);
- }
-
- public void setOnCancelListener(String cancelText, View.OnClickListener onCancelListener) {
- this.cancelText = cancelText;
- this.onCancelListener = onCancelListener;
- }
-
- public void setOnCancelListener(View.OnClickListener onCancelListener) {
- setOnCancelListener("取消", onCancelListener);
- }
-
- public void setAutoDismissDialog(boolean autoDismissDialog) {
- isAutoDismissDialog = autoDismissDialog;
- }
-
- public void setBtnTextSize(int size){
- mBtnSize = size;
- }
-
- public void setContentTextSize(int size){
- mContentSize = size;
- }
-
- public void setSubContentTextSize(int size){
- mSubContentSize = size;
- }
-
- public void setContentColor(int color){
- mContentColor = color;
- }
-
- public int getContentGravity() {
- return contentGravity;
- }
-
- public int getSubContentGravity() {
- return subContentGravity;
- }
-
- public void setSubContentGravity(int subContentGravity) {
- this.subContentGravity = subContentGravity;
- }
-
- public void setContentClickSpanEnable(boolean contentClickSpanEnable ) {
- isContentClickSpanEnable = contentClickSpanEnable;
- }
-
- public int getContentLeftPadding() {
- return mContentLeftPadding;
- }
-
- public void setContentLeftPadding(int mContentLeftPadding) {
- this.mContentLeftPadding = mContentLeftPadding;
- }
-}
-
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/dialog/MediaShareDialogFragment.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/dialog/MediaShareDialogFragment.java
deleted file mode 100644
index 9dbfd499fe..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/dialog/MediaShareDialogFragment.java
+++ /dev/null
@@ -1,445 +0,0 @@
-package com.mogo.module.media.dialog;
-
-import android.app.Dialog;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.content.res.Resources;
-import android.graphics.drawable.ColorDrawable;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.Window;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-import com.mogo.commons.network.ParamsProvider;
-import com.mogo.commons.network.ParamsUtil;
-import com.mogo.commons.network.SubscribeImpl;
-import com.mogo.commons.voice.AIAssist;
-import com.mogo.commons.voice.IMogoVoiceCmdCallBack;
-import com.mogo.map.location.MogoLocation;
-import com.mogo.module.common.entity.MarkerShareMusic;
-import com.mogo.module.media.MediaConstants;
-import com.mogo.module.media.R;
-import com.mogo.module.media.ServiceMediaHandler;
-import com.mogo.module.media.api.MediaDztService;
-import com.mogo.module.media.constants.BaseUrlConstants;
-import com.mogo.module.media.constants.EventConstants;
-import com.mogo.module.media.constants.VoiceConstants;
-import com.mogo.module.media.listener.MogoVoiceCmdCallBackImp;
-import com.mogo.module.media.model.MediaInfoData;
-import com.mogo.module.media.model.ShareSuccessResult;
-import com.mogo.module.media.utils.BaseUrlManager;
-import com.mogo.module.media.utils.MediaAnalyticsUtils;
-import com.mogo.module.media.utils.ToastHelper;
-import com.mogo.module.media.widget.RoundedImageView;
-import com.mogo.utils.TipToast;
-import com.mogo.utils.glide.GlideApp;
-import com.mogo.utils.logger.Logger;
-import com.mogo.utils.network.RequestOptions;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import io.reactivex.Observable;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.schedulers.Schedulers;
-
-/**
- * media 分享dialog
- */
-public class MediaShareDialogFragment extends BaseDialogFragment {
-
- private Disposable mDisposable;
- private Context context;
- private Callback callback;
- private RoundedImageView mMediaImg;
- private TextView mMediaName;
- private TextView mMediaSinger;
- private TextView mOk;
- private TextView mCancel;
- private TextView mDialogContent;
- private MediaInfoData mMediaInfoData;
- private VoiceCallBack voiceCallBack = new VoiceCallBack();
- private boolean shareSuccess = false;
- private MarkerShareMusic markerShareMusic;
- private boolean navi = false;
- private ShareOkReceiver mShareOkReceiver;
-
- public interface Callback {
- void onShareDialogShow();
-
- void onShareDialogDismiss(boolean success,MarkerShareMusic markerShareMusic);
- }
-
- public static final String TAG = "MediaShareDialogFragment";
-
- public static MediaShareDialogFragment newInstance(MediaInfoData data,boolean navi) {
- Bundle args = new Bundle();
- args.putSerializable("data", data);
- args.putBoolean("navi",navi);
- MediaShareDialogFragment fragment = new MediaShareDialogFragment();
- fragment.setArguments(args);
- return fragment;
- }
-
- @Override
- public void onAttach(Context context) {
- super.onAttach(context);
- this.context = context;
- if (getParentFragment() instanceof Callback) {
- callback = ((Callback) getParentFragment());
- } else if (context instanceof Callback) {
- callback = ((Callback) context);
- }
- }
-
- @Nullable
- @Override
- public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
- final Dialog dialog = getDialog();
- if (dialog != null) {
- dialog.setCanceledOnTouchOutside(false);
- dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
- if (dialog.getWindow() != null) {
- dialog.getWindow().setBackgroundDrawable(new ColorDrawable(0));
- }
- }
-
- return inflater.inflate(R.layout.module_media_share_fragment_view, null);
- }
-
- @Override
- public void onActivityCreated(@Nullable Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
- if (callback != null) {
- callback.onShareDialogShow();
- }
- try {
- mMediaInfoData = (MediaInfoData) getArguments().getSerializable("data");
- navi = getArguments().getBoolean("navi");
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- initViews();
- registerMediaReceiver();
- registerCloseNoWakeUp();
- }
-
- private class VoiceCallBack implements IMogoVoiceCmdCallBack {
- @Override
- public void onCmdSelected(String cmd) {
-
- }
-
- @Override
- public void onCmdAction(String speakText) {
- //确认
- shareMusic(mMediaInfoData,false);
- Logger.d("MediaShareDialogFragment","qa onCmdAction"+speakText);
- }
-
- @Override
- public void onCmdCancel(String speakText) {
- //取消
- dissMisDialog(false);
- Logger.d("MediaShareDialogFragment","qa onCmdCancel");
- }
-
- @Override
- public void onSpeakEnd(String speakText) {
- Logger.d("MediaShareDialogFragment","qa onSpeakEnd");
- }
-
- @Override
- public void onSpeakSelectTimeOut(String speakText) {
- if (!navi) registerCloseNoWakeUp();
- Logger.d("MediaShareDialogFragment","qa onSpeakSelectTimeOut");
- }
- }
-
- private void registerMediaReceiver() {
- mShareOkReceiver = new ShareOkReceiver();
- IntentFilter filterone = new IntentFilter();
- filterone.addAction("com.zhidao.speech.awake.notify");
- getContext().registerReceiver(mShareOkReceiver, filterone);
- }
-
- private void unRegisterMediaReceiver() {
- try {
- getContext().unregisterReceiver(mShareOkReceiver);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- private class ShareOkReceiver extends BroadcastReceiver {
-
- @Override
- public void onReceive(Context context, Intent intent) {
- try {
- if (intent != null){
- String cmdStr = intent.getStringExtra("command");
- if(cmdStr.equals("com.zhidao.multiMedia.share.comfirm")){
- shareMusic(mMediaInfoData,false);
- }else if (cmdStr.equals("com.zhidao.multiMedia.share.cancel")){
- dissMisDialog(false);
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
-
- private void registerCloseNoWakeUp() {
- AIAssist.getInstance(getActivity()).registerUnWakeupCommand(VoiceConstants.COMMAND_SHARE_DIALOG_TIMEOUT_CLOSE_COMMAND
- , VoiceConstants.COMMAND_SHARE_DIALOG_TIMEOUT_CLOSE
- ,new MogoVoiceCmdCallBackImp(){
- @Override
- public void onCmdSelected(String cmd) {
- super.onCmdSelected(cmd);
- if (cmd.equals(VoiceConstants.COMMAND_SHARE_DIALOG_TIMEOUT_CLOSE_COMMAND)){
- dismissAllowingStateLoss();
- }
- Logger.d("MediaShareDialogFragment","registerUnWakeupCommand onCmdSelected");
- }
-
- @Override
- public void onSpeakEnd(String speakText) {
- super.onSpeakEnd(speakText);
- Logger.d("MediaShareDialogFragment","registerUnWakeupCommand onSpeakEnd"+speakText);
- }
-
- @Override
- public void onSpeakSelectTimeOut(String speakText) {
- super.onSpeakSelectTimeOut(speakText);
- Logger.d("MediaShareDialogFragment","registerUnWakeupCommand onSpeakSelectTimeOut");
- }
- });
-
- AIAssist.getInstance(getActivity()).registerUnWakeupCommand(VoiceConstants.COMMAND_SHARE_DIALOG_TIMEOUT_OK_COMMAND
- , VoiceConstants.COMMAND_SHARE_DIALOG_TIMEOUT_OK
- ,new MogoVoiceCmdCallBackImp(){
- @Override
- public void onCmdSelected(String cmd) {
- super.onCmdSelected(cmd);
- if (cmd.equals(VoiceConstants.COMMAND_SHARE_DIALOG_TIMEOUT_OK_COMMAND)){
- shareMusic(mMediaInfoData,false);
- }
- }
-
- @Override
- public void onSpeakEnd(String speakText) {
- super.onSpeakEnd(speakText);
- }
-
- @Override
- public void onSpeakSelectTimeOut(String speakText) {
- super.onSpeakSelectTimeOut(speakText);
- }
- });
-
-
- }
-
- private void initViews() {
- mMediaImg = getView().findViewById(R.id.media_img);
- mMediaName = getView().findViewById(R.id.media_name);
- mMediaSinger = getView().findViewById(R.id.media_singer);
- mOk = getView().findViewById(R.id.txt_ok);
- mCancel = getView().findViewById(R.id.txt_cancle);
- mDialogContent = getView().findViewById(R.id.media_dialog_content);
- mCancel.setOnClickListener(view -> {
- dissMisDialog(true);
- });
-
- mOk.setOnClickListener(view -> {
- shareMusic(mMediaInfoData,true);
- });
-
- if (mMediaInfoData != null) {
- if (mMediaInfoData.getMediaImg() != null) {
- com.bumptech.glide.request.RequestOptions options = new com.bumptech.glide.request.RequestOptions()
- .placeholder(R.drawable.module_media_share_default_rect_icon);
- GlideApp.with(getActivity()).applyDefaultRequestOptions(options).load(mMediaInfoData.getMediaImg()).into(mMediaImg);
- }
-
- if (mMediaInfoData.getMediaName() != null) {
- mMediaName.setText(mMediaInfoData.getMediaName());
- }
-
- if (mMediaInfoData.getMediaSinger() != null) {
- mMediaSinger.setText(mMediaInfoData.getMediaSinger());
- }
-
- if (mMediaInfoData.getType() == 1) {
- mDialogContent.setText(context.getResources().getString(R.string.module_media_share_qq_music));
- } else if (mMediaInfoData.getType() == 2){
- mDialogContent.setText(context.getResources().getString(R.string.module_media_share_lan_ren));
- } else if (mMediaInfoData.getType() == 3){
- mDialogContent.setText(context.getResources().getString(R.string.module_media_share_le_ting_news));
- }
- }
- }
-
- private void dissMisDialog(boolean click) {
- dismissAllowingStateLoss();
- try {
- if (mMediaInfoData != null){
- HashMap hashMap = new HashMap<>();
- hashMap.put("type",click ?1:2);
- String trackId = "";
- if (mMediaInfoData.getType() == 1){
- trackId = EventConstants.EVENT_QQ_SHARE_DIALOG_CANCLE;
- }else if (mMediaInfoData.getType() == 2){
- trackId = EventConstants.EVENT_BOOK_SHARE_DIALOG_CANCLE;
- }else if (mMediaInfoData.getType() == 3){
- trackId = EventConstants.EVENT_NEWS_SHARE_DIALOG_CANCLE;
- }
- MediaAnalyticsUtils.track(trackId ,hashMap);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Override
- public void onDismiss(DialogInterface dialog) {
- super.onDismiss(dialog);
- try {
-
- unRegisterMediaReceiver();
-
- AIAssist.getInstance(getActivity()).unregisterUnWakeupCommand(VoiceConstants.COMMAND_SHARE_DIALOG_TIMEOUT_CLOSE_COMMAND);
- AIAssist.getInstance(getActivity()).unregisterUnWakeupCommand(VoiceConstants.COMMAND_SHARE_DIALOG_TIMEOUT_OK_COMMAND);
-
- if (mDisposable != null && !mDisposable.isDisposed()) {
- mDisposable.dispose();
- }
- if (callback != null) {
- callback.onShareDialogDismiss(shareSuccess,markerShareMusic);
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- private void shareMusic(MediaInfoData mCurrentMusic,boolean click) {
- if (mCurrentMusic == null) return;
- markerShareMusic = new MarkerShareMusic();
- try {
- if (mMediaInfoData != null){
- HashMap hashMap = new HashMap<>();
- hashMap.put("type",click ? 1:2);
- String trackId = "";
- if (mMediaInfoData.getType() == 1){
- trackId = EventConstants.EVENT_QQ_SHARE_DIALOG_OK;
- }else if (mMediaInfoData.getType() == 2){
- trackId = EventConstants.EVENT_BOOK_SHARE_DIALOG_OK;
- }else if (mMediaInfoData.getType() == 3){
- trackId = EventConstants.EVENT_NEWS_SHARE_DIALOG_OK;
- }
- MediaAnalyticsUtils.track(trackId ,hashMap);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- final Map businessParams = new HashMap<>();
- final MogoLocation location = ServiceMediaHandler.getLocationClient().getLastKnowLocation();
- if (location != null) {
- businessParams.put("address", location.getAddress());
- }
-
- businessParams.put("bookInfo", mCurrentMusic.getBookInfo());
- businessParams.put("mediaDuration", mCurrentMusic.getMaxTime() + "");
- businessParams.put("mediaId", mCurrentMusic.getMediaId());
- businessParams.put("mediaImg", mCurrentMusic.getMediaImg());
- businessParams.put("mediaName", mCurrentMusic.getMediaName());
- businessParams.put("mediaSinger", mCurrentMusic.getMediaSinger());
- businessParams.put("mediaType", mCurrentMusic.getMediaType());
- businessParams.put("mediaUrl", mCurrentMusic.getMediaUrl());
- businessParams.put("shareType", mCurrentMusic.getType());
-
- ParamsProvider.Builder builder = new ParamsProvider.Builder(getContext());
- if (location != null) {
- builder.append("lat", location.getLatitude());
- builder.append("lng", location.getLongitude());
- }else{
- TipToast.shortTip("分享失败,定位出错请重试!");
- shareSuccess = false;
- dismissAllowingStateLoss();
- return;
- }
- final Map params = builder
- .append(businessParams)
- .build();
- Observable observable = ServiceMediaHandler.getMogoNetWorkService().create(MediaDztService.class, BaseUrlManager.getDztBaseUrl())
- .shareMusic(ParamsUtil.toQueryUrl(BaseUrlManager.getDztBaseUrl() + BaseUrlConstants.SHARE_MUSIC_URL, params, businessParams), ParamsUtil.convert(businessParams));
- observable
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new SubscribeImpl(RequestOptions.create(getContext())) {
- @Override
- public void onSubscribe(Disposable d) {
- mDisposable = d;
- }
-
- @Override
- public void onSuccess(ShareSuccessResult resultData) {
- try {
- ToastHelper.showShortSuccess(getContext(), getContext().getResources().getString(R.string.module_media_share_success));
- if (!navi) AIAssist.getInstance(getActivity()).speakTTSVoice(getContext().getResources().getString(R.string.module_media_share_success),null);
- shareSuccess = true;
- if (resultData != null && resultData.result != null){
- markerShareMusic = resultData.result;
- markerShareMusic.setType(MediaConstants.MODULE_TYPE);
- }
- dismissAllowingStateLoss();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Override
- public void onError(Throwable e) {
- super.onError(e);
- try {
- ToastHelper.showShortError(getContext(), getContext().getResources().getString(R.string.module_media_share_fail));
- TipToast.shortTip("分享失败");
- if (!navi)AIAssist.getInstance(getActivity()).speakTTSVoice(getContext().getResources().getString(R.string.module_media_share_fail),null);
- dismissAllowingStateLoss();
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- }
-
- @Override
- public void onError(String message, int code) {
- super.onError(message, code);
- try {
- ToastHelper.showShortError(getContext(), getContext().getResources().getString(R.string.module_media_share_fail));
- TipToast.shortTip(!TextUtils.isEmpty(message)?message:"分享失败");
- if (!navi)AIAssist.getInstance(getActivity()).speakTTSVoice(!TextUtils.isEmpty(message)?message:"分享失败",null);
- dismissAllowingStateLoss();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- );
-
- }
-
-}
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/listener/MogoVoiceCmdCallBackImp.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/listener/MogoVoiceCmdCallBackImp.java
deleted file mode 100644
index 958debea23..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/listener/MogoVoiceCmdCallBackImp.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.mogo.module.media.listener;
-
-import com.mogo.commons.voice.IMogoVoiceCmdCallBack;
-
-public abstract class MogoVoiceCmdCallBackImp implements IMogoVoiceCmdCallBack {
- @Override
- public void onCmdSelected(String cmd) {
-
- }
-
- @Override
- public void onCmdAction(String speakText) {
-
- }
-
- @Override
- public void onCmdCancel(String speakText) {
-
- }
-
- @Override
- public void onSpeakEnd(String speakText) {
-
- }
-
- @Override
- public void onSpeakSelectTimeOut(String speakText) {
-
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/listener/NoDoubleClickListener.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/listener/NoDoubleClickListener.java
deleted file mode 100644
index 006165855c..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/listener/NoDoubleClickListener.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.mogo.module.media.listener;
-
-import android.view.View;
-
-public abstract class NoDoubleClickListener implements View.OnClickListener {
-
- public static final int MIN_CLICK_DELAY_TIME = 700;
-
- private long lastClickTime = 0;
-
- @Override
-
- public void onClick(View v) {
- long currentTime = System.currentTimeMillis();
- if ((currentTime - lastClickTime) > MIN_CLICK_DELAY_TIME) {
- lastClickTime = currentTime;
- onClicks(v);
- }
-
- }
-
- public abstract void onClicks(View view);
-}
-
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/LanRenInsertData.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/LanRenInsertData.java
deleted file mode 100644
index 507bcf0754..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/LanRenInsertData.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package com.mogo.module.media.model;
-
-import java.io.Serializable;
-
-public class LanRenInsertData implements Serializable {
-
- /**
- * announcer : 动之以情
- * auth : 耗子扛大刀
- * bookId : 28862
- * cover : http://bookpic.lrts.me/b8d33429fa0840578207c1685e8fa22a_180x254.jpg
- * desc : 传说中的兵之王者,神秘莫测的杀手之王,带着仇恨与疑惑进入都市寻找仇敌!
- * isCollect : false
- * name : 特种军医在都市
- * sections : 447
- * typeName : 都市传说
- */
-
- private String announcer;
- private String auth;
- private int bookId;
- private String cover;
- private String desc;
- private boolean isCollect;
- private String name;
- private int sections;
- private String typeName;
-
- public String getAnnouncer() {
- return announcer;
- }
-
- public void setAnnouncer(String announcer) {
- this.announcer = announcer;
- }
-
- public String getAuth() {
- return auth;
- }
-
- public void setAuth(String auth) {
- this.auth = auth;
- }
-
- public int getBookId() {
- return bookId;
- }
-
- public void setBookId(int bookId) {
- this.bookId = bookId;
- }
-
- public String getCover() {
- return cover;
- }
-
- public void setCover(String cover) {
- this.cover = cover;
- }
-
- public String getDesc() {
- return desc;
- }
-
- public void setDesc(String desc) {
- this.desc = desc;
- }
-
- public boolean isIsCollect() {
- return isCollect;
- }
-
- public void setIsCollect(boolean isCollect) {
- this.isCollect = isCollect;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public int getSections() {
- return sections;
- }
-
- public void setSections(int sections) {
- this.sections = sections;
- }
-
- public String getTypeName() {
- return typeName;
- }
-
- public void setTypeName(String typeName) {
- this.typeName = typeName;
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/LeTingNewsData.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/LeTingNewsData.java
deleted file mode 100644
index 68bc3046ba..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/LeTingNewsData.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package com.mogo.module.media.model;
-
-import java.io.Serializable;
-
-public class LeTingNewsData implements Serializable {
-
- /**
- * catalog_id : channel_recommend
- * catalog_name : 推荐
- * title : 内蒙古:妈妈去武汉打“怪兽”
- * hms : 02:20
- * image : https://image.leting.io/a066db4d5c615605e79c3235d9f54669.jpg
- * sid : Pfzgptk29ZG86N0JStE5l-1srtNmDnAwBBLMCm-2l7QvQAP7vq0G_Jlm6YM8z9kHb97sJVd5mJ_2zW5EWtahbQ==
- * source : 北京您早
- * source_icon : https://image.leting.io/a77d7b23030e49007c148a563c386dbe.jpg
- * pub_time : 0
- * updated_at : 0
- * duration : 140
- * hot : 0
- */
-
- private String catalog_id;
- private String catalog_name;
- private String title;
- private String hms;
- private String image;
- private String sid;
- private String source;
- private String source_icon;
- private int pub_time;
- private int updated_at;
- private int duration;
- private int hot;
-
- public String getCatalog_id() {
- return catalog_id;
- }
-
- public void setCatalog_id(String catalog_id) {
- this.catalog_id = catalog_id;
- }
-
- public String getCatalog_name() {
- return catalog_name;
- }
-
- public void setCatalog_name(String catalog_name) {
- this.catalog_name = catalog_name;
- }
-
- public String getTitle() {
- return title;
- }
-
- public void setTitle(String title) {
- this.title = title;
- }
-
- public String getHms() {
- return hms;
- }
-
- public void setHms(String hms) {
- this.hms = hms;
- }
-
- public String getImage() {
- return image;
- }
-
- public void setImage(String image) {
- this.image = image;
- }
-
- public String getSid() {
- return sid;
- }
-
- public void setSid(String sid) {
- this.sid = sid;
- }
-
- public String getSource() {
- return source;
- }
-
- public void setSource(String source) {
- this.source = source;
- }
-
- public String getSource_icon() {
- return source_icon;
- }
-
- public void setSource_icon(String source_icon) {
- this.source_icon = source_icon;
- }
-
- public int getPub_time() {
- return pub_time;
- }
-
- public void setPub_time(int pub_time) {
- this.pub_time = pub_time;
- }
-
- public int getUpdated_at() {
- return updated_at;
- }
-
- public void setUpdated_at(int updated_at) {
- this.updated_at = updated_at;
- }
-
- public int getDuration() {
- return duration;
- }
-
- public void setDuration(int duration) {
- this.duration = duration;
- }
-
- public int getHot() {
- return hot;
- }
-
- public void setHot(int hot) {
- this.hot = hot;
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/MediaInfoData.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/MediaInfoData.java
deleted file mode 100644
index a0ddf0f210..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/MediaInfoData.java
+++ /dev/null
@@ -1,156 +0,0 @@
-package com.mogo.module.media.model;
-
-import com.mogo.module.media.constants.MusicConstant;
-
-import java.io.Serializable;
-
-public class MediaInfoData implements Serializable {
-
- //QQ音乐,懒人听书,乐听头条 2 为书籍听书,3 为新闻,1 为qq音乐
- private int type;
-
- private String mediaId;//qq音乐id,书的bookId
- //qq音乐url 懒人听书为“”
- private String mediaUrl;
-
- //歌曲名 ,当前播放书名,新闻标题内容
- private String mediaName;
-
- //演唱歌手,当前章节,新闻来源
- private String mediaSinger;
-
- //歌曲封面,书籍封面,新闻预览图
- private String mediaImg;
-
- //音乐类别,类似经典 ,流行只有qq特有
- private String mediaType;
-
- private int maxTime;//音频总时长
-
- private String bookInfo;//懒人听书json串
-
- //当前播放时长,可以不加,播放进度单独独立出来
- private int curTime;
-
- //是否是本地音频,只有qq音乐
- private boolean isLocalMedia;//本地
-
- //播放模式,顺序,单曲循环,随机
- private int mediaPlayMode;
-
- //1 播放 2 缓冲 0 暂停/停止 -1 播放错误
- private int playState;
-
- public String getMediaId() {
- return mediaId;
- }
-
- public void setMediaId(String mediaId) {
- this.mediaId = mediaId;
- }
-
- public String getMediaUrl() {
- return mediaUrl;
- }
-
- public void setMediaUrl(String mediaUrl) {
- this.mediaUrl = mediaUrl;
- }
-
- public int getType() {
- return type;
- }
-
- public void setType(int type) {
- this.type = type;
- }
-
- public int getPlayState() {
- return playState;
- }
-
- public void setPlayState(int playState) {
- this.playState = playState;
- }
-
- public String getMediaName() {
- return mediaName;
- }
-
- public void setMediaName(String mediaName) {
- this.mediaName = mediaName;
- }
-
- public String getMediaSinger() {
- return mediaSinger;
- }
-
- public void setMediaSinger(String mediaSinger) {
- this.mediaSinger = mediaSinger;
- }
-
- public String getMediaImg() {
- return mediaImg;
- }
-
- public void setMediaImg(String mediaImg) {
- this.mediaImg = mediaImg;
- }
-
- public int getMaxTime() {
- return maxTime;
- }
-
- public void setMaxTime(int maxTime) {
- this.maxTime = maxTime;
- }
-
- public int getCurTime() {
- return curTime;
- }
-
- public void setCurTime(int curTime) {
- this.curTime = curTime;
- }
-
- public String getMediaType() {
- return mediaType;
- }
-
- public void setMediaType(String mediaType) {
- this.mediaType = mediaType;
- }
-
- public boolean isLocalMedia() {
- return isLocalMedia;
- }
-
- public void setLocalMedia(boolean localMedia) {
- isLocalMedia = localMedia;
- }
-
- public int getMediaPlayMode() {
- return mediaPlayMode;
- }
-
- public void setMediaPlayMode(int mediaPlayMode) {
- this.mediaPlayMode = mediaPlayMode;
- }
-
- public String getBookInfo() {
- return bookInfo;
- }
-
- public void setBookInfo(String bookInfo) {
- this.bookInfo = bookInfo;
- }
-
- @Override
- public String toString() {
- return "MediaInfoData{" +
- "mediaName='" + mediaName + '\'' +
- ", mediaImg='" + mediaImg + '\'' +
- ", playState=" + playState +
- '}';
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/MediaInfoDataEvent.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/MediaInfoDataEvent.java
deleted file mode 100644
index 3849d03d76..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/MediaInfoDataEvent.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.mogo.module.media.model;
-
-import java.io.Serializable;
-
-public class MediaInfoDataEvent implements Serializable {
- public MediaInfoData data;
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/MediaProcessEvent.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/MediaProcessEvent.java
deleted file mode 100644
index 64c3419e97..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/MediaProcessEvent.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.mogo.module.media.model;
-
-import java.io.Serializable;
-
-public class MediaProcessEvent implements Serializable {
- public int process;
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/NearShareRequestParameter.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/NearShareRequestParameter.java
deleted file mode 100644
index 18c7a6767c..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/NearShareRequestParameter.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package com.mogo.module.media.model;
-
-import java.util.List;
-
-public class NearShareRequestParameter {
-
- /**
- * location : {"lat":31,"lon":116}
- * radius : 1000
- * dataType : ["CARD_TYPE_CARS_CHATTING","CARD_TYPE_ROAD_CODITION"]
- * limit : 100
- */
-
- private LocationBean location;
- private int radius;
- private int limit;
- private List dataType;
-
- public LocationBean getLocation() {
- return location;
- }
-
- public void setLocation(LocationBean location) {
- this.location = location;
- }
-
- public int getRadius() {
- return radius;
- }
-
- public void setRadius(int radius) {
- this.radius = radius;
- }
-
- public int getLimit() {
- return limit;
- }
-
- public void setLimit(int limit) {
- this.limit = limit;
- }
-
- public List getDataType() {
- return dataType;
- }
-
- public void setDataType(List dataType) {
- this.dataType = dataType;
- }
-
- public static class LocationBean {
- /**
- * lat : 31.0
- * lon : 116.0
- */
-
- private double lat;
- private double lon;
-
- public double getLat() {
- return lat;
- }
-
- public void setLat(double lat) {
- this.lat = lat;
- }
-
- public double getLon() {
- return lon;
- }
-
- public void setLon(double lon) {
- this.lon = lon;
- }
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/QQMediaListData.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/QQMediaListData.java
deleted file mode 100644
index 916ba6da1e..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/QQMediaListData.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package com.mogo.module.media.model;
-
-import java.io.Serializable;
-
-public class QQMediaListData implements Serializable {
- //唯一区分歌曲
- private String mediaUrl;
-
- //歌曲名 ,当前播放书名,新闻标题内容
- private String mediaName;
-
- //演唱歌手,当前章节,新闻来源
- private String mediaSinger;
-
- private String mediaImgUrl;
-
- private String mediaMid;
-
- public String getMediaMid() {
- return mediaMid;
- }
-
- public void setMediaMid(String mediaMid) {
- this.mediaMid = mediaMid;
- }
-
- public String getMediaUrl() {
- return mediaUrl;
- }
-
- public void setMediaUrl(String mediaUrl) {
- this.mediaUrl = mediaUrl;
- }
-
- public String getMediaName() {
- return mediaName;
- }
-
- public void setMediaName(String mediaName) {
- this.mediaName = mediaName;
- }
-
- public String getMediaSinger() {
- return mediaSinger;
- }
-
- public void setMediaSinger(String mediaSinger) {
- this.mediaSinger = mediaSinger;
- }
-
- public String getMediaImgUrl() {
- return mediaImgUrl;
- }
-
- public void setMediaImgUrl(String mediaImgUrl) {
- this.mediaImgUrl = mediaImgUrl;
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/ShareLikeData.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/ShareLikeData.java
deleted file mode 100644
index f6018c6241..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/ShareLikeData.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.mogo.module.media.model;
-
-import com.mogo.commons.data.BaseData;
-
-public class ShareLikeData extends BaseData {
-
- public ShareLikeDataResult result;
-
- public static class ShareLikeDataResult{
-
- public boolean checkLiked;
- public int likedCount;
- public String mediaId;
- public String mediaUrl;
- public int type; //1真是数据 2虚拟数据
- public long userId;
- public String userImg;
- public String userName;
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/ShareMediaJsonData.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/ShareMediaJsonData.java
deleted file mode 100644
index 3f70002032..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/ShareMediaJsonData.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.mogo.module.media.model;
-
-import java.io.Serializable;
-
-public class ShareMediaJsonData implements Serializable {
- public String type;
-
- public String getType() {
- return type;
- }
-
- public void setType(String type) {
- this.type = type;
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/ShareMediaMarkerInfoData.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/ShareMediaMarkerInfoData.java
deleted file mode 100644
index 68351b20a4..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/ShareMediaMarkerInfoData.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package com.mogo.module.media.model;
-
-import com.mogo.commons.data.BaseData;
-import com.mogo.module.common.entity.MarkerShareMusic;
-
-import java.util.ArrayList;
-
-/**
- MarkerShareMusic 结构说明:
- * bookInfo : 懒人听书实体json串
- * id : 100
- * likeNumber : 99
- * location : {"address":"北京市朝阳区三里屯街道108号","angle":"36.5","lat":"39.989368","lon":"116.480888"}
- * mediaId : 音乐id
- * mediaImg : 歌曲封面img url
- * mediaName : 歌曲名
- * mediaSinger : 歌手名
- * mediaUrl : 歌曲url
- * shareContentText : 分享的文字
- * shareType : 1
- * type : 卡片类型
- * userInfo : {"age":"00后","gender":"男|女|无(也可以0|1|2根据实际库存返回即可)","sn":"018209312809312","userHead":"https://www.baidu.com/img/baidu_jgylogo3.png","userId":1,"userName":"用户昵称"}
- */
-public class ShareMediaMarkerInfoData extends BaseData {
-
- public ShareMediaMarkerInfoDataResult result;
-
- public ShareMediaMarkerInfoDataResult getResult() {
- return result;
- }
-
- public void setResult(ShareMediaMarkerInfoDataResult result) {
- this.result = result;
- }
-
- public static class ShareMediaMarkerInfoDataResult{
- public ArrayList shareMusic;
-
- public ArrayList getShareMusic() {
- return shareMusic;
- }
-
- public void setShareMusic(ArrayList shareMusic) {
- this.shareMusic = shareMusic;
- }
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/ShareSuccessResult.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/ShareSuccessResult.java
deleted file mode 100644
index 9ad4338644..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/ShareSuccessResult.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.mogo.module.media.model;
-
-import com.mogo.commons.data.BaseData;
-import com.mogo.module.common.entity.MarkerShareMusic;
-
-public class ShareSuccessResult extends BaseData {
- public MarkerShareMusic result;
-
- public MarkerShareMusic getResult() {
- return result;
- }
-
- public void setResult(MarkerShareMusic result) {
- this.result = result;
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/ShowShareData.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/ShowShareData.java
deleted file mode 100644
index 675299d556..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/ShowShareData.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.mogo.module.media.model;
-
-import com.mogo.commons.data.BaseData;
-
-public class ShowShareData extends BaseData {
- public ShowShareResult result;
-
- public ShowShareResult getResult() {
- return result;
- }
-
- public void setResult(ShowShareResult result) {
- this.result = result;
- }
-
- public static class ShowShareResult{
- public boolean check;
-
- public boolean isCheck() {
- return check;
- }
-
- public void setCheck(boolean check) {
- this.check = check;
- }
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/url/UrlData.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/url/UrlData.java
deleted file mode 100644
index 1143beba8a..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/model/url/UrlData.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.mogo.module.media.model.url;
-
-import java.io.Serializable;
-
-public class UrlData implements Serializable {
- private String dztUrl;
- private String apiUrl;
-
- public UrlData(String dztUrl, String apiUrl) {
- this.dztUrl = dztUrl;
- this.apiUrl = apiUrl;
- }
-
- public String getDztUrl() {
- return dztUrl;
- }
-
- public void setDztUrl(String dztUrl) {
- this.dztUrl = dztUrl;
- }
-
- public String getApiUrl() {
- return apiUrl;
- }
-
- public void setApiUrl(String apiUrl) {
- this.apiUrl = apiUrl;
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/presenter/BaseMediaPresenter.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/presenter/BaseMediaPresenter.java
deleted file mode 100644
index 9816d684a2..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/presenter/BaseMediaPresenter.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package com.mogo.module.media.presenter;
-
-import android.content.Context;
-
-import com.mogo.commons.mvp.IView;
-import com.mogo.commons.mvp.Presenter;
-import com.mogo.module.media.model.MediaInfoData;
-
-/**
- * 媒体播放presenter基类,目前没有整合到原MediaPresenter中,原来的qq音乐,喜马拉雅和懒人听书下掉了
- *
- * @author tongchenfei
- */
-public abstract class BaseMediaPresenter extends Presenter {
- public BaseMediaPresenter(V view) {
- super(view);
- }
-
- /**
- * 初始化
- *
- * @param context 上下文
- */
- public abstract void init(Context context);
-
- /**
- * 播放音乐
- * @param mediaInfoData 待播放音乐信息
- */
- public abstract void play(MediaInfoData mediaInfoData);
-
- /**
- * 暂停播放
- * @param mediaInfoData 待暂停音乐信息
- */
- public abstract void pause(MediaInfoData mediaInfoData);
-
- /**
- * 停止播放
- * @param mediaInfoData 待停止播放音乐信息
- */
- public abstract void stop(MediaInfoData mediaInfoData);
-
- /**
- * 上一首
- */
- public abstract void pre();
-
- /**
- * 下一首
- */
- public abstract void next();
-
- /**
- * 打开对应的应用
- */
- public abstract void openApp();
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/presenter/KwPresenter.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/presenter/KwPresenter.java
deleted file mode 100644
index 6d40bafb55..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/presenter/KwPresenter.java
+++ /dev/null
@@ -1,259 +0,0 @@
-package com.mogo.module.media.presenter;
-
-import android.content.Context;
-import android.os.Handler;
-import android.os.Message;
-import android.util.Log;
-
-import com.mogo.module.common.MogoApisHandler;
-import com.mogo.module.media.MediaConstants;
-import com.mogo.module.media.constants.MusicConstant;
-import com.mogo.module.media.model.MediaInfoData;
-import com.mogo.module.media.view.IMusicView;
-import com.mogo.service.IMogoServiceApis;
-import com.mogo.service.statusmanager.IMogoStatusChangedListener;
-import com.mogo.service.statusmanager.StatusDescriptor;
-
-import cn.kuwo.autosdk.api.KWAPI;
-import cn.kuwo.autosdk.api.OnGetSongImgUrlListener;
-import cn.kuwo.autosdk.api.PlayState;
-import cn.kuwo.autosdk.api.PlayerStatus;
-import cn.kuwo.base.bean.Music;
-
-/**
- * 适配酷我的presenter
- *
- * @author tongchenfei
- */
-public class KwPresenter extends BaseMediaPresenter {
- private static final String TAG = "KwPresenter";
- private KWAPI kwapi;
- private boolean isBind = false;
-
- private MediaInfoData currentMedia = new MediaInfoData();
-
- public KwPresenter(IMusicView view) {
- super(view);
- }
-
- @Override
- public void init(Context context) {
- kwapi = KWAPI.createKWAPI(context, "auto");
-
- kwapi.registerConnectedListener(b -> {
- Log.d(TAG, "onConnected: " + b);
- Log.d(TAG, "onConnected: " + b);
- isBind = b;
- if (!isBind) {
- mView.onMusicStopped();
- }else{
- PlayerStatus currentState = kwapi.getPlayerStatus();
- Log.d(TAG, "check current status: " + currentState);
- Log.d(TAG, "check current status: " + currentState);
- if(currentState == PlayerStatus.BUFFERING||currentState == PlayerStatus.PLAYING){
- currentMedia.setPlayState(MusicConstant.PLAY_STATE_PLAYING);
- kwapi.getSongPicUrl(kwapi.getNowPlayingMusic(), onGetSongImgUrlListener);
- startTrackTrackProgress();
- mView.onMusicPlaying();
- }
- }
- });
-
- kwapi.registerExitListener(() -> {
- Log.d(TAG, "onExit===");
- Log.d(TAG, "onExit===");
- mView.onAppExit();
- });
-
- kwapi.registerPlayerStatusListener((playerStatus, music) -> {
- if ( music == null ) {
- return;
- }
- Log.d(TAG, "onPlayerStatusListener: " + playerStatus + " music: " + music.name);
- switch (playerStatus) {
- case BUFFERING:
- if (currentMedia.getMediaName() == null || !currentMedia.getMediaName().equals(music.name)) {
- // 说明是切了新歌,需要及时同步一下状态
- currentMedia.setPlayState(MusicConstant.PLAY_STATE_PLAYING);
- currentMedia.setMediaName(music.name);
- currentMedia.setMediaImg("");
- mView.onMediaInfoChanged(currentMedia);
- mView.onMusicPlaying();
- }
- kwapi.getSongPicUrl(music, onGetSongImgUrlListener);
- break;
- case PLAYING:
- if (currentMedia.getMediaName() == null || !currentMedia.getMediaName().equals(music.name)) {
- // 说明是切了新歌,需要及时同步一下状态
- currentMedia.setPlayState(MusicConstant.PLAY_STATE_PLAYING);
- currentMedia.setMediaName(music.name);
- currentMedia.setMediaImg("");
- mView.onMediaInfoChanged(currentMedia);
- }
- currentMedia.setPlayState(MusicConstant.PLAY_STATE_PLAYING);
- kwapi.getSongPicUrl(music, onGetSongImgUrlListener);
- startTrackTrackProgress();
- mView.onMusicPlaying();
- break;
- case INIT:
- case PAUSE:
- case STOP:
- currentMedia.setPlayState(MusicConstant.PLAY_STATE_PAUSE_OR_STOP);
- stopTrackTrackProgress();
- mView.onMusicPause();
- break;
- default:
- break;
- }
- });
-
- IMogoServiceApis serviceApis = MogoApisHandler.getInstance().getApis();
-
- serviceApis.getStatusManagerApi().registerStatusChangedListener(MediaConstants.MODULE_TYPE, StatusDescriptor.MAIN_PAGE_RESUME, new IMogoStatusChangedListener() {
- @Override
- public void onStatusChanged(StatusDescriptor descriptor, boolean isTrue) {
- if (isTrue) {
- Log.d(TAG, "onResume, isBind: " + isBind);
- Log.d(TAG, "onResume, isBind: " + isBind);
- // 需要在resume时候判断绑定关系是否正常
- if (!isBind) {
- // 未绑定,需要重新绑定,同时第一次绑定初始化也是在此处
- kwapi.bindAutoSdkService();
- }else if(kwapi.isKuwoRunning()){
- Music currentMusic = kwapi.getNowPlayingMusic();
- if (currentMedia.getMediaName() == null && currentMusic != null) {
- // 当前处于绑定状态,且有音乐信息,需判断是否正在播放,进行界面刷新
- Log.d(TAG, "step1==" + currentMusic.name);
- if (kwapi.getPlayerStatus() == PlayerStatus.BUFFERING || kwapi.getPlayerStatus() == PlayerStatus.PLAYING) {
- Log.d(TAG, "当前可能正在播放音乐,需要更新=1=" + currentMusic.name);
- currentMedia.setMediaName(currentMusic.name);
- currentMedia.setPlayState(MusicConstant.PLAY_STATE_PLAYING);
- mView.onMediaInfoChanged(currentMedia);
- mView.onMusicPlaying();
- kwapi.getSongPicUrl(currentMusic, onGetSongImgUrlListener);
- } else if (kwapi.getPlayerStatus() == PlayerStatus.INIT) {
- Log.d(TAG, "当前可能正在播放音乐,需要更新=3=" + currentMusic.name);
- currentMedia.setMediaName(currentMusic.name);
- currentMedia.setPlayState(MusicConstant.PLAY_STATE_PAUSE_OR_STOP);
- mView.onMediaInfoChanged(currentMedia);
- mView.onMusicStopped();
- }
- } else if (currentMedia.getMediaName() != null && currentMusic != null && !currentMedia.getMediaName().equals(currentMusic.name)) {
- Log.d(TAG, "step2==media: " + currentMedia.getMediaName() + " " +
- "musicName: " + currentMusic.name + " status: " + kwapi.getPlayerStatus());
- if (kwapi.getPlayerStatus() == PlayerStatus.BUFFERING || kwapi.getPlayerStatus() == PlayerStatus.PLAYING) {
- Log.d(TAG, "当前可能正在播放音乐,需要更新=2=" + currentMusic.name);
- currentMedia.setMediaName(currentMusic.name);
- currentMedia.setPlayState(MusicConstant.PLAY_STATE_PLAYING);
- mView.onMediaInfoChanged(currentMedia);
- mView.onMusicPlaying();
- kwapi.getSongPicUrl(currentMusic, onGetSongImgUrlListener);
- }else if (kwapi.getPlayerStatus() == PlayerStatus.INIT) {
- Log.d(TAG, "当前可能正在播放音乐,需要更新=4=" + currentMusic.name);
- currentMedia.setMediaName(currentMusic.name);
- currentMedia.setPlayState(MusicConstant.PLAY_STATE_PAUSE_OR_STOP);
- mView.onMediaInfoChanged(currentMedia);
- mView.onMusicStopped();
- }
- }
- }
- }
- }
- });
-
- kwapi.bindAutoSdkService();
- }
-
- @Override
- public void play(MediaInfoData mediaInfoData) {
- if (kwapi.isKuwoRunning()) {
- kwapi.setPlayState(PlayState.STATE_PLAY);
- } else {
- kwapi.startAPP(true);
- }
- }
-
- @Override
- public void pause(MediaInfoData mediaInfoData) {
- if (kwapi.isKuwoRunning()) {
- kwapi.setPlayState(PlayState.STATE_PAUSE);
- }else{
- kwapi.startAPP(true);
- }
- }
-
- @Override
- public void stop(MediaInfoData mediaInfoData) {
-
- }
-
- @Override
- public void pre() {
- if (kwapi.isKuwoRunning()) {
- kwapi.setPlayState(PlayState.STATE_PRE);
- }
- }
-
- @Override
- public void next() {
- if (kwapi.isKuwoRunning()) {
- kwapi.setPlayState(PlayState.STATE_NEXT);
- }else{
- kwapi.startAPP(true);
- }
- }
-
- private Handler.Callback callback = new Handler.Callback() {
- @Override
- public boolean handleMessage(Message msg) {
- if (isTrackingProgress) {
- mView.onMusicProgress(kwapi.getCurrentPos(), kwapi.getCurrentMusicDuration());
- msg.getTarget().sendEmptyMessageDelayed(MSG_TRACK_PROGRESS,
- MSG_TRACK_PROGRESS_DELAY);
- }
- return false;
- }
- };
- private Handler handler = new Handler(callback);
- private static final int MSG_TRACK_PROGRESS = 1001;
- private static final long MSG_TRACK_PROGRESS_DELAY = 1000;
-
- private boolean isTrackingProgress = false;
-
- private void startTrackTrackProgress() {
- if(!isTrackingProgress) {
- isTrackingProgress = true;
- handler.sendEmptyMessageDelayed(MSG_TRACK_PROGRESS, MSG_TRACK_PROGRESS_DELAY);
- }
- }
-
- private void stopTrackTrackProgress() {
- if(isTrackingProgress) {
- isTrackingProgress = false;
- handler.removeMessages(MSG_TRACK_PROGRESS);
- }
- }
-
- private OnGetSongImgUrlListener onGetSongImgUrlListener = new OnGetSongImgUrlListener() {
- @Override
- public void onGetSongImgUrlSucessed(Music music, String s) {
- if(currentMedia.getPlayState() == MusicConstant.PLAY_STATE_PLAYING) {
- currentMedia.setMediaName(music.name);
- currentMedia.setMediaImg(s);
- Log.d(TAG,
- "onGetSongImgUrlSucessed: " + currentMedia);
- handler.post(() -> mView.onMediaInfoChanged(currentMedia));
- }
- }
-
- @Override
- public void onGetSongImgUrlFailed(Music music, int i) {
- Log.e(TAG, "onGetSongImgUrlFailed: " + i);
- }
- };
-
- @Override
- public void openApp(){
- kwapi.startAPP(true);
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/presenter/MediaPresenter.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/presenter/MediaPresenter.java
deleted file mode 100644
index 292d9e1b0c..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/presenter/MediaPresenter.java
+++ /dev/null
@@ -1,532 +0,0 @@
-package com.mogo.module.media.presenter;
-
-import android.text.TextUtils;
-
-import androidx.annotation.NonNull;
-import androidx.lifecycle.LifecycleOwner;
-
-import com.mogo.commons.data.BaseData;
-import com.mogo.commons.mvp.Presenter;
-import com.mogo.commons.network.ParamsProvider;
-import com.mogo.commons.network.ParamsUtil;
-import com.mogo.commons.network.SubscribeImpl;
-import com.mogo.commons.voice.AIAssist;
-import com.mogo.map.location.MogoLocation;
-import com.mogo.module.common.entity.MarkerResponse;
-import com.mogo.module.common.entity.MarkerShareMusic;
-import com.mogo.module.media.MediaConstants;
-import com.mogo.module.media.R;
-import com.mogo.module.media.ServiceMediaHandler;
-import com.mogo.module.media.api.MediaDztService;
-import com.mogo.module.media.constants.BaseUrlConstants;
-import com.mogo.module.media.constants.EventConstants;
-import com.mogo.module.media.model.MediaInfoData;
-import com.mogo.module.media.model.NearShareRequestParameter;
-import com.mogo.module.media.model.ShareLikeData;
-import com.mogo.module.media.model.ShareMediaMarkerInfoData;
-import com.mogo.module.media.model.ShareSuccessResult;
-import com.mogo.module.media.model.ShowShareData;
-import com.mogo.module.media.utils.BaseUrlManager;
-import com.mogo.module.media.utils.MediaAnalyticsUtils;
-import com.mogo.module.media.utils.StorageManager;
-import com.mogo.module.media.utils.ToastHelper;
-import com.mogo.module.media.view.MediaView;
-import com.mogo.utils.TipToast;
-import com.mogo.utils.network.RequestOptions;
-import com.mogo.utils.network.utils.GsonUtil;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-
-import io.reactivex.Observable;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.functions.Consumer;
-import io.reactivex.schedulers.Schedulers;
-
-public class MediaPresenter extends Presenter {
-
- private static final String TAG = "MediaPresenter";
- private ArrayList mDisPosables;
-
- public MediaPresenter(MediaView view) {
- super(view);
- }
-
- @Override
- public void onCreate(@NonNull LifecycleOwner owner) {
- super.onCreate(owner);
- }
-
- public void getFriendMusic() {
- final ParamsProvider.Builder builder = new ParamsProvider.Builder(getContext());
- final MogoLocation location = ServiceMediaHandler.getLocationClient().getLastKnowLocation();
- if (location != null) {
- builder.append("address", location.getAddress());
- builder.append("lat", location.getLatitude());
- builder.append("lng", location.getLongitude());
- }
-
- Map parameters = builder.build();
- Observable observable = ServiceMediaHandler.getMogoNetWorkService().
- create(MediaDztService.class, BaseUrlManager.getDztBaseUrl()).getFriendShareMusic(parameters);
- observable
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new SubscribeImpl(RequestOptions.create(getContext())) {
- @Override
- public void onSubscribe(Disposable d) {
- addDispose(d);
- }
-
- @Override
- public void onSuccess(ShareMediaMarkerInfoData resultData) {
- if (resultData != null && resultData.getResult() != null
- && resultData.getResult().getShareMusic() != null
- && resultData.getResult().getShareMusic().size() > 0){
- mView.loadFriendShareMusicSuccess(resultData.getResult().getShareMusic());
- }else{
- TipToast.shortTip("您的好友未分享过歌曲");
- AIAssist.getInstance(mView.getContext()).speakTTSVoice("您的好友未分享过歌曲",null);
- }
- }
-
- @Override
- public void onError(Throwable e) {
- super.onError(e);
- TipToast.shortTip("获取好友的歌失败");
- }
-
- @Override
- public void onError(String message, int code) {
- super.onError(message, code);
- TipToast.shortTip("获取好友的歌失败");
-
- }
- }
- );
-
- }
-
- /**
- * 开始音乐播放的接口
- * @param mCurrentMusic
- */
- public void startedMusic(MediaInfoData mCurrentMusic) {
- if (mCurrentMusic == null)return;
- final ParamsProvider.Builder builder = new ParamsProvider.Builder(getContext());
- HashMap hashMap = new HashMap<>();
- hashMap.put("mediaType", mCurrentMusic.getType());
- hashMap.put("shareData", mCurrentMusic);
- builder.append("data", GsonUtil.jsonFromObject(hashMap));
- Map parameters = builder.build();
- Observable observable = ServiceMediaHandler.getMogoNetWorkService().
- create(MediaDztService.class, BaseUrlManager.getDztBaseUrl()).startedMusic(parameters);
- observable
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new SubscribeImpl(RequestOptions.create(getContext())) {
- @Override
- public void onSubscribe(Disposable d) {
- addDispose(d);
- }
-
- @Override
- public void onSuccess(BaseData resultData) {
-
- }
-
- @Override
- public void onError(Throwable e) {
- super.onError(e);
-
- }
-
- @Override
- public void onError(String message, int code) {
- super.onError(message, code);
-
- }
- }
- );
-
- }
-
-
- /**
- * 请求附近的
- */
- public void getNearShareMusic() {
- final ParamsProvider.Builder builder = new ParamsProvider.Builder(getContext());
- NearShareRequestParameter nearData = new NearShareRequestParameter();
- NearShareRequestParameter.LocationBean locationBean = new NearShareRequestParameter.LocationBean();
- final MogoLocation location = ServiceMediaHandler.getLocationClient().getLastKnowLocation();
- if ( location != null ) {
- locationBean.setLat(locationBean.getLat());
- locationBean.setLon(locationBean.getLon());
- }
- nearData.setLocation(locationBean);
- nearData.setLimit(10);
- nearData.setRadius(2000);
- ArrayList list = new ArrayList<>();
- list.add(MediaConstants.MODULE_TYPE);
- nearData.setDataType(list);
- builder.append("data", GsonUtil.jsonFromObject(nearData));
- Map parameters = builder.build();
- Observable observable = ServiceMediaHandler.getMogoNetWorkService().
- create(MediaDztService.class, BaseUrlManager.getDztBaseUrl()).getNearShareMusic(parameters);
- Disposable disposable = observable
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(
- new Consumer() {
- @Override
- public void accept(MarkerResponse markerResponse) throws Exception {
- if (markerResponse != null && markerResponse.getCode() == 0
- && markerResponse.getResult() != null
- && markerResponse.getResult().getShareMusic() != null
- && markerResponse.getResult().getShareMusic().size() > 0){
- mView.loadNearShareMusicSuccess(markerResponse.getResult().getShareMusic());
- }else{
- AIAssist.getInstance(mView.getContext()).speakTTSVoice("当前暂无分享的歌曲",null);
- }
- }
- },
- new Consumer() {
- @Override
- public void accept(Throwable throwable) throws Exception {
- TipToast.shortTip("获取附近的歌失败");
- }
- }
- );
-
- addDispose(disposable);
- }
-
- /**
- * 停止音乐播放的接口
- */
- public void stopMusic() {
- final ParamsProvider.Builder builder = new ParamsProvider.Builder(getContext());
- Map parameters = builder.build();
- Observable observable = ServiceMediaHandler.getMogoNetWorkService().
- create(MediaDztService.class, BaseUrlManager.getDztBaseUrl()).stopMusic(parameters);
- observable
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new SubscribeImpl(RequestOptions.create(getContext())) {
- @Override
- public void onSubscribe(Disposable d) {
- addDispose(d);
- }
-
- @Override
- public void onSuccess(BaseData resultData) {
-
- }
-
- @Override
- public void onError(Throwable e) {
- super.onError(e);
-
- }
-
- @Override
- public void onError(String message, int code) {
- super.onError(message, code);
-
- }
- }
- );
-
- }
-
- public void getShouldShare() {
- final ParamsProvider.Builder builder = new ParamsProvider.Builder(getContext());
- Map parameters = builder.build();
- Observable observable = ServiceMediaHandler.getMogoNetWorkService().
- create(MediaDztService.class, BaseUrlManager.getDztBaseUrl()).getShouldPushShare(parameters);
- observable
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new SubscribeImpl(RequestOptions.create(getContext())) {
- @Override
- public void onSubscribe(Disposable d) {
- addDispose(d);
- }
-
- @Override
- public void onSuccess(ShowShareData resultData) {
- //存储请求了触发分享的接口,每次accon一次
- StorageManager.setShowPushShareTime(System.currentTimeMillis()+"");
- if (resultData != null && resultData.result != null){
- mView.showSharePush(resultData.result.check);
- }
-
- }
-
- @Override
- public void onError(Throwable e) {
- super.onError(e);
-
- }
-
- @Override
- public void onError(String message, int code) {
- super.onError(message, code);
-
- }
- }
- );
-
- }
-
- public void selectByPrimaryKey(int id,String mediaId){
- final ParamsProvider.Builder builder = new ParamsProvider.Builder(getContext());
- builder.append("id",id);
- Map parameters = builder.build();
-
- Observable observable = ServiceMediaHandler.getMogoNetWorkService().
- create(MediaDztService.class, BaseUrlManager.getDztBaseUrl()).selectByPrimaryKey(parameters);
- observable
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new SubscribeImpl(RequestOptions.create(getContext())) {
- @Override
- public void onSubscribe(Disposable d) {
- addDispose(d);
- }
-
- @Override
- public void onSuccess(ShareLikeData resultData) {
- //存储请求了触发分享的接口,每次accon一次
- if (resultData == null){
- return;
- }
- if (resultData.result == null){
- return;
- }
- mView.loadShareLikeDataResultSuccess(resultData.result,mediaId);
- }
-
- @Override
- public void onError(Throwable e) {
- super.onError(e);
- TipToast.shortTip("加载点赞信息失败,请重试");
- }
-
- @Override
- public void onError(String message, int code) {
- super.onError(message, code);
- TipToast.shortTip("加载点赞信息失败,请重试");
- }
- }
- );
-
- }
-
- public void likeShare(ShareLikeData.ShareLikeDataResult likeDataResult){
-
- final Map businessParams = new HashMap<>();
- final MogoLocation location = ServiceMediaHandler.getLocationClient().getLastKnowLocation();
-
- businessParams.put("musicId", likeDataResult.mediaId);
- businessParams.put("musicUrl", likeDataResult.mediaUrl);
- businessParams.put("userId", likeDataResult.userId);
- businessParams.put("userType", likeDataResult.type);
-
- ParamsProvider.Builder builder = new ParamsProvider.Builder(getContext());
- if (location != null) {
- builder.append("lat", location.getLatitude());
- builder.append("lng", location.getLongitude());
- }
- final Map params = builder
- .append(businessParams)
- .build();
-
-
- Observable observable = ServiceMediaHandler.getMogoNetWorkService().create(MediaDztService.class, BaseUrlManager.getDztBaseUrl())
- .likeShare(ParamsUtil.toQueryUrl(BaseUrlManager.getDztBaseUrl() + BaseUrlConstants.SHARE_MUSIC_LIKE_URL, params, businessParams), ParamsUtil.convert(businessParams));
- observable
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new SubscribeImpl(RequestOptions.create(getContext())) {
- @Override
- public void onSubscribe(Disposable d) {
- addDispose(d);
- }
-
- @Override
- public void onSuccess(BaseData resultData) {
- mView.likeShareSuccess();
- TipToast.shortTip("点赞成功");
- }
-
- @Override
- public void onError(Throwable e) {
- super.onError(e);
- TipToast.shortTip("点赞失败,请重试");
- }
-
- @Override
- public void onError(String message, int code) {
- super.onError(message, code);
- TipToast.shortTip(message != null ?message:"点赞失败,请重试");
- }
- }
- );
-
-
- }
-
- public void addDispose(Disposable subscription){
- if (subscription != null){
- if (mDisPosables == null) mDisPosables = new ArrayList<>();
- mDisPosables.add(subscription);
- }
- }
-
- public String getPackageName(MediaInfoData mMediaInfoData){
- if (mMediaInfoData == null) return "";
- if (mMediaInfoData.getType() == 1){
- return "com.pvetec.musics";
- }else if (mMediaInfoData.getType() == 2){
- return "com.zhidao.lrts";
- }else if (mMediaInfoData.getType() == 3){
- return "com.zhidao.ltnews";
- }else{
- return "";
- }
- }
-
- public String getAppName(MediaInfoData mMediaInfoData){
- if (mMediaInfoData == null) return "";
- if (mMediaInfoData.getType() == 1){
- return "QQ音乐";
- }else if (mMediaInfoData.getType() == 2){
- return "懒人听书";
- }else if (mMediaInfoData.getType() == 3){
- return "乐听头条";
- }else{
- return "";
- }
- }
-
- public void shareMusic(MediaInfoData mCurrentMusic,boolean click) {
- if (mCurrentMusic == null) return;
- try {
- if (mCurrentMusic != null){
- HashMap hashMap = new HashMap<>();
- hashMap.put("type",click ? 1:2);
- String trackId = "";
- if (mCurrentMusic.getType() == 1){
- trackId = EventConstants.EVENT_QQ_SHARE_DIALOG_OK;
- }else if (mCurrentMusic.getType() == 2){
- trackId = EventConstants.EVENT_BOOK_SHARE_DIALOG_OK;
- }else if (mCurrentMusic.getType() == 3){
- trackId = EventConstants.EVENT_NEWS_SHARE_DIALOG_OK;
- }
- MediaAnalyticsUtils.track(trackId ,hashMap);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- final Map businessParams = new HashMap<>();
- final MogoLocation location = ServiceMediaHandler.getLocationClient().getLastKnowLocation();
- if (location != null) {
- businessParams.put("address", location.getAddress());
- }
-
- businessParams.put("bookInfo", mCurrentMusic.getBookInfo());
- businessParams.put("mediaDuration", mCurrentMusic.getMaxTime() + "");
- businessParams.put("mediaId", mCurrentMusic.getMediaId());
- businessParams.put("mediaImg", mCurrentMusic.getMediaImg());
- businessParams.put("mediaName", mCurrentMusic.getMediaName());
- businessParams.put("mediaSinger", mCurrentMusic.getMediaSinger());
- businessParams.put("mediaType", mCurrentMusic.getMediaType());
- businessParams.put("mediaUrl", mCurrentMusic.getMediaUrl());
- businessParams.put("shareType", mCurrentMusic.getType());
-
- ParamsProvider.Builder builder = new ParamsProvider.Builder(getContext());
- if (location != null) {
- builder.append("lat", location.getLatitude());
- builder.append("lng", location.getLongitude());
- }else{
- TipToast.shortTip("分享失败,定位出错请重试!");
- return;
- }
- final Map params = builder
- .append(businessParams)
- .build();
- Observable observable = ServiceMediaHandler.getMogoNetWorkService().create(MediaDztService.class, BaseUrlManager.getDztBaseUrl())
- .shareMusic(ParamsUtil.toQueryUrl(BaseUrlManager.getDztBaseUrl() + BaseUrlConstants.SHARE_MUSIC_URL, params, businessParams), ParamsUtil.convert(businessParams));
- observable
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new SubscribeImpl(com.mogo.utils.network.RequestOptions.create(getContext())) {
- @Override
- public void onSubscribe(Disposable d) {
- super.onSubscribe(d);
- addDispose(d);
- }
-
- @Override
- public void onSuccess(ShareSuccessResult resultData) {
- try {
- ToastHelper.showShortSuccess(getContext(), getContext().getResources().getString(R.string.module_media_share_success));
- AIAssist.getInstance(getContext()).speakTTSVoice(getContext().getResources().getString(R.string.module_media_share_success),null);
- if (resultData != null && resultData.result != null){
- MarkerShareMusic markerShareMusic = resultData.result;
- markerShareMusic.setType(MediaConstants.MODULE_TYPE);
- mView.shareSuccessResult(true,markerShareMusic);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Override
- public void onError(Throwable e) {
- super.onError(e);
- try {
- ToastHelper.showShortError(getContext(), getContext().getResources().getString(R.string.module_media_share_fail));
- TipToast.shortTip("分享失败");
- AIAssist.getInstance(getContext()).speakTTSVoice(getContext().getResources().getString(R.string.module_media_share_fail),null);
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- }
-
- @Override
- public void onError(String message, int code) {
- super.onError(message, code);
- try {
- ToastHelper.showShortError(getContext(), getContext().getResources().getString(R.string.module_media_share_fail));
- TipToast.shortTip(!TextUtils.isEmpty(message)?message:"分享失败");
- AIAssist.getInstance(getContext()).speakTTSVoice(!TextUtils.isEmpty(message)?message:"分享失败",null);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- );
-
- }
-
- @Override
- public void onDestroy(@NonNull LifecycleOwner owner) {
- super.onDestroy(owner);
- if (mDisPosables != null && !mDisPosables.isEmpty()) {
- for (Disposable subscription : mDisPosables) {
- if (subscription == null || subscription.isDisposed()) {
- continue;
- }
- subscription.dispose();
- }
- mDisPosables.clear();
- mDisPosables = null;
- }
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/presenter/NoopPresenter.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/presenter/NoopPresenter.java
deleted file mode 100644
index 4270a87d06..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/presenter/NoopPresenter.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.mogo.module.media.presenter;
-
-import android.content.Context;
-
-import com.mogo.module.media.model.MediaInfoData;
-import com.mogo.module.media.view.IMusicView;
-
-/**
- * 空presenter实现,为了减少各种空判断
- *
- * @author tongchenfei
- */
-public class NoopPresenter extends BaseMediaPresenter {
- public NoopPresenter(IMusicView view) {
- super(view);
- }
-
- @Override
- public void init(Context context) {
-
- }
-
- @Override
- public void play(MediaInfoData mediaInfoData) {
-
- }
-
- @Override
- public void pause(MediaInfoData mediaInfoData) {
-
- }
-
- @Override
- public void stop(MediaInfoData mediaInfoData) {
-
- }
-
- @Override
- public void pre() {
-
- }
-
- @Override
- public void next() {
-
- }
-
- @Override
- public void openApp() {
-
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/presenter/PresenterFactory.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/presenter/PresenterFactory.java
deleted file mode 100644
index c5661387b7..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/presenter/PresenterFactory.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.mogo.module.media.presenter;
-
-import android.content.Context;
-import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager;
-
-import com.mogo.module.media.view.IMusicView;
-
-import java.util.List;
-
-/**
- * Presenter简单工厂,根据包名判断选择哪个presenter
- *
- * @author tongchenfei
- */
-public class PresenterFactory {
- private static final String KW_PKG_NAME = "cn.kuwo.kwmusiccar";
- private static final String WE_CAR_FLOW_PKG_NAME = "com.tencent.wecarflow";
-
- /**
- * 获取泛型是IMusicView的BaseMediaPresenter
- *
- * @param context 上下文,用来遍历机器上的包名
- * @param view IMusicView,用来做view展示
- * @return presenter
- */
- public static BaseMediaPresenter createMusicViewPresenter(Context context,
- IMusicView view) {
- BaseMediaPresenter result = null;
- PackageManager pkm = context.getPackageManager();
- List pkgInfoList = pkm.getInstalledPackages(0);
- // 只做了两级优先级判断,比较简单
- for (PackageInfo pkgInfo : pkgInfoList) {
- if (pkgInfo.packageName.equals(KW_PKG_NAME)) {
- result = new KwPresenter(view);
- } else if (pkgInfo.packageName.equals(WE_CAR_FLOW_PKG_NAME) && result == null) {
- result = new WeCarFlowPresenter(view);
- }
- }
- if (result == null) {
- result = new NoopPresenter(view);
- }
- return result;
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/presenter/WeCarFlowPresenter.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/presenter/WeCarFlowPresenter.java
deleted file mode 100644
index 570964a4b2..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/presenter/WeCarFlowPresenter.java
+++ /dev/null
@@ -1,198 +0,0 @@
-package com.mogo.module.media.presenter;
-
-import android.content.Context;
-
-import com.mogo.module.common.MogoApisHandler;
-import com.mogo.module.media.MediaConstants;
-import com.mogo.module.media.constants.MusicConstant;
-import com.mogo.module.media.model.MediaInfoData;
-import com.mogo.module.media.view.IMusicView;
-import com.mogo.service.IMogoServiceApis;
-import com.mogo.service.statusmanager.IMogoStatusChangedListener;
-import com.mogo.service.statusmanager.StatusDescriptor;
-import com.mogo.utils.logger.Logger;
-import com.tencent.wecarflow.flowoutside.sdk.BindListener;
-import com.tencent.wecarflow.flowoutside.sdk.FlowPlayControl;
-import com.tencent.wecarflow.flowoutside.sdk.MediaChangeListener;
-import com.tencent.wecarflow.flowoutside.sdk.MediaInfo;
-import com.tencent.wecarflow.flowoutside.sdk.PlayStateListener;
-import com.tencent.wecarflow.flowoutside.sdk.QueryCallback;
-
-/**
- * 爱趣听presenter
- *
- * @author tongchenfei
- */
-public class WeCarFlowPresenter extends BaseMediaPresenter {
- private static final String TAG = "WeCarFlowPresenter";
- public WeCarFlowPresenter(IMusicView view) {
- super(view);
- }
-
- private Context context;
-
- private MediaInfoData currentMedia;
-
- private boolean isBind = true;
- private IMogoServiceApis serviceApis;
-
- private QueryCallback isPlayingCallback = new QueryCallback() {
- @Override
- public void onError(int i) {
-
- }
-
- @Override
- public void onSuccess(Boolean aBoolean) {
- currentMedia.setPlayState(aBoolean ? MusicConstant.PLAY_STATE_PLAYING :
- MusicConstant.PLAY_STATE_PAUSE_OR_STOP);
- if (mView != null) {
- mView.onMediaInfoChanged(currentMedia);
- }
- }
- };
-
- private QueryCallback currentCallback = new QueryCallback() {
- @Override
- public void onError(int i) {
-
- }
-
- @Override
- public void onSuccess(MediaInfo mediaInfo) {
- currentMedia.setMediaName(mediaInfo.getMediaName());
- currentMedia.setMediaImg(mediaInfo.getMediaImage());
- if (mView != null) {
- mView.onMediaInfoChanged(currentMedia);
- }
- }
- };
-
- @Override
- public void init(Context context) {
- this.context = context;
- currentMedia = new MediaInfoData();
-
- serviceApis = MogoApisHandler.getInstance().getApis();
-
- serviceApis.getStatusManagerApi().registerStatusChangedListener(MediaConstants.MODULE_TYPE, StatusDescriptor.MAIN_PAGE_RESUME, new IMogoStatusChangedListener() {
- @Override
- public void onStatusChanged(StatusDescriptor descriptor, boolean isTrue) {
- if (isTrue) {
- Logger.d(TAG, "onResume, isBind: " + isBind);
- // 需要在resume时候判断绑定关系是否正常
- if (!isBind) {
- // 未绑定,需要重新绑定,同时第一次绑定初始化也是在此处
- FlowPlayControl.getInstance().bindPlayService(context);
- }
- }
- }
- });
-
- FlowPlayControl.getInstance().addBindListener(new BindListener() {
- @Override
- public void onServiceConnected() {
- Logger.d(TAG, "onServiceConnected===");
- isBind = true;
- FlowPlayControl.getInstance().queryPlaying(isPlayingCallback);
- FlowPlayControl.getInstance().queryCurrent(currentCallback);
- }
-
- @Override
- public void onServiceDisconnected() {
- Logger.e(TAG, "onServiceDisconnected===");
- isBind = false;
- }
-
- @Override
- public void onBindDied() {
- Logger.e(TAG, "onBindDied===");
- isBind = false;
- }
- });
-
- FlowPlayControl.getInstance().addMediaChangeListener(new MediaChangeListener() {
- @Override
- public void onMediaChange(MediaInfo mediaInfo) {
- Logger.d(TAG, "onMediaChange: " + mediaInfo);
- Logger.d(TAG, "onMediaChange, img: " + mediaInfo.getMediaImage());
- currentMedia.setMediaName(mediaInfo.getMediaName());
- currentMedia.setMediaImg(mediaInfo.getMediaImage());
- mView.onMediaInfoChanged(currentMedia);
- }
-
- @Override
- public void onFavorChange(boolean b) {
-
- }
- });
-
- FlowPlayControl.getInstance().addPlayStateListener(new PlayStateListener() {
- @Override
- public void onStart() {
- if (mView != null && currentMedia != null) {
- currentMedia.setPlayState(MusicConstant.PLAY_STATE_PLAYING);
- mView.onMusicPlaying();
- mView.onMediaInfoChanged(currentMedia);
- }
- }
-
- @Override
- public void onPause() {
- if (mView != null && currentMedia != null) {
- currentMedia.setPlayState(MusicConstant.PLAY_STATE_PAUSE_OR_STOP);
- mView.onMusicPause();
- mView.onMediaInfoChanged(currentMedia);
- }
- }
-
- @Override
- public void onStop() {
- if (mView != null && currentMedia != null) {
- currentMedia.setPlayState(MusicConstant.PLAY_STATE_PAUSE_OR_STOP);
- mView.onMusicStopped();
- mView.onMediaInfoChanged(currentMedia);
- }
- }
-
- @Override
- public void onProgress(String s, long current, long total) {
- if (mView != null) {
- mView.onMusicProgress(current, total);
- }
- }
- });
-
- FlowPlayControl.getInstance().bindPlayService(context);
- }
-
- @Override
- public void play(MediaInfoData mediaInfoData) {
- FlowPlayControl.getInstance().doPlay();
- }
-
- @Override
- public void pause(MediaInfoData mediaInfoData) {
- FlowPlayControl.getInstance().doPause();
- }
-
- @Override
- public void stop(MediaInfoData mediaInfoData) {
- FlowPlayControl.getInstance().doStop();
- }
-
- @Override
- public void pre() {
- FlowPlayControl.getInstance().doPre();
- }
-
- @Override
- public void next() {
- FlowPlayControl.getInstance().doNext();
- }
-
- @Override
- public void openApp() {
- FlowPlayControl.getInstance().startPlayActivity(context);
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/receiver/MediaProcessReceiver.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/receiver/MediaProcessReceiver.java
deleted file mode 100644
index d6202fe0d9..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/receiver/MediaProcessReceiver.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.mogo.module.media.receiver;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-
-import com.mogo.module.media.model.MediaProcessEvent;
-
-public class MediaProcessReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- {
- if (intent != null) {
- int curTime = intent.getIntExtra("curTime", -1);
- MediaProcessEvent event = new MediaProcessEvent();
- event.process = curTime;
- // EventBus.getDefault().post(event);
- }
- }
- }
-
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/receiver/MediaSpeechReceiver.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/receiver/MediaSpeechReceiver.java
deleted file mode 100644
index fd35cc5bb6..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/receiver/MediaSpeechReceiver.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package com.mogo.module.media.receiver;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-
-import com.mogo.module.media.MediaCardViewFragment;
-import com.mogo.module.media.utils.MusicControlBroadCast;
-import com.mogo.utils.ActivityLifecycleManager;
-import com.mogo.utils.UiThreadHandler;
-import com.mogo.utils.logger.Logger;
-import com.tencent.wecarflow.flowoutside.sdk.FlowPlayControl;
-
-import io.reactivex.processors.FlowableProcessor;
-
-/**
- * 我要听{歌手/歌名}:
- * 语音通知桌面广播: com.speech.adapter.send 参数:music_model
- * 桌面通过该action转发给QQ音乐:com.txznet.adapter.send 参数 :music_model
- *
- * 播放音乐:
- * 语音通知桌面广播:com.zhidao.speech.awake.notify 参数:command == com.ileja.music.playapp
- *
- * 懒人听书:我要听书、听书 com.zhidao.speech.awake.notify 参数:command:com.zhidao.book.play
- * 乐听头条:播放新闻、我要听新闻、我要听{类型}新闻、听新闻action:com.zhidao.mediacenter.voiceltnews 参数:category
- */
-public class MediaSpeechReceiver extends BroadcastReceiver {
- public static String mCategoryStr = "";
- @Override
- public void onReceive(Context context, Intent intent) {
- {
- if (intent != null) {
- String cmdAction = intent.getAction();
- boolean appActive = ActivityLifecycleManager.getInstance().isAppActive();
- appActive = MediaCardViewFragment.isMediaResume;
- Logger.d("MediaSpeechReceiver"," "+cmdAction+" "+appActive);
- if (cmdAction.equals("com.speech.adapter.send")){
- //我要听{歌手/歌名}
- Logger.d("MediaSpeechReceiver"," "+"type qq ");
- String musicModel = intent.getStringExtra("music_model");
- FlowPlayControl.getInstance().semanticSearch(context, "launcher", musicModel);
-// if (appActive){
-// MusicControlBroadCast.playSomeBodyMusic(musicModel);
-// MusicControlBroadCast.mediaCenterBroadcast();
-// }else {
-// MusicControlBroadCast.playSomeBodyMusic(musicModel);
-// UiThreadHandler.postDelayed(new Runnable() {
-// @Override
-// public void run() {
-// MusicControlBroadCast.qqOpenQQMusic();
-// }
-// },300);
-// }
- }else if (cmdAction.equals("com.zhidao.speech.awake.notify")){
- //播放音乐
- String musicCmd = intent.getStringExtra("command");
- Logger.d("MediaSpeechReceiver"," "+"qq book"+musicCmd==null?"":musicCmd);
- if (musicCmd.equals("com.ileja.music.playapp")){
- //QQ音乐
- FlowPlayControl.getInstance().doPlay();
-// if (appActive){
-// MusicControlBroadCast.qqPlayQQMusic();
-// MusicControlBroadCast.mediaCenterBroadcast();
-// }else{
-// MusicControlBroadCast.qqOpenQQMusic();
-// }
- }else if (musicCmd.equals("com.zhidao.book.play")){
- //懒人听书
- if (appActive){
- MusicControlBroadCast.controlLanRenPlayBack();
- MusicControlBroadCast.mediaCenterBroadcast();
- }else{
- MusicControlBroadCast.openMediaApp(2);
- }
- }
- }else if (cmdAction.equals("com.zhidao.mediacenter.voiceltnews")){
- //新闻
- try {
- String category = intent.getStringExtra("category");
- Logger.d("MediaSpeechReceiver"," "+"news "+category==null?"":category);
- mCategoryStr = category;
- MusicControlBroadCast.getNewsPayInfoState();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- }
- }
-
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/receiver/MediaStateReceiver.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/receiver/MediaStateReceiver.java
deleted file mode 100644
index 6d6bad8f7f..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/receiver/MediaStateReceiver.java
+++ /dev/null
@@ -1,135 +0,0 @@
-package com.mogo.module.media.receiver;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.text.TextUtils;
-import android.view.View;
-
-import com.mogo.module.media.constants.LeTingFieldConstants;
-import com.mogo.module.media.constants.QQMusicFieldConstants;
-import com.mogo.module.media.model.LanRenInsertData;
-import com.mogo.module.media.model.MediaInfoData;
-import com.mogo.module.media.model.MediaInfoDataEvent;
-import com.mogo.module.media.utils.StorageManager;
-import com.mogo.module.media.utils.Utils;
-import com.mogo.utils.DateTimeUtils;
-import com.mogo.utils.ThreadPoolService;
-import com.mogo.utils.network.utils.GsonUtil;
-
-public class MediaStateReceiver extends BroadcastReceiver {
- //action:com.zhidao.action.MEDIA_LRTS
- //action:com.zhidao.action.MEDIA_LT_NEWS
- //action:com.qq.music.status.change
- @Override
- public void onReceive(Context context, Intent intent) {
- {
- MediaInfoData mMediaInfoData = new MediaInfoData();
- if (intent != null) {
- int type = intent.getIntExtra("type", -1);
- int playState = intent.getIntExtra(QQMusicFieldConstants.playState, 0);
-
- if (type == 1) {//qq音乐
-
- int maxTime = intent.getIntExtra(QQMusicFieldConstants.maxTime, 0);
- int curTime = intent.getIntExtra(QQMusicFieldConstants.curTime, 0);
- String mediaName = intent.getStringExtra(QQMusicFieldConstants.mediaName);
- String mediaUrl = intent.getStringExtra(QQMusicFieldConstants.mediaUrl);
- String mediaSinger = intent.getStringExtra(QQMusicFieldConstants.mediaSinger);
- String mediaImgUrl = intent.getStringExtra(QQMusicFieldConstants.mediaImgUrl);
- String mediaType = intent.getStringExtra(QQMusicFieldConstants.mediaType);
- String mediaMid = intent.getStringExtra(QQMusicFieldConstants.mediaMid);
- int mediaPLayMode = intent.getIntExtra(QQMusicFieldConstants.mediaPlayMode, -1);
- boolean isLocalMedia = intent.getBooleanExtra(QQMusicFieldConstants.isLocalMedia, false);
-
- mMediaInfoData.setType(type);
- mMediaInfoData.setPlayState(playState);
- mMediaInfoData.setMaxTime(maxTime * 1000);
- mMediaInfoData.setCurTime(curTime * 1000);
- mMediaInfoData.setMediaName(mediaName);
- mMediaInfoData.setMediaUrl(mediaUrl);
- mMediaInfoData.setMediaId(mediaMid);
- mMediaInfoData.setMediaImg(mediaImgUrl);
- mMediaInfoData.setMediaSinger(mediaSinger);
- mMediaInfoData.setMediaPlayMode(mediaPLayMode);
- mMediaInfoData.setLocalMedia(isLocalMedia);
- mMediaInfoData.setMediaType(mediaType);
-
- } else if (type == 2) {//懒人听书
- int maxTime = intent.getIntExtra(LeTingFieldConstants.maxTime, 0);
- int curTime = intent.getIntExtra(LeTingFieldConstants.curTime, 0);
-
- String mediaName = intent.getStringExtra(LeTingFieldConstants.mediaName);//章节数
- String bookInfoStr = intent.getStringExtra(LeTingFieldConstants.bookInfo);
- LanRenInsertData lanRenInsertData = GsonUtil.objectFromJson(bookInfoStr, LanRenInsertData.class);
-
- String bookName = ""; // 书名 需要从bookinfo里面取
- String cover = ""; //封面 bookinfo中取
- String bookid = "";
-
- try {
- if (lanRenInsertData != null) {
- bookName = lanRenInsertData.getName(); // 书名 需要从bookinfo里面取
- cover = lanRenInsertData.getCover(); //封面 bookinfo中取
- bookid = lanRenInsertData.getBookId() + "";
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- mMediaInfoData.setType(type);
- mMediaInfoData.setPlayState(playState);
- mMediaInfoData.setMaxTime(maxTime);
- mMediaInfoData.setCurTime(curTime);
- mMediaInfoData.setMediaName(bookName); //bookName 或者mediaName
- mMediaInfoData.setMediaSinger(mediaName); //章节数
- mMediaInfoData.setMediaImg(cover); //书籍封面
- mMediaInfoData.setMediaId(bookid);//书籍的bookid int
- mMediaInfoData.setBookInfo(bookInfoStr);
- mMediaInfoData.setMediaUrl("");
- mMediaInfoData.setLocalMedia(false);
- mMediaInfoData.setMediaType("");
-
- } else if (type == 3) {//乐听头条
- int maxTime = intent.getIntExtra(LeTingFieldConstants.maxTime, 0);
- int curTime = intent.getIntExtra(LeTingFieldConstants.curTime, 0);
- String mediaName = intent.getStringExtra(LeTingFieldConstants.mediaName); //新闻title
- String artist = intent.getStringExtra(LeTingFieldConstants.artist); //新闻来源,赋值给singer mediaSinger
- String cover = intent.getStringExtra(LeTingFieldConstants.cover); //封面
-
- mMediaInfoData.setType(type);
- mMediaInfoData.setPlayState(playState);
- mMediaInfoData.setMaxTime(maxTime);
- mMediaInfoData.setCurTime(curTime);
- mMediaInfoData.setMediaName(mediaName); //新闻标题
- mMediaInfoData.setMediaSinger(artist); //新闻来源
- mMediaInfoData.setMediaImg(cover); //新闻封面
-
- mMediaInfoData.setMediaId("");//书籍的bookid int
- mMediaInfoData.setBookInfo("");
- mMediaInfoData.setMediaUrl("");
- mMediaInfoData.setLocalMedia(true);
- mMediaInfoData.setMediaType("");
- }
-
- MediaInfoDataEvent event = new MediaInfoDataEvent();
- event.data = mMediaInfoData;
- // EventBus.getDefault().post(event);
-
- /* try {
- if (mMediaInfoData != null) {
- ThreadPoolService.execute(new Runnable() {
- @Override
- public void run() {
- StorageManager.setLastListenMediaMusic(GsonUtil.jsonFromObject(mMediaInfoData));
- }
- });
- }
- } catch (Exception e) {
- e.printStackTrace();
- }*/
- }
- }
- }
-
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/BaseUrlManager.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/BaseUrlManager.java
deleted file mode 100644
index c4a87c9c4f..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/BaseUrlManager.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.mogo.module.media.utils;
-
-import com.mogo.module.media.ServiceMediaHandler;
-import com.mogo.module.media.constants.BaseUrlConstants;
-import com.mogo.module.media.model.url.UrlData;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class BaseUrlManager {
-
- private static final List urlEntityList = new ArrayList<>();
-
- static {
- urlEntityList.add( getDevEntity() );
- urlEntityList.add( getQaEntity() );
- urlEntityList.add( getReleaseEntity() );
- urlEntityList.add( getShowEntity() );
- }
-
- private static UrlData getShowEntity() {
- return new UrlData(BaseUrlConstants.SHOW_BASE_URL,BaseUrlConstants.SHOW_BASE_URL);
- }
-
- private static UrlData getQaEntity() {
- return new UrlData(BaseUrlConstants.QA_BASE_URL,BaseUrlConstants.QA_BASE_URL);
- }
-
- private static UrlData getDevEntity() {
- return new UrlData(BaseUrlConstants.DEV_BASE_URL,BaseUrlConstants.DEV_BASE_URL);
- }
-
- private static UrlData getReleaseEntity() {
- return new UrlData(BaseUrlConstants.RELEASE_BASE_URL,BaseUrlConstants.RELEASE_BASE_URL);
- }
-
- public static String getDztBaseUrl(){
- return urlEntityList.get(ServiceMediaHandler.getCurrentEvent() - 1).getDztUrl();
- }
-
- public static String getApiBaseUrl(){
- return urlEntityList.get(ServiceMediaHandler.getCurrentEvent() - 1).getApiUrl();
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/BitmapHelper.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/BitmapHelper.java
deleted file mode 100644
index 89fd0ee6c0..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/BitmapHelper.java
+++ /dev/null
@@ -1,982 +0,0 @@
-package com.mogo.module.media.utils;
-
-import android.annotation.SuppressLint;
-import android.content.ContentUris;
-import android.content.Context;
-import android.content.Intent;
-import android.database.Cursor;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.Matrix;
-import android.graphics.Paint;
-import android.graphics.PorterDuff;
-import android.graphics.PorterDuffXfermode;
-import android.graphics.RectF;
-import android.media.ExifInterface;
-import android.media.MediaMetadataRetriever;
-import android.net.Uri;
-import android.opengl.GLES10;
-import android.os.Build;
-import android.provider.DocumentsContract;
-import android.provider.MediaStore;
-import android.text.TextUtils;
-import android.util.Base64;
-import android.util.TypedValue;
-import android.view.View;
-import com.mogo.module.media.constants.Constants;
-import com.mogo.utils.logger.Logger;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileDescriptor;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import javax.microedition.khronos.egl.EGL10;
-import javax.microedition.khronos.egl.EGLConfig;
-import javax.microedition.khronos.egl.EGLContext;
-import javax.microedition.khronos.egl.EGLDisplay;
-
-public class BitmapHelper {
- private static final String TAG = "BitmapHelper";
-
- /**
- * 根据原图添加圆角
- *
- * @param source
- * @return
- */
- public static Bitmap createRoundCornerImage(Bitmap source, float corner) {
- final Paint paint = new Paint();
- paint.setAntiAlias(true);
- Bitmap target = Bitmap.createBitmap(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888);
- Canvas canvas = new Canvas(target);
- RectF rect = new RectF(0, 0, source.getWidth(), source.getHeight());
- canvas.drawRoundRect(rect, corner, corner, paint);
- paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
- canvas.drawBitmap(source, 0, 0, paint);
- return target;
- }
-
- public static byte[] bitmapToBytes(Bitmap bitmap) {
- if (bitmap == null) {
- return null;
- }
-
- ByteArrayOutputStream bos = null;
- byte[] result = null;
-
- try {
- bos = new ByteArrayOutputStream();
- bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bos);
- result = bos.toByteArray();
- } catch (Exception e) {
- e.printStackTrace();
- result = null;
- } finally {
- IOUtils.closeSilently(bos);
- }
-
- return result;
- }
-
- /**
- * Use quality compression to compress bitmap's size to be smaller than a max size, and convert it to bytes thereafter.
- * Note that this method will not report compressing ratio related data.
- *
- * @param bitmap data source
- * @param maxSize unit in kb
- * @return bytes after compressing bitmap to a size smaller than a specific max size.
- */
- public static byte[] bitmapToBytes(Bitmap bitmap, int maxSize) {
- final long start = System.currentTimeMillis();
-
- if (bitmap == null) {
- return null;
- }
-
- final int maxSizeOfBytes = maxSize * Constants.ONE_KB;
- ByteArrayOutputStream bos = null;
- byte[] result = null;
-
- try {
- bos = new ByteArrayOutputStream();
- int quality = 100;
- int fullSize = 0;
-
- do {
- bos.reset();
- bitmap.compress(Bitmap.CompressFormat.JPEG, quality, bos);
- if (quality == 100) {
- fullSize = bos.size();
- }
- Logger.i(TAG, "quality<---->size, " + quality + "<---->" + bos.size() / 1024);
- }
- while (bos.size() > maxSizeOfBytes && (quality -= (fullSize > Constants.ONE_MB) ? 10 : 5) >= 0);
-
- result = bos.toByteArray();
-
- final long end = System.currentTimeMillis();
- Logger.i(TAG,
- "bitmap to bytes costs " + (end - start) + "ms, \n" +
- "bitmap full size is " + (fullSize / 1024) + "kb, \n" +
- "bitmap final size is " + (bos.size() / 1024) + "kb, \n" +
- "bitmap quality is " + quality);
- } catch (Exception e) {
- e.printStackTrace();
- result = null;
- } finally {
- IOUtils.closeSilently(bos);
- }
-
- return result;
- }
-
- /**
- * Use quality compression to compress bitmap to be smaller than a specific max size.
- *
- * @param bitmap data source
- * @param maxSize a specific max size which's unit is kb.
- * @return a compressed bitmap smaller than the max size.
- */
- public static void compressBitmap(Bitmap bitmap, int maxSize, final BitmapHelper.OnCompressListener listener) {
- if (bitmap == null || bitmap.isRecycled() || listener == null) {
- return;
- }
- listener.onBeforeCompress();
- ByteArrayOutputStream bos = null;
- Bitmap target = null;
-
- try {
- bos = new ByteArrayOutputStream();
- int quality = 100;
- int step = 5;
- int fullSize = 0;
-
- do {
- bos.reset();
- bitmap.compress(Bitmap.CompressFormat.JPEG, quality, bos);
- if (quality == 100) {
- fullSize = bos.size();
- }
- if (quality <= 10) {
- step = 2;
- }
- }
- while (bos.size() / 1024 > maxSize && (quality -= (fullSize > Constants.ONE_MB) ? 10 : step) > 0);
-
- byte[] result = bos.toByteArray();
- //target = bytesToBitmap(result);
- listener.onCompressSuccess(result);
-
- } catch (Exception e) {
- e.printStackTrace();
-// target = null;
- listener.onCompressFailed("压缩失败");
-
- } finally {
- IOUtils.closeSilently(bos);
- }
-
- return;
- }
-
-
- public static Bitmap compressBitmap(Bitmap bitmap, int maxSize) {
- if (bitmap == null) {
- return null;
- }
-
- ByteArrayOutputStream bos = null;
- Bitmap target = null;
-
- try {
- bos = new ByteArrayOutputStream();
- int quality = 100;
-
- do {
- bos.reset();
- bitmap.compress(Bitmap.CompressFormat.JPEG, quality, bos);
- }
- while (bos.size() / 1024 > maxSize && (quality -= 5) >= 0);
-
- byte[] result = bos.toByteArray();
- target = bytesToBitmap(result);
- } catch (Exception e) {
- e.printStackTrace();
- target = null;
- } finally {
- IOUtils.closeSilently(bos);
- }
-
- return target;
- }
-
- public static byte[] compress(File bitmapFile, int maxSize) {
- if (bitmapFile == null || !bitmapFile.exists()) {
- return null;
- }
-
- Bitmap bitmap = BitmapFactory.decodeFile(bitmapFile.getAbsolutePath());
- int degree = readPictureDegree( bitmapFile.getAbsolutePath() );
- if ( degree != 0 ) {
- Matrix matrix = new Matrix();
- matrix.reset();
- matrix.setRotate( degree );
- bitmap = Bitmap.createBitmap(bitmap,0,0, bitmap.getWidth(), bitmap.getHeight(),matrix, true);
- }
-
- ByteArrayOutputStream bos = null;
- byte[] target = null;
-
- try {
- bos = new ByteArrayOutputStream();
- int quality = 100;
-
- do {
- bos.reset();
- bitmap.compress(Bitmap.CompressFormat.JPEG, quality, bos);
- }
- while (bos.size() / 1024 > maxSize && (quality -= 5) >= 0);
-
- target = bos.toByteArray();
- } catch (Exception e) {
- e.printStackTrace();
- target = null;
- } finally {
- IOUtils.closeSilently(bos);
- }
-
- return target;
- }
-
- /**
- * Decode an immutable bitmap from the specified byte array.
- *
- * @param b byte array of compressed image data
- * @return an immutable bitmap or null in case of exception.
- */
- public static Bitmap bytesToBitmap(byte[] b) {
- if (b != null && b.length != 0) {
- return BitmapFactory.decodeByteArray(b, 0, b.length);
- } else {
- return null;
- }
- }
-
- /**
- * Decode an immutable bitmap from the specified byte array.
- *
- * @param b byte array of compressed image data
- * @param options Options that control downsampling and whether the
- * image should be completely decoded, or just is size returned.
- * @return an immutable bitmap or null in case of exception.
- */
- public static Bitmap bytesToBitmap(byte[] b, BitmapFactory.Options options) {
- if (b.length != 0) {
- return BitmapFactory.decodeByteArray(b, 0, b.length, options);
- } else {
- return null;
- }
- }
-
- /**
- * Get max supported image size which will differ from different devices.
- *
- * @return max size related to the device.
- */
- public static int getMaxSupportedImageSize() {
- int textureLimit = getMaxTextureSize();
- if (textureLimit == 0) {
- return Constants.SIZE_DEFAULT;
- } else {
- return Math.min(textureLimit, Constants.SIZE_LIMIT);
- }
- }
-
- public static int getMaxTextureSize2() {
- // The OpenGL texture size is the maximum size that can be drawn in an ImageView
- int[] maxSize = new int[1];
- GLES10.glGetIntegerv(GLES10.GL_MAX_TEXTURE_SIZE, maxSize, 0);
- return maxSize[0];
- }
-
- /**
- * duplicated from
- */
- public static int computeSampleSize(InputStream is, boolean close) {
- // Just decode image size into options
- BitmapFactory.Options options = new BitmapFactory.Options();
- options.inJustDecodeBounds = true;
-
- try {
- BitmapFactory.decodeStream(is, null, options);
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- if (close) IOUtils.closeSilently(is);
- }
-
- int srcWidth = options.outWidth;
- int srcHeight = options.outHeight;
-
- srcWidth = srcWidth % 2 == 1 ? srcWidth + 1 : srcWidth;
- srcHeight = srcHeight % 2 == 1 ? srcHeight + 1 : srcHeight;
-
- int longSide = Math.max(srcWidth, srcHeight);
- int shortSide = Math.min(srcWidth, srcHeight);
-
- float scale = ((float) shortSide / longSide);
- if (scale <= 1 && scale > 0.5625) {
- if (longSide < 1664) {
- return 1;
- } else if (longSide < 4990) {
- return 2;
- } else if (longSide > 4990 && longSide < 10240) {
- return 4;
- } else {
- return longSide / 1280 == 0 ? 1 : longSide / 1280;
- }
- } else if (scale <= 0.5625 && scale > 0.5) {
- return longSide / 1280 == 0 ? 1 : longSide / 1280;
- } else {
- return (int) Math.ceil(longSide / (1280.0 / scale));
- }
- }
-
-
- /**
- * Decode a bitmap's input stream to find a proper inSampleSize according to device's max supported size.
- *
- * @param is bitmap's data source
- * @param close whether to close input stream after work is done.
- * @return a proper inSampleSize
- */
- public static int findProperInSampleSize(InputStream is, boolean close) {
- // Just decode image size into options
- BitmapFactory.Options options = new BitmapFactory.Options();
- options.inJustDecodeBounds = true;
-
- try {
- BitmapFactory.decodeStream(is, null, options);
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- if (close) IOUtils.closeSilently(is);
- }
-
- int maxSize = getMaxSupportedImageSize();
- int sampleSize = 1;
-
- while (options.outHeight / sampleSize > maxSize || options.outWidth / sampleSize > maxSize) {
- sampleSize = sampleSize << 1;
- }
-
- Logger.i(TAG, "sample size is " + sampleSize);
- return sampleSize;
- }
-
- /**
- * Read a picture's degree from a file.
- *
- * @param file data source of a picture
- * @return degrees range from 0 to 360
- */
- public static int readPictureDegree(File file) {
- return readPictureDegree(file.getAbsolutePath());
- }
-
- /**
- * Read a picture's degree from a file, we use {@link ExifInterface} instead of {@link android.media.ExifInterface}
- * to avoid some unexpected bugs.
- *
- * @param filePath file's absolute path which we can read data source of a picture from.
- * @return degrees range from 0 to 360
- */
- public static int readPictureDegree(String filePath) {
- int degree = 0;
-
- try {
- ExifInterface exifInterface = new ExifInterface(filePath);
- int orientation = exifInterface.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL);
- switch (orientation) {
- case ExifInterface.ORIENTATION_ROTATE_90:
- degree = 90;
- break;
- case ExifInterface.ORIENTATION_ROTATE_180:
- degree = 180;
- break;
- case ExifInterface.ORIENTATION_ROTATE_270:
- degree = 270;
- break;
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- Logger.i(TAG, "ExifInterface, degree is " + degree);
-
- return degree;
- }
-
- /**
- * Rotate an bitmap to a specific angle.
- *
- * @param angle target angle
- * @param bitmap data source
- * @return Returns an immutable bitmap from subset of the source bitmap,
- * transformed by the optional matrix. The new bitmap may be the
- * same object as source, or a copy may have been made. It is
- * initialized with the same density as the original bitmap.
- *
- * If the source bitmap is immutable and the requested subset is the
- * same as the source bitmap itself, then the source bitmap is
- * returned and no new bitmap is created.
- */
- public static Bitmap rotateBitmap(int angle, Bitmap bitmap) {
- if (bitmap == null) {
- return null;
- }
-
- try {
- int width = bitmap.getWidth();
- int height = bitmap.getHeight();
- Matrix matrix = new Matrix();
- matrix.preRotate(angle);
- return Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, true);
- } catch (Exception e) {
- e.printStackTrace();
- return bitmap;
- }
- }
-
- /**
- * Get picture's absolute path according to its uri.
- *
- * @param context context
- * @param uri picture's uri
- * @return absolute path of uri.
- */
- public static String getRealPathFromUri(Context context, Uri uri) {
- int sdkVersion = Build.VERSION.SDK_INT;
- if (sdkVersion >= 19) {
- return getRealPathFromUriAboveApi19(context, uri);
- } else {
- return getRealPathFromUriBelowAPI19(context, uri);
- }
- }
-
- /**
- * Create a default {@link BitmapFactory.Options} .
- * Note this options use rgb_565 and a proper inSampleSize in order to save memory.
- *
- * @param is data source of picture
- * @param close whether to close data source
- * @return options containing rgb_565 config and a proper inSampleSize.
- */
- public static BitmapFactory.Options newDefaultOptions(InputStream is, boolean close) {
- final BitmapFactory.Options options = new BitmapFactory.Options();
- options.inPreferredConfig = Bitmap.Config.RGB_565;
- options.inSampleSize = BitmapHelper.findProperInSampleSize(is, close);
-
- return options;
- }
-
- /**
- * Save picture to local file.
- *
- * @param bitmap data source
- * @param file local file to store picture.
- */
- public static void savePicture(Bitmap bitmap, File file) {
- final long start = System.currentTimeMillis();
-
- if (bitmap == null || file == null) {
- Logger.i(TAG, "保存失败, bitmap or file is null.");
- return;
- }
- if (file.getParentFile() != null && !file.getParentFile().exists()) {
- file.getParentFile().mkdirs();
- }
-
- try {
- final FileOutputStream fos = new FileOutputStream(file);
- bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
- fos.flush();
- fos.close();
-
- if (file.exists()) {
- Logger.i(TAG, "保存成功");
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- Logger.i(TAG, "saving picture costs " + (System.currentTimeMillis() - start) + "ms");
- }
-
- /**
- * 适配api19以下(不包括api19),根据uri获取图片的绝对路径
- *
- * @param context 上下文对象
- * @param uri 图片的Uri
- * @return 如果Uri对应的图片存在, 那么返回该图片的绝对路径, 否则返回null
- */
- private static String getRealPathFromUriBelowAPI19(Context context, Uri uri) {
- return getDataColumn(context, uri, null, null);
- }
-
- /**
- * 适配api19及以上,根据uri获取图片的绝对路径
- *
- * @param context 上下文对象
- * @param uri 图片的Uri
- * @return 如果Uri对应的图片存在, 那么返回该图片的绝对路径, 否则返回null
- */
- @SuppressLint("NewApi")
- private static String getRealPathFromUriAboveApi19(Context context, Uri uri) {
- String filePath = null;
-
- try {
- // 如果是document类型的 uri, 则通过document id来进行处理
- if (DocumentsContract.isDocumentUri(context, uri)) {
- String documentId = DocumentsContract.getDocumentId(uri);
- if (isMediaDocument(uri)) {
- // 使用':'分割
- String id = documentId.split(":")[1];
- String selection = MediaStore.Images.Media._ID + "=?";
- String[] selectionArgs = {id};
- filePath = getDataColumn(context, MediaStore.Images.Media.EXTERNAL_CONTENT_URI, selection, selectionArgs);
- } else if (isDownloadsDocument(uri)) {
- Uri contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"), Long.valueOf(documentId));
- filePath = getDataColumn(context, contentUri, null, null);
- }
- } else if ("content".equalsIgnoreCase(uri.getScheme())) {
- filePath = getDataColumn(context, uri, null, null);
- } else if ("file".equals(uri.getScheme())) {
- filePath = uri.getPath();
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- return filePath;
- }
-
- /**
- * 获取数据库表中的 _data 列,即返回Uri对应的文件路径
- */
- private static String getDataColumn(Context context, Uri uri, String selection, String[] selectionArgs) {
- String path = null;
- String[] projection = new String[]{MediaStore.Images.Media.DATA};
- Cursor cursor = null;
-
- try {
- cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs, null);
-
- if (cursor != null && cursor.moveToFirst()) {
- int columnIndex = cursor.getColumnIndexOrThrow(projection[0]);
- path = cursor.getString(columnIndex);
- }
- } catch (Exception e) {
- if (cursor != null) {
- cursor.close();
- cursor = null;
- }
- } finally {
- if (cursor != null) {
- cursor.close();
- cursor = null;
- }
- }
-
- return path;
- }
-
- /**
- * @param uri the Uri to check
- * @return Whether the Uri authority is MediaProvider
- */
- private static boolean isMediaDocument(Uri uri) {
- return "com.android.providers.media.documents".equals(uri.getAuthority());
- }
-
- /**
- * @param uri the Uri to check
- * @return Whether the Uri authority is DownloadsProvider
- */
- private static boolean isDownloadsDocument(Uri uri) {
- return "com.android.providers.downloads.documents".equals(uri.getAuthority());
- }
-
- public static int getMaxTextureSize() {
- try {
- // Safe minimum default size
- final int IMAGE_MAX_BITMAP_DIMENSION = Constants.SIZE_DEFAULT;
-
- // Get EGL Display
- EGL10 egl = (EGL10) EGLContext.getEGL();
- EGLDisplay display = egl.eglGetDisplay(EGL10.EGL_DEFAULT_DISPLAY);
-
- // Initialise
- int[] version = new int[2];
- egl.eglInitialize(display, version);
-
- // Query total number of configurations
- int[] totalConfigurations = new int[1];
- egl.eglGetConfigs(display, null, 0, totalConfigurations);
-
- // Query actual list configurations
- EGLConfig[] configurationsList = new EGLConfig[totalConfigurations[0]];
- egl.eglGetConfigs(display, configurationsList, totalConfigurations[0], totalConfigurations);
-
- int[] textureSize = new int[1];
- int maximumTextureSize = 0;
-
- // Iterate through all the configurations to located the maximum texture size
- for (int i = 0; i < totalConfigurations[0]; i++) {
- // Only need to check for width since opengl textures are always squared
- egl.eglGetConfigAttrib(display, configurationsList[i], EGL10.EGL_MAX_PBUFFER_WIDTH, textureSize);
-
- // Keep trackCustomEvent of the maximum texture size
- if (maximumTextureSize < textureSize[0])
- maximumTextureSize = textureSize[0];
- }
-
- // Release
- egl.eglTerminate(display);
-
- // Return largest texture size found, or default
- return Math.max(maximumTextureSize, IMAGE_MAX_BITMAP_DIMENSION);
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- return 0;
- }
-
- /**
- * 如需二次计算,请用 {@link #dip2pxF}
- */
- private static int dip2px(Context context, float dp) {
- return (int) (convertUnitToPixel(context, TypedValue.COMPLEX_UNIT_DIP, dp) + 0.5f);
- }
-
- /**
- * dip2px的返回float版
- *
- * @see #dip2px
- */
- private static float dip2pxF(Context context, float dp) {
- return convertUnitToPixel(context, TypedValue.COMPLEX_UNIT_DIP, dp);
- }
-
- private static float px2dip(Context context, float px) {
- final float scale = context.getResources().getDisplayMetrics().density;
- return px / scale;
- }
-
- private static int px(Context context, float dp) {
- return (int) (dip2px(context, dp) + 0.5f);
- }
-
- private static float convertUnitToPixel(Context context, int unit, float in) {
- return TypedValue.applyDimension(unit, in, context.getResources().getDisplayMetrics());
- }
-
- private static int getScreenWidth(Context context) {
- if (context == null) {
- return 0;
- }
- return context.getResources().getDisplayMetrics().widthPixels;
- }
-
- private static int getScreenHeight(Context context) {
- if (context == null) {
- return 0;
- }
- return context.getResources().getDisplayMetrics().heightPixels;
- }
-
- public static String bitmapToBase64(Bitmap bitmap) {
- String result = null;
- try {
- if (bitmap != null) {
- result = Base64.encodeToString(bitmapToBytes(bitmap), Base64.DEFAULT);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return result;
- }
-
- public static String bitmapArrayToBase64(byte[] data) {
- String result = null;
- try {
- if (data != null) {
- result = Base64.encodeToString(data, Base64.DEFAULT);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return result;
- }
-
- public static Bitmap base64ToBitmap(String base64Data) {
- byte[] bytes = Base64.decode(base64Data, Base64.DEFAULT);
- return BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
- }
-
- /**
- * 在系统返回的intent中获取图片信息,并转化为uri
- *
- * @param data
- * @return
- */
- public static Uri convertUri(Context context, Intent data) {
- if (data == null || data.getData() == null) {
- return null;
- }
- Uri localUri = data.getData();
- String scheme = localUri.getScheme();
- String imagePath = "";
- if ("content".equals(scheme)) {
- String[] filePathColumns = {MediaStore.Images.Media.DATA};
- Cursor c = context.getContentResolver().query(localUri, filePathColumns, null, null, null);
- if (c != null) {
- try {
- c.moveToFirst();
- int columnIndex = c.getColumnIndex(filePathColumns[0]);
- imagePath = c.getString(columnIndex);
- c.close();
- } catch (Exception e) {
- e.printStackTrace();
- c.close();
- imagePath = "";
- }
- }
- } else if ("file".equals(scheme)) {//小米4选择云相册中的图片是根据此方法获得路径
- imagePath = localUri.getPath();
- }
- if (TextUtils.isEmpty(imagePath)) {
- return localUri;
- }
- Uri uri = Uri.fromFile(new File(imagePath));
- return uri != null ? uri : localUri;
- }
-
- public static Bitmap colorToBitmap(Context context,int colorResId) {// drawable 转换成bitmap
- Bitmap.Config config = Bitmap.Config.ARGB_8888;// 取drawable的颜色格式
- Bitmap bitmap = Bitmap.createBitmap(1, 1, config);// 建立对应bitmap
- bitmap.eraseColor(context.getResources().getColor(colorResId));
- return bitmap;
- }
-
- public static String getAlphaHexValue(float alpha) {
- String color = Integer.toHexString((int) alpha * 255);
- return TextUtils.isEmpty(color) ? color : color.toUpperCase();
- }
-
- /**
- * 抓取本地视频缩略图(操作可能耗时,尽量异步进行)
- *
- * @param filePath
- * @return
- */
- public static Bitmap getVideoThumbnail(String filePath) {
- Bitmap b = null;
- MediaMetadataRetriever retriever = new MediaMetadataRetriever();
- try {
- retriever.setDataSource(filePath);
- b = retriever.getFrameAtTime();
- } catch (IllegalArgumentException e) {
- e.printStackTrace();
- } catch (RuntimeException e) {
- e.printStackTrace();
-
- } finally {
- try {
- retriever.release();
- } catch (RuntimeException e) {
- e.printStackTrace();
- }
- }
- return b;
- }
-
- public static BitmapFactory.Options getBitmapOptions(String path) {
- BitmapFactory.Options options = new BitmapFactory.Options();
- options.inJustDecodeBounds = true;
- BitmapFactory.decodeFile(path, options);
- return options;
- }
-
- public static int calculateInSampleSize(BitmapFactory.Options options, int targetWidth, int targetHeight) {
- int height = options.outHeight;
- int width = options.outWidth;
- int size = 1;
- if (height > targetHeight || width > targetWidth) {
- int scaleHeight = Math.round((float) height / (float) targetHeight);
- int scaleWidth = Math.round((float) width / (float) targetWidth);
- size = scaleHeight > scaleWidth ? scaleHeight : scaleWidth;
- }
-
- return size;
- }
-
- public static Bitmap decodeScaleImage(String path, int targetWidth, int targetHeight) {
- BitmapFactory.Options options = getBitmapOptions(path);
- options.inSampleSize = calculateInSampleSize(options, targetWidth, targetHeight);
- options.inJustDecodeBounds = false;
- Bitmap bitmap = BitmapFactory.decodeFile(path, options);
- int degree = readPictureDegree(path);
- Bitmap rotateBitmap;
- if (bitmap != null && degree != 0) {
- rotateBitmap = rotateBitmap(degree, bitmap);
- bitmap.recycle();
- return rotateBitmap;
- } else {
- return bitmap;
- }
- }
-
- public static Bitmap getImage(String fileName) {
-
- FileInputStream stream = null;
- try {
- stream = new FileInputStream(fileName);
- FileDescriptor fd = stream.getFD();
- BitmapFactory.Options options = new BitmapFactory.Options();
- options.inSampleSize = 1;
- options.inJustDecodeBounds = true;
- BitmapFactory.decodeFileDescriptor(fd, null, options);
- if (options.mCancel || options.outWidth == -1
- || options.outHeight == -1) {
- return null;
- }
-
- // 1.换算合适的图片缩放值,以减少对JVM太多的内存请求。
- options.inSampleSize = calculateInSampleSize(options, options.outWidth,
- options.outHeight);
- options.inJustDecodeBounds = false;
-
- options.inDither = false;
- options.inPreferredConfig = Bitmap.Config.ARGB_8888;
-
- // 2. inPurgeable 设定为 true,可以让java系统, 在内存不足时先行回收部分的内存
- options.inPurgeable = true;
- // 与inPurgeable 一起使用
- options.inInputShareable = true;
-
- try {
- // 4. inNativeAlloc 属性设置为true,可以不把使用的内存算到VM里
- BitmapFactory.Options.class.getField("inNativeAlloc")
- .setBoolean(options, true);
- } catch (IllegalArgumentException e) {
- e.printStackTrace();
- } catch (SecurityException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- } catch (NoSuchFieldException e) {
- e.printStackTrace();
- }
- // 5. 使用decodeStream 解码,则利用NDK层中,利用nativeDecodeAsset()
- // 进行解码,不用CreateBitmap
- return BitmapFactory.decodeStream(stream, null, options);
-
- } catch (IOException ex) {
- Logger.e(TAG, "", ex);
- } catch (OutOfMemoryError oom) {
- Logger.e(TAG, "Unable to decode file " + fileName
- + ". OutOfMemoryError.", oom);
- } finally {
- try {
- if (stream != null) {
- stream.close();
- }
- } catch (IOException ex) {
- ex.printStackTrace();
- }
- }
-
- return null;
- }
-
-
- public static Bitmap convertViewToBitmap(View view) {
- view.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),
- View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
- view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());
-
- Bitmap bitmap = Bitmap.createBitmap(view.getMeasuredWidth(), view.getMeasuredHeight(), Bitmap.Config.ARGB_8888);
- Canvas c = new Canvas(bitmap);
- c.drawColor(Color.WHITE);
- view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());
- view.draw(c);
- return bitmap;
- }
-
- public static boolean checkBitmapIsLegal(Bitmap bitmap) {
- return bitmap != null && bitmap.getByteCount() > 0 && bitmap.getWidth() > 0 && bitmap.getHeight() > 0;
- }
-
- public static File saveToTempFile(Context context,byte[] bytes) {
- if (bytes == null || bytes.length <= 0) {
- return null;
- }
- String compressPath = FileUtils.getCachePath(context);
- String md5 = Md5Utils.hexdigest(bytes);
- File tempFile = new File(compressPath, md5 + ".temp");
-
- if (!tempFile.exists()) {
- tempFile.getParentFile().mkdirs();
- } else if (tempFile.length() > 0) {
- return tempFile;
- }
- FileOutputStream fileOutputStream = null;
- try {
- fileOutputStream = new FileOutputStream(tempFile);
- fileOutputStream.write(bytes);
- fileOutputStream.flush();
- fileOutputStream.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- return tempFile;
- }
-
- /**
- * convert px to its equivalent sp
- *
- * 将px转换为sp
- */
- private static int px2sp(Context context, float pxValue) {
- final float fontScale = context.getResources().getDisplayMetrics().scaledDensity;
- return (int) (pxValue / fontScale + 0.5f);
- }
-
-
- /**
- * convert sp to its equivalent px
- *
- * 将sp转换为px
- */
- public static int sp2px(Context context, float spValue) {
- final float fontScale = context.getResources().getDisplayMetrics().scaledDensity;
- return (int) (spValue * fontScale + 0.5f);
- }
-
- public interface OnCompressListener {
-
- void onCompressSuccess( byte[] data );
-
- void onCompressFailed( String msg );
-
- void onBeforeCompress();
- }
-
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/BlurImageUtils.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/BlurImageUtils.java
deleted file mode 100644
index 8463ae5299..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/BlurImageUtils.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.mogo.module.media.utils;
-
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.renderscript.Allocation;
-import android.renderscript.Element;
-import android.renderscript.RenderScript;
-import android.renderscript.ScriptIntrinsicBlur;
-
-public class BlurImageUtils {
- public static Bitmap rsBlur(Context context, Bitmap source, int radius){
-
- Bitmap inputBmp = source;
- RenderScript renderScript = RenderScript.create(context);
-
- // Allocate memory for Renderscript to work with
- final Allocation input = Allocation.createFromBitmap(renderScript,inputBmp);
- final Allocation output = Allocation.createTyped(renderScript,input.getType());
- // Load up an instance of the specific script that we want to use.
- ScriptIntrinsicBlur scriptIntrinsicBlur = ScriptIntrinsicBlur.create(renderScript, Element.U8_4(renderScript));
- scriptIntrinsicBlur.setInput(input);
- // Set the blur radius
- scriptIntrinsicBlur.setRadius(radius);
- // Start the ScriptIntrinisicBlur
- scriptIntrinsicBlur.forEach(output);
- // Copy the output to the blurred bitmap
- output.copyTo(inputBmp);
- renderScript.destroy();
-
- return inputBmp;
- }
-
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/FastBlurUtil.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/FastBlurUtil.java
deleted file mode 100644
index 5de68b6240..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/FastBlurUtil.java
+++ /dev/null
@@ -1,330 +0,0 @@
-package com.mogo.module.media.utils;
-
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.URL;
-
-/**
- * Created by jay on 11/7/15.
- */
-public class FastBlurUtil {
- /**
- * 根据imagepath获取bitmap
- */
- /**
- * 得到本地或者网络上的bitmap url - 网络或者本地图片的绝对路径,比如:
- * A.网络路径: url="http://blog.foreverlove.us/girl2.png" ;
- * B.本地路径:url="file://mnt/sdcard/photo/image.png";
- * C.支持的图片格式 ,png, jpg,bmp,gif等等
- * @param url
- * @return
- */
- public static int IO_BUFFER_SIZE = 2 * 1024;
-
- public static Bitmap GetUrlBitmap(String url, int scaleRatio) {
-
- int blurRadius = 8;//通常设置为8就行。
- if (scaleRatio <= 0) {
- scaleRatio = 10;
- }
-
-
- Bitmap originBitmap = null;
- InputStream in = null;
- BufferedOutputStream out = null;
- try {
- in = new BufferedInputStream(new URL(url).openStream(), IO_BUFFER_SIZE);
- final ByteArrayOutputStream dataStream = new ByteArrayOutputStream();
- out = new BufferedOutputStream(dataStream, IO_BUFFER_SIZE);
- copy(in, out);
- out.flush();
- byte[] data = dataStream.toByteArray();
- originBitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
-
- Bitmap scaledBitmap = Bitmap.createScaledBitmap(originBitmap,
- originBitmap.getWidth() / scaleRatio,
- originBitmap.getHeight() / scaleRatio,
- false);
- Bitmap blurBitmap = doBlur(scaledBitmap, blurRadius, true);
- return blurBitmap;
- } catch (IOException e) {
- e.printStackTrace();
- return null;
- }
- }
-
- private static void copy(InputStream in, OutputStream out)
- throws IOException {
- byte[] b = new byte[IO_BUFFER_SIZE];
- int read;
- while ((read = in.read(b)) != -1) {
- out.write(b, 0, read);
- }
- }
-
-
- // 把本地图片毛玻璃化
- public static Bitmap toBlur(Bitmap originBitmap, int scaleRatio) {
- // int scaleRatio = 10;
- // 增大scaleRatio缩放比,使用一样更小的bitmap去虚化可以到更好的得模糊效果,而且有利于占用内存的减小;
- int blurRadius = 6;//通常设置为8就行。
- //增大blurRadius,可以得到更高程度的虚化,不过会导致CPU更加intensive
-
- /* 其中前三个参数很明显,其中宽高我们可以选择为原图尺寸的1/10;
- 第四个filter是指缩放的效果,filter为true则会得到一个边缘平滑的bitmap,
- 反之,则会得到边缘锯齿、pixelrelated的bitmap。
- 这里我们要对缩放的图片进行虚化,所以无所谓边缘效果,filter=false。*/
- if (scaleRatio <= 0) {
- scaleRatio = 10;
- }
- Bitmap scaledBitmap = Bitmap.createScaledBitmap(originBitmap,
- originBitmap.getWidth() / scaleRatio,
- originBitmap.getHeight() / scaleRatio,
- false);
- Bitmap blurBitmap = doBlur(scaledBitmap, blurRadius, true);
- return blurBitmap;
- }
-
- public static Bitmap doBlur(Bitmap sentBitmap, int radius, boolean canReuseInBitmap) {
-
- // Stack Blur v1.0 from
- // http://www.quasimondo.com/StackBlurForCanvas/StackBlurDemo.html
- //
- // Java Author: Mario Klingemann
- // http://incubator.quasimondo.com
- // created Feburary 29, 2004
- // Android port : Yahel Bouaziz
- // http://www.kayenko.com
- // ported april 5th, 2012
-
- // This is a compromise between Gaussian Blur and Box blur
- // It creates much better looking blurs than Box Blur, but is
- // 7x faster than my Gaussian Blur implementation.
- //
- // I called it Stack Blur because this describes best how this
- // filter works internally: it creates a kind of moving stack
- // of colors whilst scanning through the image. Thereby it
- // just has to add one new block of color to the right side
- // of the stack and remove the leftmost color. The remaining
- // colors on the topmost layer of the stack are either added on
- // or reduced by one, depending on if they are on the right or
- // on the left side of the stack.
- //
- // If you are using this algorithm in your code please add
- // the following line:
- //
- // Stack Blur Algorithm by Mario Klingemann
-
- Bitmap bitmap;
- if (canReuseInBitmap) {
- bitmap = sentBitmap;
- } else {
- bitmap = sentBitmap.copy(sentBitmap.getConfig(), true);
- }
-
- if (radius < 1) {
- return (null);
- }
-
- int w = bitmap.getWidth();
- int h = bitmap.getHeight();
-
- int[] pix = new int[w * h];
- bitmap.getPixels(pix, 0, w, 0, 0, w, h);
-
- int wm = w - 1;
- int hm = h - 1;
- int wh = w * h;
- int div = radius + radius + 1;
-
- int r[] = new int[wh];
- int g[] = new int[wh];
- int b[] = new int[wh];
- int rsum, gsum, bsum, x, y, i, p, yp, yi, yw;
- int vmin[] = new int[Math.max(w, h)];
-
- int divsum = (div + 1) >> 1;
- divsum *= divsum;
- int dv[] = new int[256 * divsum];
- for (i = 0; i < 256 * divsum; i++) {
- dv[i] = (i / divsum);
- }
-
- yw = yi = 0;
-
- int[][] stack = new int[div][3];
- int stackpointer;
- int stackstart;
- int[] sir;
- int rbs;
- int r1 = radius + 1;
- int routsum, goutsum, boutsum;
- int rinsum, ginsum, binsum;
-
- for (y = 0; y < h; y++) {
- rinsum = ginsum = binsum = routsum = goutsum = boutsum = rsum = gsum = bsum = 0;
- for (i = -radius; i <= radius; i++) {
- p = pix[yi + Math.min(wm, Math.max(i, 0))];
- sir = stack[i + radius];
- sir[0] = (p & 0xff0000) >> 16;
- sir[1] = (p & 0x00ff00) >> 8;
- sir[2] = (p & 0x0000ff);
- rbs = r1 - Math.abs(i);
- rsum += sir[0] * rbs;
- gsum += sir[1] * rbs;
- bsum += sir[2] * rbs;
- if (i > 0) {
- rinsum += sir[0];
- ginsum += sir[1];
- binsum += sir[2];
- } else {
- routsum += sir[0];
- goutsum += sir[1];
- boutsum += sir[2];
- }
- }
- stackpointer = radius;
-
- for (x = 0; x < w; x++) {
-
- r[yi] = dv[rsum];
- g[yi] = dv[gsum];
- b[yi] = dv[bsum];
-
- rsum -= routsum;
- gsum -= goutsum;
- bsum -= boutsum;
-
- stackstart = stackpointer - radius + div;
- sir = stack[stackstart % div];
-
- routsum -= sir[0];
- goutsum -= sir[1];
- boutsum -= sir[2];
-
- if (y == 0) {
- vmin[x] = Math.min(x + radius + 1, wm);
- }
- p = pix[yw + vmin[x]];
-
- sir[0] = (p & 0xff0000) >> 16;
- sir[1] = (p & 0x00ff00) >> 8;
- sir[2] = (p & 0x0000ff);
-
- rinsum += sir[0];
- ginsum += sir[1];
- binsum += sir[2];
-
- rsum += rinsum;
- gsum += ginsum;
- bsum += binsum;
-
- stackpointer = (stackpointer + 1) % div;
- sir = stack[(stackpointer) % div];
-
- routsum += sir[0];
- goutsum += sir[1];
- boutsum += sir[2];
-
- rinsum -= sir[0];
- ginsum -= sir[1];
- binsum -= sir[2];
-
- yi++;
- }
- yw += w;
- }
- for (x = 0; x < w; x++) {
- rinsum = ginsum = binsum = routsum = goutsum = boutsum = rsum = gsum = bsum = 0;
- yp = -radius * w;
- for (i = -radius; i <= radius; i++) {
- yi = Math.max(0, yp) + x;
-
- sir = stack[i + radius];
-
- sir[0] = r[yi];
- sir[1] = g[yi];
- sir[2] = b[yi];
-
- rbs = r1 - Math.abs(i);
-
- rsum += r[yi] * rbs;
- gsum += g[yi] * rbs;
- bsum += b[yi] * rbs;
-
- if (i > 0) {
- rinsum += sir[0];
- ginsum += sir[1];
- binsum += sir[2];
- } else {
- routsum += sir[0];
- goutsum += sir[1];
- boutsum += sir[2];
- }
-
- if (i < hm) {
- yp += w;
- }
- }
- yi = x;
- stackpointer = radius;
- for (y = 0; y < h; y++) {
- // Preserve alpha channel: ( 0xff000000 & pix[yi] )
- pix[yi] = (0xff000000 & pix[yi]) | (dv[rsum] << 16) | (dv[gsum] << 8) | dv[bsum];
-
- rsum -= routsum;
- gsum -= goutsum;
- bsum -= boutsum;
-
- stackstart = stackpointer - radius + div;
- sir = stack[stackstart % div];
-
- routsum -= sir[0];
- goutsum -= sir[1];
- boutsum -= sir[2];
-
- if (x == 0) {
- vmin[y] = Math.min(y + r1, hm) * w;
- }
- p = x + vmin[y];
-
- sir[0] = r[p];
- sir[1] = g[p];
- sir[2] = b[p];
-
- rinsum += sir[0];
- ginsum += sir[1];
- binsum += sir[2];
-
- rsum += rinsum;
- gsum += ginsum;
- bsum += binsum;
-
- stackpointer = (stackpointer + 1) % div;
- sir = stack[stackpointer];
-
- routsum += sir[0];
- goutsum += sir[1];
- boutsum += sir[2];
-
- rinsum -= sir[0];
- ginsum -= sir[1];
- binsum -= sir[2];
-
- yi += w;
- }
- }
-
- bitmap.setPixels(pix, 0, w, 0, 0, w, h);
-
- return (bitmap);
- }
-
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/FileUtils.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/FileUtils.java
deleted file mode 100644
index 8a06848283..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/FileUtils.java
+++ /dev/null
@@ -1,474 +0,0 @@
-package com.mogo.module.media.utils;
-
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.net.Uri;
-import android.os.Build;
-import android.os.Environment;
-import android.text.TextUtils;
-import android.util.Base64;
-
-import androidx.annotation.IntRange;
-import androidx.core.content.FileProvider;
-
-import com.mogo.module.media.constants.Constants;
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStreamWriter;
-import java.text.DecimalFormat;
-import java.util.Arrays;
-
-public class FileUtils {
- private static final String[] IMAGE_SUPPORT_EXTS = {"png", "jpg", "jpeg", "bmp"};
- private static final String[] VIDEO_SUPPORT_EXTS = {"mp4"};
-
- public static String fileToBase64(File file) {
- String base64 = null;
- InputStream in = null;
- try {
- in = new FileInputStream(file);
- byte[] bytes = new byte[in.available()];
- int length = in.read(bytes);
- base64 = Base64.encodeToString(bytes, 0, length, Base64.DEFAULT);
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- IOUtils.closeSilently(in);
- }
- return base64;
- }
-
-
- /**
- * 创建一个用于拍照图片输出路径的Uri (FileProvider)
- */
- public static Uri getUriForFile(Context context, File file) {
- return FileProvider.getUriForFile(context, getFileProviderName(context), file);
- }
-
- public static String getFileProviderName(Context context) {
- return context.getPackageName() + ".fileprovider";
- }
-
- /**
- * 把Uri 解析出文件绝对路径
- */
- public static String parseOwnUri(Context context, Uri uri) {
- if (uri == null || uri.getPath() == null) return null;
- String path;
- if (TextUtils.equals(uri.getAuthority(), getFileProviderName(context))) {
- path = new File(uri.getPath()).getAbsolutePath();
- } else {
- path = uri.getPath();
- }
- return path;
- }
-
- public static void copy(final String from, final String to, final FileCopyListener listener) {
-
- new Thread(new Runnable() {
- @Override
- public void run() {
-
- File file = null;
- try {
- file = new File(from);
- } catch (Exception e) {
- if (listener != null) {
- listener.onFail(e);
- }
- return;
- }
- if (!file.isFile()) {
- if (listener != null) {
- listener.onFail(new Exception(String.format("%s is not a file", from)));
- return;
- }
- }
- if (!file.exists()) {
- if (listener != null) {
- listener.onFail(new FileNotFoundException(String.format("%s is not exists.", from)));
- return;
- }
- }
-
- if (listener != null) {
- listener.onStart();
- }
-
- long fileSize = file.length();
- long process = 0;
-
- try {
- FileInputStream fis = new FileInputStream(file);
-
- byte[] buff = new byte[1024];
- int rc = 0;
-
- File toFile = new File(to);
- if (!toFile.getParentFile().exists()) {
- toFile.getParentFile().mkdirs();
- }
-
- FileOutputStream fos = new FileOutputStream(toFile);
-
- while ((rc = fis.read(buff, 0, 1024)) > 0) {
- process += rc;
- fos.write(buff, 0, rc);
- if (listener != null) {
- listener.onProcess(((int) (((float) process) * 100 / fileSize)));
- }
- }
-
- fos.flush();
- fos.close();
- fis.close();
-
- } catch (Exception e) {
- if (listener != null) {
- listener.onFail(e);
- return;
- }
- }
-
- if (listener != null) {
- listener.onFinish(to);
- }
- }
- }).start();
- }
-
- public static void copy(final InputStream is, final String to, final FileCopyListener listener) {
-
- new Thread(new Runnable() {
- @Override
- public void run() {
-
- if (listener != null) {
- listener.onStart();
- }
-
- try {
-
- long fileSize = is.available();
- long process = 0;
-
- byte[] buff = new byte[1024];
- int rc = 0;
-
- File toFile = new File(to);
- if (!toFile.getParentFile().exists()) {
- toFile.getParentFile().mkdirs();
- }
-
- FileOutputStream fos = new FileOutputStream(toFile);
-
- while ((rc = is.read(buff, 0, 1024)) > 0) {
- process += rc;
- fos.write(buff, 0, rc);
- if (listener != null) {
- listener.onProcess(((int) (((float) process) * 100 / fileSize)));
- }
- }
-
- fos.flush();
- fos.close();
- is.close();
-
- } catch (Exception e) {
- if (listener != null) {
- listener.onFail(e);
- return;
- }
- }
-
- if (listener != null) {
- listener.onFinish(to);
- }
- }
- }).start();
- }
-
- public interface FileCopyListener {
- void onStart();
-
- void onFail(Exception e);
-
- void onProcess(@IntRange(from = 0, to = 100) int process);
-
- void onFinish(String toPath);
- }
-
- public static void createPath(String file) {
- File f = new File(file);
- if (f.exists()) {
- return;
- }
- if (!f.getParentFile().exists()) {
- f.getParentFile().mkdirs();
- }
- }
-
- public static byte[] read(String file) {
-
- File f = new File(file);
- if (!f.exists() || f.length() == 0) {
- return null;
- }
-
- try {
- FileInputStream fis = new FileInputStream(f);
- byte[] buffer = new byte[((int) f.length())];
- fis.read(buffer);
- IOUtils.closeSilently(fis);
- return buffer;
- } catch (Exception e) {
- return null;
- }
- }
-
- public static String toBase64(byte[] buffer) {
- if (buffer == null || buffer.length == 0) {
- return null;
- }
- try {
- return Base64.encodeToString(buffer, Base64.DEFAULT);
- } catch (Exception e) {
- return null;
- }
- }
-
- /**
- * 获取不带扩展名的文件名
- *
- * @param filePath
- * @return
- */
- public static String getFileNameNoEx(String filePath) {
- try {
- if ((filePath != null) && (filePath.length() > 0)) {
- int index = filePath.lastIndexOf("/") + 1;
- int dot = filePath.lastIndexOf(".");
- if ((dot > -1) && (dot < (filePath.length()))) {
- if (index != -1 && index < filePath.length()) {
- return filePath.substring(index, dot);
- }
- }
- }
- return filePath;
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- return filePath;
- }
-
- public static boolean isVideo(String path) {
- String extName = FileUtils.getExtensionName(path);
- if (TextUtils.isEmpty(extName)) {
- return false;
- }
- return Arrays.asList(VIDEO_SUPPORT_EXTS).contains(extName.toLowerCase());
- }
-
- public static boolean isImage(String filePath) {
- String extName = FileUtils.getExtensionName(filePath);
- if (TextUtils.isEmpty(extName)) {
- return false;
- }
- return Arrays.asList(IMAGE_SUPPORT_EXTS).contains(extName.toLowerCase());
- }
-
- public static boolean isExist(String path) {
- if (TextUtils.isEmpty(path)) {
- return false;
- }
- try {
- File file = new File(path);
- return file.exists() && file.isFile() && getFileSize(path) != 0;
- } catch (Exception e) {
- return false;
- }
-
- }
-
- public static boolean isExist(File file) {
- if (file == null) {
- return false;
- }
- try {
- return file.exists();
- } catch (Exception e) {
- return false;
- }
-
- }
-
- public static boolean deleteFile(String path) {
- try {
- if (TextUtils.isEmpty(path)) {
- return false;
- }
- File file = new File(path);
- if (file.exists()) {
- return file.delete();
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return false;
- }
-
- public static long getFileSize(String path) {
- if (TextUtils.isEmpty(path)) {
- return 0;
- }
- try {
- return new File(path).length();
- } catch (Exception e) {
- e.printStackTrace();
- }
- return 0;
- }
-
- public static Uri getFileProviderUri(Context context, File file) {
- Uri data;
- // 判断版本大于等于7.0
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
- data = FileProvider.getUriForFile(context, context.getPackageName() + ".fileprovider", file);
- } else {
- data = Uri.fromFile(file);
- }
- return data;
- }
-
- public static void saveBitmapToCache(Bitmap bitmap, String path, OnBitmapToLocalListener onBitmapToLocalListener) {
- File file = new File(path);
- if (!file.exists()) {
- file.getParentFile().mkdirs();
- }
- FileOutputStream fileOutputStream = null;
- try {
- fileOutputStream = new FileOutputStream(path);
- bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fileOutputStream);
- fileOutputStream.close();
- if (onBitmapToLocalListener != null) {
- onBitmapToLocalListener.saveSuccess(path);
- }
- } catch (Exception e) {
- if (onBitmapToLocalListener != null) {
- onBitmapToLocalListener.saveFailed();
- }
- e.printStackTrace();
- }
- }
-
- public static File getDiskCacheDir(Context context, String uniqueName) {
- String cachePath;
- if (Environment.MEDIA_MOUNTED.equals(Environment
- .getExternalStorageState()) && context.getExternalCacheDir() != null) {
- cachePath = context.getExternalCacheDir().getPath();
- } else {
- cachePath = context.getCacheDir().getPath();
- }
- return new File(cachePath + File.separator + uniqueName);
- }
-
- public static String getCachePath(Context context) {
- File targetFile = getDiskCacheDir(context, Constants.IMAGE_COMPRESS_PATH);
- if (!targetFile.exists()) {
- targetFile.mkdirs();
- }
- return targetFile.getAbsolutePath();
- }
-
- public static String formatFileSize(long size) {
- DecimalFormat formatter = new DecimalFormat("####.00");
- if (size < 1024) {
- return size + "B";
- } else if (size < 1024 * 1024L) {
- float kbSize = size / 1024f;
- return formatter.format(kbSize) + "KB";
- } else if (size < 1024 * 1024 * 1024L) {
- float mbSize = size / 1024f / 1024f;
- return formatter.format(mbSize) + "MB";
- } else if (size < 1024 * 1024 * 1024 * 1024L) {
- float gbSize = size / 1024f / 1024f / 1024f;
- return formatter.format(gbSize) + "GB";
- } else {
- return "0KB";
- }
- }
-
- public static String getFileWithEx(String filePath) {
- if (TextUtils.isEmpty(filePath)) {
- return "";
- }
- int index = filePath.lastIndexOf("/");
- try {
- return filePath.substring(index + 1, filePath.length());
- } catch (Exception e) {
- e.printStackTrace();
- }
- return "";
- }
-
- public static void writeToFile(String content, String logPath) {
-
- if (TextUtils.isEmpty(logPath)) {
- return;
- }
-
- String fileName = logPath + "/location.txt";//log日志名,使用时间命名,保证不重复
- //如果父路径不存在
- File file = new File(logPath);
- if (!file.exists()) {
- file.mkdirs();//创建父路径
- }
-
- FileOutputStream fos;//FileOutputStream会自动调用底层的close()方法,不用关闭
- BufferedWriter bw = null;
- try {
- fos = new FileOutputStream(fileName, true);//这里的第二个参数代表追加还是覆盖,true为追加,flase为覆盖
- bw = new BufferedWriter(new OutputStreamWriter(fos));
- bw.write(content + "\n");
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- if (bw != null) {
- bw.close();//关闭缓冲流
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- }
-
- /**
- * 获取文件扩展名
- *
- * @param filePath
- * @return
- */
- public static String getExtensionName(String filePath) {
- if ((filePath != null) && (filePath.length() > 0)) {
- int dot = filePath.lastIndexOf('.');
- if ((dot > -1) && (dot < (filePath.length() - 1))) {
- return filePath.substring(dot + 1);
- }
- }
- return filePath;
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/IOUtils.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/IOUtils.java
deleted file mode 100644
index 4d7a17a7c2..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/IOUtils.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package com.mogo.module.media.utils;
-
-import androidx.annotation.Nullable;
-
-import java.io.ByteArrayOutputStream;
-import java.io.Closeable;
-import java.io.InputStream;
-
-public class IOUtils {
-
- public static byte[] inputToBytes(InputStream is) {
- if(is == null){
- return null;
- }
-
- ByteArrayOutputStream bos = null;
- byte[] result = null;
-
- try{
- bos = new ByteArrayOutputStream();
- byte[] buff = new byte[100];
- int rc = 0;
- while ((rc = is.read(buff, 0, 100)) > 0) {
- bos.write(buff, 0, rc);
- }
-
- result = bos.toByteArray();
- }catch (Exception e){
- e.printStackTrace();
- result = null;
- }finally {
- closeSilently(bos);
- }
-
- return result;
- }
-
- public static void closeSilently(@Nullable Closeable c) {
- if (c == null) return;
- try {
- c.close();
- c = null;
- } catch (Throwable t) {
- t.printStackTrace();
- }
- }
-
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/Md5Utils.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/Md5Utils.java
deleted file mode 100644
index 9bfe577832..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/Md5Utils.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.mogo.module.media.utils;
-
-import java.security.MessageDigest;
-
-public class Md5Utils {
-
- private static final char[] hexDigits = new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
-
- public static String hexdigest(String string) {
- String s = null;
-
- try {
- s = hexdigest(string.getBytes());
- } catch (Exception var3) {
- var3.printStackTrace();
- }
-
- return s;
- }
-
- public static String hexdigest(byte[] bytes) {
- String s = null;
-
- try {
- MessageDigest md = MessageDigest.getInstance("MD5");
- md.update(bytes);
- byte[] tmp = md.digest();
- char[] str = new char[32];
- int k = 0;
-
- for(int i = 0; i < 16; ++i) {
- byte byte0 = tmp[i];
- str[k++] = hexDigits[byte0 >>> 4 & 15];
- str[k++] = hexDigits[byte0 & 15];
- }
-
- s = new String(str);
- } catch (Exception var8) {
- var8.printStackTrace();
- }
-
- return s;
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/MediaAnalyticsUtils.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/MediaAnalyticsUtils.java
deleted file mode 100644
index 25d6da3336..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/MediaAnalyticsUtils.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.mogo.module.media.utils;
-
-import com.mogo.module.media.ServiceMediaHandler;
-import com.mogo.utils.logger.Logger;
-
-import java.util.HashMap;
-
-public class MediaAnalyticsUtils {
- /**
- * 统一管理打点
- */
- public static void track(String id, HashMap map){
- Logger.d("MediaAnalyticsUtils","addLogger "+id);
- ServiceMediaHandler.getMogoAnalytis().track(id,map);
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/MusicControlBroadCast.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/MusicControlBroadCast.java
deleted file mode 100644
index 6ec22f102e..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/MusicControlBroadCast.java
+++ /dev/null
@@ -1,515 +0,0 @@
-package com.mogo.module.media.utils;
-
-import android.content.Intent;
-import android.net.Uri;
-import android.text.TextUtils;
-
-import com.mogo.commons.AbsMogoApplication;
-import com.mogo.module.common.entity.MarkerShareMusic;
-import com.mogo.module.media.ServiceMediaHandler;
-import com.mogo.module.media.model.LanRenInsertData;
-import com.mogo.module.media.model.MediaInfoData;
-import com.mogo.module.media.model.QQMediaListData;
-import com.mogo.utils.UiThreadHandler;
-import com.mogo.utils.logger.Logger;
-import com.mogo.utils.network.utils.GsonUtil;
-
-import java.util.ArrayList;
-
-public class MusicControlBroadCast {
-
- public static final String TAG = "MusicControlBroadCast";
- public static boolean OPEN = false;
- /**
- *
- * @param actionValue
- */
- public static void sendQQMusicControl(String actionValue) {
- if (OPEN && ServiceMediaHandler.getMogoNavi().isNaviing())return;
- Intent intent = new Intent("com.txznet.adapter.send");
- intent.putExtra("action", actionValue);
- intent.putExtra("source", "com.mogo.launcher");
- AbsMogoApplication.getApp().sendBroadcast(intent);
- Logger.d(TAG,"sendQQMusicControl "+actionValue);
- }
-
- /**
- * 打开qq音乐
- */
- public static void qqOpenQQMusic() {
- sendQQMusicControl("music_open");
- }
-
- /**
- * 关闭qq音乐
- */
- public static void qqCloseQQMusic() {
- sendQQMusicControl("music_exit");
- }
-
- /**
- * 暂停播放音乐
- */
- public static void qqPlayPauseQQMusic() {
- sendQQMusicControl("music_play_or_pause");
- }
-
- /**
- * 播放音乐
- */
-
- public static void qqPlayQQMusic() {
- sendQQMusicControl("music_play");
- }
- /**
- * 暂停音乐
- */
- public static void qqPauseQQMusic() {
- sendQQMusicControl("music_pause");
- }
-
- /**
- * 上一首音乐
- */
- public static void qqPreQQMusic() {
- sendQQMusicControl("music_prev");
- }
-
- /**
- * 下一首音乐
- */
- public static void qqNextQQMusic() {
- sendQQMusicControl("music_next");
- }
-
- /**
- * "music_sequential";//顺序播放
- * "music_random";//随机播放
- * "music_loopone";//单曲循环
- * "music_loopall";//列表循环
- * 修改qq 音乐播放模式
- */
- public static void qqChangePlayModeQQMusic(String playMode) {
- sendQQMusicControl(playMode);
- }
-
- //乐听新闻 actionValue 101 102
- public static void sendLeTingControl(int actionValue) {
- Intent intent = new Intent("com.zhidao.ltnews.sendplayaudio");
- intent.putExtra("controlstate", actionValue);
- intent.putExtra("source", "com.mogo.launcher");
- AbsMogoApplication.getApp().sendBroadcast(intent);
- Logger.d(TAG,"sendLeTingControl "+actionValue);
- }
-
- /**
- * 关闭乐听头条
- */
- public static void newsCloseLeTing() {
- sendLeTingControl(200);
- }
-
- /**
- * 暂停播放乐听头条
- */
- public static void newsPlayPauseLeTing() {
- sendLeTingControl(101);
- }
-
- /**
- * 播放音乐乐听头条
- */
- public static void newsPlayLeTing() {
- sendLeTingControl(100);
- }
-
- /**
- * 暂停音乐乐听头条
- */
- public static void newsPauseLeTing() {
- sendLeTingControl(101);
- }
-
- /**
- * 上一首音乐乐听头条
- */
- public static void newsPreLeTing() {
- sendLeTingControl(103);
- }
-
- /**
- * 下一首音乐乐听头条
- */
- public static void newsNextLeTing() {
- sendLeTingControl(102);
- }
-
-
- //懒人听书
- public static void sendLanRenControl(int actionValue) {
- Intent intent = new Intent("com.zhidao.lrts.sendplayaudio");
- intent.putExtra("controlstate", actionValue);
- intent.putExtra("source", "com.mogo.launcher");
- AbsMogoApplication.getApp().sendBroadcast(intent);
- Logger.d(TAG,"sendLanRenControl "+actionValue);
-
- }
-
- /**
- * 关闭懒人听书
- */
- public static void newsCloseLanRen() {
- sendLanRenControl(200);
- }
-
- /**
- * 暂停播放懒人听书
- */
- public static void newsPlayPauseLanRen() {
- sendLanRenControl(101);
- }
-
- /**
- * 播放音乐懒人听书
- */
- public static void newsPlayLanRen() {
- sendLanRenControl(101);
- }
-
- /**
- * 暂停音乐懒人听书
- */
- public static void newsPauseLanRen() {
- sendLanRenControl(101);
- }
-
- /**
- * 上一首音乐懒人听书
- */
- public static void newsPreLanRen() {
- sendLanRenControl(103);
- }
-
- /**
- * 下一首音乐懒人听书
- */
- public static void newsNextLanRen() {
- sendLanRenControl(102);
- }
-
-
- /**
- * qq 音乐添加进播放列表
- */
- public static void addQQMusicPlayList(ArrayList list) {
- Intent intent = new Intent("com.txznet.adapter.send");
- intent.putExtra("musicAddList", GsonUtil.jsonFromObject(list));
- intent.putExtra("action","share_list");
- AbsMogoApplication.getApp().sendBroadcast(intent);
- Logger.d(TAG,"addQQMusicPlayList ");
- }
-
- /**
- * qq 音乐添加进播放列表
- */
- public static void addQQMusicShareListPlayList(ArrayList shareList) {
- ArrayList list = new ArrayList<>();
- for (MarkerShareMusic shareMusic:shareList){
- if (shareMusic == null || shareMusic.getShareType() != 1)continue;
- QQMediaListData data = new QQMediaListData();
- data.setMediaImgUrl(shareMusic.getMediaImg() != null ? shareMusic.getMediaImg():"");
- data.setMediaMid(shareMusic.getMediaId() != null ? shareMusic.getMediaId():"");
- data.setMediaSinger(shareMusic.getMediaSinger() != null ? shareMusic.getMediaSinger():"");
- data.setMediaName(shareMusic.getMediaName() != null ? shareMusic.getMediaName():"");
- data.setMediaUrl(shareMusic.getMediaUrl() != null ? shareMusic.getMediaUrl() :"");
- list.add(data);
- }
- String jsonaddList = "";
- try {
- jsonaddList = GsonUtil.jsonFromObject(list);
- Intent intent = new Intent("com.txznet.adapter.send");
- intent.putExtra("musicAddList", jsonaddList);
- intent.putExtra("action","share_list");
- AbsMogoApplication.getApp().sendBroadcast(intent);
- Logger.d(TAG,"addQQMusicShareListPlayList "+(list != null ?list.size():"null")+" "+jsonaddList);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- /**
- * 懒人听书进播放列表
- */
- public static void controlLanRenPlay(LanRenInsertData data) {
- // Intent intent = new Intent("com.zhidao.lrts.sendplayaudio");
- Intent intent = new Intent("com.zhidao.mediacenter.lrts");
- intent.putExtra("bookinfo", GsonUtil.jsonFromObject(data));
- AbsMogoApplication.getApp().sendBroadcast(intent);
- }
-
- /**
- * 懒人听书添加列表
- * @param jsonStr
- */
- public static void controlLanRenPlay(String jsonStr){
- Logger.d(TAG,"controlLanRenPlay "+jsonStr);
- if (TextUtils.isEmpty(jsonStr))return;
- //Intent intent = new Intent("com.zhidao.lrts.sendplayaudio");
- Intent intent = new Intent("com.zhidao.mediacenter.lrts");
- intent.putExtra("bookinfo", jsonStr);
- intent.putExtra("acceptType", 1000);
- AbsMogoApplication.getApp().sendBroadcast(intent);
-
- }
-
- /**
- * 懒人听书后台播放
- * @param
- */
- public static void controlLanRenPlayBack(){
- Intent intent = new Intent("com.zhidao.mediacenter.lrts");
- intent.putExtra("acceptType", 1001);
- intent.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
- AbsMogoApplication.getApp().sendBroadcast(intent);
- }
-
- /**
- * 播放新闻,不需要打开app
- * @param
- */
- public static void sendPlayNews(String jsonStr){
- if (OPEN && ServiceMediaHandler.getMogoNavi().isNaviing())return;
- Logger.d(TAG,"sendPlayNews "+jsonStr);
- if (TextUtils.isEmpty(jsonStr))return;
- Intent intent = new Intent("com.zhidao.mediacenter.ltnews");
- intent.putExtra("news", jsonStr);
- intent.putExtra("insertType", 1000);
- AbsMogoApplication.getApp().sendBroadcast(intent);
- }
-
- /**
- * 获取付费情况
- */
- public static void getNewsPayInfoState(){
- Intent intent = new Intent("com.zhidao.mediacenter.ltnews");
- intent.putExtra("insertType", 1002);
- AbsMogoApplication.getApp().sendBroadcast(intent);
- }
-
- /**
- * 播放类型新闻,不需要打开app
- * @param
- */
- public static void sendPlayTypeNews(String category){
- if (OPEN && ServiceMediaHandler.getMogoNavi().isNaviing())return;
- Logger.d(TAG,"sendPlayNews "+category);
- if (TextUtils.isEmpty(category))return;
- Intent intent = new Intent("com.zhidao.mediacenter.ltnews");
- intent.putExtra("category", category.replace("新闻",""));
- intent.putExtra("insertType", 1001);
- intent.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
- AbsMogoApplication.getApp().sendBroadcast(intent);
- }
-
- /**
- * 播放类型新闻,需要打开app
- * @param
- */
- public static void sendPlayTypeNewsOpenApp(String type){
- if (TextUtils.isEmpty(type))return;
- Logger.d(TAG,"sendPlayNews2 "+type);
- Intent intent = new Intent();
- intent.setAction("android.intent.action.VIEW");
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- intent.setData(Uri.parse("letingschema://playNews?category="+type.replace("新闻","")));
- AbsMogoApplication.getApp().startActivity(intent);
- }
-
- //2 为书籍听书,3 为新闻,1 为qq音乐
- public static void clickMarkerSendData(MarkerShareMusic markerShareMusic){
- if (OPEN && ServiceMediaHandler.getMogoNavi().isNaviing())return;
- if (markerShareMusic != null){
- if (markerShareMusic.getShareType() == 1){
- ArrayList list = new ArrayList<>();
- QQMediaListData data = new QQMediaListData();
- data.setMediaUrl(markerShareMusic.getMediaUrl());
- data.setMediaName(markerShareMusic.getMediaName());
- data.setMediaSinger(markerShareMusic.getMediaSinger());
- data.setMediaMid(markerShareMusic.getMediaId());
- data.setMediaImgUrl(markerShareMusic.getMediaImg());
- list.add(data);
- addQQMusicPlayList(list);
- }else if (markerShareMusic.getShareType() == 2){
- String bookJson = markerShareMusic.getBookInfo();
- controlLanRenPlay(bookJson);
- }else if (markerShareMusic.getShareType() == 3){
- String bookJson = markerShareMusic.getBookInfo();
- sendPlayNews(bookJson);
- }
-
- UiThreadHandler.postDelayed(new Runnable() {
- @Override
- public void run() {
- sendGetMusicPlayStateBroadcast();
- }
- }, 2000);
-
- }
- }
-
- //2 为书籍听书,3 为新闻,1 为qq音乐
- public static void listeningSendData(MediaInfoData markerShareMusic){
- if (OPEN && ServiceMediaHandler.getMogoNavi().isNaviing())return;
- if (markerShareMusic != null){
- if (markerShareMusic.getType() == 1){
- ArrayList list = new ArrayList<>();
- QQMediaListData data = new QQMediaListData();
- data.setMediaUrl(markerShareMusic.getMediaUrl());
- data.setMediaName(markerShareMusic.getMediaName());
- data.setMediaSinger(markerShareMusic.getMediaSinger());
- data.setMediaMid(markerShareMusic.getMediaId());
- data.setMediaImgUrl(markerShareMusic.getMediaImg());
- list.add(data);
- addQQMusicPlayList(list);
- }else if (markerShareMusic.getType() == 2){
- String bookJson = markerShareMusic.getBookInfo();
- controlLanRenPlay(bookJson);
- }else if (markerShareMusic.getType() == 3){
- String newsJson = markerShareMusic.getBookInfo();
- sendPlayNews(newsJson);
- }
-
- UiThreadHandler.postDelayed(new Runnable() {
- @Override
- public void run() {
- sendGetMusicPlayStateBroadcast();
- }
- }, 2000);
- }
- }
-
- public static void commandPre(int type) {
- if (OPEN && ServiceMediaHandler.getMogoNavi().isNaviing())return;
- if (type == 1) {
- qqPreQQMusic();
- } else if (type == 2) {
- newsPreLanRen();
- } else if (type == 3) {
- newsPreLeTing();
- }
- }
-
- public static void commandNext(int type) {
- if (OPEN && ServiceMediaHandler.getMogoNavi().isNaviing())return;
- if (type == 1) {
- qqNextQQMusic();
- } else if (type == 2) {
- newsNextLanRen();
- } else if (type == 3) {
- newsNextLeTing();
- }
- }
-
- public static void commandPlayPause(int type,int play) {
- if (OPEN && ServiceMediaHandler.getMogoNavi().isNaviing())return;
- if (type == 1) {
- if (play == 1){
- qqPauseQQMusic();
- }else{
- qqPlayQQMusic();
- }
- } else if (type == 2) {
- newsPlayPauseLanRen();
- } else if (type == 3) {
- newsPlayPauseLeTing();
- }
- }
-
- public static void openMediaApp(int type) {
- if (OPEN && ServiceMediaHandler.getMogoNavi().isNaviing())return;
- if (type == 1) {
- SkipToAppUtils.SkipToQQMusic();
- } else if (type == 2) {
- SkipToAppUtils.SkipToLrListen();
- } else if (type == 3) {
- SkipToAppUtils.SkipToLtNews();
- }
- }
-
- public static void qqMusicSearch(){
- Intent intent = new Intent("com.txznet.adapter.send");
- intent.putExtra("music_model","{\"field\":1,\"text\":\"我要听周杰伦的歌\",\"title\":\"\",\"keywords\":[],\"artist\":[\"周杰伦\"],\"album\":\"\"}");
- AbsMogoApplication.getApp().sendBroadcast(intent);
- }
-
- public static void sendGetMusicPlayStateBroadcast(){
- if (OPEN && ServiceMediaHandler.getMogoNavi().isNaviing())return;
- Intent intent = new Intent("com.zhidao.mediacenter.getaudioinfo");
- AbsMogoApplication.getApp().sendBroadcast(intent);
- Logger.d("MusicControlBroadCast===","sendGetMusicPlayStateBroadcast");
- }
-
- public static MediaInfoData getHisMedia() {
- String lastMediaInfo = StorageManager.getLastListenMediaMusic();
- if (!TextUtils.isEmpty(lastMediaInfo)){
- MediaInfoData sMediaInfoData = GsonUtil.objectFromJson(lastMediaInfo, MediaInfoData.class);
- if (sMediaInfoData != null){
- sMediaInfoData.setPlayState(0);
- return sMediaInfoData;
- }
- }
-
- return null;
-
- // 测试代码吧?
-// MediaInfoData mediaInfoData = new MediaInfoData();
-// mediaInfoData.setMediaId("001jiOrk2g389Y");
-// mediaInfoData.setBookInfo("");
-// mediaInfoData.setType(1);
-// mediaInfoData.setMediaName("恭喜发财 (广场舞)");
-// mediaInfoData.setMediaSinger("刘德华");
-// mediaInfoData.setMediaType("物流派");
-// mediaInfoData.setPlayState(0);
-// mediaInfoData.setLocalMedia(false);
-// mediaInfoData.setCurTime(0);
-// mediaInfoData.setMaxTime(410*1000);
-// mediaInfoData.setMediaUrl("http://isure.stream.qqmusic.qq.com/C200000s2wCd3pzdnA.m4a?guid=2000001271&vkey=8CE1A876F5079A6E4E9BCB8306252EF152F3D4F237B3BF4C1450B50BA7E065D3D55A0735FD2E957B129E83FF7D7D5D398479D53FE2171DF0&uin=&fromtag=50");
-// mediaInfoData.setMediaImg("http://music.qq.com/musicbox/img/uccpic_error.jpg");
-// return mediaInfoData;//刘德华的恭喜发财
- }
-
- /**
- * 控制QQ音乐播放某人的歌
- */
- public static void playSomeBodyMusic(String musicModel){
- Intent intent = new Intent("com.txznet.adapter.send");
- intent.putExtra("music_model", musicModel);
- AbsMogoApplication.getApp().sendBroadcast(intent);
- }
-
- public static void mediaCenterBroadcast(){
- Intent intent = new Intent("com.mogo.launcher.media.card.center");
- AbsMogoApplication.getApp().sendBroadcast(intent);
- }
-
-
- /**
- * 发送是否可以分享
- * @param canshare 是否可以分享 true 可以分享 false 不可分享
- * @param auth 是否授权 1:已授权 0:未授权 isShare 1:有可分享数据, 0:无可分享数据
- * @param notType 不能分享的类型 1 2 3
- * @param notWhy 不能分享的原因 1 没有可以分享的音频 2 媒体卡片不再C位 3 未授权
- */
- public static void ifCanShare(boolean canshare,boolean auth,int notType,String notWhy){
- Logger.d(TAG,"ifCanShare "+canshare);
- Intent intent = new Intent("com.mogo.launcher.media.canshare");
- intent.putExtra("isShare", canshare?"1":"0");
- intent.putExtra("authResult", auth?"1":"0");
- if (!canshare){
- intent.putExtra("notType", notType);
- intent.putExtra("notWhy", notWhy);
- }
-
- AbsMogoApplication.getApp().sendBroadcast(intent);
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/OnBitmapToLocalListener.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/OnBitmapToLocalListener.java
deleted file mode 100644
index 9d72f24c1b..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/OnBitmapToLocalListener.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.mogo.module.media.utils;
-
-public interface OnBitmapToLocalListener {
- void saveSuccess(String path);
- void saveFailed();
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/OnCompressListener.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/OnCompressListener.java
deleted file mode 100644
index a9a8842e83..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/OnCompressListener.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.mogo.module.media.utils;
-
-public interface OnCompressListener {
- void onCompressSuccess(byte[] data);
-
- void onCompressFailed(String msg);
-
- void onBeforeCompress();
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/SkipToAppUtils.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/SkipToAppUtils.java
deleted file mode 100644
index b709983534..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/SkipToAppUtils.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package com.mogo.module.media.utils;
-
-import android.content.ComponentName;
-import android.content.Intent;
-
-import com.mogo.commons.AbsMogoApplication;
-
-public class SkipToAppUtils {
- /**
- * 跳转到懒人听书
- */
- public static void SkipToLrListen() {
- if (Utils.isActivityExits("com.zhidao.lrts",
- "com.zhidao.lrts.main.MainActivity")){
- try {
- Intent intent = new Intent();
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- ComponentName comp = new ComponentName("com.zhidao.lrts",
- "com.zhidao.lrts.main.MainActivity");
- intent.setComponent(comp);
- AbsMogoApplication.getApp().startActivity(intent);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- }
-
- /**
- * 跳转到乐听新闻
- */
- public static void SkipToLtNews() {
- if (Utils.isActivityExits("com.zhidao.ltnews",
- "com.zhidao.ltnews.main.MainActivity")){
- try {
- Intent intent = new Intent();
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- ComponentName comp = new ComponentName("com.zhidao.ltnews",
- "com.zhidao.ltnews.main.MainActivity");
- intent.setComponent(comp);
- AbsMogoApplication.getApp().startActivity(intent);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- }
-
- /**
- * 跳转到QQ音乐
- */
- public static void SkipToQQMusic() {
- if (Utils.isActivityExits("com.pvetec.musics",
- "com.pvetec.musics.activity.MainActivity")){
- try {
- Intent intent = new Intent();
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- ComponentName comp = new ComponentName("com.pvetec.musics",
- "com.pvetec.musics.activity.MainActivity");
- intent.setComponent(comp);
- AbsMogoApplication.getApp().startActivity(intent);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
-
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/StorageManager.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/StorageManager.java
deleted file mode 100644
index d6626621bf..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/StorageManager.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.mogo.module.media.utils;
-
-import com.mogo.commons.AbsMogoApplication;
-import com.mogo.module.media.constants.Constants;
-import com.mogo.utils.storage.SharedPrefsMgr;
-import com.mogo.utils.storage.lrucache.DiskCacheManager;
-
-public class StorageManager {
-
- public static void setShowPushShareTime(String time){
- SharedPrefsMgr.getInstance( AbsMogoApplication.getApp() ).putString(Constants.SHOW_SHARE_PUSH_TIME,time);
- }
-
- public static String getShowPushShareTime(){
- return SharedPrefsMgr.getInstance( AbsMogoApplication.getApp() ).getString( Constants.SHOW_SHARE_PUSH_TIME);
- }
-
- public static String getLastListenMediaMusic(){
- return new DiskCacheManager(AbsMogoApplication.getApp(), Constants.MEDIA_UNIQUE_NAME).getString(Constants.LAST_TIME_LISTEN_MEDIA_MUSIC);
- }
-
- public static void setLastListenMediaMusic(String json){
- new DiskCacheManager(AbsMogoApplication.getApp(), Constants.MEDIA_UNIQUE_NAME).put(Constants.LAST_TIME_LISTEN_MEDIA_MUSIC, json);
- }
-
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/TimeUtils.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/TimeUtils.java
deleted file mode 100644
index 9c5e0817f5..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/TimeUtils.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package com.mogo.module.media.utils;
-
-import android.text.TextUtils;
-
-import com.mogo.utils.DateTimeUtils;
-
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-
-/**
- * Created by congtaowang on 2018/10/19.
- */
-public class TimeUtils {
-
- public static String parseYMD(long timestamp ) {
- return parse( DateTimeUtils.yyyyMMdd, timestamp );
- }
-
- public static String parse(String pattern, long timestamp ) {
- if ( TextUtils.isEmpty( pattern ) ) {
- pattern = DateTimeUtils.yyyyMMdd;
- }
- try {
- return new SimpleDateFormat( pattern ).format( new Date( timestamp ) );
- } catch ( Exception e ) {
- return "";
- }
- }
-
- //两个时间戳是否是同一天
- public static boolean isSameData(String currentTime, String lastTime) {
- if (TextUtils.isEmpty(currentTime)) currentTime = "0";
- if (TextUtils.isEmpty(lastTime)) lastTime = "0";
- try {
- Calendar nowCal = Calendar.getInstance();
- Calendar dataCal = Calendar.getInstance();
- SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- SimpleDateFormat df2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Long nowLong = new Long(currentTime);
- Long dataLong = new Long(lastTime);
- String data1 = df1.format(nowLong);
- String data2 = df2.format(dataLong);
- java.util.Date now = df1.parse(data1);
- java.util.Date date = df2.parse(data2);
- nowCal.setTime(now);
- dataCal.setTime(date);
- return isSameDay(nowCal, dataCal);
- } catch (Exception e) {
- e.printStackTrace();
- }
- return false;
- }
-
- public static boolean isSameDay(Calendar cal1, Calendar cal2) {
- if(cal1 != null && cal2 != null) {
- return cal1.get(Calendar.ERA) == cal2.get(Calendar.ERA)
- && cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR)
- && cal1.get(Calendar.DAY_OF_YEAR) == cal2.get(Calendar.DAY_OF_YEAR);
- } else {
- return false;
- }
- }
-
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/ToastHelper.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/ToastHelper.java
deleted file mode 100644
index 301b76de57..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/ToastHelper.java
+++ /dev/null
@@ -1,98 +0,0 @@
-
-package com.mogo.module.media.utils;
-
-import android.content.Context;
-import android.os.Handler;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.FrameLayout;
-import android.widget.ImageView;
-import android.widget.TextView;
-import android.widget.Toast;
-
-import androidx.annotation.IdRes;
-import androidx.annotation.LayoutRes;
-
-import com.mogo.commons.AbsMogoApplication;
-import com.mogo.module.media.R;
-import com.mogo.utils.WindowUtils;
-
-public class ToastHelper {
- private static View toastView;
- private static ImageView imageView;
- private static TextView textView;
- private static Toast toast;
-
- private ToastHelper() {
- }
-
- private static void createToast(Context context) {
- toastView = LayoutInflater.from(context).inflate(R.layout.module_media_share_toast_view, (ViewGroup) null);
- FrameLayout frameLayout = toastView.findViewById(R.id.module_media_toast_inner);
- FrameLayout.LayoutParams vlp = new FrameLayout.LayoutParams(WindowUtils.getScreenWidth(context), WindowUtils.getScreenHeight(context));
- frameLayout.setLayoutParams(vlp);
- frameLayout.setPadding(0,0,0,WindowUtils.getStatusBarHeight(context));
- imageView = (ImageView) toastView.findViewById(R.id.imgViewIcon);
- textView = (TextView) toastView.findViewById(R.id.txtViewContent);
- toast = new Toast(context);
- toast.setView(toastView);
- toast.setGravity(1, 0, 0);
- }
-
- public static void showShortSuccess(Context context, String msg) {
- context = context.getApplicationContext();
- if (toast == null) {
- createToast(context);
- }
-
- imageView.setImageResource(R.drawable.module_media_share_success);
- textView.setText(msg);
- toast.setDuration(Toast.LENGTH_SHORT);
- toast.show();
- }
-
- public static void showShortError(Context context, String msg) {
- context = context.getApplicationContext();
- if (toast == null) {
- createToast(context);
- }
-
- imageView.setImageResource(R.drawable.module_media_share_fail);
- textView.setText(msg);
- toast.setDuration(Toast.LENGTH_SHORT);
- toast.show();
- }
-
- public static void cancel() {
- if (toast != null) {
- if (AbsMogoApplication.getApp() != null) {
- new Handler(AbsMogoApplication.getApp().getMainLooper()).post(new Runnable() {
- @Override
- public void run() {
- if (toast != null)
- toast.cancel();
- }
- });
- }
- }
- }
-
- public static Toast customToast(Context context,
- @LayoutRes int layout,
- @IdRes int msgTextViewId,
- int duration,
- CharSequence message) {
- Toast toast = new Toast(context);
- final View view = LayoutInflater.from(context).inflate(layout, null);
- TextView msgView = view.findViewById(msgTextViewId);
- if (msgView != null) {
- msgView.setText(message);
- }
- toast.setView(view);
- toast.setDuration(duration);
- toast.setGravity(Gravity.CENTER, 0, 0);
- return toast;
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/Utils.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/Utils.java
deleted file mode 100644
index 6918d3fa10..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/utils/Utils.java
+++ /dev/null
@@ -1,344 +0,0 @@
-package com.mogo.module.media.utils;
-
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
-import android.graphics.Bitmap;
-import android.graphics.Rect;
-import android.os.Bundle;
-import android.os.Environment;
-import android.text.TextUtils;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.inputmethod.InputMethodManager;
-import android.widget.EditText;
-
-import com.mogo.commons.AbsMogoApplication;
-import com.mogo.module.media.R;
-import com.mogo.module.media.constants.Constants;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.util.List;
-
-public class Utils {
-
- /**
- * 将px值转换为dip或dp值,保证尺寸大小不变
- */
- public static int px2dip(Context context, float pxValue) {
- final float scale = context.getResources().getDisplayMetrics().density;
- return (int) (pxValue / scale + 0.5f);
- }
-
- /**
- * 将dip或dp值转换为px值,保证尺寸大小不变
- */
- public static int dip2px(Context context, float dipValue) {
- final float scale = context.getResources().getDisplayMetrics().density;
- return (int) (dipValue * scale + 0.5f);
- }
-
- /**
- * 将px值转换为sp值,保证文字大小不变
- */
- public static int px2sp(Context context, float pxValue) {
- final float fontScale = context.getResources().getDisplayMetrics().scaledDensity;
- return (int) (pxValue / fontScale + 0.5f);
- }
-
- /**
- * 将sp值转换为px值,保证文字大小不变
- */
- public static int sp2px(Context context, float spValue) {
- final float fontScale = context.getResources().getDisplayMetrics().scaledDensity;
- return (int) (spValue * fontScale + 0.5f);
- }
-
- /**
- * 验证手机格式
- */
- public static boolean isMobilePhone( String mobiles ) {
- String telRegex = "[1]\\d{10}";
- if ( TextUtils.isEmpty( mobiles ) ) return false;
- else return mobiles.matches( telRegex );
- }
-
- public static boolean isVerifyCodeRight( String code ) {
- if ( !TextUtils.isEmpty( code ) && code.trim().length() == 4 ) {
- return true;
- }
- return false;
- }
-
- // 格式化用于拨打的电话号码
- public static String formatPhoneNumber(String phoneNumber ) {
- String StrTmp = "tel:" + phoneNumber.replace( "-", "" ).replace( " ", "" );
- StrTmp = StrTmp.replace( "转", "p" );
- return StrTmp;
- }
-
- /**
- * 当前点击点是否在视图中
- */
- public static boolean isInsideView(MotionEvent event, View view ) {
- if ( view != null && event != null ) {
- float eventX = event.getRawX();
- float eventY = event.getRawY();
-
- int[] contentArray = new int[2];
-
- Rect contentRect = new Rect();
- view.getLocationOnScreen( contentArray );
- view.getDrawingRect( contentRect );
- contentRect.offsetTo( contentArray[0], contentArray[1] );
-
- return contentRect.contains( ( int ) eventX, ( int ) eventY );
- }
-
- return false;
- }
-
- public static String getChannel(Context appContext ) {
- String channel = "";
- try {
- final ApplicationInfo appInfo = appContext.getPackageManager().getApplicationInfo( appContext.getPackageName(), PackageManager.GET_META_DATA );
- Bundle configBundle = appInfo.metaData;
- if ( null != configBundle ) {
- channel = configBundle.getString( "com.elegant.analytics.AnalyticsConfig.Channel", "" );
- }
- } catch ( final PackageManager.NameNotFoundException e ) {
- e.printStackTrace();
- }
- return channel;
- }
-
- public static File getDiskCacheDir(Context context, String uniqueName ) {
- String cachePath;
- if ( Environment.MEDIA_MOUNTED.equals( Environment
- .getExternalStorageState() ) && context.getExternalCacheDir() != null ) {
- cachePath = context.getExternalCacheDir().getPath();
- } else {
- cachePath = context.getCacheDir().getPath();
- }
- return new File( cachePath + File.separator + uniqueName );
- }
-
- public static File saveBitmap(Bitmap source, String targetPath ) {
- File file = new File( targetPath, System.currentTimeMillis() + ".jpg" );
- if ( !file.getParentFile().exists() ) {
- file.mkdirs();
- }
- try {
- FileOutputStream fos = new FileOutputStream( file );
- source.compress( Bitmap.CompressFormat.JPEG, 100, fos );
- fos.flush();
- fos.close();
- } catch ( Exception e ) {
- return null;
- }
- return file;
- }
-
- public static void showKeyBoard( Context context ) {
- try {
- InputMethodManager imm = (InputMethodManager) context.getSystemService( Context.INPUT_METHOD_SERVICE );
- if ( imm != null ) {
- imm.toggleSoftInput( 0, InputMethodManager.HIDE_NOT_ALWAYS );
- }
- } catch ( Exception e ) {
- e.printStackTrace();
- }
- }
-
- public static void hiddenKeyBoard(Context context, EditText editText ) {
- try {
- InputMethodManager imm = (InputMethodManager) context.getSystemService( Context.INPUT_METHOD_SERVICE );
- if ( imm != null ) {
- imm.hideSoftInputFromWindow( editText.getWindowToken(), 0 );
- }
- } catch ( Exception e ) {
- e.printStackTrace();
- }
- }
-
- /**
- * 判断微信是否已安装
- *
- * @param context
- * @return
- */
- public static boolean isWeichatAvailable( Context context ) {
- final PackageManager packageManager = context.getPackageManager();// 获取packagemanager
- List pinfo = packageManager.getInstalledPackages( 0 );// 获取所有已安装程序的包信息
- if ( pinfo != null ) {
- for ( int i = 0; i < pinfo.size(); i++ ) {
- String pn = pinfo.get( i ).packageName;
- if ( pn.equals( "com.tencent.mm" ) ) {
- return true;
- }
- }
- }
-
- return false;
- }
-
- /**
- * 判断qq是否已安装
- *
- * @param context
- * @return
- */
- public static boolean isQQAvailable( Context context ) {
- final PackageManager packageManager = context.getPackageManager();
- List pinfo = packageManager.getInstalledPackages( 0 );
- if ( pinfo != null ) {
- for ( int i = 0; i < pinfo.size(); i++ ) {
- String pn = pinfo.get( i ).packageName;
- if ( pn.equals( "com.tencent.mobileqq" ) ) {
- return true;
- }
- }
- }
- return false;
- }
-
- public static String getVersionName(Context context, String packageName ) {
- try {
- PackageManager packageManager = context.getPackageManager();
- PackageInfo packInfo = packageManager.getPackageInfo( packageName, 0 );
- return packInfo.versionName;
- } catch ( Exception e ) {
- return "";
- }
- }
-
- public static int getVersionCode(Context context, String packageName ) {
- try {
- PackageManager packageManager = context.getPackageManager();
- PackageInfo packInfo = packageManager.getPackageInfo( packageName, 0 );
- return packInfo.versionCode;
- } catch ( Exception e ) {
- return 0;
- }
- }
-
- public static boolean isActivityExits(String packageName,String classStr){
- Intent intent = new Intent();
- intent.setClassName(packageName, classStr);
- ResolveInfo resolveInfo = AbsMogoApplication.getApp().getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY);
- if(resolveInfo != null) {
- return true;
- }else{
- return false;
- }
- }
-
-
- //计算播放时间
- public static String calculateTime(int duration) {
- try {
- String time = "";
- long minute = duration / 60000;
- long seconds = duration % 60000;
- long second = Math.round((float) seconds / 1000);
- if (minute < 10) {
- time += "0";
- }
- time += minute + ":";
- if (second < 10) {
- time += "0";
- }
- time += second;
- return time;
- } catch (Exception e) {
- e.printStackTrace();
- }
- return "0:00";
- }
-
- public static Integer[] getIconArray(){
- Integer[] iconArr = {
- R.drawable.module_media_music_animal_icon1
- ,R.drawable.module_media_music_animal_icon2
- ,R.drawable.module_media_music_animal_icon3
- ,R.drawable.module_media_music_animal_icon5
- ,R.drawable.module_media_music_animal_icon4
- ,R.drawable.module_media_music_animal_icon6
- ,R.drawable.module_media_music_animal_icon7
- ,R.drawable.module_media_music_animal_icon8
- ,R.drawable.module_media_music_animal_icon9
- ,R.drawable.module_media_music_animal_icon10
- ,R.drawable.module_media_music_animal_icon11
- ,R.drawable.module_media_music_animal_icon12
- ,R.drawable.module_media_music_animal_icon13
- ,R.drawable.module_media_music_animal_icon14
- ,R.drawable.module_media_music_animal_icon15
- ,R.drawable.module_media_music_animal_icon16
- ,R.drawable.module_media_music_animal_icon17
- ,R.drawable.module_media_music_animal_icon18
- ,R.drawable.module_media_music_animal_icon19
- ,R.drawable.module_media_music_animal_icon20
- ,R.drawable.module_media_music_animal_icon21
- ,R.drawable.module_media_music_animal_icon22
- ,R.drawable.module_media_music_animal_icon23
- ,R.drawable.module_media_music_animal_icon24
- ,R.drawable.module_media_music_animal_icon25
- ,R.drawable.module_media_music_animal_icon26
- ,R.drawable.module_media_music_animal_icon27
- ,R.drawable.module_media_music_animal_icon28
- ,R.drawable.module_media_music_animal_icon29
- ,R.drawable.module_media_music_animal_icon30
- ,R.drawable.module_media_music_animal_icon31
- ,R.drawable.module_media_music_animal_icon32
- ,R.drawable.module_media_music_animal_icon33
- ,R.drawable.module_media_music_animal_icon34
- ,R.drawable.module_media_music_animal_icon35
- ,R.drawable.module_media_music_animal_icon36
- ,R.drawable.module_media_music_animal_icon37
- ,R.drawable.module_media_music_animal_icon38
- ,R.drawable.module_media_music_animal_icon39
- ,R.drawable.module_media_music_animal_icon40
- ,R.drawable.module_media_music_animal_icon41
- ,R.drawable.module_media_music_animal_icon42
- ,R.drawable.module_media_music_animal_icon43
- ,R.drawable.module_media_music_animal_icon44
- ,R.drawable.module_media_music_animal_icon45
- ,R.drawable.module_media_music_animal_icon46
- ,R.drawable.module_media_music_animal_icon47
- ,R.drawable.module_media_music_animal_icon48
- ,R.drawable.module_media_music_animal_icon49
- ,R.drawable.module_media_music_animal_icon50
- ,R.drawable.module_media_music_animal_icon51
- ,R.drawable.module_media_music_animal_icon52
- ,R.drawable.module_media_music_animal_icon53
- ,R.drawable.module_media_music_animal_icon54
- ,R.drawable.module_media_music_animal_icon55
- ,R.drawable.module_media_music_animal_icon56
- ,R.drawable.module_media_music_animal_icon57
- ,R.drawable.module_media_music_animal_icon58
- ,R.drawable.module_media_music_animal_icon59
- ,R.drawable.module_media_music_animal_icon60
- ,R.drawable.module_media_music_animal_icon61
- ,R.drawable.module_media_music_animal_icon62
- ,R.drawable.module_media_music_animal_icon63
- ,R.drawable.module_media_music_animal_icon64
- ,R.drawable.module_media_music_animal_icon65
- ,R.drawable.module_media_music_animal_icon66
- ,R.drawable.module_media_music_animal_icon67
- ,R.drawable.module_media_music_animal_icon68
- ,R.drawable.module_media_music_animal_icon69
- ,R.drawable.module_media_music_animal_icon70
- ,R.drawable.module_media_music_animal_icon71
- ,R.drawable.module_media_music_animal_icon72
- ,R.drawable.module_media_music_animal_icon73
- ,R.drawable.module_media_music_animal_icon74
- ,R.drawable.module_media_music_animal_icon75
- };
- return iconArr;
- }
-
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/view/IMusicView.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/view/IMusicView.java
deleted file mode 100644
index bf6eee1611..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/view/IMusicView.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.mogo.module.media.view;
-
-import com.mogo.commons.mvp.IView;
-import com.mogo.module.media.model.MediaInfoData;
-
-/**
- * 音频显示类的接口
- *
- * @author tongchenfei
- */
-public interface IMusicView extends IView {
- void onMediaInfoChanged(MediaInfoData mediaInfoData);
-
- void onMusicPlaying();
-
- void onMusicPause();
-
- void onMusicStopped();
-
- void onMusicProgress(long current,long total);
-
- void onAppExit();
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/view/MediaView.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/view/MediaView.java
deleted file mode 100644
index 17e35c5dff..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/view/MediaView.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.mogo.module.media.view;
-
-import com.mogo.commons.mvp.IView;
-import com.mogo.module.common.entity.MarkerShareMusic;
-import com.mogo.module.media.model.ShareLikeData;
-
-import java.util.List;
-
-public interface MediaView extends IView {
- void showSharePush(boolean show);
-
- void loadNearShareMusicSuccess(List list);
-
- void loadFriendShareMusicSuccess(List list);
-
- void loadShareLikeDataResultSuccess(ShareLikeData.ShareLikeDataResult likeDataResult, String mediaId);
-
- void likeShareSuccess();
-
- void shareSuccessResult(boolean success, MarkerShareMusic markerShareMusic);
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/AnimCircleImageView.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/AnimCircleImageView.java
deleted file mode 100644
index 2cf0db96d9..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/AnimCircleImageView.java
+++ /dev/null
@@ -1,225 +0,0 @@
-package com.mogo.module.media.widget;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.Paint;
-import android.graphics.PaintFlagsDrawFilter;
-import android.graphics.PorterDuff;
-import android.graphics.PorterDuffXfermode;
-import android.graphics.Rect;
-import android.graphics.drawable.BitmapDrawable;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.NinePatchDrawable;
-import android.util.AttributeSet;
-import android.util.Log;
-import android.widget.ImageView;
-
-import com.mogo.module.common.utils.CarSeries;
-import com.mogo.skin.support.IMogoSkinCompatSupportable;
-import com.mogo.skin.support.helper.MogoSkinCompatHelperDelegate;
-import com.mogo.skin.support.helper.MogoSkinCompatImageHelperDelegate;
-
-@SuppressLint("AppCompatCustomView")
-public class AnimCircleImageView extends ImageView implements IMogoSkinCompatSupportable {
- Drawable mDrawbleSrc;
- Context context;
- Bitmap mBitmapOut;
- Bitmap output;
- int defaultWidth;
- int defaultHeight;
- int diameter;
- int radius;
- PaintFlagsDrawFilter drawFilter = new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG);
- Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.DITHER_FLAG);
-
- MogoSkinCompatImageHelperDelegate imageHelper;
-
- int currentDegree;
- int savedDegree;
- boolean isRotateEnable;
- boolean isRotating;
-// private int delayMilliseconds = 450;
- private int delayMilliseconds = 2000;
- private int mRotateAngleStep = 3;
-
- public AnimCircleImageView(Context context) {
- this(context, null);
- }
-
- public AnimCircleImageView(Context context, AttributeSet attrs) {
- this(context, attrs, 0);
- }
-
- public AnimCircleImageView(Context context, AttributeSet attrs, int defStyleAttr) {
- super(context, attrs, defStyleAttr);
- imageHelper = new MogoSkinCompatImageHelperDelegate(this);
- this.context = context;
- init();
- }
-
- private void init() {
- mDrawbleSrc = getDrawable();
- isRotateEnable = false;
- isRotating = false;
- delayMilliseconds = CarSeries.isF8xxSeries() ? 10 : 450;
- mRotateAngleStep = CarSeries.isF8xxSeries() ? 1 : 3;
- }
-
- @Override
- public void setImageBitmap(Bitmap bm) {
- super.setImageBitmap(bm);
- mDrawbleSrc = getDrawable();
- output = null;
- }
-
- @Override
- public void setImageDrawable(Drawable drawable) {
- super.setImageDrawable(drawable);
- mDrawbleSrc = getDrawable();
- output = null;
- }
-
- @Override
- public void setImageResource(int resId) {
- super.setImageResource(resId);
-// Log.d("AnimCircle", "setImageResource: " + MogoSkinCompatHelperDelegate.isSupport());
- imageHelper.setImageResource(resId);
- mDrawbleSrc = getDrawable();
- output = null;
- }
-
- public void startAnim() {
- Log.d("AnimCircle", "startAnim====" + isRotating);
- if (isRotating){
- return;
- }
- isRotateEnable = true;
- isRotating = true;
- currentDegree = savedDegree;
- invalidate();
- Log.d("AnimCircle", "invalidate==");
- }
-
- public void stopAnim() {
- Log.d("AnimCircle", "stopAnim===");
- removeCallbacks(loopInvalidate);
- isRotating = false;
- isRotateEnable = false;
- savedDegree = currentDegree;
- }
-
- public boolean isRotationing(){
- return isRotating;
- }
-
- @Override
- protected void onDraw(Canvas canvas) {
-// Log.d("AnimCircle", "onDraw====");
- try {
- if (mDrawbleSrc == null) {
- return;
- }
-
- if (getWidth() == 0 || getHeight() == 0) {
- return;
- }
-
- if (mDrawbleSrc.getClass() == NinePatchDrawable.class) {
- return;
- }
-
- if (output == null) {
- defaultHeight = getHeight();
- defaultWidth = getWidth();
- diameter = (defaultHeight > defaultWidth ? defaultWidth : defaultHeight);
- radius = diameter / 2;
-// mBitmapOut = getCuttedPicture(mDrawbleSrc);
- mBitmapOut = ((BitmapDrawable) mDrawbleSrc).getBitmap();
-
- Paint paint = new Paint();
- Rect rect = new Rect(0, 0, mBitmapOut.getWidth(),
- mBitmapOut.getHeight());
-
- paint.setAntiAlias(true);
- paint.setFilterBitmap(true);
- paint.setDither(true);
-
- output = Bitmap.createBitmap(mBitmapOut.getWidth(),
- mBitmapOut.getHeight(), Bitmap.Config.ARGB_8888);
- Canvas mTempCanvas = new Canvas(output);
- mTempCanvas.drawARGB(0, 0, 0, 0);
- mTempCanvas.drawCircle(mBitmapOut.getWidth() / 2,
- mBitmapOut.getHeight() / 2, mBitmapOut.getWidth() / 2,
- paint);
- paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
- mTempCanvas.drawBitmap(mBitmapOut, rect, rect, paint);
-
- }
-
- if (isRotateEnable) {
- currentDegree = (currentDegree + mRotateAngleStep) % 360;
- canvas.save();
- canvas.setDrawFilter(drawFilter);
- canvas.rotate(currentDegree, defaultWidth / 2, defaultHeight / 2);
- canvas.drawBitmap(output, defaultWidth / 2 - radius, defaultHeight / 2 - radius, mPaint);
- canvas.restore();
- if (isRotateEnable) {
- removeCallbacks(loopInvalidate);
- postDelayed(loopInvalidate, delayMilliseconds);
-// postInvalidateDelayed(delayMilliseconds);
- }
- } else {
- canvas.save();
- canvas.setDrawFilter(drawFilter);
- canvas.rotate(currentDegree, defaultWidth / 2, defaultHeight / 2);
- canvas.drawBitmap(output, defaultWidth / 2 - radius, defaultHeight / 2 - radius, mPaint);
- canvas.restore();
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- }
-
- private Runnable loopInvalidate = this::invalidate;
-
- private Bitmap getCuttedPicture(Drawable DrawbleSrc) {
- Bitmap mBitmapOrigin = ((BitmapDrawable) DrawbleSrc).getBitmap();
- int mWidth = mBitmapOrigin.getWidth();
- int mHeight = mBitmapOrigin.getHeight();
-
-
- float scale = Math.min((float) mWidth / (float) defaultWidth, (float) mHeight / (float) defaultHeight);
- Bitmap mBitmapScaled = Bitmap.createScaledBitmap(mBitmapOrigin, (int) (mWidth / scale), (int) (mHeight / scale), false);
- int x;
- int y;
-
- x = mBitmapScaled.getWidth() / 2 - radius;
- y = mBitmapScaled.getHeight() / 2 - radius;
-
- if (x < 0) {
- x = 0;
- }
- if (y < 0) {
- y = 0;
- }
- Bitmap mBitmapCropped = Bitmap.createBitmap(mBitmapScaled, x, y, diameter, diameter);
- return mBitmapCropped;
- }
-
- public int getDelayMilliseconds() {
- return delayMilliseconds;
- }
-
- public void setDelayMilliseconds(int delayMilliseconds) {
- this.delayMilliseconds = delayMilliseconds;
- }
-
- @Override
- public void applySkin() {
- imageHelper.applySkin();
- }
-}
-
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/AnimalJSurfaceView.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/AnimalJSurfaceView.java
deleted file mode 100644
index 50af224904..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/AnimalJSurfaceView.java
+++ /dev/null
@@ -1,129 +0,0 @@
-package com.mogo.module.media.widget;
-
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.Paint;
-import android.graphics.PixelFormat;
-import android.graphics.PorterDuff;
-import android.graphics.Rect;
-import android.util.AttributeSet;
-import android.view.SurfaceHolder;
-import android.view.SurfaceView;
-
-import com.mogo.utils.ThreadPoolService;
-
-public class AnimalJSurfaceView extends SurfaceView implements Runnable, SurfaceHolder.Callback {
-
- private SurfaceHolder mHolder;
-
- /**
- * 动画是否执行中
- */
- private boolean bRunning = false;
- /**
- * 当前执行的第几帧
- */
- private int mCurrentPos;
- /**
- * 动画集合
- */
- private int[] mFrames;
-
- public AnimalJSurfaceView(Context context) {
- super(context);
- init();
- }
-
- public AnimalJSurfaceView(Context context, AttributeSet attrs) {
- super(context, attrs);
- init();
- }
-
- public AnimalJSurfaceView(Context context, AttributeSet attrs, int defStyleAttr) {
- super(context, attrs, defStyleAttr);
- init();
- }
-
- private void init() {
- mHolder = getHolder();
- mHolder.addCallback(this);
- setZOrderOnTop(true);
- mHolder.setFormat(PixelFormat.TRANSLUCENT);
- }
-
- public void setFrames(int[] frames) {
- mFrames = frames;
- }
-
- public void startAnim() {
- if (bRunning) {
- return;
- }
- ThreadPoolService.execute(this);
- bRunning = true;
- }
-
- public void stop() {
- bRunning = false;
- }
-
- @Override
- public void run() {
- while (bRunning) {
- drawBitmap();
- mCurrentPos++;
- try {
- Thread.sleep(400);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
-
-
- private void drawBitmap() {
- //获取画布并锁定
- Canvas mCanvas = mHolder.lockCanvas();
- if (mCanvas == null) {
- return;
- }else{
- mCanvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
- }
- //绘制透明色
- mCanvas.drawColor(Color.parseColor("#00000000"));
- Bitmap mBitmap = BitmapFactory.decodeResource(getResources(), mFrames[mCurrentPos % mFrames.length]);
-
- Paint paint = new Paint();
- paint.setAlpha(70);
- Rect mSrcRect = new Rect(0,
- 0,
- mBitmap.getWidth(),
- mBitmap.getHeight()); // 图片绘制
- Rect mDestRect = new Rect(0,
- 0,
- getWidth(),
- getHeight());// 图片绘制位置
-
- mCanvas.drawBitmap(mBitmap, mSrcRect, mDestRect, paint);
- //解锁画布,并展示bitmap到surface
- mHolder.unlockCanvasAndPost(mCanvas);
- mBitmap.recycle();
- }
-
- @Override
- public void surfaceCreated(SurfaceHolder holder) {
- }
-
- @Override
- public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
-
- }
-
- @Override
- public void surfaceDestroyed(SurfaceHolder holder) {
-
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/CircleImageView.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/CircleImageView.java
deleted file mode 100644
index bbbe5316c4..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/CircleImageView.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package com.mogo.module.media.widget;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.Paint;
-import android.graphics.PorterDuff;
-import android.graphics.PorterDuffXfermode;
-import android.graphics.RectF;
-import android.graphics.Xfermode;
-import android.graphics.drawable.Drawable;
-import android.util.AttributeSet;
-import android.widget.ImageView;
-
-import androidx.annotation.NonNull;
-
-@SuppressLint("AppCompatCustomView")
-public class CircleImageView extends ImageView {
-
- private Paint mPaint;
-
- private Xfermode mXfermode;
-
- private boolean onceLoad = false;
-
- private int mWidth;
-
- private int mHeight;
-
- private Bitmap mBitmap;
-
- public CircleImageView(Context context) {
- this(context, null);
- }
-
- public CircleImageView(Context context, AttributeSet attrs) {
- super(context, attrs);
- }
-
- public CircleImageView(Context context, AttributeSet attrs, int defStyle) {
- super(context, attrs, defStyle);
- }
-
-
- @Override
- protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
- super.onLayout(changed, left, top, right, bottom);
- if (changed && !onceLoad) {
- mPaint = new Paint();
- mXfermode = new PorterDuffXfermode(PorterDuff.Mode.DST_IN);
- mPaint.setFilterBitmap(true);
- mPaint.setXfermode(mXfermode);
- mPaint.setAntiAlias(true);
- mWidth = getWidth();
- mHeight = getHeight();
- if(mWidth <= 0 || mHeight <= 0){
- return;
- }
- mBitmap = Bitmap.createBitmap(mWidth, mHeight, Bitmap.Config.ARGB_8888);
- Canvas canvas = new Canvas(mBitmap);
- RectF oval = new RectF(0, 0, mWidth, mHeight);
- Paint paint = new Paint();
- paint.setAntiAlias(true);
- canvas.drawOval(oval, paint);
- onceLoad = true;
- }
-
- }
-
- @Override
- protected void onDraw(@NonNull Canvas canvas) {
-
- Drawable image = getDrawable();
- if(image==null || mWidth<=0 || mHeight<=0){
- return;
- }
- int level = canvas.saveLayer(0, 0, mWidth, mHeight, null, Canvas.ALL_SAVE_FLAG);
- image.setBounds(0, 0, mWidth, mHeight);
- image.draw(canvas);
- canvas.drawBitmap(mBitmap, 0, 0, mPaint);
- canvas.restoreToCount(level);
- //super.onDraw(canvas);
-
- }
-
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/CircleImageView2.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/CircleImageView2.java
deleted file mode 100644
index dffbcfad90..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/CircleImageView2.java
+++ /dev/null
@@ -1,337 +0,0 @@
-package com.mogo.module.media.widget;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.content.res.TypedArray;
-import android.graphics.Bitmap;
-import android.graphics.BitmapShader;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.ColorFilter;
-import android.graphics.Matrix;
-import android.graphics.Paint;
-import android.graphics.RectF;
-import android.graphics.Shader;
-import android.graphics.drawable.BitmapDrawable;
-import android.graphics.drawable.ColorDrawable;
-import android.graphics.drawable.Drawable;
-import android.net.Uri;
-import android.util.AttributeSet;
-import android.widget.ImageView;
-
-import androidx.annotation.ColorInt;
-import androidx.annotation.ColorRes;
-import androidx.annotation.DrawableRes;
-
-import com.mogo.module.media.R;
-
-@SuppressLint("AppCompatCustomView")
-public class CircleImageView2 extends ImageView {
-
- private static final ScaleType SCALE_TYPE = ScaleType.CENTER_CROP;
-
- private static final Bitmap.Config BITMAP_CONFIG = Bitmap.Config.ARGB_8888;
- private static final int COLORDRAWABLE_DIMENSION = 2;
-
- private static final int DEFAULT_BORDER_WIDTH = 0;
- private static final int DEFAULT_BORDER_COLOR = Color.BLACK;
- private static final int DEFAULT_FILL_COLOR = Color.TRANSPARENT;
- private static final boolean DEFAULT_BORDER_OVERLAY = false;
-
- private final RectF mDrawableRect = new RectF();
- private final RectF mBorderRect = new RectF();
-
- private final Matrix mShaderMatrix = new Matrix();
- private final Paint mBitmapPaint = new Paint();
- private final Paint mBorderPaint = new Paint();
- private final Paint mFillPaint = new Paint();
-
- private int mBorderColor = DEFAULT_BORDER_COLOR;
- private int mBorderWidth = DEFAULT_BORDER_WIDTH;
- private int mFillColor = DEFAULT_FILL_COLOR;
-
- private Bitmap mBitmap;
- private BitmapShader mBitmapShader;
- private int mBitmapWidth;
- private int mBitmapHeight;
-
- private float mDrawableRadius;
- private float mBorderRadius;
-
- private ColorFilter mColorFilter;
-
- private boolean mReady;
- private boolean mSetupPending;
- private boolean mBorderOverlay;
-
- public CircleImageView2(Context context) {
- super(context);
-
- init();
- }
-
- public CircleImageView2(Context context, AttributeSet attrs) {
- this(context, attrs, 0);
- }
-
- public CircleImageView2(Context context, AttributeSet attrs, int defStyle) {
- super(context, attrs, defStyle);
-
- TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.MediaCircleImageView2, defStyle, 0);
-
- mBorderWidth = a.getDimensionPixelSize(R.styleable.MediaCircleImageView2_civ_border_width, DEFAULT_BORDER_WIDTH);
- mBorderColor = a.getColor(R.styleable.MediaCircleImageView2_civ_border_color, DEFAULT_BORDER_COLOR);
- mBorderOverlay = a.getBoolean(R.styleable.MediaCircleImageView2_civ_border_overlay, DEFAULT_BORDER_OVERLAY);
- mFillColor = a.getColor(R.styleable.MediaCircleImageView2_civ_fill_color, DEFAULT_FILL_COLOR);
-
- a.recycle();
-
- init();
- }
-
- private void init() {
- super.setScaleType(SCALE_TYPE);
- mReady = true;
-
- if (mSetupPending) {
- setup();
- mSetupPending = false;
- }
- }
-
- @Override
- public ScaleType getScaleType() {
- return SCALE_TYPE;
- }
-
- @Override
- public void setScaleType(ScaleType scaleType) {
- if (scaleType != SCALE_TYPE) {
- throw new IllegalArgumentException(String.format("ScaleType %s not supported.", scaleType));
- }
- }
-
- @Override
- public void setAdjustViewBounds(boolean adjustViewBounds) {
- if (adjustViewBounds) {
- throw new IllegalArgumentException("adjustViewBounds not supported.");
- }
- }
-
- @Override
- protected void onDraw(Canvas canvas) {
- if (mBitmap == null) {
- return;
- }
-
- if (mFillColor != Color.TRANSPARENT) {
- canvas.drawCircle(getWidth() / 2.0f, getHeight() / 2.0f, mDrawableRadius, mFillPaint);
- }
- canvas.drawCircle(getWidth() / 2.0f, getHeight() / 2.0f, mDrawableRadius, mBitmapPaint);
- if (mBorderWidth != 0) {
- canvas.drawCircle(getWidth() / 2.0f, getHeight() / 2.0f, mBorderRadius, mBorderPaint);
- }
- }
-
- @Override
- protected void onSizeChanged(int w, int h, int oldw, int oldh) {
- super.onSizeChanged(w, h, oldw, oldh);
- setup();
- }
-
- public int getBorderColor() {
- return mBorderColor;
- }
-
- public void setBorderColor(@ColorInt int borderColor) {
- if (borderColor == mBorderColor) {
- return;
- }
-
- mBorderColor = borderColor;
- mBorderPaint.setColor(mBorderColor);
- invalidate();
- }
-
- public void setBorderColorResource(@ColorRes int borderColorRes) {
- setBorderColor(getContext().getResources().getColor(borderColorRes));
- }
-
- public int getFillColor() {
- return mFillColor;
- }
-
- public void setFillColor(@ColorInt int fillColor) {
- if (fillColor == mFillColor) {
- return;
- }
-
- mFillColor = fillColor;
- mFillPaint.setColor(fillColor);
- invalidate();
- }
-
- public void setFillColorResource(@ColorRes int fillColorRes) {
- setFillColor(getContext().getResources().getColor(fillColorRes));
- }
-
- public int getBorderWidth() {
- return mBorderWidth;
- }
-
- public void setBorderWidth(int borderWidth) {
- if (borderWidth == mBorderWidth) {
- return;
- }
-
- mBorderWidth = borderWidth;
- setup();
- }
-
- public boolean isBorderOverlay() {
- return mBorderOverlay;
- }
-
- public void setBorderOverlay(boolean borderOverlay) {
- if (borderOverlay == mBorderOverlay) {
- return;
- }
-
- mBorderOverlay = borderOverlay;
- setup();
- }
-
- @Override
- public void setImageBitmap(Bitmap bm) {
- super.setImageBitmap(bm);
- mBitmap = bm;
- setup();
- }
-
- @Override
- public void setImageDrawable(Drawable drawable) {
- super.setImageDrawable(drawable);
- mBitmap = getBitmapFromDrawable(drawable);
- setup();
- }
-
- @Override
- public void setImageResource(@DrawableRes int resId) {
- super.setImageResource(resId);
- mBitmap = getBitmapFromDrawable(getDrawable());
- setup();
- }
-
- @Override
- public void setImageURI(Uri uri) {
- super.setImageURI(uri);
- mBitmap = uri != null ? getBitmapFromDrawable(getDrawable()) : null;
- setup();
- }
-
- @Override
- public void setColorFilter(ColorFilter cf) {
- if (cf == mColorFilter) {
- return;
- }
-
- mColorFilter = cf;
- mBitmapPaint.setColorFilter(mColorFilter);
- invalidate();
- }
-
- private Bitmap getBitmapFromDrawable(Drawable drawable) {
- if (drawable == null) {
- return null;
- }
-
- if (drawable instanceof BitmapDrawable) {
- return ((BitmapDrawable) drawable).getBitmap();
- }
-
- try {
- Bitmap bitmap;
-
- if (drawable instanceof ColorDrawable) {
- bitmap = Bitmap.createBitmap(COLORDRAWABLE_DIMENSION, COLORDRAWABLE_DIMENSION, BITMAP_CONFIG);
- } else {
- bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), BITMAP_CONFIG);
- }
-
- Canvas canvas = new Canvas(bitmap);
- drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
- drawable.draw(canvas);
- return bitmap;
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
-
- private void setup() {
- if (!mReady) {
- mSetupPending = true;
- return;
- }
-
- if (getWidth() == 0 && getHeight() == 0) {
- return;
- }
-
- if (mBitmap == null) {
- invalidate();
- return;
- }
-
- mBitmapShader = new BitmapShader(mBitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
-
- mBitmapPaint.setAntiAlias(true);
- mBitmapPaint.setShader(mBitmapShader);
-
- mBorderPaint.setStyle(Paint.Style.STROKE);
- mBorderPaint.setAntiAlias(true);
- mBorderPaint.setColor(mBorderColor);
- mBorderPaint.setStrokeWidth(mBorderWidth);
-
- mFillPaint.setStyle(Paint.Style.FILL);
- mFillPaint.setAntiAlias(true);
- mFillPaint.setColor(mFillColor);
-
- mBitmapHeight = mBitmap.getHeight();
- mBitmapWidth = mBitmap.getWidth();
-
- mBorderRect.set(0, 0, getWidth(), getHeight());
- mBorderRadius = Math.min((mBorderRect.height() - mBorderWidth) / 2.0f, (mBorderRect.width() - mBorderWidth) / 2.0f);
-
- mDrawableRect.set(mBorderRect);
- if (!mBorderOverlay) {
- mDrawableRect.inset(mBorderWidth, mBorderWidth);
- }
- mDrawableRadius = Math.min(mDrawableRect.height() / 2.0f, mDrawableRect.width() / 2.0f);
-
- updateShaderMatrix();
- invalidate();
- }
-
- private void updateShaderMatrix() {
- float scale;
- float dx = 0;
- float dy = 0;
-
- mShaderMatrix.set(null);
-
- if (mBitmapWidth * mDrawableRect.height() > mDrawableRect.width() * mBitmapHeight) {
- scale = mDrawableRect.height() / (float) mBitmapHeight;
- dx = (mDrawableRect.width() - mBitmapWidth * scale) * 0.5f;
- } else {
- scale = mDrawableRect.width() / (float) mBitmapWidth;
- dy = (mDrawableRect.height() - mBitmapHeight * scale) * 0.5f;
- }
-
- mShaderMatrix.setScale(scale, scale);
- mShaderMatrix.postTranslate((int) (dx + 0.5f) + mDrawableRect.left, (int) (dy + 0.5f) + mDrawableRect.top);
-
- mBitmapShader.setLocalMatrix(mShaderMatrix);
- }
-
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/CircleNumberProgress.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/CircleNumberProgress.java
deleted file mode 100644
index bfda00bc62..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/CircleNumberProgress.java
+++ /dev/null
@@ -1,185 +0,0 @@
-package com.mogo.module.media.widget;
-
-import android.content.Context;
-import android.content.res.TypedArray;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.Matrix;
-import android.graphics.Paint;
-import android.graphics.Path;
-import android.graphics.Rect;
-import android.graphics.RectF;
-import android.graphics.SweepGradient;
-import android.util.AttributeSet;
-import android.view.View;
-
-import com.mogo.module.media.R;
-import com.mogo.module.media.utils.Utils;
-
-/**
- * @author lixiaopeng
- * @description
- * @since 2020/12/15
- */
-public class CircleNumberProgress extends View {
- /** 进度条画笔的宽度(dp) */
- private int paintProgressWidth = 4;
-
- /** 文字百分比的字体大小(sp) */
- private int paintTextSize = 20;
-
- /** 未完成进度条的颜色 */
-// private int paintUndoneColor = 0xffaaaaaa;
- private int paintUndoneColor;
-
- /** 已完成进度条的颜色 */
-// private int paintDoneColor = 0xff67aae4;
- private int paintDoneColor;
-
- /** 百分比文字的颜色 */
- private int paintTextColor = 0xffff0077;
-
- /** 设置进度条画笔的宽度(px) */
- private int paintProgressWidthPx;
-
- /** 文字画笔的尺寸(px) */
- private int paintTextSizePx;
- /** Context上下文环境 */
- private Context context;
-
- /** 调用者设置的进程 0 - 100 */
- private int progress;
-
- /** 画未完成进度圆弧的画笔 */
- private Paint paintUndone = new Paint();
-
- /** 画已经完成进度条的画笔 */
- private Paint paintDone = new Paint();
-
- /** 画文字的画笔 */
-// private Paint paintText = new Paint();
-
- /** 包围进度条圆弧的矩形 */
- private RectF rectF = new RectF();
-
- /** 包围文字所在路径圆弧的矩形,比上一个矩形略小 */
- private RectF rectF2 = new RectF();
-
- /** 进度文字所在的路径 */
- private Path path = new Path();
-
- /** 文字所在路径圆弧的半径 */
- private int radiusText;
-
- /** 是否进行过了测量 */
- private boolean isMeasured = false;
-
- public CircleNumberProgress(Context context, AttributeSet attrs) {
- super(context, attrs);
- this.context = context;
- TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.PercentageRing);
- //中间圆的背景颜色 默认为浅紫色
- paintUndoneColor = typedArray.getColor(R.styleable.PercentageRing_circleBackground, 0xffafb4db);
- //外圆环的颜色 默认为深紫色
-// paintDoneColor = typedArray.getColor(R.styleable.PercentageRing_ringColor, Color.parseColor("#e6fffff"));
-
- // 构造器中初始化数据
- initData();
- }
-
- /** 初始化数据 */
- private void initData() {
-
- // 设置进度条画笔的宽度
- paintProgressWidthPx = Utils.dip2px(context, paintProgressWidth);
-
- // 设置文字画笔的尺寸(px)
- paintTextSizePx = Utils.sp2px(context, paintTextSize);
-
- // 未完成进度圆环的画笔的属性
- paintUndone.setColor(paintUndoneColor);
- paintUndone.setStrokeWidth(paintProgressWidthPx);
- paintUndone.setAntiAlias(true);
- paintUndone.setStyle(Paint.Style.STROKE);
-
- // 已经完成进度条的画笔的属性
-// paintDone.setColor(paintDoneColor);
- paintDone.setStrokeWidth(paintProgressWidthPx);
- paintDone.setAntiAlias(true);
- paintDone.setStyle(Paint.Style.STROKE);
-
- float[] pos = {0f, 0.5f, 1.0f};
- SweepGradient linearGradient = new SweepGradient((getMeasuredWidth() - 40)/2,(getMeasuredHeight() - 40)/2,
- new int[]{Color.parseColor("#ffffff"), Color.parseColor("#B3ffffff"), Color.parseColor("#ffffff")}, pos);
-
-// SweepGradient linearGradient = new SweepGradient((getMeasuredWidth() -40)/2,(getMeasuredHeight() - 40)/2,new int[]{Color.GREEN, Color.RED, Color.YELLOW, Color.WHITE, Color.BLUE}, pos);
- Matrix matrix = new Matrix();
- matrix.setRotate(180, getMeasuredWidth()/2, getMeasuredHeight()/2);
- linearGradient.setLocalMatrix(matrix);
- paintDone.setShader(linearGradient);
-
- }
-
- @Override
- protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
- super.onMeasure(widthMeasureSpec, heightMeasureSpec);
- if (!isMeasured) {
- getWidthAndHeight();
- isMeasured = true;
- }
- }
-
- /** 得到视图等的高度宽度尺寸数据 */
- private void getWidthAndHeight() {
- // 得到自定义视图的高度
- int viewHeight;
-
- // 得到自定义视图的宽度
- int viewWidth;
-
- // 得到自定义视图的X轴中心点
- int viewCenterX;
-
- // 得到自定义视图的Y轴中心点
- int viewCenterY;
-
- viewHeight = getMeasuredHeight();
- viewWidth = getMeasuredWidth();
- viewCenterX = viewWidth / 2;
- viewCenterY = viewHeight / 2;
-
- // 取本View长宽较小者的一半为整个圆环部分(包括圆环和文字)最外侧的半径
- int minLenth = viewHeight > viewWidth ? viewWidth / 2 : viewHeight / 2;
-
- // 比较文字高度和圆环宽度,如果文字高度较大,那么文字将突破圆环,否则,圆环会把文字包裹在内部
- Rect rect = new Rect();
- int textHeight = rect.height();
-
- // 得到圆环的中间半径(外径和内径平均值)
- int radiusArc = minLenth - (paintProgressWidthPx > textHeight ? paintProgressWidthPx / 2 : textHeight / 2);
- rectF.left = viewCenterX - radiusArc;
- rectF.top = viewCenterY - radiusArc;
- rectF.right = viewCenterX + radiusArc;
- rectF.bottom = viewCenterY + radiusArc;
- }
-
- @Override
- protected void onDraw(Canvas canvas) {
- super.onDraw(canvas);
-
- // 画未完成进度的圆环
- canvas.drawArc(rectF, 0, 360, false, paintUndone);
-
- // 画已经完成进度的圆弧 从-90度开始,即从圆环顶部开始
- canvas.drawArc(rectF, -90, progress / 100.0f * 360, false, paintDone);
-
- }
-
- /**
- * @param progress 外部传进来的当前进度,强制重绘
- */
- public void setProgress(int progress) {
- this.progress = progress;
- invalidate();
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/Corner.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/Corner.java
deleted file mode 100644
index ef7115fa65..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/Corner.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.mogo.module.media.widget;
-import androidx.annotation.IntDef;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-@Retention(RetentionPolicy.SOURCE)
-@IntDef({
- Corner.TOP_LEFT, Corner.TOP_RIGHT,
- Corner.BOTTOM_LEFT, Corner.BOTTOM_RIGHT
-})
-public @interface Corner {
- int TOP_LEFT = 0;
- int TOP_RIGHT = 1;
- int BOTTOM_RIGHT = 2;
- int BOTTOM_LEFT = 3;
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/NoScrollSeekBar.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/NoScrollSeekBar.java
deleted file mode 100644
index d8f9186fbf..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/NoScrollSeekBar.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.mogo.module.media.widget;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.util.AttributeSet;
-import android.view.MotionEvent;
-import android.widget.SeekBar;
-
-@SuppressLint("AppCompatCustomView")
-public class NoScrollSeekBar extends SeekBar {
-
- public NoScrollSeekBar(Context context) {
- super(context);
- }
-
- public NoScrollSeekBar(Context context, AttributeSet attrs) {
- this(context, attrs, 0);
- }
-
- public NoScrollSeekBar(Context context, AttributeSet attrs, int defStyle) {
- super(context, attrs, defStyle);
- }
- /**
- * onTouchEvent 是在 SeekBar 继承的抽象类 AbsSeekBar 里
- * 你可以看下他们的继承关系
- */
- @Override
- public boolean onTouchEvent(MotionEvent event) {
- //原来是要将TouchEvent传递下去的,我们不让它传递下去就行了
- //return super.onTouchEvent(event);
-
- return false ;
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/PercentageRingView.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/PercentageRingView.java
deleted file mode 100755
index e21c7b9420..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/PercentageRingView.java
+++ /dev/null
@@ -1,174 +0,0 @@
-package com.mogo.module.media.widget;
-
-import android.content.Context;
-import android.graphics.BlurMaskFilter;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.EmbossMaskFilter;
-import android.graphics.Paint;
-import android.graphics.RectF;
-import android.graphics.SweepGradient;
-import android.util.AttributeSet;
-import android.view.View;
-
-
-/**
- * 环形进度条
- */
-public class PercentageRingView extends View {
-
- private Paint pathPaint;
- private Paint fillArcPaint;
- // 设置光源的方向
- private float[] direction = new float[]{1, 1, 1};
- /**
- * 透明
- */
- public static final int TRANSPARENT = 0x00000000;
-
- /**
- * 红色
- */
- public static final int RED = 0xffff0000;
-
- // 设置环境光亮度
- private float light = 0.4f;
- //渐变数组
- private int[] arcColors = new int[]{RED, TRANSPARENT};
-
- // 选择要应用的反射等级
- private float specular = 6;
- private EmbossMaskFilter emboss;
- private RectF oval;
- private BlurMaskFilter mBlur;
- // view重绘的标记
- private boolean reset = false;
- // 向 mask应用一定级别的模糊
- private float blur = 3.5f;
- private int arcradus = 30;
- //初始化进度
- private int progress = 0;
- //设置进度最大值
- private int max = 100;
-
-
- public PercentageRingView(Context context, AttributeSet attrs) {
- super(context, attrs);
- initPaint();
- oval = new RectF();
- emboss = new EmbossMaskFilter(direction, light, specular, blur);
- mBlur = new BlurMaskFilter(20, BlurMaskFilter.Blur.NORMAL);
- }
-
- //初始化画笔操作
- private void initPaint() {
- //初始化画笔操作
- pathPaint = new Paint();
- // 设置是否抗锯齿
- pathPaint.setAntiAlias(true);
- // 帮助消除锯齿
- pathPaint.setFlags(Paint.ANTI_ALIAS_FLAG);
- // 设置中空的样式
- pathPaint.setStyle(Paint.Style.STROKE);
- pathPaint.setDither(true);
- pathPaint.setStrokeJoin(Paint.Join.ROUND);
-
- fillArcPaint = new Paint();
- // 设置是否抗锯齿
- fillArcPaint.setAntiAlias(true);
- // 帮助消除锯齿
- fillArcPaint.setFlags(Paint.ANTI_ALIAS_FLAG);
- // 设置中空的样式
- fillArcPaint.setStyle(Paint.Style.STROKE);
- fillArcPaint.setDither(true);
- fillArcPaint.setStrokeJoin(Paint.Join.ROUND);
- }
-
- @Override
- protected void onDraw(Canvas canvas) {
- super.onDraw(canvas);
- if (reset) {
- canvas.drawColor(Color.TRANSPARENT);
- reset = false;
- }
- drawcircle(canvas);
-
- }
-
- private void drawcircle(Canvas canvas) {
- int height = getMeasuredWidth();
- int width = getMeasuredWidth();
- //半径 = 宽/2-圆环的宽度
- int radius = width / 2 - arcradus;
- int cx = width / 2;
- int cy = height / 2;
- pathPaint.setColor(Color.BLUE);
- //绘制大圆
- canvas.drawCircle(width / 2, height / 2, radius + arcradus
- / 2 + 0.5f, pathPaint);
- //绘制小圆
- canvas.drawCircle(width / 2, height / 2, radius - arcradus
- / 2 - 0.5f, pathPaint);
-
- // 环形颜色填充
- SweepGradient sweepGradient =
- new SweepGradient(width / 2, height / 2, arcColors, null);
- fillArcPaint.setShader(sweepGradient);
- // 设置画笔为白色
-
- // 模糊效果
- fillArcPaint.setMaskFilter(mBlur);
- // 设置线的类型,边是圆的
- fillArcPaint.setStrokeCap(Paint.Cap.ROUND);
-
- //设置圆弧的宽度
- fillArcPaint.setStrokeWidth(arcradus + 1);
- // 确定圆弧的绘制位置,也就是里面圆弧坐标和外面圆弧坐标
- oval.set(width / 2 - radius, height / 2 - radius, width
- / 2 + radius, height / 2 + radius);
- // 画圆弧,第二个参数为:起始角度,第三个为跨的角度,第四个为true的时候是实心,false的时候为空心
- canvas.drawArc(oval,
- 0,
- ((float) progress / max) * 360,
- false,
- fillArcPaint);
- }
-
- public int getProgress() {
- return progress;
- }
-
- public void setProgress(int progress) {
- this.progress = progress;
- this.invalidate();
- }
-
- public int getMax() {
- return max;
- }
-
- public void setMax(int max) {
- this.max = max;
- }
-
- public int[] getArcColors() {
- return arcColors;
- }
-
- public void setArcColors(int[] arcColors) {
- this.arcColors = arcColors;
-// this.invalidate();
- }
-
- /**
- * 描述:重置进度
- *
- * @throws
- */
- public void reset() {
- reset = true;
- this.progress = 0;
- this.invalidate();
- }
-
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/RoundedDrawable.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/RoundedDrawable.java
deleted file mode 100644
index a7e8d6b780..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/RoundedDrawable.java
+++ /dev/null
@@ -1,618 +0,0 @@
-package com.mogo.module.media.widget;
-
-import android.content.res.ColorStateList;
-import android.graphics.Bitmap;
-import android.graphics.Bitmap.Config;
-import android.graphics.BitmapShader;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.ColorFilter;
-import android.graphics.Matrix;
-import android.graphics.Paint;
-import android.graphics.PixelFormat;
-import android.graphics.Rect;
-import android.graphics.RectF;
-import android.graphics.Shader;
-import android.graphics.drawable.BitmapDrawable;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.LayerDrawable;
-import android.util.Log;
-import android.widget.ImageView.ScaleType;
-
-import androidx.annotation.ColorInt;
-import androidx.annotation.NonNull;
-
-import java.util.HashSet;
-import java.util.Set;
-
-@SuppressWarnings("UnusedDeclaration")
-public class RoundedDrawable extends Drawable {
-
- public static final String TAG = "RoundedDrawable";
- public static final int DEFAULT_BORDER_COLOR = Color.BLACK;
-
- private final RectF mBounds = new RectF();
- private final RectF mDrawableRect = new RectF();
- private final RectF mBitmapRect = new RectF();
- private final Bitmap mBitmap;
- private final Paint mBitmapPaint;
- private final int mBitmapWidth;
- private final int mBitmapHeight;
- private final RectF mBorderRect = new RectF();
- private final Paint mBorderPaint;
- private final Matrix mShaderMatrix = new Matrix();
- private final RectF mSquareCornersRect = new RectF();
-
- private Shader.TileMode mTileModeX = Shader.TileMode.CLAMP;
- private Shader.TileMode mTileModeY = Shader.TileMode.CLAMP;
- private boolean mRebuildShader = true;
-
- private float mCornerRadius = 0f;
- // [ topLeft, topRight, bottomLeft, bottomRight ]
- private final boolean[] mCornersRounded = new boolean[] { true, true, true, true };
-
- private boolean mOval = false;
- private float mBorderWidth = 0;
- private ColorStateList mBorderColor = ColorStateList.valueOf(DEFAULT_BORDER_COLOR);
- private ScaleType mScaleType = ScaleType.FIT_CENTER;
-
- public RoundedDrawable(Bitmap bitmap) {
- mBitmap = bitmap;
-
- mBitmapWidth = bitmap.getWidth();
- mBitmapHeight = bitmap.getHeight();
- mBitmapRect.set(0, 0, mBitmapWidth, mBitmapHeight);
-
- mBitmapPaint = new Paint();
- mBitmapPaint.setStyle(Paint.Style.FILL);
- mBitmapPaint.setAntiAlias(true);
-
- mBorderPaint = new Paint();
- mBorderPaint.setStyle(Paint.Style.STROKE);
- mBorderPaint.setAntiAlias(true);
- mBorderPaint.setColor(mBorderColor.getColorForState(getState(), DEFAULT_BORDER_COLOR));
- mBorderPaint.setStrokeWidth(mBorderWidth);
- }
-
- public static RoundedDrawable fromBitmap(Bitmap bitmap) {
- if (bitmap != null) {
- return new RoundedDrawable(bitmap);
- } else {
- return null;
- }
- }
-
- public static Drawable fromDrawable(Drawable drawable) {
- if (drawable != null) {
- if (drawable instanceof RoundedDrawable) {
- // just return if it's already a RoundedDrawable
- return drawable;
- } else if (drawable instanceof LayerDrawable) {
- LayerDrawable ld = (LayerDrawable) drawable;
- int num = ld.getNumberOfLayers();
-
- // loop through layers to and change to RoundedDrawables if possible
- for (int i = 0; i < num; i++) {
- Drawable d = ld.getDrawable(i);
- ld.setDrawableByLayerId(ld.getId(i), fromDrawable(d));
- }
- return ld;
- }
-
- // try to get a bitmap from the drawable and
- Bitmap bm = drawableToBitmap(drawable);
- if (bm != null) {
- return new RoundedDrawable(bm);
- }
- }
- return drawable;
- }
-
- public static Bitmap drawableToBitmap(Drawable drawable) {
- if (drawable instanceof BitmapDrawable) {
- return ((BitmapDrawable) drawable).getBitmap();
- }
-
- Bitmap bitmap;
- int width = Math.max(drawable.getIntrinsicWidth(), 2);
- int height = Math.max(drawable.getIntrinsicHeight(), 2);
- try {
- bitmap = Bitmap.createBitmap(width, height, Config.ARGB_8888);
- Canvas canvas = new Canvas(bitmap);
- drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
- drawable.draw(canvas);
- } catch (Throwable e) {
- e.printStackTrace();
- Log.w(TAG, "Failed to create bitmap from drawable!");
- bitmap = null;
- }
-
- return bitmap;
- }
-
- public Bitmap getSourceBitmap() {
- return mBitmap;
- }
-
- @Override
- public boolean isStateful() {
- return mBorderColor.isStateful();
- }
-
- @Override
- protected boolean onStateChange(int[] state) {
- int newColor = mBorderColor.getColorForState(state, 0);
- if (mBorderPaint.getColor() != newColor) {
- mBorderPaint.setColor(newColor);
- return true;
- } else {
- return super.onStateChange(state);
- }
- }
-
- private void updateShaderMatrix() {
- float scale;
- float dx;
- float dy;
-
- switch (mScaleType) {
- case CENTER:
- mBorderRect.set(mBounds);
- mBorderRect.inset(mBorderWidth / 2, mBorderWidth / 2);
-
- mShaderMatrix.reset();
- mShaderMatrix.setTranslate((int) ((mBorderRect.width() - mBitmapWidth) * 0.5f + 0.5f),
- (int) ((mBorderRect.height() - mBitmapHeight) * 0.5f + 0.5f));
- break;
-
- case CENTER_CROP:
- mBorderRect.set(mBounds);
- mBorderRect.inset(mBorderWidth / 2, mBorderWidth / 2);
-
- mShaderMatrix.reset();
-
- dx = 0;
- dy = 0;
-
- if (mBitmapWidth * mBorderRect.height() > mBorderRect.width() * mBitmapHeight) {
- scale = mBorderRect.height() / (float) mBitmapHeight;
- dx = (mBorderRect.width() - mBitmapWidth * scale) * 0.5f;
- } else {
- scale = mBorderRect.width() / (float) mBitmapWidth;
- dy = (mBorderRect.height() - mBitmapHeight * scale) * 0.5f;
- }
-
- mShaderMatrix.setScale(scale, scale);
- mShaderMatrix.postTranslate((int) (dx + 0.5f) + mBorderWidth / 2,
- (int) (dy + 0.5f) + mBorderWidth / 2);
- break;
-
- case CENTER_INSIDE:
- mShaderMatrix.reset();
-
- if (mBitmapWidth <= mBounds.width() && mBitmapHeight <= mBounds.height()) {
- scale = 1.0f;
- } else {
- scale = Math.min(mBounds.width() / (float) mBitmapWidth,
- mBounds.height() / (float) mBitmapHeight);
- }
-
- dx = (int) ((mBounds.width() - mBitmapWidth * scale) * 0.5f + 0.5f);
- dy = (int) ((mBounds.height() - mBitmapHeight * scale) * 0.5f + 0.5f);
-
- mShaderMatrix.setScale(scale, scale);
- mShaderMatrix.postTranslate(dx, dy);
-
- mBorderRect.set(mBitmapRect);
- mShaderMatrix.mapRect(mBorderRect);
- mBorderRect.inset(mBorderWidth / 2, mBorderWidth / 2);
- mShaderMatrix.setRectToRect(mBitmapRect, mBorderRect, Matrix.ScaleToFit.FILL);
- break;
-
- default:
- case FIT_CENTER:
- mBorderRect.set(mBitmapRect);
- mShaderMatrix.setRectToRect(mBitmapRect, mBounds, Matrix.ScaleToFit.CENTER);
- mShaderMatrix.mapRect(mBorderRect);
- mBorderRect.inset(mBorderWidth / 2, mBorderWidth / 2);
- mShaderMatrix.setRectToRect(mBitmapRect, mBorderRect, Matrix.ScaleToFit.FILL);
- break;
-
- case FIT_END:
- mBorderRect.set(mBitmapRect);
- mShaderMatrix.setRectToRect(mBitmapRect, mBounds, Matrix.ScaleToFit.END);
- mShaderMatrix.mapRect(mBorderRect);
- mBorderRect.inset(mBorderWidth / 2, mBorderWidth / 2);
- mShaderMatrix.setRectToRect(mBitmapRect, mBorderRect, Matrix.ScaleToFit.FILL);
- break;
-
- case FIT_START:
- mBorderRect.set(mBitmapRect);
- mShaderMatrix.setRectToRect(mBitmapRect, mBounds, Matrix.ScaleToFit.START);
- mShaderMatrix.mapRect(mBorderRect);
- mBorderRect.inset(mBorderWidth / 2, mBorderWidth / 2);
- mShaderMatrix.setRectToRect(mBitmapRect, mBorderRect, Matrix.ScaleToFit.FILL);
- break;
-
- case FIT_XY:
- mBorderRect.set(mBounds);
- mBorderRect.inset(mBorderWidth / 2, mBorderWidth / 2);
- mShaderMatrix.reset();
- mShaderMatrix.setRectToRect(mBitmapRect, mBorderRect, Matrix.ScaleToFit.FILL);
- break;
- }
-
- mDrawableRect.set(mBorderRect);
- mRebuildShader = true;
- }
-
- @Override
- protected void onBoundsChange(@NonNull Rect bounds) {
- super.onBoundsChange(bounds);
-
- mBounds.set(bounds);
-
- updateShaderMatrix();
- }
-
- @Override
- public void draw(@NonNull Canvas canvas) {
- if (mRebuildShader) {
- BitmapShader bitmapShader = new BitmapShader(mBitmap, mTileModeX, mTileModeY);
- if (mTileModeX == Shader.TileMode.CLAMP && mTileModeY == Shader.TileMode.CLAMP) {
- bitmapShader.setLocalMatrix(mShaderMatrix);
- }
- mBitmapPaint.setShader(bitmapShader);
- mRebuildShader = false;
- }
-
- if (mOval) {
- if (mBorderWidth > 0) {
- canvas.drawOval(mDrawableRect, mBitmapPaint);
- canvas.drawOval(mBorderRect, mBorderPaint);
- } else {
- canvas.drawOval(mDrawableRect, mBitmapPaint);
- }
- } else {
- if (any(mCornersRounded)) {
- float radius = mCornerRadius;
- if (mBorderWidth > 0) {
- canvas.drawRoundRect(mDrawableRect, radius, radius, mBitmapPaint);
- canvas.drawRoundRect(mBorderRect, radius, radius, mBorderPaint);
- redrawBitmapForSquareCorners(canvas);
- redrawBorderForSquareCorners(canvas);
- } else {
- canvas.drawRoundRect(mDrawableRect, radius, radius, mBitmapPaint);
- redrawBitmapForSquareCorners(canvas);
- }
- } else {
- canvas.drawRect(mDrawableRect, mBitmapPaint);
- if (mBorderWidth > 0) {
- canvas.drawRect(mBorderRect, mBorderPaint);
- }
- }
- }
- }
-
- private void redrawBitmapForSquareCorners(Canvas canvas) {
- if (all(mCornersRounded)) {
- // no square corners
- return;
- }
-
- if (mCornerRadius == 0) {
- return; // no round corners
- }
-
- float left = mDrawableRect.left;
- float top = mDrawableRect.top;
- float right = left + mDrawableRect.width();
- float bottom = top + mDrawableRect.height();
- float radius = mCornerRadius;
-
- if (!mCornersRounded[Corner.TOP_LEFT]) {
- mSquareCornersRect.set(left, top, left + radius, top + radius);
- canvas.drawRect(mSquareCornersRect, mBitmapPaint);
- }
-
- if (!mCornersRounded[Corner.TOP_RIGHT]) {
- mSquareCornersRect.set(right - radius, top, right, radius);
- canvas.drawRect(mSquareCornersRect, mBitmapPaint);
- }
-
- if (!mCornersRounded[Corner.BOTTOM_RIGHT]) {
- mSquareCornersRect.set(right - radius, bottom - radius, right, bottom);
- canvas.drawRect(mSquareCornersRect, mBitmapPaint);
- }
-
- if (!mCornersRounded[Corner.BOTTOM_LEFT]) {
- mSquareCornersRect.set(left, bottom - radius, left + radius, bottom);
- canvas.drawRect(mSquareCornersRect, mBitmapPaint);
- }
- }
-
- private void redrawBorderForSquareCorners(Canvas canvas) {
- if (all(mCornersRounded)) {
- // no square corners
- return;
- }
-
- if (mCornerRadius == 0) {
- return; // no round corners
- }
-
- float left = mDrawableRect.left;
- float top = mDrawableRect.top;
- float right = left + mDrawableRect.width();
- float bottom = top + mDrawableRect.height();
- float radius = mCornerRadius;
- float offset = mBorderWidth / 2;
-
- if (!mCornersRounded[Corner.TOP_LEFT]) {
- canvas.drawLine(left - offset, top, left + radius, top, mBorderPaint);
- canvas.drawLine(left, top - offset, left, top + radius, mBorderPaint);
- }
-
- if (!mCornersRounded[Corner.TOP_RIGHT]) {
- canvas.drawLine(right - radius - offset, top, right, top, mBorderPaint);
- canvas.drawLine(right, top - offset, right, top + radius, mBorderPaint);
- }
-
- if (!mCornersRounded[Corner.BOTTOM_RIGHT]) {
- canvas.drawLine(right - radius - offset, bottom, right + offset, bottom, mBorderPaint);
- canvas.drawLine(right, bottom - radius, right, bottom, mBorderPaint);
- }
-
- if (!mCornersRounded[Corner.BOTTOM_LEFT]) {
- canvas.drawLine(left - offset, bottom, left + radius, bottom, mBorderPaint);
- canvas.drawLine(left, bottom - radius, left, bottom, mBorderPaint);
- }
- }
-
- @Override
- public int getOpacity() {
- return PixelFormat.TRANSLUCENT;
- }
-
- @Override
- public int getAlpha() {
- return mBitmapPaint.getAlpha();
- }
-
- @Override
- public void setAlpha(int alpha) {
- mBitmapPaint.setAlpha(alpha);
- invalidateSelf();
- }
-
- @Override
- public ColorFilter getColorFilter() {
- return mBitmapPaint.getColorFilter();
- }
-
- @Override
- public void setColorFilter(ColorFilter cf) {
- mBitmapPaint.setColorFilter(cf);
- invalidateSelf();
- }
-
- @Override
- public void setDither(boolean dither) {
- mBitmapPaint.setDither(dither);
- invalidateSelf();
- }
-
- @Override
- public void setFilterBitmap(boolean filter) {
- mBitmapPaint.setFilterBitmap(filter);
- invalidateSelf();
- }
-
- @Override
- public int getIntrinsicWidth() {
- return mBitmapWidth;
- }
-
- @Override
- public int getIntrinsicHeight() {
- return mBitmapHeight;
- }
-
- /**
- * @return the corner radius.
- */
- public float getCornerRadius() {
- return mCornerRadius;
- }
-
- /**
- * @param corner the specific corner to get radius of.
- * @return the corner radius of the specified corner.
- */
- public float getCornerRadius(@Corner int corner) {
- return mCornersRounded[corner] ? mCornerRadius : 0f;
- }
-
- /**
- * Sets all corners to the specified radius.
- *
- * @param radius the radius.
- * @return the {@link RoundedDrawable} for chaining.
- */
- public RoundedDrawable setCornerRadius(float radius) {
- setCornerRadius(radius, radius, radius, radius);
- return this;
- }
-
- /**
- * Sets the corner radius of one specific corner.
- *
- * @param corner the corner.
- * @param radius the radius.
- * @return the {@link RoundedDrawable} for chaining.
- */
- public RoundedDrawable setCornerRadius(@Corner int corner, float radius) {
- if (radius != 0 && mCornerRadius != 0 && mCornerRadius != radius) {
- throw new IllegalArgumentException("Multiple nonzero corner radii not yet supported.");
- }
-
- if (radius == 0) {
- if (only(corner, mCornersRounded)) {
- mCornerRadius = 0;
- }
- mCornersRounded[corner] = false;
- } else {
- if (mCornerRadius == 0) {
- mCornerRadius = radius;
- }
- mCornersRounded[corner] = true;
- }
-
- return this;
- }
-
- /**
- * Sets the corner radii of all the corners.
- *
- * @param topLeft top left corner radius.
- * @param topRight top right corner radius
- * @param bottomRight bototm right corner radius.
- * @param bottomLeft bottom left corner radius.
- * @return the {@link RoundedDrawable} for chaining.
- */
- public RoundedDrawable setCornerRadius(float topLeft, float topRight, float bottomRight,
- float bottomLeft) {
- Set radiusSet = new HashSet<>(4);
- radiusSet.add(topLeft);
- radiusSet.add(topRight);
- radiusSet.add(bottomRight);
- radiusSet.add(bottomLeft);
-
- radiusSet.remove(0f);
-
- if (radiusSet.size() > 1) {
- throw new IllegalArgumentException("Multiple nonzero corner radii not yet supported.");
- }
-
- if (!radiusSet.isEmpty()) {
- float radius = radiusSet.iterator().next();
- if (Float.isInfinite(radius) || Float.isNaN(radius) || radius < 0) {
- throw new IllegalArgumentException("Invalid radius value: " + radius);
- }
- mCornerRadius = radius;
- } else {
- mCornerRadius = 0f;
- }
-
- mCornersRounded[Corner.TOP_LEFT] = topLeft > 0;
- mCornersRounded[Corner.TOP_RIGHT] = topRight > 0;
- mCornersRounded[Corner.BOTTOM_RIGHT] = bottomRight > 0;
- mCornersRounded[Corner.BOTTOM_LEFT] = bottomLeft > 0;
- return this;
- }
-
- public float getBorderWidth() {
- return mBorderWidth;
- }
-
- public RoundedDrawable setBorderWidth(float width) {
- mBorderWidth = width;
- mBorderPaint.setStrokeWidth(mBorderWidth);
- return this;
- }
-
- public int getBorderColor() {
- return mBorderColor.getDefaultColor();
- }
-
- public RoundedDrawable setBorderColor(@ColorInt int color) {
- return setBorderColor(ColorStateList.valueOf(color));
- }
-
- public ColorStateList getBorderColors() {
- return mBorderColor;
- }
-
- public RoundedDrawable setBorderColor(ColorStateList colors) {
- mBorderColor = colors != null ? colors : ColorStateList.valueOf(0);
- mBorderPaint.setColor(mBorderColor.getColorForState(getState(), DEFAULT_BORDER_COLOR));
- return this;
- }
-
- public boolean isOval() {
- return mOval;
- }
-
- public RoundedDrawable setOval(boolean oval) {
- mOval = oval;
- return this;
- }
-
- public ScaleType getScaleType() {
- return mScaleType;
- }
-
- public RoundedDrawable setScaleType(ScaleType scaleType) {
- if (scaleType == null) {
- scaleType = ScaleType.FIT_CENTER;
- }
- if (mScaleType != scaleType) {
- mScaleType = scaleType;
- updateShaderMatrix();
- }
- return this;
- }
-
- public Shader.TileMode getTileModeX() {
- return mTileModeX;
- }
-
- public RoundedDrawable setTileModeX(Shader.TileMode tileModeX) {
- if (mTileModeX != tileModeX) {
- mTileModeX = tileModeX;
- mRebuildShader = true;
- invalidateSelf();
- }
- return this;
- }
-
- public Shader.TileMode getTileModeY() {
- return mTileModeY;
- }
-
- public RoundedDrawable setTileModeY(Shader.TileMode tileModeY) {
- if (mTileModeY != tileModeY) {
- mTileModeY = tileModeY;
- mRebuildShader = true;
- invalidateSelf();
- }
- return this;
- }
-
- private static boolean only(int index, boolean[] booleans) {
- for (int i = 0, len = booleans.length; i < len; i++) {
- if (booleans[i] != (i == index)) {
- return false;
- }
- }
- return true;
- }
-
- private static boolean any(boolean[] booleans) {
- for (boolean b : booleans) {
- if (b) { return true; }
- }
- return false;
- }
-
- private static boolean all(boolean[] booleans) {
- for (boolean b : booleans) {
- if (b) { return false; }
- }
- return true;
- }
-
- public Bitmap toBitmap() {
- return drawableToBitmap(this);
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/RoundedImageView.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/RoundedImageView.java
deleted file mode 100644
index b552bea0bb..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/RoundedImageView.java
+++ /dev/null
@@ -1,595 +0,0 @@
-package com.mogo.module.media.widget;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.content.res.ColorStateList;
-import android.content.res.Resources;
-import android.content.res.TypedArray;
-import android.graphics.Bitmap;
-import android.graphics.ColorFilter;
-import android.graphics.Shader;
-import android.graphics.drawable.ColorDrawable;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.LayerDrawable;
-import android.net.Uri;
-
-import android.util.AttributeSet;
-import android.util.Log;
-import android.widget.ImageView;
-
-import androidx.annotation.ColorInt;
-import androidx.annotation.DimenRes;
-import androidx.annotation.DrawableRes;
-
-import com.mogo.module.media.R;
-
-@SuppressLint("AppCompatCustomView")
-public class RoundedImageView extends ImageView {
-
- // Constants for tile mode attributes
- private static final int TILE_MODE_UNDEFINED = -2;
- private static final int TILE_MODE_CLAMP = 0;
- private static final int TILE_MODE_REPEAT = 1;
- private static final int TILE_MODE_MIRROR = 2;
-
- public static final String TAG = "RoundedImageView";
- public static final float DEFAULT_RADIUS = 0f;
- public static final float DEFAULT_BORDER_WIDTH = 0f;
- public static final Shader.TileMode DEFAULT_TILE_MODE = Shader.TileMode.CLAMP;
- private static final ImageView.ScaleType[] SCALE_TYPES = {
- ImageView.ScaleType.MATRIX,
- ImageView.ScaleType.FIT_XY,
- ImageView.ScaleType.FIT_START,
- ImageView.ScaleType.FIT_CENTER,
- ImageView.ScaleType.FIT_END,
- ImageView.ScaleType.CENTER,
- ImageView.ScaleType.CENTER_CROP,
- ImageView.ScaleType.CENTER_INSIDE
- };
-
- private final float[] mCornerRadii =
- new float[] { DEFAULT_RADIUS, DEFAULT_RADIUS, DEFAULT_RADIUS, DEFAULT_RADIUS };
-
- private Drawable mBackgroundDrawable;
- private ColorStateList mBorderColor =
- ColorStateList.valueOf(RoundedDrawable.DEFAULT_BORDER_COLOR);
- private float mBorderWidth = DEFAULT_BORDER_WIDTH;
- private ColorFilter mColorFilter = null;
- private boolean mColorMod = false;
- private Drawable mDrawable;
- private boolean mHasColorFilter = false;
- private boolean mIsOval = false;
- private boolean mMutateBackground = false;
- private int mResource;
- private int mBackgroundResource;
- private ImageView.ScaleType mScaleType;
- private Shader.TileMode mTileModeX = DEFAULT_TILE_MODE;
- private Shader.TileMode mTileModeY = DEFAULT_TILE_MODE;
-
- public RoundedImageView(Context context) {
- super(context);
- }
-
- public RoundedImageView(Context context, AttributeSet attrs) {
- this(context, attrs, 0);
- }
-
- public RoundedImageView(Context context, AttributeSet attrs, int defStyle) {
- super(context, attrs, defStyle);
-
- TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.MediaRoundedImageView, defStyle, 0);
-
- int index = a.getInt(R.styleable.MediaRoundedImageView_android_scaleType, -1);
- if (index >= 0) {
- setScaleType(SCALE_TYPES[index]);
- } else {
- // default scaletype to FIT_CENTER
- setScaleType(ImageView.ScaleType.FIT_CENTER);
- }
-
- float cornerRadiusOverride =
- a.getDimensionPixelSize(R.styleable.MediaRoundedImageView_riv_corner_radius, -1);
-
- mCornerRadii[Corner.TOP_LEFT] =
- a.getDimensionPixelSize(R.styleable.MediaRoundedImageView_riv_corner_radius_top_left, -1);
- mCornerRadii[Corner.TOP_RIGHT] =
- a.getDimensionPixelSize(R.styleable.MediaRoundedImageView_riv_corner_radius_top_right, -1);
- mCornerRadii[Corner.BOTTOM_RIGHT] =
- a.getDimensionPixelSize(R.styleable.MediaRoundedImageView_riv_corner_radius_bottom_right, -1);
- mCornerRadii[Corner.BOTTOM_LEFT] =
- a.getDimensionPixelSize(R.styleable.MediaRoundedImageView_riv_corner_radius_bottom_left, -1);
-
- boolean any = false;
- for (int i = 0, len = mCornerRadii.length; i < len; i++) {
- if (mCornerRadii[i] < 0) {
- mCornerRadii[i] = 0f;
- } else {
- any = true;
- }
- }
-
- if (!any) {
- if (cornerRadiusOverride < 0) {
- cornerRadiusOverride = DEFAULT_RADIUS;
- }
- for (int i = 0, len = mCornerRadii.length; i < len; i++) {
- mCornerRadii[i] = cornerRadiusOverride;
- }
- }
-
- mBorderWidth = a.getDimensionPixelSize(R.styleable.MediaRoundedImageView_riv_border_width, -1);
- if (mBorderWidth < 0) {
- mBorderWidth = DEFAULT_BORDER_WIDTH;
- }
-
- mBorderColor = a.getColorStateList(R.styleable.MediaRoundedImageView_riv_border_color);
- if (mBorderColor == null) {
- mBorderColor = ColorStateList.valueOf(RoundedDrawable.DEFAULT_BORDER_COLOR);
- }
-
- mMutateBackground = a.getBoolean(R.styleable.MediaRoundedImageView_riv_mutate_background, false);
- mIsOval = a.getBoolean(R.styleable.MediaRoundedImageView_riv_oval, false);
-
- final int tileMode = a.getInt(R.styleable.MediaRoundedImageView_riv_tile_mode, TILE_MODE_UNDEFINED);
- if (tileMode != TILE_MODE_UNDEFINED) {
- setTileModeX(parseTileMode(tileMode));
- setTileModeY(parseTileMode(tileMode));
- }
-
- final int tileModeX =
- a.getInt(R.styleable.MediaRoundedImageView_riv_tile_mode_x, TILE_MODE_UNDEFINED);
- if (tileModeX != TILE_MODE_UNDEFINED) {
- setTileModeX(parseTileMode(tileModeX));
- }
-
- final int tileModeY =
- a.getInt(R.styleable.MediaRoundedImageView_riv_tile_mode_y, TILE_MODE_UNDEFINED);
- if (tileModeY != TILE_MODE_UNDEFINED) {
- setTileModeY(parseTileMode(tileModeY));
- }
-
- updateDrawableAttrs();
- updateBackgroundDrawableAttrs(true);
-
- if (mMutateBackground) {
- //noinspection deprecation
- super.setBackgroundDrawable(mBackgroundDrawable);
- }
-
- a.recycle();
- }
-
- private static Shader.TileMode parseTileMode(int tileMode) {
- switch (tileMode) {
- case TILE_MODE_CLAMP:
- return Shader.TileMode.CLAMP;
- case TILE_MODE_REPEAT:
- return Shader.TileMode.REPEAT;
- case TILE_MODE_MIRROR:
- return Shader.TileMode.MIRROR;
- default:
- return null;
- }
- }
-
- @Override
- protected void drawableStateChanged() {
- super.drawableStateChanged();
- invalidate();
- }
-
- @Override
- public ImageView.ScaleType getScaleType() {
- return mScaleType;
- }
-
- @Override
- public void setScaleType(ImageView.ScaleType scaleType) {
- assert scaleType != null;
-
- if (mScaleType != scaleType) {
- mScaleType = scaleType;
-
- switch (scaleType) {
- case CENTER:
- case CENTER_CROP:
- case CENTER_INSIDE:
- case FIT_CENTER:
- case FIT_START:
- case FIT_END:
- case FIT_XY:
- super.setScaleType(ImageView.ScaleType.FIT_XY);
- break;
- default:
- super.setScaleType(scaleType);
- break;
- }
-
- updateDrawableAttrs();
- updateBackgroundDrawableAttrs(false);
- invalidate();
- }
- }
-
- @Override
- public void setImageDrawable(Drawable drawable) {
- mResource = 0;
- mDrawable = RoundedDrawable.fromDrawable(drawable);
- updateDrawableAttrs();
- super.setImageDrawable(mDrawable);
- }
-
- @Override
- public void setImageBitmap(Bitmap bm) {
- mResource = 0;
- mDrawable = RoundedDrawable.fromBitmap(bm);
- updateDrawableAttrs();
- super.setImageDrawable(mDrawable);
- }
-
- @Override
- public void setImageResource(@DrawableRes int resId) {
- if (mResource != resId) {
- mResource = resId;
- mDrawable = resolveResource();
- updateDrawableAttrs();
- super.setImageDrawable(mDrawable);
- }
- }
-
- @Override
- public void setImageURI(Uri uri) {
- super.setImageURI(uri);
- setImageDrawable(getDrawable());
- }
-
- private Drawable resolveResource() {
- Resources rsrc = getResources();
- if (rsrc == null) { return null; }
-
- Drawable d = null;
-
- if (mResource != 0) {
- try {
- d = rsrc.getDrawable(mResource);
- } catch (Exception e) {
- Log.w(TAG, "Unable to find resource: " + mResource, e);
- // Don't try again.
- mResource = 0;
- }
- }
- return RoundedDrawable.fromDrawable(d);
- }
-
- @Override
- public void setBackground(Drawable background) {
- setBackgroundDrawable(background);
- }
-
- @Override
- public void setBackgroundResource(@DrawableRes int resId) {
- if (mBackgroundResource != resId) {
- mBackgroundResource = resId;
- mBackgroundDrawable = resolveBackgroundResource();
- setBackgroundDrawable(mBackgroundDrawable);
- }
- }
-
- @Override
- public void setBackgroundColor(int color) {
- mBackgroundDrawable = new ColorDrawable(color);
- setBackgroundDrawable(mBackgroundDrawable);
- }
-
- private Drawable resolveBackgroundResource() {
- Resources rsrc = getResources();
- if (rsrc == null) { return null; }
-
- Drawable d = null;
-
- if (mBackgroundResource != 0) {
- try {
- d = rsrc.getDrawable(mBackgroundResource);
- } catch (Exception e) {
- Log.w(TAG, "Unable to find resource: " + mBackgroundResource, e);
- // Don't try again.
- mBackgroundResource = 0;
- }
- }
- return RoundedDrawable.fromDrawable(d);
- }
-
- private void updateDrawableAttrs() {
- updateAttrs(mDrawable, mScaleType);
- }
-
- private void updateBackgroundDrawableAttrs(boolean convert) {
- if (mMutateBackground) {
- if (convert) {
- mBackgroundDrawable = RoundedDrawable.fromDrawable(mBackgroundDrawable);
- }
- updateAttrs(mBackgroundDrawable, ImageView.ScaleType.FIT_XY);
- }
- }
-
- @Override
- public void setColorFilter(ColorFilter cf) {
- if (mColorFilter != cf) {
- mColorFilter = cf;
- mHasColorFilter = true;
- mColorMod = true;
- applyColorMod();
- invalidate();
- }
- }
-
- private void applyColorMod() {
- // Only mutate and apply when modifications have occurred. This should
- // not reset the mColorMod flag, since these filters need to be
- // re-applied if the Drawable is changed.
- if (mDrawable != null && mColorMod) {
- mDrawable = mDrawable.mutate();
- if (mHasColorFilter) {
- mDrawable.setColorFilter(mColorFilter);
- }
- // TODO: support, eventually...
- //mDrawable.setXfermode(mXfermode);
- //mDrawable.setAlpha(mAlpha * mViewAlphaScale >> 8);
- }
- }
-
- private void updateAttrs(Drawable drawable, ImageView.ScaleType scaleType) {
- if (drawable == null) { return; }
-
- if (drawable instanceof RoundedDrawable) {
- ((RoundedDrawable) drawable)
- .setScaleType(scaleType)
- .setBorderWidth(mBorderWidth)
- .setBorderColor(mBorderColor)
- .setOval(mIsOval)
- .setTileModeX(mTileModeX)
- .setTileModeY(mTileModeY);
-
- if (mCornerRadii != null) {
- ((RoundedDrawable) drawable).setCornerRadius(
- mCornerRadii[Corner.TOP_LEFT],
- mCornerRadii[Corner.TOP_RIGHT],
- mCornerRadii[Corner.BOTTOM_RIGHT],
- mCornerRadii[Corner.BOTTOM_LEFT]);
- }
-
- applyColorMod();
- } else if (drawable instanceof LayerDrawable) {
- // loop through layers to and set drawable attrs
- LayerDrawable ld = ((LayerDrawable) drawable);
- for (int i = 0, layers = ld.getNumberOfLayers(); i < layers; i++) {
- updateAttrs(ld.getDrawable(i), scaleType);
- }
- }
- }
-
- @Override
- @Deprecated
- public void setBackgroundDrawable(Drawable background) {
- mBackgroundDrawable = background;
- updateBackgroundDrawableAttrs(true);
- //noinspection deprecation
- super.setBackgroundDrawable(mBackgroundDrawable);
- }
-
- /**
- * @return the largest corner radius.
- */
- public float getCornerRadius() {
- return getMaxCornerRadius();
- }
-
- /**
- * @return the largest corner radius.
- */
- public float getMaxCornerRadius() {
- float maxRadius = 0;
- for (float r : mCornerRadii) {
- maxRadius = Math.max(r, maxRadius);
- }
- return maxRadius;
- }
-
- /**
- * Get the corner radius of a specified corner.
- *
- * @param corner the corner.
- * @return the radius.
- */
- public float getCornerRadius(@Corner int corner) {
- return mCornerRadii[corner];
- }
-
- /**
- * Set all the corner radii from a dimension resource id.
- *
- * @param resId dimension resource id of radii.
- */
- public void setCornerRadiusDimen(@DimenRes int resId) {
- float radius = getResources().getDimension(resId);
- setCornerRadius(radius, radius, radius, radius);
- }
-
- /**
- * Set the corner radius of a specific corner from a dimension resource id.
- *
- * @param corner the corner to set.
- * @param resId the dimension resource id of the corner radius.
- */
- public void setCornerRadiusDimen(@Corner int corner, @DimenRes int resId) {
- setCornerRadius(corner, getResources().getDimensionPixelSize(resId));
- }
-
- /**
- * Set the corner radii of all corners in px.
- *
- * @param radius the radius to set.
- */
- public void setCornerRadius(float radius) {
- setCornerRadius(radius, radius, radius, radius);
- }
-
- /**
- * Set the corner radius of a specific corner in px.
- *
- * @param corner the corner to set.
- * @param radius the corner radius to set in px.
- */
- public void setCornerRadius(@Corner int corner, float radius) {
- if (mCornerRadii[corner] == radius) {
- return;
- }
- mCornerRadii[corner] = radius;
-
- updateDrawableAttrs();
- updateBackgroundDrawableAttrs(false);
- invalidate();
- }
-
- /**
- * Set the corner radii of each corner individually. Currently only one unique nonzero value is
- * supported.
- *
- * @param topLeft radius of the top left corner in px.
- * @param topRight radius of the top right corner in px.
- * @param bottomRight radius of the bottom right corner in px.
- * @param bottomLeft radius of the bottom left corner in px.
- */
- public void setCornerRadius(float topLeft, float topRight, float bottomLeft, float bottomRight) {
- if (mCornerRadii[Corner.TOP_LEFT] == topLeft
- && mCornerRadii[Corner.TOP_RIGHT] == topRight
- && mCornerRadii[Corner.BOTTOM_RIGHT] == bottomRight
- && mCornerRadii[Corner.BOTTOM_LEFT] == bottomLeft) {
- return;
- }
-
- mCornerRadii[Corner.TOP_LEFT] = topLeft;
- mCornerRadii[Corner.TOP_RIGHT] = topRight;
- mCornerRadii[Corner.BOTTOM_LEFT] = bottomLeft;
- mCornerRadii[Corner.BOTTOM_RIGHT] = bottomRight;
-
- updateDrawableAttrs();
- updateBackgroundDrawableAttrs(false);
- invalidate();
- }
-
- public float getBorderWidth() {
- return mBorderWidth;
- }
-
- public void setBorderWidth(@DimenRes int resId) {
- setBorderWidth(getResources().getDimension(resId));
- }
-
- public void setBorderWidth(float width) {
- if (mBorderWidth == width) { return; }
-
- mBorderWidth = width;
- updateDrawableAttrs();
- updateBackgroundDrawableAttrs(false);
- invalidate();
- }
-
- @ColorInt
- public int getBorderColor() {
- return mBorderColor.getDefaultColor();
- }
-
- public void setBorderColor(@ColorInt int color) {
- setBorderColor(ColorStateList.valueOf(color));
- }
-
- public ColorStateList getBorderColors() {
- return mBorderColor;
- }
-
- public void setBorderColor(ColorStateList colors) {
- if (mBorderColor.equals(colors)) { return; }
-
- mBorderColor =
- (colors != null) ? colors : ColorStateList.valueOf(RoundedDrawable.DEFAULT_BORDER_COLOR);
- updateDrawableAttrs();
- updateBackgroundDrawableAttrs(false);
- if (mBorderWidth > 0) {
- invalidate();
- }
- }
-
- /**
- * Return true if this view should be oval and always set corner radii to half the height or
- * width.
- *
- * @return if this {@link RoundedImageView} is set to oval.
- */
- public boolean isOval() {
- return mIsOval;
- }
-
- /**
- * Set if the drawable should ignore the corner radii set and always round the source to
- * exactly half the height or width.
- *
- * @param oval if this {@link RoundedImageView} should be oval.
- */
- public void setOval(boolean oval) {
- mIsOval = oval;
- updateDrawableAttrs();
- updateBackgroundDrawableAttrs(false);
- invalidate();
- }
-
- public Shader.TileMode getTileModeX() {
- return mTileModeX;
- }
-
- public void setTileModeX(Shader.TileMode tileModeX) {
- if (this.mTileModeX == tileModeX) { return; }
-
- this.mTileModeX = tileModeX;
- updateDrawableAttrs();
- updateBackgroundDrawableAttrs(false);
- invalidate();
- }
-
- public Shader.TileMode getTileModeY() {
- return mTileModeY;
- }
-
- public void setTileModeY(Shader.TileMode tileModeY) {
- if (this.mTileModeY == tileModeY) { return; }
-
- this.mTileModeY = tileModeY;
- updateDrawableAttrs();
- updateBackgroundDrawableAttrs(false);
- invalidate();
- }
-
- /**
- * If {@code true}, we will also round the background drawable according to the settings on this
- * ImageView.
- *
- * @return whether the background is mutated.
- */
- public boolean mutatesBackground() {
- return mMutateBackground;
- }
-
- /**
- * Set whether the {@link RoundedImageView} should round the background drawable according to
- * the settings in addition to the source drawable.
- *
- * @param mutate true if this view should mutate the background drawable.
- */
- public void mutateBackground(boolean mutate) {
- if (mMutateBackground == mutate) { return; }
-
- mMutateBackground = mutate;
- updateBackgroundDrawableAttrs(true);
- invalidate();
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/ScrollingTextView.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/ScrollingTextView.java
deleted file mode 100644
index 0ab1abb4fc..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/ScrollingTextView.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.mogo.module.media.widget;
-
-import android.content.Context;
-import android.graphics.Rect;
-import android.util.AttributeSet;
-
-import androidx.appcompat.widget.AppCompatTextView;
-
-public class ScrollingTextView extends AppCompatTextView {
- public ScrollingTextView(Context context, AttributeSet attrs, int defStyle) {
- super(context, attrs, defStyle);
- }
-
- public ScrollingTextView(Context context, AttributeSet attrs) {
- super(context, attrs);
- }
-
- public ScrollingTextView(Context context) {
- super(context);
- }
-
- @Override
- protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) {
- if (focused)
- super.onFocusChanged(focused, direction, previouslyFocusedRect);
- }
-
- @Override
- public void onWindowFocusChanged(boolean focused) {
- if (focused)
- super.onWindowFocusChanged(focused);
- }
-
- @Override
- public boolean isFocused() {
- return true;
- }
-}
-
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/surfaceview/BaseSurfaceView.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/surfaceview/BaseSurfaceView.java
deleted file mode 100644
index fd9ddfd6f1..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/surfaceview/BaseSurfaceView.java
+++ /dev/null
@@ -1,181 +0,0 @@
-package com.mogo.module.media.widget.surfaceview;
-
-import android.content.Context;
-import android.graphics.Canvas;
-import android.graphics.PixelFormat;
-import android.os.Handler;
-import android.os.HandlerThread;
-import android.os.Looper;
-import android.os.Message;
-import android.util.AttributeSet;
-import android.util.Log;
-import android.view.SurfaceHolder;
-import android.view.SurfaceView;
-
-public abstract class BaseSurfaceView extends SurfaceView implements SurfaceHolder.Callback {
- public static final int DEFAULT_FRAME_DURATION_MILLISECOND = 50;
-
- private HandlerThread handlerThread;
- private SurfaceViewHandler handler;
- protected int frameDuration = DEFAULT_FRAME_DURATION_MILLISECOND;
- private Canvas canvas;
- private boolean isAlive;
- public boolean pause = false;
-
- public BaseSurfaceView(Context context) {
- super(context);
- init();
- }
-
- public BaseSurfaceView(Context context, AttributeSet attrs) {
- super(context, attrs);
- init();
- }
-
- public BaseSurfaceView(Context context, AttributeSet attrs, int defStyleAttr) {
- super(context, attrs, defStyleAttr);
- init();
- }
-
- protected int getFrameDuration() {
- return frameDuration;
- }
-
- protected void setFrameDuration(int frameDuration) {
- this.frameDuration = frameDuration;
- }
-
- protected void init() {
- getHolder().addCallback(this);
- setBackgroundTransparent();
- }
-
- private void setBackgroundTransparent() {
- setZOrderOnTop(false);
- setZOrderMediaOverlay(true);
- getHolder().setFormat(PixelFormat.TRANSLUCENT);
- }
-
- @Override
- public void surfaceCreated(SurfaceHolder holder) {
- isAlive = true;
- startDrawThread();
- }
-
- @Override
- public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
-
- }
-
- @Override
- public void surfaceDestroyed(SurfaceHolder holder) {
- stopDrawThread();
- isAlive = false;
- }
-
- public void stopDrawThread() {
- handlerThread.quit();
- handler.removeCallbacksAndMessages(null);
- handler = null;
- }
-
- public void startDrawThread() {
- handlerThread = new HandlerThread("SurfaceViewThread");
- handlerThread.start();
- handler = new SurfaceViewHandler(handlerThread.getLooper());
- handler.post(new DrawRunnable());
- }
-
- @Override
- protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
- super.onMeasure(widthMeasureSpec, heightMeasureSpec);
- int widthMode = MeasureSpec.getMode(widthMeasureSpec);
- int heightMode = MeasureSpec.getMode(heightMeasureSpec);
- int originWidth = getMeasuredWidth();
- int originHeight = getMeasuredHeight();
- int width = widthMode == MeasureSpec.AT_MOST ? getDefaultWidth() : originWidth;
- int height = heightMode == MeasureSpec.AT_MOST ? getDefaultHeight() : originHeight;
- setMeasuredDimension(width, height);
- Log.v("ttaylor", "BaseSurfaceView.onMeasure()" + " default Width=" + getDefaultWidth() + " default height=" + getDefaultHeight());
- }
-
- /**
- * the width is used when wrap_content is set to layout_width
- * the child knows how big it should be
- *
- * @return
- */
- protected abstract int getDefaultWidth();
-
- /**
- * the height is used when wrap_content is set to layout_height
- * the child knows how big it should be
- *
- * @return
- */
- protected abstract int getDefaultHeight();
-
-
- private class SurfaceViewHandler extends Handler {
-
- public SurfaceViewHandler(Looper looper) {
- super(looper);
- }
-
- @Override
- public void handleMessage(Message msg) {
- super.handleMessage(msg);
- }
- }
-
- private class DrawRunnable implements Runnable {
-
- @Override
- public void run() {
- if (!isAlive) {
- return;
- }
- try {
- canvas = getHolder().lockCanvas();
- onFrameDraw(canvas);
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- getHolder().unlockCanvasAndPost(canvas);
- onFrameDrawFinish();
- }
-
- // TODO: 2019-05-08 stop the drawing thread
- if (handler != null && !pause){
- handler.postDelayed(this, frameDuration);
- }
-
- }
- }
-
- public void setPause(boolean pause){
- this.pause = pause;
- }
-
- public boolean getPause(){
- return this.pause;
- }
-
- public void reStartDrawRunnable(){
- if (handler != null){
- handler.post(new DrawRunnable());
- }
- }
-
- /**
- * it is will be invoked after one frame is drawn
- */
- protected abstract void onFrameDrawFinish();
-
- /**
- * draw one frame to the surface by canvas
- *
- * @param canvas
- */
- protected abstract void onFrameDraw(Canvas canvas);
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/surfaceview/BaseTextureView.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/surfaceview/BaseTextureView.java
deleted file mode 100644
index 2a722748a8..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/surfaceview/BaseTextureView.java
+++ /dev/null
@@ -1,182 +0,0 @@
-package com.mogo.module.media.widget.surfaceview;
-
-import android.content.Context;
-import android.graphics.Canvas;
-import android.graphics.SurfaceTexture;
-import android.os.Handler;
-import android.os.HandlerThread;
-import android.os.Looper;
-import android.os.Message;
-import android.util.AttributeSet;
-import android.util.Log;
-import android.view.TextureView;
-
-public abstract class BaseTextureView extends TextureView implements TextureView.SurfaceTextureListener {
- public static final int DEFAULT_FRAME_DURATION_MILLISECOND = 50;
-
- private HandlerThread handlerThread;
- private SurfaceViewHandler handler;
- protected int frameDuration = DEFAULT_FRAME_DURATION_MILLISECOND;
- private Canvas canvas;
- private boolean isAlive;
- public boolean pause = false;
-
- public BaseTextureView(Context context) {
- super(context);
- init();
- }
-
- public BaseTextureView(Context context, AttributeSet attrs) {
- super(context, attrs);
- init();
- }
-
- public BaseTextureView(Context context, AttributeSet attrs, int defStyleAttr) {
- super(context, attrs, defStyleAttr);
- init();
- }
-
- protected int getFrameDuration() {
- return frameDuration;
- }
-
- protected void setFrameDuration(int frameDuration) {
- this.frameDuration = frameDuration;
- }
-
- protected void init() {
- setOpaque(false);//设置背景透明,记住这里是[是否不透明]
- setSurfaceTextureListener(this);//设置监听
- }
-
- @Override
- public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {
- //当TextureView初始化时调用
- isAlive = true;
- startDrawThread();
- }
-
- @Override
- public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) {
- //当TextureView的大小改变时调用
- }
-
- @Override
- public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {
- //当TextureView被销毁时调用
- stopDrawThread();
- isAlive = false;
- return true;
- }
-
- @Override
- public void onSurfaceTextureUpdated(SurfaceTexture surface) {
- //当TextureView更新时调用,也就是当我们调用unlockCanvasAndPost方法时
- }
-
- public void stopDrawThread() {
- handlerThread.quit();
- handler.removeCallbacksAndMessages(null);
- handler = null;
- }
-
- public void startDrawThread() {
- handlerThread = new HandlerThread("SurfaceViewThread");
- handlerThread.start();
- handler = new SurfaceViewHandler(handlerThread.getLooper());
- handler.post(new DrawRunnable());
- }
-
- @Override
- protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
- super.onMeasure(widthMeasureSpec, heightMeasureSpec);
- int widthMode = MeasureSpec.getMode(widthMeasureSpec);
- int heightMode = MeasureSpec.getMode(heightMeasureSpec);
- int originWidth = getMeasuredWidth();
- int originHeight = getMeasuredHeight();
- int width = widthMode == MeasureSpec.AT_MOST ? getDefaultWidth() : originWidth;
- int height = heightMode == MeasureSpec.AT_MOST ? getDefaultHeight() : originHeight;
- setMeasuredDimension(width, height);
- Log.v("ttaylor", "BaseSurfaceView.onMeasure()" + " default Width=" + getDefaultWidth() + " default height=" + getDefaultHeight());
- }
-
- /**
- * the width is used when wrap_content is set to layout_width
- * the child knows how big it should be
- *
- * @return
- */
- protected abstract int getDefaultWidth();
-
- /**
- * the height is used when wrap_content is set to layout_height
- * the child knows how big it should be
- *
- * @return
- */
- protected abstract int getDefaultHeight();
-
-
- private class SurfaceViewHandler extends Handler {
-
- public SurfaceViewHandler(Looper looper) {
- super(looper);
- }
-
- @Override
- public void handleMessage(Message msg) {
- super.handleMessage(msg);
- }
- }
-
- private class DrawRunnable implements Runnable {
-
- @Override
- public void run() {
- if (!isAlive) {
- return;
- }
- try {
- canvas = lockCanvas();
- onFrameDraw(canvas);
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- unlockCanvasAndPost(canvas);
- onFrameDrawFinish();
- }
-
- if (handler != null && !pause){
- handler.postDelayed(this, frameDuration);
- }
-
- }
- }
-
- public void setPause(boolean pause){
- this.pause = pause;
- }
-
- public boolean getPause(){
- return this.pause;
- }
-
- public void reStartDrawRunnable(){
- pause = false;
- if (handler != null){
- handler.post(new DrawRunnable());
- }
- }
-
- /**
- * it is will be invoked after one frame is drawn
- */
- protected abstract void onFrameDrawFinish();
-
- /**
- * draw one frame to the surface by canvas
- *
- * @param canvas
- */
- protected abstract void onFrameDraw(Canvas canvas);
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/surfaceview/FrameSurfaceView.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/surfaceview/FrameSurfaceView.java
deleted file mode 100644
index d2dc94e252..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/surfaceview/FrameSurfaceView.java
+++ /dev/null
@@ -1,396 +0,0 @@
-package com.mogo.module.media.widget.surfaceview;
-
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.Paint;
-import android.graphics.PorterDuff;
-import android.graphics.PorterDuffXfermode;
-import android.graphics.Rect;
-import android.os.Handler;
-import android.os.HandlerThread;
-import android.util.AttributeSet;
-
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * a SurfaceView which draws bitmaps one after another like frame animation
- */
-public class FrameSurfaceView extends BaseSurfaceView {
- public static final int INVALID_INDEX = Integer.MAX_VALUE;
- private int bufferSize = 3;
- public static final String DECODE_THREAD_NAME = "DecodingThread";
- public static final int INFINITE = -1;
- //-1 means repeat infinitely
- private int repeatTimes;
- private int repeatedCount;
-
- /**
- * the resources of frame animation
- */
- private List bitmapIds = new ArrayList<>();
- /**
- * the index of bitmap resource which is decoding
- */
- private int bitmapIdIndex;
- /**
- * the index of frame which is drawing
- */
- private int frameIndex = INVALID_INDEX;
- /**
- * decoded bitmaps stores in this queue
- * consumer is drawing thread, producer is decoding thread.
- */
- private LinkedBlockingQueue decodedBitmaps = new LinkedBlockingQueue(bufferSize);
- /**
- * bitmaps already drawn by canvas stores in this queue
- * consumer is decoding thread, producer is drawing thread.
- */
- private LinkedBlockingQueue drawnBitmaps = new LinkedBlockingQueue(bufferSize);
- /**
- * the thread for decoding bitmaps
- */
- private HandlerThread decodeThread;
- /**
- * the Runnable describes how to decode one bitmap
- */
- private DecodeRunnable decodeRunnable;
- /**
- * this handler helps to decode bitmap one after another
- */
- private Handler handler;
- private BitmapFactory.Options options;
- private Paint paint = new Paint();
- private Rect srcRect;
- private Rect dstRect = new Rect();
- private int defaultWidth;
- private int defaultHeight;
-
- public FrameSurfaceView(Context context) {
- super(context);
- }
-
- public FrameSurfaceView(Context context, AttributeSet attrs) {
- super(context, attrs);
- }
-
- public FrameSurfaceView(Context context, AttributeSet attrs, int defStyleAttr) {
- super(context, attrs, defStyleAttr);
- }
-
- public void setRepeatTimes(int repeatTimes) {
- this.repeatTimes = repeatTimes;
- }
-
- @Override
- protected void init() {
- super.init();
- options = new BitmapFactory.Options();
- options.inMutable = true;
- decodeThread = new HandlerThread(DECODE_THREAD_NAME);
- }
-
- @Override
- protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
- super.onLayout(changed, left, top, right, bottom);
- dstRect.set(0, 0, getWidth(), getHeight());
- }
-
- @Override
- protected int getDefaultWidth() {
- return defaultWidth;
- }
-
- @Override
- protected int getDefaultHeight() {
- return defaultHeight;
- }
-
- @Override
- protected void onFrameDrawFinish() {
- }
-
- /**
- * set the duration of frame animation
- *
- * @param duration time in milliseconds
- */
- public void setDuration(int duration) {
- int frameDuration = duration / bitmapIds.size();
- setFrameDuration(frameDuration);
- }
-
- /**
- * set the materials of frame animation which is an array of bitmap resource id
- *
- * @param bitmapIds an array of bitmap resource id
- */
- public void setBitmapIds(List bitmapIds) {
- if (bitmapIds == null || bitmapIds.size() == 0) {
- return;
- }
- this.bitmapIds = bitmapIds;
- //by default, take the first bitmap's dimension into consideration
- getBitmapDimension(bitmapIds.get(bitmapIdIndex));
- preloadFrames();
- decodeRunnable = new DecodeRunnable(bitmapIdIndex, bitmapIds, options);
- }
-
- private void getBitmapDimension(int bitmapId) {
- final BitmapFactory.Options options = new BitmapFactory.Options();
- options.inJustDecodeBounds = true;
- BitmapFactory.decodeResource(this.getResources(), bitmapId, options);
- defaultWidth = options.outWidth;
- defaultHeight = options.outHeight;
- srcRect = new Rect(0, 0, defaultWidth, defaultHeight);
- //we have to re-measure to make defaultWidth in use in onMeasure()
- requestLayout();
- }
-
- /**
- * load the first several frames of animation before it is started
- */
- private void preloadFrames() {
- putDecodedBitmap(bitmapIds.get(bitmapIdIndex++), options, new LinkedBitmap());
- putDecodedBitmap(bitmapIds.get(bitmapIdIndex++), options, new LinkedBitmap());
- }
-
- /**
- * recycle the bitmap used by frame animation.
- * Usually it should be invoked when the ui of frame animation is no longer visible
- */
- public void destroy() {
- if (drawnBitmaps != null) {
- drawnBitmaps.clear();
- }
- if (decodeThread != null) {
- decodeThread.quit();
- decodeThread = null;
- }
- if (handler != null) {
- handler = null;
- }
- }
-
- @Override
- protected void onFrameDraw(Canvas canvas) {
- clearCanvas(canvas);
- if (!isStart()) {
- return;
- }
- if (!isFinish()) {
- drawOneFrame(canvas);
- } else {
- onFrameAnimationEnd();
- if (repeatTimes != 0 && repeatTimes == INFINITE) {
- start();
- } else if (repeatedCount < repeatTimes) {
- start();
- repeatedCount++;
- } else {
- repeatedCount = 0;
- }
- }
- }
-
- /**
- * draw a single frame which is a bitmap
- *
- * @param canvas
- */
- private void drawOneFrame(Canvas canvas) {
- try {
- LinkedBitmap linkedBitmap = getDecodedBitmap();
- if (linkedBitmap != null) {
- canvas.drawBitmap(linkedBitmap.bitmap, srcRect, dstRect, paint);
- }
- putDrawnBitmap(linkedBitmap);
- frameIndex++;
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- /**
- * invoked when frame animation is done
- */
- private void onFrameAnimationEnd() {
- reset();
- }
-
- /**
- * reset the index of frame, preparing for the next frame animation
- */
- private void reset() {
- frameIndex = INVALID_INDEX;
- }
-
- /**
- * whether frame animation is finished
- *
- * @return true: animation is finished, false: animation is doing
- */
- private boolean isFinish() {
- return frameIndex >= bitmapIds.size() - 1;
- }
-
- /**
- * whether frame animation is started
- *
- * @return true: animation is started, false: animation is not started
- */
- private boolean isStart() {
- return frameIndex != INVALID_INDEX;
- }
-
- /**
- * start frame animation from the first frame
- */
- public void start() {
- frameIndex = 0;
- if (decodeThread == null) {
- decodeThread = new HandlerThread(DECODE_THREAD_NAME);
- }
- if (!decodeThread.isAlive()) {
- decodeThread.start();
- }
- if (handler == null) {
- handler = new Handler(decodeThread.getLooper());
- }
- if (decodeRunnable != null) {
- decodeRunnable.setIndex(0);
- }
- handler.post(decodeRunnable);
- }
-
- public void pause(){
- setPause(true);
- }
-
- public void start(boolean restart){
- if (restart){
- if (frameIndex == INVALID_INDEX ){
- start();
- }else{
- if (getPause()){
- setPause(false);
- reStartDrawRunnable();
- }else{
- start();
- }
- }
- }else{
- start();
- }
- }
-
- /**
- * clear out the drawing on canvas,preparing for the next frame
- * * @param canvas
- */
- private void clearCanvas(Canvas canvas) {
- paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
- canvas.drawPaint(paint);
- paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC));
- }
-
- /**
- * decode bitmap by BitmapFactory.decodeStream(), it is about twice faster than BitmapFactory.decodeResource()
- *
- * @param resId the bitmap resource
- * @param options
- * @return
- */
- private Bitmap decodeBitmap(int resId, BitmapFactory.Options options) {
- options.inScaled = false;
- InputStream inputStream = getResources().openRawResource(resId);
- return BitmapFactory.decodeStream(inputStream, null, options);
- }
-
- private void putDecodedBitmapByReuse(int resId, BitmapFactory.Options options) {
- LinkedBitmap linkedBitmap = getDrawnBitmap();
- if (linkedBitmap == null) {
- linkedBitmap = new LinkedBitmap();
- }
- options.inBitmap = linkedBitmap.bitmap;
- putDecodedBitmap(resId, options, linkedBitmap);
- }
-
- private void putDecodedBitmap(int resId, BitmapFactory.Options options, LinkedBitmap linkedBitmap) {
- Bitmap bitmap = decodeBitmap(resId, options);
- linkedBitmap.bitmap = bitmap;
- try {
- decodedBitmaps.put(linkedBitmap);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
-
- private void putDrawnBitmap(LinkedBitmap bitmap) {
- if (bitmap == null)return;
- drawnBitmaps.offer(bitmap);
- }
-
- /**
- * get bitmap which already drawn by canvas
- *
- * @return
- */
- private LinkedBitmap getDrawnBitmap() {
- LinkedBitmap bitmap = null;
- try {
- bitmap = drawnBitmaps.take();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- return bitmap;
- }
-
- /**
- * get decoded bitmap in the decoded bitmap queue
- * it might block due to new bitmap is not ready
- *
- * @return
- */
- private LinkedBitmap getDecodedBitmap() {
- LinkedBitmap bitmap = null;
- try {
- bitmap = decodedBitmaps.take();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- return bitmap;
- }
-
- private class DecodeRunnable implements Runnable {
-
- private int index;
- private List bitmapIds;
- private BitmapFactory.Options options;
-
- public DecodeRunnable(int index, List bitmapIds, BitmapFactory.Options options) {
- this.index = index;
- this.bitmapIds = bitmapIds;
- this.options = options;
- }
-
- public void setIndex(int index) {
- this.index = index;
- }
-
- @Override
- public void run() {
- putDecodedBitmapByReuse(bitmapIds.get(index), options);
- index++;
- if (index < bitmapIds.size()) {
- handler.post(this);
- } else {
- index = 0;
- }
- }
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/surfaceview/FrameTextureView.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/surfaceview/FrameTextureView.java
deleted file mode 100644
index 9af3fda6fa..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/surfaceview/FrameTextureView.java
+++ /dev/null
@@ -1,386 +0,0 @@
-package com.mogo.module.media.widget.surfaceview;
-
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.graphics.Canvas;
-import android.graphics.Paint;
-import android.graphics.PorterDuff;
-import android.graphics.PorterDuffXfermode;
-import android.graphics.Rect;
-import android.os.Handler;
-import android.os.HandlerThread;
-import android.util.AttributeSet;
-
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * a SurfaceView which draws bitmaps one after another like frame animation
- */
-public class FrameTextureView extends BaseTextureView {
- public static final int INVALID_INDEX = Integer.MAX_VALUE;
- private int bufferSize = 3;
- public static final String DECODE_THREAD_NAME = "DecodingThread";
- public static final int INFINITE = -1;
- //-1 means repeat infinitely
- private int repeatTimes;
- private int repeatedCount;
-
- /**
- * the resources of frame animation
- */
- private List bitmapIds = new ArrayList<>();
- /**
- * the index of bitmap resource which is decoding
- */
- private int bitmapIdIndex;
- /**
- * the index of frame which is drawing
- */
- private int frameIndex = INVALID_INDEX;
- /**
- * decoded bitmaps stores in this queue
- * consumer is drawing thread, producer is decoding thread.
- */
- private LinkedBlockingQueue decodedBitmaps = new LinkedBlockingQueue(bufferSize);
- /**
- * bitmaps already drawn by canvas stores in this queue
- * consumer is decoding thread, producer is drawing thread.
- */
- private LinkedBlockingQueue drawnBitmaps = new LinkedBlockingQueue(bufferSize);
- /**
- * the thread for decoding bitmaps
- */
- private HandlerThread decodeThread;
- /**
- * the Runnable describes how to decode one bitmap
- */
- private DecodeRunnable decodeRunnable;
- /**
- * this handler helps to decode bitmap one after another
- */
- private Handler handler;
- private BitmapFactory.Options options;
- private Paint paint = new Paint();
- private Rect srcRect;
- private Rect dstRect = new Rect();
- private int defaultWidth;
- private int defaultHeight;
-
- public FrameTextureView(Context context) {
- super(context);
- }
-
- public FrameTextureView(Context context, AttributeSet attrs) {
- super(context, attrs);
- }
-
- public FrameTextureView(Context context, AttributeSet attrs, int defStyleAttr) {
- super(context, attrs, defStyleAttr);
- }
-
- public void setRepeatTimes(int repeatTimes) {
- this.repeatTimes = repeatTimes;
- }
-
- @Override
- protected void init() {
- super.init();
- options = new BitmapFactory.Options();
- options.inMutable = true;
- decodeThread = new HandlerThread(DECODE_THREAD_NAME);
- }
-
- @Override
- protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
- super.onLayout(changed, left, top, right, bottom);
- dstRect.set(0, 0, getWidth(), getHeight());
- }
-
- @Override
- protected int getDefaultWidth() {
- return defaultWidth;
- }
-
- @Override
- protected int getDefaultHeight() {
- return defaultHeight;
- }
-
- @Override
- protected void onFrameDrawFinish() {
- }
-
- /**
- * set the duration of frame animation
- *
- * @param duration time in milliseconds
- */
- public void setDuration(int duration) {
- int frameDuration = duration / bitmapIds.size();
- setFrameDuration(frameDuration);
- }
-
- /**
- * set the materials of frame animation which is an array of bitmap resource id
- *
- * @param bitmapIds an array of bitmap resource id
- */
- public void setBitmapIds(List bitmapIds) {
- if (bitmapIds == null || bitmapIds.size() == 0) {
- return;
- }
- this.bitmapIds = bitmapIds;
- //by default, take the first bitmap's dimension into consideration
- getBitmapDimension(bitmapIds.get(bitmapIdIndex));
- preloadFrames();
- decodeRunnable = new DecodeRunnable(bitmapIdIndex, bitmapIds, options);
- }
-
- private void getBitmapDimension(int bitmapId) {
- final BitmapFactory.Options options = new BitmapFactory.Options();
- options.inJustDecodeBounds = true;
- BitmapFactory.decodeResource(this.getResources(), bitmapId, options);
- defaultWidth = options.outWidth;
- defaultHeight = options.outHeight;
- srcRect = new Rect(0, 0, defaultWidth, defaultHeight);
- //we have to re-measure to make defaultWidth in use in onMeasure()
- requestLayout();
- }
-
- /**
- * load the first several frames of animation before it is started
- */
- private void preloadFrames() {
- putDecodedBitmap(bitmapIds.get(bitmapIdIndex++), options, new LinkedBitmap());
- putDecodedBitmap(bitmapIds.get(bitmapIdIndex++), options, new LinkedBitmap());
- }
-
- /**
- * recycle the bitmap used by frame animation.
- * Usually it should be invoked when the ui of frame animation is no longer visible
- */
- public void destroy() {
- if (drawnBitmaps != null) {
- drawnBitmaps.clear();
- }
- if (decodeThread != null) {
- decodeThread.quit();
- decodeThread = null;
- }
- if (handler != null) {
- handler = null;
- }
- }
-
- @Override
- protected void onFrameDraw(Canvas canvas) {
- clearCanvas(canvas);
- if (!isStart()) {
- return;
- }
- if (!isFinish()) {
- drawOneFrame(canvas);
- } else {
- onFrameAnimationEnd();
- if (repeatTimes != 0 && repeatTimes == INFINITE) {
- start();
- } else if (repeatedCount < repeatTimes) {
- start();
- repeatedCount++;
- } else {
- repeatedCount = 0;
- }
- }
- }
-
- /**
- * draw a single frame which is a bitmap
- *
- * @param canvas
- */
- private void drawOneFrame(Canvas canvas) {
- LinkedBitmap linkedBitmap = getDecodedBitmap();
- if (linkedBitmap != null) {
- canvas.drawBitmap(linkedBitmap.bitmap, srcRect, dstRect, paint);
- }
- putDrawnBitmap(linkedBitmap);
- frameIndex++;
- }
-
- /**
- * invoked when frame animation is done
- */
- private void onFrameAnimationEnd() {
- reset();
- }
-
- /**
- * reset the index of frame, preparing for the next frame animation
- */
- private void reset() {
- frameIndex = INVALID_INDEX;
- }
-
- /**
- * whether frame animation is finished
- *
- * @return true: animation is finished, false: animation is doing
- */
- private boolean isFinish() {
- return frameIndex >= bitmapIds.size() - 1;
- }
-
- /**
- * whether frame animation is started
- *
- * @return true: animation is started, false: animation is not started
- */
- private boolean isStart() {
- return frameIndex != INVALID_INDEX;
- }
-
- /**
- * start frame animation from the first frame
- */
- public void start() {
- pause = false;
- frameIndex = 0;
- if (decodeThread == null) {
- decodeThread = new HandlerThread(DECODE_THREAD_NAME);
- }
- if (!decodeThread.isAlive()) {
- decodeThread.start();
- }
- if (handler == null) {
- handler = new Handler(decodeThread.getLooper());
- }
- if (decodeRunnable != null) {
- decodeRunnable.setIndex(0);
- }
- handler.post(decodeRunnable);
- }
-
- public void pause(){
- setPause(true);
- }
-
- public void start(boolean restart){
- if (restart){
- if (!isStart() || !getPause()){
- start();
- }else{
- reStartDrawRunnable();
- }
- }else{
- start();
- }
- }
-
- /**
- * clear out the drawing on canvas,preparing for the next frame
- * * @param canvas
- */
- private void clearCanvas(Canvas canvas) {
- paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
- canvas.drawPaint(paint);
- paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC));
- }
-
- /**
- * decode bitmap by BitmapFactory.decodeStream(), it is about twice faster than BitmapFactory.decodeResource()
- *
- * @param resId the bitmap resource
- * @param options
- * @return
- */
- private Bitmap decodeBitmap(int resId, BitmapFactory.Options options) {
- options.inScaled = false;
- InputStream inputStream = getResources().openRawResource(resId);
- return BitmapFactory.decodeStream(inputStream, null, options);
- }
-
- private void putDecodedBitmapByReuse(int resId, BitmapFactory.Options options) {
- LinkedBitmap linkedBitmap = getDrawnBitmap();
- if (linkedBitmap == null) {
- linkedBitmap = new LinkedBitmap();
- }
- options.inBitmap = linkedBitmap.bitmap;
- putDecodedBitmap(resId, options, linkedBitmap);
- }
-
- private void putDecodedBitmap(int resId, BitmapFactory.Options options, LinkedBitmap linkedBitmap) {
- Bitmap bitmap = decodeBitmap(resId, options);
- linkedBitmap.bitmap = bitmap;
- try {
- decodedBitmaps.put(linkedBitmap);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
-
- private void putDrawnBitmap(LinkedBitmap bitmap) {
- drawnBitmaps.offer(bitmap);
- }
-
- /**
- * get bitmap which already drawn by canvas
- *
- * @return
- */
- private LinkedBitmap getDrawnBitmap() {
- LinkedBitmap bitmap = null;
- try {
- bitmap = drawnBitmaps.take();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- return bitmap;
- }
-
- /**
- * get decoded bitmap in the decoded bitmap queue
- * it might block due to new bitmap is not ready
- *
- * @return
- */
- private LinkedBitmap getDecodedBitmap() {
- LinkedBitmap bitmap = null;
- try {
- bitmap = decodedBitmaps.take();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- return bitmap;
- }
-
- private class DecodeRunnable implements Runnable {
-
- private int index;
- private List bitmapIds;
- private BitmapFactory.Options options;
-
- public DecodeRunnable(int index, List bitmapIds, BitmapFactory.Options options) {
- this.index = index;
- this.bitmapIds = bitmapIds;
- this.options = options;
- }
-
- public void setIndex(int index) {
- this.index = index;
- }
-
- @Override
- public void run() {
- putDecodedBitmapByReuse(bitmapIds.get(index), options);
- index++;
- if (index < bitmapIds.size()) {
- handler.post(this);
- } else {
- index = 0;
- }
- }
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/surfaceview/LinkedBitmap.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/surfaceview/LinkedBitmap.java
deleted file mode 100644
index 0b0f4c4491..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/surfaceview/LinkedBitmap.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.mogo.module.media.widget.surfaceview;
-
-import android.graphics.Bitmap;
-
-public class LinkedBitmap {
- public Bitmap bitmap;
- public LinkedBitmap next;
-
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/surfaceview/LinkedBlockingQueue.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/surfaceview/LinkedBlockingQueue.java
deleted file mode 100644
index dc8b26a1d1..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/surfaceview/LinkedBlockingQueue.java
+++ /dev/null
@@ -1,199 +0,0 @@
-package com.mogo.module.media.widget.surfaceview;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.concurrent.locks.Condition;
-import java.util.concurrent.locks.ReentrantLock;
-
-public class LinkedBlockingQueue {
- /**
- * Current number of elements
- */
- private final AtomicInteger count = new AtomicInteger();
- /**
- * Lock held by take, poll, etc
- */
- private final ReentrantLock takeLock = new ReentrantLock();
-
- /**
- * Wait queue for waiting takes
- */
- private final Condition notEmpty = takeLock.newCondition();
-
- /**
- * Lock held by put, offer, etc
- */
- private final ReentrantLock putLock = new ReentrantLock();
-
- /**
- * Wait queue for waiting puts
- */
- private final Condition notFull = putLock.newCondition();
- /**
- * The capacity bound, or Integer.MAX_VALUE if none
- */
- private final int capacity;
- /**
- * the first element in the queue
- */
- private LinkedBitmap head;
- /**
- * the last element int the queue
- */
- private LinkedBitmap tail;
-
-
- public LinkedBlockingQueue(int capacity) {
- if (capacity <= 0) throw new IllegalArgumentException();
- this.capacity = capacity;
- }
-
- public void put(LinkedBitmap bitmap) throws InterruptedException {
- if (bitmap == null) throw new NullPointerException();
- // Note: convention in all put/take/etc is to preset local var
- // holding count negative to indicate failure unless set.
- int c = -1;
- final ReentrantLock putLock = this.putLock;
- final AtomicInteger count = this.count;
- putLock.lockInterruptibly();
- try {
- /*
- * Note that count is used in wait guard even though it is
- * not protected by lock. This works because count can
- * only decrease at this point (all other puts are shut
- * out by lock), and we (or some other waiting put) are
- * signalled if it ever changes from capacity. Similarly
- * for all other uses of count in other wait guards.
- */
- while (count.get() == capacity) {
- notFull.await();
- }
- enqueue(bitmap);
- c = count.getAndIncrement();
- if (c + 1 < capacity)
- notFull.signal();
- } finally {
- putLock.unlock();
- }
- if (c == 0)
- signalNotEmpty();
- }
-
- public boolean offer(LinkedBitmap bitmap) {
- if (bitmap == null) throw new NullPointerException();
- final AtomicInteger count = this.count;
- if (count.get() == capacity)
- return false;
- int c = -1;
- final ReentrantLock putLock = this.putLock;
- putLock.lock();
- try {
- if (count.get() < capacity) {
- enqueue(bitmap);
- c = count.getAndIncrement();
- if (c + 1 < capacity)
- notFull.signal();
- }
- } finally {
- putLock.unlock();
- }
- if (c == 0)
- signalNotEmpty();
- return c >= 0;
- }
-
- public LinkedBitmap take() throws InterruptedException {
- LinkedBitmap x;
- int c = -1;
- final AtomicInteger count = this.count;
- final ReentrantLock takeLock = this.takeLock;
- takeLock.lockInterruptibly();
- try {
- while (count.get() == 0) {
- notEmpty.await();
- }
- x = dequeue();
- c = count.getAndDecrement();
- if (c > 1)
- notEmpty.signal();
- } finally {
- takeLock.unlock();
- }
- if (c == capacity)
- signalNotFull();
- return x;
- }
-
- /**
- * insert element into the end of queue
- *
- * @param bitmap
- */
- private void enqueue(LinkedBitmap bitmap) {
- if (head == null) {
- head = bitmap;
- tail = bitmap;
- bitmap.next = null;
- } else {
- tail.next = bitmap;
- bitmap.next = null;
- }
- }
-
- /**
- * get and remove the first element of the queue
- *
- * @return
- */
- private LinkedBitmap dequeue() {
- LinkedBitmap p = head;
- if (p == null) {
- return null;
- } else {
- head = head.next;
- }
- return p;
- }
-
- /**
- * Signals a waiting take. Called only from put/offer (which do not
- * otherwise ordinarily lock takeLock.)
- */
- private void signalNotEmpty() {
- final ReentrantLock takeLock = this.takeLock;
- takeLock.lock();
- try {
- notEmpty.signal();
- } finally {
- takeLock.unlock();
- }
- }
-
- /**
- * Signals a waiting put. Called only from take/poll.
- */
- private void signalNotFull() {
- final ReentrantLock putLock = this.putLock;
- putLock.lock();
- try {
- notFull.signal();
- } finally {
- putLock.unlock();
- }
- }
-
- /**
- * recycle the bitmaps one by one
- */
- public void clear() {
- LinkedBitmap p = head;
- if (p == null) {
- return;
- }
- while (p != null) {
- if (p.bitmap != null) {
- p.bitmap.recycle();
- }
- p.bitmap = null;
- p = p.next;
- }
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/surfaceview/MethodUtil.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/surfaceview/MethodUtil.java
deleted file mode 100644
index 7ccb9dae6b..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/surfaceview/MethodUtil.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.mogo.module.media.widget.surfaceview;
-
-import android.os.SystemClock;
-import android.util.Log;
-
-public class MethodUtil {
-
- /**
- * calculate the time consumed by runnable invocation, print log in millisecond
- *
- * @param runnable
- */
- public static long time(Runnable runnable) {
- long start = SystemClock.elapsedRealtime();
- runnable.run();
- long end = SystemClock.elapsedRealtime();
- long span = end - start;
- Log.v("ttaylor", "MethodUtil.time()" + " time span = " + span + " ms");
- return span;
- }
-
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/surfaceview/NumberUtil.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/surfaceview/NumberUtil.java
deleted file mode 100644
index a4e8fc0b7d..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/surfaceview/NumberUtil.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.mogo.module.media.widget.surfaceview;
-
-import android.text.TextUtils;
-import android.util.Log;
-
-public class NumberUtil {
-
- private static long total;
- private static int times;
-
- private static String tag;
-
- /**
- * calculate the average of a series long number and print it
- * @param tag
- * @param l
- */
- public static void average(String tag, Long l) {
- if (!TextUtils.isEmpty(tag) && !tag.equals(NumberUtil.tag)) {
- reset();
- NumberUtil.tag = tag;
- }
- times++;
- total += l;
- Log.v("ttaylor", "Average.average() " + NumberUtil.tag + " average = " + (total / times));
- }
-
- private static void reset() {
- total = 0;
- times = 0;
- }
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow.java
deleted file mode 100644
index 2099f36f8f..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow.java
+++ /dev/null
@@ -1,662 +0,0 @@
-package com.mogo.module.media.window;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.ImageView;
-import android.widget.SeekBar;
-import android.widget.TextView;
-
-import com.mogo.map.marker.IMogoMarker;
-import com.mogo.module.common.entity.MarkerShareMusic;
-import com.mogo.module.common.entity.MarkerShowEntity;
-import com.mogo.module.media.MediaConstants;
-import com.mogo.module.media.R;
-import com.mogo.module.media.ServiceMediaHandler;
-import com.mogo.module.media.constants.LeTingFieldConstants;
-import com.mogo.module.media.constants.QQMusicFieldConstants;
-import com.mogo.module.media.listener.NoDoubleClickListener;
-import com.mogo.module.media.model.LanRenInsertData;
-import com.mogo.module.media.model.LeTingNewsData;
-import com.mogo.module.media.model.MediaInfoData;
-import com.mogo.module.media.model.ShareLikeData;
-import com.mogo.module.media.presenter.MediaPresenter;
-import com.mogo.module.media.receiver.MediaSpeechReceiver;
-import com.mogo.module.media.utils.MusicControlBroadCast;
-import com.mogo.module.media.utils.StorageManager;
-import com.mogo.module.media.utils.Utils;
-import com.mogo.module.media.view.MediaView;
-import com.mogo.module.media.widget.AnimCircleImageView;
-import com.mogo.utils.ActivityLifecycleManager;
-import com.mogo.utils.ThreadPoolService;
-import com.mogo.utils.UiThreadHandler;
-import com.mogo.utils.glide.GlideApp;
-import com.mogo.utils.logger.Logger;
-import com.mogo.utils.network.utils.GsonUtil;
-
-import java.util.List;
-
-public class MediaWindow implements MediaView{
-
- public static final String TAG = MediaWindow.class.getName();
- private Context mContext;
- private MediaPresenter mPresenter;
-
- private MediaWindow.MediaStateReceiver mediaStateReceiver;
- private MediaWindow.MediaProcessReceiver mediaProcessReceiver;
- private MediaWindow.PlayingMusicReceiver playingMusicReceiver;
- private MediaWindow.MediaNewsPayInfo mediaNewsPayInfo;
- private MediaInfoData mMediaInfoData;
-
- private View mWindowView;
- private AnimCircleImageView mCircleImg;
- private TextView mScrollText;
- private ImageView mWindowPlayPause;
- private ImageView mWindowPlayNext;
- private TextView mWindowCurrTime;
- private TextView mWindowMaxTime;
- private SeekBar mWindowProgress;
-
- private boolean mHasAddWindow = false;
- private boolean mTwoChange = false;
- private boolean isFirstPlay = false;
-
- private Runnable mRunnable = MusicControlBroadCast::sendGetMusicPlayStateBroadcast;
-
- public void initMedia(Context context){
- mContext = context;
- mPresenter = new MediaPresenter(this);
- registerMediaReceiver();
-
- MediaInfoData sMediaInfoData = MusicControlBroadCast.getHisMedia();
- mMediaInfoData = sMediaInfoData;
-
- if (mMediaInfoData != null && !mHasAddWindow){
- addWindowView();
- }
-
- //发送消息 如果在播放就会返回状态进行更新
- UiThreadHandler.postDelayed(new Runnable() {
- @Override
- public void run() {
- MusicControlBroadCast.sendGetMusicPlayStateBroadcast();
- }
- },300);
-
- isFirstPlay = true;
-
- }
-
-
- private void addWindowView() {
- if (ServiceMediaHandler.getMogoWindowManager() == null){
- return ;
- }
-
- if (!mHasAddWindow) {
- mHasAddWindow = true;
- mWindowView = LayoutInflater.from(mContext).inflate(R.layout.module_media_music_window_alert_layout, null);
- mWindowView.setVisibility(View.VISIBLE);
- mCircleImg = mWindowView.findViewById(R.id.window_circle_img);
- mScrollText = mWindowView.findViewById(R.id.window_scroll_txt);
- mWindowPlayPause = mWindowView.findViewById(R.id.window_play_pause);
- mWindowPlayNext = mWindowView.findViewById(R.id.window_music_next);
- mWindowCurrTime = mWindowView.findViewById(R.id.window_current_time);
- mWindowMaxTime = mWindowView.findViewById(R.id.window_max_time);
- mWindowProgress = mWindowView.findViewById(R.id.window_progress_bar);
- if (mWindowPlayPause != null){
- mWindowPlayPause.setImageResource(R.drawable.module_media_window_pop_pause);
- }
- int yPos = getContext().getResources().getDimensionPixelOffset(R.dimen.module_media_music_state_location);
- int xPos = getContext().getResources().getDimensionPixelOffset(R.dimen.module_media_music_state_location_x);
- ServiceMediaHandler.getMogoWindowManager().addView( mWindowView, xPos, yPos, false);
- updateWindowUI(true);
- mWindowView.setOnClickListener(new NoDoubleClickListener() {
- @Override
- public void onClicks(View view) {
- if (mMediaInfoData != null) {
- MusicControlBroadCast.openMediaApp(mMediaInfoData.getType());
- } else {
- MusicControlBroadCast.openMediaApp(1);
- }
- }
- });
-
- mWindowPlayPause.setOnClickListener(new NoDoubleClickListener() {
- @Override
- public void onClicks(View view) {
- if (isFirstPlay){
- if (mMediaInfoData != null){
- MusicControlBroadCast.listeningSendData(mMediaInfoData);
- }
- }else{
- if (mMediaInfoData != null) {
- MusicControlBroadCast.commandPlayPause(mMediaInfoData.getType(),mMediaInfoData.getPlayState());
- }
- }
- }
- });
-
- mWindowPlayNext.setOnClickListener(new NoDoubleClickListener() {
- @Override
- public void onClicks(View view) {
- if (mMediaInfoData != null) {
- MusicControlBroadCast.commandNext(mMediaInfoData.getType());
- }
- }
- });
- }
- }
-
- private void updateWindowUI(){
- updateWindowUI(false);
- }
-
- private void updateWindowUI(boolean first) {
- if (mWindowView == null || mMediaInfoData == null){
- return;
- }
- if (mMediaInfoData != null) {
- if (mMediaInfoData.getType() == 1 || mMediaInfoData.getType() == 2 || mMediaInfoData.getType() == 3) {
- mWindowView.setVisibility(View.VISIBLE);
- }
- } else {
- mWindowView.setVisibility(View.GONE);
- }
-
- if (mScrollText != null){
- mScrollText.setText(mMediaInfoData.getMediaName());
- }
-
- if (first || mMediaInfoData.getPlayState() == 1 || mMediaInfoData.getPlayState() == 2) {
- if (mWindowMaxTime != null){
- mWindowMaxTime.setText(Utils.calculateTime((int) mMediaInfoData.getMaxTime()));
- }
- if (mWindowCurrTime != null){
- mWindowCurrTime.setText(Utils.calculateTime((int) mMediaInfoData.getCurTime()));
- }
- }
-
- if (mCircleImg != null){
- com.bumptech.glide.request.RequestOptions options = new com.bumptech.glide.request.RequestOptions()
- .placeholder(R.drawable.module_media_share_default_icon);
- GlideApp.with(mContext).applyDefaultRequestOptions(options).load(mMediaInfoData.getMediaImg()).into(mCircleImg);
- }
-
- }
-
- @Override
- public void showSharePush(boolean show) {
-
- }
-
- @Override
- public void loadNearShareMusicSuccess(List list) {
-
- }
-
- @Override
- public void loadFriendShareMusicSuccess(List list) {
-
- }
-
- @Override
- public void loadShareLikeDataResultSuccess(ShareLikeData.ShareLikeDataResult likeDataResult, String mediaId) {
-
- }
-
- @Override
- public void likeShareSuccess() {
-
- }
-
- @Override
- public void shareSuccessResult(boolean success, MarkerShareMusic markerShareMusic) {
-
- }
-
- @Override
- public Context getContext() {
- return mContext;
- }
-
-
- private class PlayingMusicReceiver extends BroadcastReceiver{
-
- @Override
- public void onReceive(Context context, Intent intent) {
- try {
- if (intent != null){
- String mediaStr = intent.getStringExtra("mediaData");
- if (!TextUtils.isEmpty(mediaStr)){
- MediaInfoData data = (MediaInfoData) GsonUtil.arrayFromJson(mediaStr, MediaInfoData.class);
- if (data != null){
- MusicControlBroadCast.listeningSendData(data);
- }
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
-
- /**
- * 音频播放状态改变广播监听
- */
- private class MediaStateReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- //用于请求点赞数
- boolean change = false;
- boolean cancleChoose = false;
- String ttMid = "";
- if (intent != null) {
- int type = intent.getIntExtra("type", -1);
- int playState = intent.getIntExtra(QQMusicFieldConstants.playState, 0);
- Logger.d("MediaStateReceiver", "===MediaStateReceiver==playState=="+playState+" type= "+type);
- if (playState == 1) {
- isFirstPlay = false;
-
- if (mWindowPlayPause != null){
- mWindowPlayPause.setImageResource(R.drawable.module_media_window_pop_play);
- }
-
- if (mCircleImg != null){
- mCircleImg.startAnim();
- }
-
- } else {
- if (mWindowPlayPause != null){
- mWindowPlayPause.setImageResource(R.drawable.module_media_window_pop_pause);
- }
-
-
- if (mCircleImg != null){
- mCircleImg.stopAnim();
- }
-
- if (type == 1 || type == 2 || type ==3){
- UiThreadHandler.removeCallbacks(mRunnable);
- UiThreadHandler.postDelayed(mRunnable,3000);
- }
-
- }
-
- if (playState == 1 || playState == 2){
- if (type == 1) {//qq音乐
-
- int maxTime = intent.getIntExtra(QQMusicFieldConstants.maxTime, 0);
- int curTime = intent.getIntExtra(QQMusicFieldConstants.curTime, 0);
- String mediaName = intent.getStringExtra(QQMusicFieldConstants.mediaName);
- String mediaUrl = intent.getStringExtra(QQMusicFieldConstants.mediaUrl);
- String mediaSinger = intent.getStringExtra(QQMusicFieldConstants.mediaSinger);
- String mediaImgUrl = intent.getStringExtra(QQMusicFieldConstants.mediaImgUrl);
- String mediaType = intent.getStringExtra(QQMusicFieldConstants.mediaType);
- String mediaMid = intent.getStringExtra(QQMusicFieldConstants.mediaMid);
- int mediaPLayMode = intent.getIntExtra(QQMusicFieldConstants.mediaPlayMode, -1);
- boolean isLocalMedia = intent.getBooleanExtra(QQMusicFieldConstants.isLocalMedia, false);
-
- if (playState == 1 || playState == 2) {
- if (playState == 1){
- if (mMediaInfoData == null){
- change = true;
- ttMid = "";
- }else{
- ttMid = mMediaInfoData.getMediaId();
- }
- if (mMediaInfoData != null && mMediaInfoData.getMediaId() != null && !mMediaInfoData.getMediaId().equals(mediaMid)) {
- change = true;
- }
- }
- }
-
- if (mMediaInfoData == null) {
- mMediaInfoData = new MediaInfoData();
- }
- mMediaInfoData.setType(type);
- mMediaInfoData.setPlayState(playState);
- mMediaInfoData.setMaxTime(maxTime * 1000);
- mMediaInfoData.setCurTime(curTime * 1000);
- mMediaInfoData.setMediaName(mediaName);
- mMediaInfoData.setMediaUrl(mediaUrl);
- mMediaInfoData.setMediaId(mediaMid);
- mMediaInfoData.setMediaImg(mediaImgUrl);
- mMediaInfoData.setMediaSinger(mediaSinger);
- mMediaInfoData.setMediaPlayMode(mediaPLayMode);
- mMediaInfoData.setLocalMedia(isLocalMedia);
- mMediaInfoData.setMediaType(mediaType);
- mMediaInfoData.setBookInfo("");
-
- } else if (type == 2) {//懒人听书
-
- int maxTime = intent.getIntExtra(LeTingFieldConstants.maxTime, 0);
- int curTime = intent.getIntExtra(LeTingFieldConstants.curTime, 0);
-
- String mediaName = intent.getStringExtra(LeTingFieldConstants.mediaName);//章节数
- String bookInfoStr = intent.getStringExtra(LeTingFieldConstants.bookInfo);
- LanRenInsertData lanRenInsertData = GsonUtil.objectFromJson(bookInfoStr, LanRenInsertData.class);
-
- String bookName = ""; // 书名 需要从bookinfo里面取
- String cover = ""; //封面 bookinfo中取
- String bookid = "";
-
- try {
- if (lanRenInsertData != null){
- bookName = lanRenInsertData.getName(); // 书名 需要从bookinfo里面取
- cover = lanRenInsertData.getCover(); //封面 bookinfo中取
- bookid = lanRenInsertData.getBookId() + "";
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
-
-
- if (playState == 1 || playState == 2){
- if (playState == 1 || playState == 2){
- if (mMediaInfoData == null){
- change = true;
- ttMid = "";
- }else{
- ttMid = mMediaInfoData.getMediaId();
- }
- if (mMediaInfoData != null && mMediaInfoData.getMediaId() != null && !mMediaInfoData.getMediaId().equals(bookid)) {
- change = true;
- }
- }
-
- }
-
- if (mMediaInfoData == null) {
- mMediaInfoData = new MediaInfoData();
- }
- mMediaInfoData.setType(type);
- mMediaInfoData.setPlayState(playState);
- mMediaInfoData.setMaxTime(maxTime);
- mMediaInfoData.setCurTime(curTime);
- if (!TextUtils.isEmpty(bookName)){
- mMediaInfoData.setMediaName(bookName); //bookName 或者mediaName
- }else if (!TextUtils.isEmpty(mediaName)){
- mMediaInfoData.setMediaName(mediaName); //bookName 或者mediaName
- }
- mMediaInfoData.setMediaSinger(mediaName); //章节数
- mMediaInfoData.setMediaImg(cover); //书籍封面
- mMediaInfoData.setMediaId(bookid);//书籍的bookid int
- mMediaInfoData.setBookInfo(bookInfoStr);
- mMediaInfoData.setMediaUrl("");
- mMediaInfoData.setLocalMedia(false);
- mMediaInfoData.setMediaType("");
-
- } else if (type == 3) {//乐听头条
- int maxTime = intent.getIntExtra(LeTingFieldConstants.maxTime, 0);
- int curTime = intent.getIntExtra(LeTingFieldConstants.curTime, 0);
- String mediaName = intent.getStringExtra(LeTingFieldConstants.mediaName); //新闻title
- String artist = intent.getStringExtra(LeTingFieldConstants.artist); //新闻来源,赋值给singer mediaSinger
- String cover = intent.getStringExtra(LeTingFieldConstants.cover); //封面
- String bookInfo = intent.getStringExtra("news");//新闻实体
- String bookid = "";
- try {
- if (!TextUtils.isEmpty(bookInfo)){
- LeTingNewsData leTingNewsData = GsonUtil.objectFromJson(bookInfo, LeTingNewsData.class);
- if (leTingNewsData != null){
- mediaName = leTingNewsData.getTitle();
- artist = leTingNewsData.getSource();
- cover = leTingNewsData.getImage();
- bookid = leTingNewsData.getSid();
- }
-
- if (mediaName == null){
- mediaName = "";
- }
- if (artist == null){
- artist = "";
- }
- if (cover == null){
- cover = "";
- }
- if (bookid == null){
- bookid = "";
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
-
-
- if (playState == 1 || playState == 2){
- if (mMediaInfoData == null){
- change = true;
- ttMid = "";
- }else{
- ttMid = mMediaInfoData.getMediaId();
- }
- if (mMediaInfoData != null && mMediaInfoData.getMediaId() != null && !mMediaInfoData.getMediaId().equals(bookid)) {
- change = true;
- }
- }
-
- mMediaInfoData.setType(type);
- mMediaInfoData.setPlayState(playState);
- mMediaInfoData.setMaxTime(maxTime);
- mMediaInfoData.setCurTime(curTime);
- mMediaInfoData.setMediaName(mediaName); //新闻标题
- mMediaInfoData.setMediaSinger(artist); //新闻来源
- mMediaInfoData.setMediaImg(cover); //新闻封面
-
- mMediaInfoData.setMediaId(bookid);//新闻的sid
- mMediaInfoData.setBookInfo(bookInfo);
- mMediaInfoData.setMediaUrl("");
- mMediaInfoData.setLocalMedia(false);
- mMediaInfoData.setMediaType("");
-
- }
-
- try {
- if (mMediaInfoData != null && (type == 1 || type == 2)){
- ThreadPoolService.execute(new Runnable() {
- @Override
- public void run() {
- String tmData = GsonUtil.jsonFromObject(mMediaInfoData);
- StorageManager.setLastListenMediaMusic(tmData);
- Logger.d(TAG,"save"+tmData != null ? tmData:"");
- }
- });
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- //播放另外一个时去掉选中状态
- if (!ttMid.equals(mMediaInfoData.getMediaId())){
- cancleChoose = true;
- }
- if (cancleChoose && mMediaInfoData != null && (playState == 1 || playState == 2)){
- if (ServiceMediaHandler.getMarkerManager() != null){
- List< IMogoMarker > mogoMarkersList = ServiceMediaHandler.getMarkerManager().getMarkers(MediaConstants.MODULE_TYPE);
- try {
- if ( mogoMarkersList != null && mogoMarkersList.size() > 0){
- for (IMogoMarker mogoMarker : mogoMarkersList){
- if (mogoMarker != null && !mogoMarker.isDestroyed()){
- if (mogoMarker.getObject() != null && mogoMarker.getObject() instanceof MarkerShowEntity){
- MarkerShowEntity markerShowEntity = (MarkerShowEntity) mogoMarker.getObject();
- if (markerShowEntity.getBindObj() != null && markerShowEntity.getBindObj() instanceof MarkerShareMusic){
- MarkerShareMusic markerShareMusic = (MarkerShareMusic) markerShowEntity.getBindObj();
- if (markerShowEntity.isChecked() && !markerShareMusic.getMediaId().equals(mMediaInfoData.getMediaId())){
-// MapMarkerManager.getInstance().closeMarkerSelect(mogoMarker);
- break;
- }
- }
-
- }
- }
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- if (playState == 1 || playState == 2){
- if (mTwoChange){
- change = true;
- mTwoChange = false;
- }
-
-
- Logger.d(TAG,"onreceive state change = "+change+" mediaid= "+mMediaInfoData.getMediaId());
-// ifNeedRefreshMediaCard(change);
- }
-
- //pop window 弹窗
- if (mMediaInfoData != null && !TextUtils.isEmpty(mMediaInfoData.getMediaName()) && !TextUtils.isEmpty(mMediaInfoData.getMediaSinger())){
-
- if (!mHasAddWindow){
- addWindowView();
- }else{
- if (playState == 1 || playState == 2){
- updateWindowUI();
- }
- }
- }
-
- }
-
- if (playState == 1) {
- mPresenter.startedMusic(mMediaInfoData);
- } else {
- if (mMediaInfoData != null){
- mMediaInfoData.setPlayState(playState);
- }
- mPresenter.stopMusic();
- }
-
- }
- }
-
- }
-
- /**
- * 音频进度改变广播接收者
- */
- private class MediaProcessReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- if (intent != null) {
- int curTime = intent.getIntExtra("curTime", -1);
- Logger.d("MediaProcessReceiver", "===MediaProcessReceiver===="+curTime);
- UiThreadHandler.post(new Runnable() {
- @Override
- public void run() {
- if (mMediaInfoData != null) {
- if (mWindowCurrTime != null) {
- mWindowCurrTime.setText(Utils.calculateTime(curTime));
- }
- try {
- int progress = (int) ((curTime * 1.0f * 100) / (mMediaInfoData.getMaxTime() * 1.0f));
- if (mWindowProgress != null) {
- mWindowProgress.setProgress(progress);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- }
- }
- });
- }
- }
-
- }
-
- /**
- * 获取新闻是否付费
- * com.zhidao.mediacenter.ltnewsPayInfo
- */
- private class MediaNewsPayInfo extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- if (intent != null) {
- boolean playinfo = intent.getBooleanExtra("payinfo", false);
- boolean appActive = ActivityLifecycleManager.getInstance().isAppActive();
- String category = MediaSpeechReceiver.mCategoryStr;
- MediaSpeechReceiver.mCategoryStr = "";
- Logger.d(TAG," MediaNewsPayInfo "+"news "+category == null?"":category+" "+appActive);
- if (playinfo){
- if (TextUtils.isEmpty(category)){
- //打开新闻
- //播放某一类型新闻
- if (appActive){
- MusicControlBroadCast.sendPlayTypeNews("推荐");
- }else{
- MusicControlBroadCast.sendPlayTypeNewsOpenApp("推荐");
- }
- }else{
- //播放某一类型新闻
- if (appActive){
- MusicControlBroadCast.sendPlayTypeNews(category);
- }else{
- MusicControlBroadCast.sendPlayTypeNewsOpenApp(category);
- }
- }
- }else{
- MusicControlBroadCast.openMediaApp(3);
- }
- }
- }
-
- }
-
- private void registerMediaReceiver() {
- mediaStateReceiver = new MediaWindow.MediaStateReceiver();
- IntentFilter filterone = new IntentFilter();
- filterone.addAction("com.zhidao.action.MEDIA_LRTS");
- filterone.addAction("com.zhidao.action.MEDIA_LT_NEWS");
- filterone.addAction("com.qq.music.status.change");
- getContext().registerReceiver(mediaStateReceiver, filterone);
-
- mediaProcessReceiver = new MediaWindow.MediaProcessReceiver();
- IntentFilter filtertwo = new IntentFilter();
- filtertwo.addAction("com.zhidao.action.MEDIA_PROGRESS");
- getContext().registerReceiver(mediaProcessReceiver, filtertwo);
-
- playingMusicReceiver = new PlayingMusicReceiver();
- IntentFilter filterthree = new IntentFilter();
- filterthree.addAction("com.mogo.launcher.media.listening");
- getContext().registerReceiver(playingMusicReceiver, filterthree);
-
- mediaNewsPayInfo = new MediaNewsPayInfo();
- IntentFilter filterFour = new IntentFilter();
- filterFour.addAction("com.zhidao.mediacenter.ltnewsPayInfo");
- getContext().registerReceiver(mediaNewsPayInfo, filterFour);
-
- }
-
- private void unRegisterMediaReceiver() {
- getContext().unregisterReceiver(mediaProcessReceiver);
- getContext().unregisterReceiver(mediaStateReceiver);
- getContext().unregisterReceiver(playingMusicReceiver);
- getContext().unregisterReceiver(mediaNewsPayInfo);
- }
-
- private void destroy(){
- try {
- UiThreadHandler.removeCallbacks(mRunnable);
- mRunnable = null;
- unRegisterMediaReceiver();
- if (mCircleImg != null && mCircleImg.isRotationing()) {
- mCircleImg.stopAnim();
- }
-
- if (ServiceMediaHandler.getMogoWindowManager() != null){
- ServiceMediaHandler.getMogoWindowManager().removeView(mWindowView);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
-}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow2.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow2.java
deleted file mode 100644
index 42f1aa3342..0000000000
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow2.java
+++ /dev/null
@@ -1,508 +0,0 @@
-package com.mogo.module.media.window;
-
-import android.content.Context;
-import android.graphics.Color;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.FrameLayout;
-import android.widget.ImageView;
-import android.widget.SeekBar;
-import android.widget.TextView;
-
-import com.mogo.commons.debug.DebugConfig;
-import com.mogo.commons.voice.AIAssist;
-import com.mogo.commons.voice.IMogoVoiceCmdCallBack;
-import com.mogo.module.common.MogoApisHandler;
-import com.mogo.module.common.glide.SkinAbleBitmapTarget;
-import com.mogo.module.media.MediaConstants;
-import com.mogo.module.media.R;
-import com.mogo.module.media.ServiceMediaHandler;
-import com.mogo.module.media.constants.MusicConstant;
-import com.mogo.module.media.listener.NoDoubleClickListener;
-import com.mogo.module.media.model.MediaInfoData;
-import com.mogo.module.media.presenter.BaseMediaPresenter;
-import com.mogo.module.media.presenter.KwPresenter;
-import com.mogo.module.media.presenter.PresenterFactory;
-import com.mogo.module.media.utils.Utils;
-import com.mogo.module.media.view.IMusicView;
-import com.mogo.module.media.widget.AnimCircleImageView;
-import com.mogo.module.media.widget.CircleNumberProgress;
-import com.mogo.module.media.widget.PercentageRingView;
-import com.mogo.service.statusmanager.IMogoStatusChangedListener;
-import com.mogo.service.statusmanager.StatusDescriptor;
-import com.mogo.utils.WindowUtils;
-import com.mogo.utils.glide.GlideApp;
-import com.mogo.utils.logger.Logger;
-import com.tencent.wecarflow.flowoutside.sdk.FlowPlayControl;
-import com.zhidao.carchattingprovider.ICallChatResponse;
-import com.zhidao.carchattingprovider.ICallProviderResponse;
-
-/**
- * 适配爱趣听和酷我的window,通过presenter区分
- * 爱趣听使用{@link com.mogo.module.media.presenter.WeCarFlowPresenter}
- * 酷我使用{@link KwPresenter}
- *
- * @author tongchenfei
- */
-public class MediaWindow2 implements IMusicView , IMogoStatusChangedListener {
-
- public static final String TAG = MediaWindow2.class.getName();
- private Context mContext;
- private BaseMediaPresenter mPresenter;
-
- private MediaInfoData mMediaInfoData = new MediaInfoData();
-
- private View mWindowView;
- private AnimCircleImageView mCircleImg;
- private TextView mScrollText;
- private ImageView mWindowPlayPause;
- private ImageView mWindowPlayNext;
- private TextView mWindowCurrTime;
- private TextView mWindowMaxTime;
- private SeekBar mWindowProgress;
-
- private boolean mHasAddWindow = false;
- private boolean mTwoChange = false;
- private boolean isFirstPlay = false;
- private boolean mIsCallChatWindowVisible;
-
- private ICallProviderResponse mCallProviderResponse;
- private CircleNumberProgress mPercentageRingView;
-// private PercentageRingView mPercentageRingView;
- private ImageView mPauseImage;
- private AnimCircleImageView mAnimCircleImageView;
-
-
- public void initMedia(Context context) {
- mContext = context;
- mPresenter = PresenterFactory.createMusicViewPresenter(context, this);
- mPresenter.init(context);
-
- if(DebugConfig.isLauncher()) {
- AIAssist.getInstance(context).registerUnWakeupCommand("flow_we_car_stop", new String[]{"停止播放", "暂停播放"}, new IMogoVoiceCmdCallBack() {
- @Override
- public void onCmdSelected(String cmd) {
- // 简单添加暂停播放全局免唤醒词
- if ("flow_we_car_stop".equals(cmd)) {
- FlowPlayControl.getInstance().doPause();
- }
- }
- });
- }
-
- ServiceMediaHandler.getIMogoStatusManager().registerStatusChangedListener(MediaConstants.MODULE_TYPE, StatusDescriptor.ACC_STATUS, this);
- ServiceMediaHandler.getIMogoStatusManager().registerStatusChangedListener(MediaConstants.MODULE_TYPE, StatusDescriptor.VR_MODE, this);
-
- // 车聊聊才是王
- mCallProviderResponse = new ICallChatResponse(){
- @Override
- public void callWindowStatus( boolean b ) {
- Logger.d( TAG, "callWindowStatus: "+ b);
- mIsCallChatWindowVisible = b;
- if ( !mHasAddWindow || mWindowView == null ) {
- return;
- }
- if ( mIsCallChatWindowVisible ) {
- mWindowView.setVisibility(View.GONE );
- } else {
- mWindowView.setVisibility(View.VISIBLE);
- }
- }
- };
- if ( ServiceMediaHandler.getCarsChattingApis() != null ) {
- ServiceMediaHandler.getCarsChattingApis().registerCallWindowStatusListener( MediaConstants.MODULE_TYPE, mContext, mCallProviderResponse);
- }
- isFirstPlay = true;
- }
-
- @Override
- public void onStatusChanged( StatusDescriptor descriptor, boolean isTrue ) {
- Log.d(TAG, " onStatusChanged ----- descriptor = " + descriptor);
- if (descriptor == StatusDescriptor.ACC_STATUS&&!isTrue) {
- ServiceMediaHandler.getMogoWindowManager().removeView(mWindowView);
- mHasAddWindow = false;
- }
-
- if (descriptor == StatusDescriptor.VR_MODE) {
- if (mWindowView == null) {
- return;
- }
-
- ServiceMediaHandler.getMogoWindowManager().removeView(mWindowView);
- mHasAddWindow = false;
- addWindowView();
- }
- }
-
- private void addWindowView() {
- Log.d(TAG, "addWindowView===" + mHasAddWindow);
- if (ServiceMediaHandler.getMogoWindowManager() == null) {
- Log.d(TAG, "addWindowView return");
- return;
- }
-
- if (!mHasAddWindow) {
- mHasAddWindow = true;
- if (MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode()) {
- mWindowView =
- LayoutInflater.from(mContext).inflate(R.layout.module_media_music_window_alert_layout_new, null);
- mPercentageRingView = mWindowView.findViewById(R.id.window_circle_bg);
- mAnimCircleImageView = mWindowView.findViewById(R.id.window_circle_img_new);
- mPauseImage = mWindowView.findViewById(R.id.window_play_pause_new);
-
-// int[] arcColors = new int[]{
-// Color.parseColor("#1Affffff"),
-// Color.parseColor("#80ffffff"),
-// Color.parseColor("#BFffffff"),
-// Color.parseColor("#ffffff")
-// };
-//
-// mPercentageRingView.setArcColors(arcColors);
-
- if (mPauseImage != null) {
- mPauseImage.setImageResource(R.drawable.module_media_window_pop_pause_new);
- }
-
- int yPos =
- getContext().getResources().getDimensionPixelOffset(R.dimen.module_media_music_state_location_new);
- int xPos =
- getContext().getResources().getDimensionPixelOffset(R.dimen.module_media_music_state_location_x_new);
- int statusBarHeight = WindowUtils.getStatusBarHeight(mContext);
- Logger.d(TAG,
- "yPos: " + yPos + " xPos: " + xPos + " statusBarHeight: " + statusBarHeight);
- Log.d(TAG, "addMediaWindoView");
- FrameLayout.LayoutParams params =
- new FrameLayout.LayoutParams((int) mContext.getResources().getDimension(R.dimen.module_media_pop_window_width_new), (int) mContext.getResources().getDimension(R.dimen.module_media_pop_window_height_new));
- params.leftMargin = xPos;
- params.topMargin = yPos;
- ServiceMediaHandler.getMogoWindowManager().addView(mWindowView, params, false);
- updateWindowUI(true);
-
- mWindowView.setOnClickListener(new NoDoubleClickListener() {
- @Override
- public void onClicks(View view) {
- mPresenter.openApp();
- }
- });
-
- mPauseImage.setOnClickListener(new NoDoubleClickListener() {
- @Override
- public void onClicks(View view) {
- if (mMediaInfoData != null) {
- if (mMediaInfoData.getPlayState() == MusicConstant.PLAY_STATE_PAUSE_OR_STOP) {
- mPresenter.play(mMediaInfoData);
- } else {
- // 没有做详细判断,不是暂停就是播放
- mPresenter.pause(mMediaInfoData);
- }
- } else {
- mPresenter.openApp();
- }
- }
- });
-
- if ( mIsCallChatWindowVisible ) {
- Logger.d( TAG, "vr mWindowView.setVisibility: status = " + mIsCallChatWindowVisible );
- mWindowView.setVisibility(View.GONE);
- } else {
- mWindowView.setVisibility(View.VISIBLE);
- }
- } else {
- mWindowView =
- LayoutInflater.from(mContext).inflate(R.layout.module_media_music_window_alert_layout, null);
- mCircleImg = mWindowView.findViewById(R.id.window_circle_img);
- mScrollText = mWindowView.findViewById(R.id.window_scroll_txt);
- mWindowPlayPause = mWindowView.findViewById(R.id.window_play_pause);
- mWindowPlayNext = mWindowView.findViewById(R.id.window_music_next);
- mWindowCurrTime = mWindowView.findViewById(R.id.window_current_time);
- mWindowMaxTime = mWindowView.findViewById(R.id.window_max_time);
- mWindowProgress = mWindowView.findViewById(R.id.window_progress_bar);
- if (mWindowPlayPause != null) {
- mWindowPlayPause.setImageResource(R.drawable.module_media_window_pop_pause);
- }
- int yPos =
- getContext().getResources().getDimensionPixelOffset(R.dimen.module_media_music_state_location);
- int xPos =
- getContext().getResources().getDimensionPixelOffset(R.dimen.module_media_music_state_location_x);
- int statusBarHeight = WindowUtils.getStatusBarHeight(mContext);
- Logger.d(TAG,
- "yPos: " + yPos + " xPos: " + xPos + " statusBarHeight: " + statusBarHeight);
- Log.d(TAG, "addMediaWindoView");
- FrameLayout.LayoutParams params =
- new FrameLayout.LayoutParams((int) mContext.getResources().getDimension(R.dimen.module_media_pop_window_width), (int) mContext.getResources().getDimension(R.dimen.module_media_pop_window_height));
- params.leftMargin = xPos;
- params.topMargin = yPos;
- ServiceMediaHandler.getMogoWindowManager().addView(mWindowView, params, false);
- updateWindowUI(true);
- mWindowView.setOnClickListener(new NoDoubleClickListener() {
- @Override
- public void onClicks(View view) {
- mPresenter.openApp();
- }
- });
-
- mWindowPlayPause.setOnClickListener(new NoDoubleClickListener() {
- @Override
- public void onClicks(View view) {
- if (mMediaInfoData != null) {
- if (mMediaInfoData.getPlayState() == MusicConstant.PLAY_STATE_PAUSE_OR_STOP) {
- mPresenter.play(mMediaInfoData);
- } else {
- // 没有做详细判断,不是暂停就是播放
- mPresenter.pause(mMediaInfoData);
- }
- } else {
- mPresenter.openApp();
- }
- }
- });
-
- mWindowPlayNext.setOnClickListener(new NoDoubleClickListener() {
- @Override
- public void onClicks(View view) {
- if (mPresenter != null) {
- mPresenter.next();
- }
- }
- });
-
- if ( mIsCallChatWindowVisible ) {
- Logger.d( TAG, "mWindowView.setVisibility: status = " + mIsCallChatWindowVisible );
- mWindowView.setVisibility(View.GONE);
- } else {
- mWindowView.setVisibility(View.VISIBLE);
- }
- }
- }
- }
-
- private void updateWindowUI() {
- updateWindowUI(false);
- }
-
- private void updateWindowUI(boolean first) {
- if (mWindowView == null) {
- return;
- }
- if (mMediaInfoData != null) {
- if (mMediaInfoData.getType() == MusicConstant.PLAY_STATE_ERROR||isFirstPlay) {
- mWindowView.setVisibility(View.GONE);
- } else {
- if ( mIsCallChatWindowVisible ) {
- mWindowView.setVisibility(View.GONE );
- } else {
- mWindowView.setVisibility(View.VISIBLE);
- }
- }
- } else {
- mWindowView.setVisibility(View.GONE);
- return;
- }
-
- if (MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode()) {
- if (first || mMediaInfoData.getPlayState() == MusicConstant.PLAY_STATE_PLAYING || mMediaInfoData.getPlayState() == MusicConstant.PLAY_STATE_BUFF) {
- if( mMediaInfoData.getPlayState() == MusicConstant.PLAY_STATE_PLAYING) {
- // kw音乐做的容错
- if (mPauseImage != null) {
- mPauseImage.setImageResource(R.drawable.module_media_window_pop_play_new);
- }
- if (mAnimCircleImageView != null) {
- mAnimCircleImageView.startAnim();
- }
- }
- }
-
- if (mAnimCircleImageView != null) {
- if(mMediaInfoData!=null&&mMediaInfoData.getMediaImg()!=null&&!mMediaInfoData.getMediaImg().isEmpty()) {
- int size =
- mContext.getResources().getDimensionPixelSize(R.dimen.module_media_pop_window_anim_img_size_new);
- Logger.d(TAG, "overload: " + size);
- com.bumptech.glide.request.RequestOptions options =
- new com.bumptech.glide.request.RequestOptions()
- .placeholder(R.drawable.module_media_default_music_img).error(R.drawable.module_media_default_music_img).override(size, size);
- GlideApp.with(mContext).asBitmap().apply(options).load(mMediaInfoData.getMediaImg()).into(new SkinAbleBitmapTarget(mAnimCircleImageView, options));
-// GlideApp.with(mContext).applyDefaultRequestOptions(options).load(mMediaInfoData.getMediaImg()).into(new SkinAbleBitmapTarget(mCircleImg, options));
- }else{
- Logger.e(TAG, "mMediaInfoData == null ");
- mAnimCircleImageView.setImageResource(R.drawable.module_media_default_music_img_new);
- }
- }
- } else {
- if (mScrollText != null) {
- mScrollText.setText(mMediaInfoData.getMediaName());
- }
-
- if (first || mMediaInfoData.getPlayState() == MusicConstant.PLAY_STATE_PLAYING || mMediaInfoData.getPlayState() == MusicConstant.PLAY_STATE_BUFF) {
- if (mWindowMaxTime != null) {
- mWindowMaxTime.setText(Utils.calculateTime((int) mMediaInfoData.getMaxTime()));
- }
- if (mWindowCurrTime != null) {
- mWindowCurrTime.setText(Utils.calculateTime((int) mMediaInfoData.getCurTime()));
- }
-
- if( mMediaInfoData.getPlayState() == MusicConstant.PLAY_STATE_PLAYING) {
- // kw音乐做的容错
- if (mWindowPlayPause != null) {
- mWindowPlayPause.setImageResource(R.drawable.module_media_window_pop_play);
- }
- if (mCircleImg != null) {
- mCircleImg.startAnim();
- }
- }
- }
-
- if (mCircleImg != null) {
- if(mMediaInfoData!=null&&mMediaInfoData.getMediaImg()!=null&&!mMediaInfoData.getMediaImg().isEmpty()) {
- int size =
- mContext.getResources().getDimensionPixelSize(R.dimen.module_media_pop_window_anim_img_size);
- com.bumptech.glide.request.RequestOptions options =
- new com.bumptech.glide.request.RequestOptions()
- .placeholder(R.drawable.module_media_default_music_img).error(R.drawable.module_media_default_music_img).override(size, size);
- GlideApp.with(mContext).asBitmap().apply(options).load(mMediaInfoData.getMediaImg()).into(new SkinAbleBitmapTarget(mCircleImg, options));
-// GlideApp.with(mContext).applyDefaultRequestOptions(options).load(mMediaInfoData.getMediaImg()).into(new SkinAbleBitmapTarget(mCircleImg, options));
- }else{
- mCircleImg.setImageResource(R.drawable.module_media_default_music_img);
- }
- }
- }
-
- }
-
- @Override
- public Context getContext() {
- return mContext;
- }
-
- @Override
- public void onMusicPlaying() {
- Logger.d(TAG, "onMusicPlaying===" + mMediaInfoData);
- isFirstPlay = false;
- updateWindowUI(false);
- if (MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode()) {
- if (mPauseImage != null) {
- mPauseImage.setImageResource(R.drawable.module_media_window_pop_play_new);
- }
-
- if (mAnimCircleImageView != null) {
- mAnimCircleImageView.startAnim();
- }
- } else {
- if (mWindowPlayPause != null) {
- mWindowPlayPause.setImageResource(R.drawable.module_media_window_pop_play);
- }
-
- if (mCircleImg != null) {
- mCircleImg.startAnim();
- }
- }
-
- MogoApisHandler.getInstance().getApis().getStatusManagerApi().setMediaPlayStatus(TAG, true);
- }
-
- @Override
- public void onMusicPause() {
- Logger.d(TAG, "onMusicPause: ===" + mMediaInfoData);
- if (MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode()) {
- if (mPauseImage != null) {
- mPauseImage.setImageResource(R.drawable.module_media_window_pop_pause_new);
- }
-
- if (mAnimCircleImageView != null) {
- mAnimCircleImageView.stopAnim();
- }
- } else {
- if (mWindowPlayPause != null) {
- mWindowPlayPause.setImageResource(R.drawable.module_media_window_pop_pause);
- }
-
- if (mAnimCircleImageView != null) {
- mAnimCircleImageView.stopAnim();
- }
- }
-
- MogoApisHandler.getInstance().getApis().getStatusManagerApi().setMediaPlayStatus(TAG,false);
- }
-
- @Override
- public void onMusicStopped() {
- Logger.d(TAG, "onMusicStopped===" + mMediaInfoData);
- if (MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode()) {
- if (mPauseImage != null) {
- mPauseImage.setImageResource(R.drawable.module_media_window_pop_pause_new);
- }
-
- if (mAnimCircleImageView != null) {
- mAnimCircleImageView.stopAnim();
- }
- } else {
- if (mWindowPlayPause != null) {
- mWindowPlayPause.setImageResource(R.drawable.module_media_window_pop_pause);
- }
-
- if (mCircleImg != null) {
- mCircleImg.stopAnim();
- }
- }
-
- MogoApisHandler.getInstance().getApis().getStatusManagerApi().setMediaPlayStatus(TAG,false);
- }
-
- @Override
- public void onMediaInfoChanged(MediaInfoData mediaInfoData) {
- Logger.d(TAG, "onMediaInfoChanged: " + mediaInfoData);
- mMediaInfoData = mediaInfoData;
- addWindowView();
- updateWindowUI();
- }
-
- @Override
- public void onMusicProgress(long current, long total) {
-// Logger.d(TAG, "onMusicProgress==current: " + current + " total: " + total);
- if (MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode()) {
- try {
- int progress =
- (int) ((current * 1.0f * 100) / (total * 1.0f));
- if (mPercentageRingView != null) {
- mPercentageRingView.setVisibility(View.VISIBLE);
- mPercentageRingView.setProgress(progress);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- } else {
- if (mMediaInfoData != null) {
- mMediaInfoData.setCurTime((int) current);
- mMediaInfoData.setMaxTime((int) total);
- }
- if (mWindowCurrTime != null) {
- mWindowCurrTime.setText(Utils.calculateTime((int) current));
- mWindowMaxTime.setText(Utils.calculateTime((int) total));
- }
- try {
- int progress =
- (int) ((current * 1.0f * 100) / (total * 1.0f));
- if (mWindowProgress != null) {
- mWindowProgress.setProgress(progress);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
-
- @Override
- public void onAppExit() {
- if ( mWindowView != null ) {
- mWindowView.setVisibility(View.GONE);
- }
- }
-
- public void onDestroy(){
- Logger.d(TAG, "onDestroy");
- if ( ServiceMediaHandler.getCarsChattingApis() != null ) {
- ServiceMediaHandler.getCarsChattingApis().unRegisterCallWindowStatusListener( MediaConstants.MODULE_TYPE, mContext);
- }
- ServiceMediaHandler.getIMogoStatusManager().unregisterStatusChangedListener(MediaConstants.MODULE_TYPE, StatusDescriptor.ACC_STATUS,this);
- }
-}
diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/ic_search_choice_point.png b/modules/mogo-module-media/src/main/res/drawable-ldpi/ic_search_choice_point.png
deleted file mode 100644
index 8ca4538285..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-ldpi/ic_search_choice_point.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/ic_search_poi_location.png b/modules/mogo-module-media/src/main/res/drawable-ldpi/ic_search_poi_location.png
deleted file mode 100644
index 25940d02c6..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-ldpi/ic_search_poi_location.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/ic_search_unshadow.png b/modules/mogo-module-media/src/main/res/drawable-ldpi/ic_search_unshadow.png
deleted file mode 100644
index cd32e7f85f..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-ldpi/ic_search_unshadow.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_blur_default_icon.png b/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_blur_default_icon.png
deleted file mode 100644
index 30d5891d96..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_blur_default_icon.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_default_music_img.png b/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_default_music_img.png
deleted file mode 100644
index d8de3c1ef3..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_default_music_img.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_full_screen.png b/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_full_screen.png
deleted file mode 100644
index 240f148149..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_full_screen.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_have_heart.png b/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_have_heart.png
deleted file mode 100644
index f86d4f3fde..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_have_heart.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_head_default_img.png b/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_head_default_img.png
deleted file mode 100644
index 0597a02397..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_head_default_img.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_last_song.png b/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_last_song.png
deleted file mode 100644
index eb4a4099a1..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_last_song.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_next_song.png b/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_next_song.png
deleted file mode 100644
index dcb18e202f..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_next_song.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_no_heart.png b/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_no_heart.png
deleted file mode 100644
index 804057b9ca..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_no_heart.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_no_img_default_icon.png b/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_no_img_default_icon.png
deleted file mode 100644
index 04f4e5c139..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_no_img_default_icon.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_play.png b/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_play.png
deleted file mode 100644
index 1b16f5d635..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_play.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_default_icon.png b/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_default_icon.png
deleted file mode 100644
index a6ab1c9620..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_default_icon.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_default_icon2.png b/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_default_icon2.png
deleted file mode 100644
index 2dbb8b6773..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_default_icon2.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_default_rect_icon.png b/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_default_rect_icon.png
deleted file mode 100644
index fc0b6145b1..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_default_rect_icon.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_fail.png b/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_fail.png
deleted file mode 100644
index e15649f868..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_fail.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_normal.png b/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_normal.png
deleted file mode 100644
index 2562454404..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_normal.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_success.png b/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_success.png
deleted file mode 100644
index 2508848c10..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_success.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_suspend.png b/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_suspend.png
deleted file mode 100644
index 88df36ee6d..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_suspend.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_window_alert_bg.9.png b/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_window_alert_bg.9.png
deleted file mode 100644
index 8e6032a5f1..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_window_alert_bg.9.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_window_pop_pause.png b/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_window_pop_pause.png
deleted file mode 100644
index 6d35054284..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_window_pop_pause.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_window_pop_play.png b/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_window_pop_play.png
deleted file mode 100644
index 61510381d0..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_window_pop_play.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-mdpi/ic_search_choice_point.png b/modules/mogo-module-media/src/main/res/drawable-mdpi/ic_search_choice_point.png
deleted file mode 100644
index 8ca4538285..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-mdpi/ic_search_choice_point.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-mdpi/ic_search_poi_location.png b/modules/mogo-module-media/src/main/res/drawable-mdpi/ic_search_poi_location.png
deleted file mode 100644
index 25940d02c6..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-mdpi/ic_search_poi_location.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-mdpi/ic_search_unshadow.png b/modules/mogo-module-media/src/main/res/drawable-mdpi/ic_search_unshadow.png
deleted file mode 100644
index cd32e7f85f..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-mdpi/ic_search_unshadow.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_blur_default_icon.png b/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_blur_default_icon.png
deleted file mode 100644
index 30d5891d96..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_blur_default_icon.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_default_music_img.png b/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_default_music_img.png
deleted file mode 100644
index d8de3c1ef3..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_default_music_img.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_full_screen.png b/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_full_screen.png
deleted file mode 100644
index 240f148149..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_full_screen.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_have_heart.png b/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_have_heart.png
deleted file mode 100644
index f86d4f3fde..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_have_heart.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_head_default_img.png b/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_head_default_img.png
deleted file mode 100644
index 0597a02397..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_head_default_img.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_last_song.png b/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_last_song.png
deleted file mode 100644
index eb4a4099a1..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_last_song.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_next_song.png b/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_next_song.png
deleted file mode 100644
index dcb18e202f..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_next_song.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_no_heart.png b/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_no_heart.png
deleted file mode 100644
index 804057b9ca..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_no_heart.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_no_img_default_icon.png b/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_no_img_default_icon.png
deleted file mode 100644
index 04f4e5c139..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_no_img_default_icon.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_play.png b/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_play.png
deleted file mode 100644
index 1b16f5d635..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_play.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_share_default_icon.png b/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_share_default_icon.png
deleted file mode 100644
index a6ab1c9620..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_share_default_icon.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_share_default_icon2.png b/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_share_default_icon2.png
deleted file mode 100644
index 2dbb8b6773..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_share_default_icon2.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_share_default_rect_icon.png b/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_share_default_rect_icon.png
deleted file mode 100644
index fc0b6145b1..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_share_default_rect_icon.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_share_fail.png b/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_share_fail.png
deleted file mode 100644
index e15649f868..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_share_fail.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_share_normal.png b/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_share_normal.png
deleted file mode 100644
index 2562454404..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_share_normal.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_share_success.png b/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_share_success.png
deleted file mode 100644
index 2508848c10..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_share_success.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_suspend.png b/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_suspend.png
deleted file mode 100644
index 88df36ee6d..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_suspend.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_window_alert_bg.9.png b/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_window_alert_bg.9.png
deleted file mode 100644
index 8e6032a5f1..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_window_alert_bg.9.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_window_pop_pause.png b/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_window_pop_pause.png
deleted file mode 100644
index 6d35054284..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_window_pop_pause.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_window_pop_play.png b/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_window_pop_play.png
deleted file mode 100644
index 61510381d0..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-mdpi/module_media_window_pop_play.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/ic_search_choice_point.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/ic_search_choice_point.png
deleted file mode 100644
index 9f75ac8e88..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/ic_search_choice_point.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/ic_search_poi_location.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/ic_search_poi_location.png
deleted file mode 100644
index 484f80efd5..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/ic_search_poi_location.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_blur_default_icon.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_blur_default_icon.png
deleted file mode 100644
index 7198c071db..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_blur_default_icon.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_default_music_img.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_default_music_img.png
deleted file mode 100644
index df81e5d06d..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_default_music_img.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_default_music_img_new.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_default_music_img_new.png
deleted file mode 100644
index fcc9015490..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_default_music_img_new.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_full_screen.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_full_screen.png
deleted file mode 100644
index bc14feee50..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_full_screen.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_full_screen_select.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_full_screen_select.png
deleted file mode 100644
index 170785863b..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_full_screen_select.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_have_heart.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_have_heart.png
deleted file mode 100644
index d660105c2d..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_have_heart.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_head_default_img.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_head_default_img.png
deleted file mode 100644
index f2e5a03cab..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_head_default_img.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_icon_map_marker_music.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_icon_map_marker_music.png
deleted file mode 100644
index 398912c0ea..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_icon_map_marker_music.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_last_song.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_last_song.png
deleted file mode 100644
index f3a0b6f28e..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_last_song.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_last_song_click.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_last_song_click.png
deleted file mode 100644
index 80ec16e26f..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_last_song_click.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon1.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon1.png
deleted file mode 100644
index 172a5934ae..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon1.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon10.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon10.png
deleted file mode 100644
index dc9589159b..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon10.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon11.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon11.png
deleted file mode 100644
index d913d05154..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon11.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon12.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon12.png
deleted file mode 100644
index 35702bc1ab..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon12.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon13.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon13.png
deleted file mode 100644
index 94faa2ac0e..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon13.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon14.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon14.png
deleted file mode 100644
index 341e9ce7b9..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon14.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon15.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon15.png
deleted file mode 100644
index a271a09b42..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon15.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon16.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon16.png
deleted file mode 100644
index 4ff5b09209..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon16.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon17.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon17.png
deleted file mode 100644
index 1a96b0115a..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon17.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon18.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon18.png
deleted file mode 100644
index 238f47d78c..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon18.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon19.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon19.png
deleted file mode 100644
index b45536a4d1..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon19.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon2.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon2.png
deleted file mode 100644
index 775d44e934..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon2.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon20.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon20.png
deleted file mode 100644
index b70e929788..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon20.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon21.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon21.png
deleted file mode 100644
index b17ef58d95..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon21.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon22.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon22.png
deleted file mode 100644
index 28a667b077..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon22.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon23.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon23.png
deleted file mode 100644
index 8fb205f65c..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon23.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon24.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon24.png
deleted file mode 100644
index 57216edd8b..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon24.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon25.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon25.png
deleted file mode 100644
index bf1db703d9..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon25.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon26.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon26.png
deleted file mode 100644
index ff783cb414..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon26.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon27.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon27.png
deleted file mode 100644
index b8c70103a6..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon27.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon28.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon28.png
deleted file mode 100644
index 0b53d4e0cc..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon28.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon29.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon29.png
deleted file mode 100644
index 35910fc41e..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon29.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon3.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon3.png
deleted file mode 100644
index f2aef2d862..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon3.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon30.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon30.png
deleted file mode 100644
index a8e76f4292..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon30.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon31.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon31.png
deleted file mode 100644
index 2cfcb1239b..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon31.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon32.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon32.png
deleted file mode 100644
index 8a7e0eab0c..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon32.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon33.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon33.png
deleted file mode 100644
index 801817119d..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon33.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon34.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon34.png
deleted file mode 100644
index 0775b3aae6..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon34.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon35.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon35.png
deleted file mode 100644
index d78c1ad2fc..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon35.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon36.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon36.png
deleted file mode 100644
index 00c647affa..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon36.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon37.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon37.png
deleted file mode 100644
index 72d9a66e36..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon37.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon38.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon38.png
deleted file mode 100644
index 36525eec91..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon38.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon39.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon39.png
deleted file mode 100644
index 1ef84eba37..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon39.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon4.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon4.png
deleted file mode 100644
index 8180b14e9a..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon4.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon40.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon40.png
deleted file mode 100644
index 14e67a0b5a..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon40.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon41.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon41.png
deleted file mode 100644
index bc95f9f96c..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon41.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon42.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon42.png
deleted file mode 100644
index ed0b6f76ce..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon42.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon43.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon43.png
deleted file mode 100644
index 7e36135339..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon43.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon44.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon44.png
deleted file mode 100644
index eb86260b6d..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon44.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon45.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon45.png
deleted file mode 100644
index 4d2423aacc..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon45.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon46.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon46.png
deleted file mode 100644
index ddf538ab6e..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon46.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon47.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon47.png
deleted file mode 100644
index 04e325d6c0..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon47.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon48.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon48.png
deleted file mode 100644
index 6b029f0a17..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon48.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon49.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon49.png
deleted file mode 100644
index e329da91b6..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon49.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon5.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon5.png
deleted file mode 100644
index 4fda193c49..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon5.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon50.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon50.png
deleted file mode 100644
index d357202e6d..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon50.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon51.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon51.png
deleted file mode 100644
index d3c5a2d346..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon51.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon52.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon52.png
deleted file mode 100644
index ca7c4220a9..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon52.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon53.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon53.png
deleted file mode 100644
index f3ee370442..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon53.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon54.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon54.png
deleted file mode 100644
index c9a047e05e..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon54.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon55.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon55.png
deleted file mode 100644
index 35d3b5a7c4..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon55.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon56.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon56.png
deleted file mode 100644
index 44912aa767..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon56.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon57.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon57.png
deleted file mode 100644
index f87729a3fc..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon57.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon58.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon58.png
deleted file mode 100644
index b031cda549..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon58.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon59.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon59.png
deleted file mode 100644
index 37241888fc..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon59.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon6.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon6.png
deleted file mode 100644
index 74ff4016fc..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon6.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon60.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon60.png
deleted file mode 100644
index b8d636130d..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon60.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon61.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon61.png
deleted file mode 100644
index f37807f227..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon61.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon62.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon62.png
deleted file mode 100644
index 8e91f014c8..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon62.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon63.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon63.png
deleted file mode 100644
index eb93bf536c..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon63.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon64.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon64.png
deleted file mode 100644
index 5eee54dd42..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon64.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon65.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon65.png
deleted file mode 100644
index 757cbb1047..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon65.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon66.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon66.png
deleted file mode 100644
index 7ec3c175b6..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon66.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon67.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon67.png
deleted file mode 100644
index 89547994eb..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon67.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon68.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon68.png
deleted file mode 100644
index 41ba271e26..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon68.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon69.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon69.png
deleted file mode 100644
index 2e9f59de0a..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon69.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon7.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon7.png
deleted file mode 100644
index 86cfdf616c..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon7.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon70.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon70.png
deleted file mode 100644
index d9cc30556d..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon70.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon71.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon71.png
deleted file mode 100644
index b996b8de6b..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon71.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon72.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon72.png
deleted file mode 100644
index a93bb38648..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon72.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon73.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon73.png
deleted file mode 100644
index a3089c41eb..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon73.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon74.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon74.png
deleted file mode 100644
index a3d862aa22..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon74.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon75.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon75.png
deleted file mode 100644
index 18e155874b..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon75.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon8.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon8.png
deleted file mode 100644
index 946405b451..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon8.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon9.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon9.png
deleted file mode 100644
index 43622cdd9c..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_music_animal_icon9.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_next_song.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_next_song.png
deleted file mode 100644
index a3898c5827..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_next_song.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_next_song_click.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_next_song_click.png
deleted file mode 100644
index 6194927beb..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_next_song_click.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_no_heart.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_no_heart.png
deleted file mode 100644
index 4c1d667884..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_no_heart.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_no_img_default_icon.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_no_img_default_icon.png
deleted file mode 100644
index d1978ce559..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_no_img_default_icon.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_play.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_play.png
deleted file mode 100644
index d46389d86e..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_play.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_share_click.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_share_click.png
deleted file mode 100644
index 246b92c4a9..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_share_click.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_share_default_icon.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_share_default_icon.png
deleted file mode 100644
index bfaed8e0f5..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_share_default_icon.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_share_default_icon1.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_share_default_icon1.png
deleted file mode 100644
index 38c4a43636..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_share_default_icon1.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_share_default_rect_icon.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_share_default_rect_icon.png
deleted file mode 100644
index 51d4b92fe8..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_share_default_rect_icon.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_share_fail.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_share_fail.png
deleted file mode 100644
index b70bfed8c1..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_share_fail.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_share_normal.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_share_normal.png
deleted file mode 100644
index dcc359bf47..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_share_normal.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_share_success.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_share_success.png
deleted file mode 100644
index 0005916564..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_share_success.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_suspend.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_suspend.png
deleted file mode 100644
index 3dfa5da5c6..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_suspend.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_window_alert_bg.9.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_window_alert_bg.9.png
deleted file mode 100644
index 96ddb81326..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_window_alert_bg.9.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_window_pop_next.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_window_pop_next.png
deleted file mode 100644
index d23e33246b..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_window_pop_next.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_window_pop_pause.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_window_pop_pause.png
deleted file mode 100644
index a908c23da5..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_window_pop_pause.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_window_pop_pause_new.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_window_pop_pause_new.png
deleted file mode 100644
index 86f936f702..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_window_pop_pause_new.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_window_pop_play.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_window_pop_play.png
deleted file mode 100644
index ab6f5e4d7c..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_window_pop_play.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_window_pop_play_new.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_window_pop_play_new.png
deleted file mode 100644
index 78e5680e91..0000000000
Binary files a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_window_pop_play_new.png and /dev/null differ
diff --git a/modules/mogo-module-media/src/main/res/drawable/module_media_bottom_revert_trianle_bg.xml b/modules/mogo-module-media/src/main/res/drawable/module_media_bottom_revert_trianle_bg.xml
deleted file mode 100644
index 19bc1f9d13..0000000000
--- a/modules/mogo-module-media/src/main/res/drawable/module_media_bottom_revert_trianle_bg.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
- -
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/res/drawable/module_media_card_back.xml b/modules/mogo-module-media/src/main/res/drawable/module_media_card_back.xml
deleted file mode 100644
index 71b9ee964e..0000000000
--- a/modules/mogo-module-media/src/main/res/drawable/module_media_card_back.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/res/drawable/module_media_card_tran_img_bg.xml b/modules/mogo-module-media/src/main/res/drawable/module_media_card_tran_img_bg.xml
deleted file mode 100644
index fc072d2f97..0000000000
--- a/modules/mogo-module-media/src/main/res/drawable/module_media_card_tran_img_bg.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/res/drawable/module_media_circle_bg.xml b/modules/mogo-module-media/src/main/res/drawable/module_media_circle_bg.xml
deleted file mode 100644
index 4f0286a260..0000000000
--- a/modules/mogo-module-media/src/main/res/drawable/module_media_circle_bg.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
diff --git a/modules/mogo-module-media/src/main/res/drawable/module_media_click_poi_bg_top.xml b/modules/mogo-module-media/src/main/res/drawable/module_media_click_poi_bg_top.xml
deleted file mode 100644
index df19595e70..0000000000
--- a/modules/mogo-module-media/src/main/res/drawable/module_media_click_poi_bg_top.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/res/drawable/module_media_demo_selector.xml b/modules/mogo-module-media/src/main/res/drawable/module_media_demo_selector.xml
deleted file mode 100644
index d17daeaa24..0000000000
--- a/modules/mogo-module-media/src/main/res/drawable/module_media_demo_selector.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/res/drawable/module_media_misic_progress_bar.xml b/modules/mogo-module-media/src/main/res/drawable/module_media_misic_progress_bar.xml
deleted file mode 100644
index eb04bda3a3..0000000000
--- a/modules/mogo-module-media/src/main/res/drawable/module_media_misic_progress_bar.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/res/drawable/module_media_next_bg_selector.xml b/modules/mogo-module-media/src/main/res/drawable/module_media_next_bg_selector.xml
deleted file mode 100644
index 3141e1a44a..0000000000
--- a/modules/mogo-module-media/src/main/res/drawable/module_media_next_bg_selector.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/res/drawable/module_media_play_bg_selector.xml b/modules/mogo-module-media/src/main/res/drawable/module_media_play_bg_selector.xml
deleted file mode 100644
index eafad48464..0000000000
--- a/modules/mogo-module-media/src/main/res/drawable/module_media_play_bg_selector.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
- -
-
-
-
-
- -
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/res/drawable/module_media_progress_bg.xml b/modules/mogo-module-media/src/main/res/drawable/module_media_progress_bg.xml
deleted file mode 100644
index 11e0a400c7..0000000000
--- a/modules/mogo-module-media/src/main/res/drawable/module_media_progress_bg.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/res/drawable/module_media_progress_pop_bg.xml b/modules/mogo-module-media/src/main/res/drawable/module_media_progress_pop_bg.xml
deleted file mode 100644
index a8e74c1033..0000000000
--- a/modules/mogo-module-media/src/main/res/drawable/module_media_progress_pop_bg.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/res/drawable/module_media_share_dialog_bg.xml b/modules/mogo-module-media/src/main/res/drawable/module_media_share_dialog_bg.xml
deleted file mode 100644
index 222dea52a8..0000000000
--- a/modules/mogo-module-media/src/main/res/drawable/module_media_share_dialog_bg.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/res/drawable/module_media_share_dialog_left_btn_bg.xml b/modules/mogo-module-media/src/main/res/drawable/module_media_share_dialog_left_btn_bg.xml
deleted file mode 100644
index fad92a439a..0000000000
--- a/modules/mogo-module-media/src/main/res/drawable/module_media_share_dialog_left_btn_bg.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/res/drawable/module_media_share_dialog_right_btn_bg.xml b/modules/mogo-module-media/src/main/res/drawable/module_media_share_dialog_right_btn_bg.xml
deleted file mode 100644
index 111ff2af99..0000000000
--- a/modules/mogo-module-media/src/main/res/drawable/module_media_share_dialog_right_btn_bg.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/res/drawable/module_media_share_dialog_title_bg.xml b/modules/mogo-module-media/src/main/res/drawable/module_media_share_dialog_title_bg.xml
deleted file mode 100644
index 9037314b49..0000000000
--- a/modules/mogo-module-media/src/main/res/drawable/module_media_share_dialog_title_bg.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/res/drawable/module_media_share_toast_bg.xml b/modules/mogo-module-media/src/main/res/drawable/module_media_share_toast_bg.xml
deleted file mode 100644
index c3ade0a821..0000000000
--- a/modules/mogo-module-media/src/main/res/drawable/module_media_share_toast_bg.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/res/drawable/module_media_user_share_music_back.xml b/modules/mogo-module-media/src/main/res/drawable/module_media_user_share_music_back.xml
deleted file mode 100644
index 42bde49ed3..0000000000
--- a/modules/mogo-module-media/src/main/res/drawable/module_media_user_share_music_back.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/res/drawable/module_media_window_progress_bar.xml b/modules/mogo-module-media/src/main/res/drawable/module_media_window_progress_bar.xml
deleted file mode 100644
index a62ffcda8f..0000000000
--- a/modules/mogo-module-media/src/main/res/drawable/module_media_window_progress_bar.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/res/layout/module_media_bubble_marker.xml b/modules/mogo-module-media/src/main/res/layout/module_media_bubble_marker.xml
deleted file mode 100644
index 0fc5b67336..0000000000
--- a/modules/mogo-module-media/src/main/res/layout/module_media_bubble_marker.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/res/layout/module_media_card_fragment_view.xml b/modules/mogo-module-media/src/main/res/layout/module_media_card_fragment_view.xml
deleted file mode 100644
index 2223bb6dbf..0000000000
--- a/modules/mogo-module-media/src/main/res/layout/module_media_card_fragment_view.xml
+++ /dev/null
@@ -1,375 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/mogo-module-media/src/main/res/layout/module_media_dialog_cutom_layout.xml b/modules/mogo-module-media/src/main/res/layout/module_media_dialog_cutom_layout.xml
deleted file mode 100644
index e6aaae273c..0000000000
--- a/modules/mogo-module-media/src/main/res/layout/module_media_dialog_cutom_layout.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/res/layout/module_media_music_window_alert_layout.xml b/modules/mogo-module-media/src/main/res/layout/module_media_music_window_alert_layout.xml
deleted file mode 100644
index 7a0b082d3b..0000000000
--- a/modules/mogo-module-media/src/main/res/layout/module_media_music_window_alert_layout.xml
+++ /dev/null
@@ -1,112 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/mogo-module-media/src/main/res/layout/module_media_music_window_alert_layout_new.xml b/modules/mogo-module-media/src/main/res/layout/module_media_music_window_alert_layout_new.xml
deleted file mode 100644
index 9002881140..0000000000
--- a/modules/mogo-module-media/src/main/res/layout/module_media_music_window_alert_layout_new.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/mogo-module-media/src/main/res/layout/module_media_share_fragment_view.xml b/modules/mogo-module-media/src/main/res/layout/module_media_share_fragment_view.xml
deleted file mode 100644
index 6389fdef75..0000000000
--- a/modules/mogo-module-media/src/main/res/layout/module_media_share_fragment_view.xml
+++ /dev/null
@@ -1,122 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/mogo-module-media/src/main/res/layout/module_media_share_toast_view.xml b/modules/mogo-module-media/src/main/res/layout/module_media_share_toast_view.xml
deleted file mode 100644
index 73fc49ae04..0000000000
--- a/modules/mogo-module-media/src/main/res/layout/module_media_share_toast_view.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/mogo-module-media/src/main/res/values-xhdpi/colors.xml b/modules/mogo-module-media/src/main/res/values-xhdpi/colors.xml
deleted file mode 100644
index 69b22338c6..0000000000
--- a/modules/mogo-module-media/src/main/res/values-xhdpi/colors.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
- #008577
- #00574B
- #D81B60
-
diff --git a/modules/mogo-module-media/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-media/src/main/res/values-xhdpi/dimens.xml
deleted file mode 100644
index 75bfb5e9d1..0000000000
--- a/modules/mogo-module-media/src/main/res/values-xhdpi/dimens.xml
+++ /dev/null
@@ -1,129 +0,0 @@
-
-
- 872px
- 1067px
- 40px
- 1760px
-
- 660px
- 660px
- 20px
- 23px
- 67.5px
- 67.5px
- 67.5px
- 10px
- 23px
- 116px
- 30px
- 145px
- 20px
- 30px
- 90px
- 90px
- 21px
- 24px
- 23px
- 26px
- 30px
- 16px
- 68px
- 68px
- 23px
- 35px
- 56px
- 56px
- 126px
- 3px
- 116px
- 116px
- 22px
- 37.5px
- 28px
-
-
-
- 790px
- 525px
- 55px
- 61px
- 20px
- 136px
- 20px
- 136px
- 34px
- 40px
- 30px
- 34px
- 40px
- 60px
- 96px
- 130px
- 4px
- 6px
-
- 600px
- 140px
- 116px
- 116px
- 112px
- 30px
- 80px
- 101px
- 60px
- 115px
- 230px
- 14px
- 35px
- 24px
- 56px
- 40px
- 8px
- 16px
- 16px
- 500px
- 350px
- 20px
- 120px
- 36px
- 20px
-
- 660px
- 660px
- 20px
- 22px
- 22px
- 348px
- 348px
- 226px
- 226px
- 36px
- 28px
- 4px
- 2px
- 11px
- 22px
- 21px
- 4px
- 6px
- 2px
-
- 15px
- 78px
- 107px
- 53px
- 2px
- 64px
- 6px
- 12px
- 6px
- 8px
- 180px
-
- 60px
- 750px
- 120px
- 270px
- 30px
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/res/values-xhdpi/strings.xml b/modules/mogo-module-media/src/main/res/values-xhdpi/strings.xml
deleted file mode 100644
index 952949198b..0000000000
--- a/modules/mogo-module-media/src/main/res/values-xhdpi/strings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
- mogo-module-media
-
diff --git a/modules/mogo-module-media/src/main/res/values-xhdpi/styles.xml b/modules/mogo-module-media/src/main/res/values-xhdpi/styles.xml
deleted file mode 100644
index 5885930df6..0000000000
--- a/modules/mogo-module-media/src/main/res/values-xhdpi/styles.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
diff --git a/modules/mogo-module-media/src/main/res/values/attrs.xml b/modules/mogo-module-media/src/main/res/values/attrs.xml
deleted file mode 100644
index d8f98cf7bf..0000000000
--- a/modules/mogo-module-media/src/main/res/values/attrs.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/res/values/colors.xml b/modules/mogo-module-media/src/main/res/values/colors.xml
deleted file mode 100644
index 7c39678a81..0000000000
--- a/modules/mogo-module-media/src/main/res/values/colors.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
- #fff
- #7affffff
- #444E6E
- #f6ffffff
- #1Affffff
- #ffffff
-
diff --git a/modules/mogo-module-media/src/main/res/values/dimens.xml b/modules/mogo-module-media/src/main/res/values/dimens.xml
deleted file mode 100644
index d0351297ed..0000000000
--- a/modules/mogo-module-media/src/main/res/values/dimens.xml
+++ /dev/null
@@ -1,129 +0,0 @@
-
-
- 467px
- 573px
- 80px
- 930px
-
-
- 352px
- 352px
- 10.67px
- 12px
- 36px
- 36px
- 36px
- 5px
- 12px
- 62px
- 16px
- 78px
- 10.6px
- 16px
- 48px
- 48px
- 11px
- 12px
- 12px
- 14px
- 16px
- 8px
- 36px
- 36px
- 12px
- 18px
- 30px
- 30px
- 67.2px
- 3px
- 62px
- 62px
- 12px
- 20px
- 15px
-
-
-
- 421px
- 280px
- 28px
- 32.5px
- 11.5px
- 72.5px
- 10.7px
- 72.5px
- 10px
- 22px
- 16px
- 18px
- 22px
- 32px
- 51px
- 68px
- 2px
- 3.2px
-
- 338px
- 82px
- 116px
- 116px
- 60px
- 18px
- 44px
- 60px
- 60px
- 123px
- 10px
- 18px
- 14px
- 30px
- 21px
- 4px
- 8px
- 7px
-
- 267px
- 187px
- 10px
- 64px
- 18px
- 11px
-
- 352px
- 352px
- 10.5px
- 11px
- 11.5px
- 175px
- 175px
- 114px
- 114px
- 20px
- 15px
- 4px
- 2px
- 6px
- 12px
- 11px
- 4px
- 1px
-
- 8px
- 44px
- 62px
- 28px
- 1px
- 35px
- 3.2px
- 6.4px
- 3px
- 4px
- 96px
-
- 32px
- 400px
- 80px
- 150px
- 16px
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-media/src/main/res/values/strings.xml b/modules/mogo-module-media/src/main/res/values/strings.xml
deleted file mode 100644
index 913d27b8a0..0000000000
--- a/modules/mogo-module-media/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
- mogo-module-media
-
- 来自
- 的分享
- 是否确认分享此歌曲?
- 是否确认分享此书?
- 是否确认分享此新闻?
- 分享成功
- 分享失败
-
-
diff --git a/modules/mogo-module-media/src/main/res/values/styles.xml b/modules/mogo-module-media/src/main/res/values/styles.xml
deleted file mode 100644
index 5885930df6..0000000000
--- a/modules/mogo-module-media/src/main/res/values/styles.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
diff --git a/modules/mogo-module-media/src/test/java/com/mogo/module/media/ExampleUnitTest.java b/modules/mogo-module-media/src/test/java/com/mogo/module/media/ExampleUnitTest.java
deleted file mode 100644
index 7a2aef7111..0000000000
--- a/modules/mogo-module-media/src/test/java/com/mogo/module/media/ExampleUnitTest.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.mogo.module.media;
-
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * Example local unit test, which will execute on the development machine (host).
- *
- * @see Testing documentation
- */
-public class ExampleUnitTest {
- @Test
- public void addition_isCorrect() {
- assertEquals(4, 2 + 2);
- }
-}
\ No newline at end of file
diff --git a/modules/mogo-module-splash-noop/.gitignore b/modules/mogo-module-splash-noop/.gitignore
deleted file mode 100644
index 42afabfd2a..0000000000
--- a/modules/mogo-module-splash-noop/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
\ No newline at end of file
diff --git a/modules/mogo-module-splash-noop/build.gradle b/modules/mogo-module-splash-noop/build.gradle
deleted file mode 100644
index 509929f10c..0000000000
--- a/modules/mogo-module-splash-noop/build.gradle
+++ /dev/null
@@ -1,58 +0,0 @@
-apply plugin: 'com.android.library'
-apply plugin: 'kotlin-android'
-apply plugin: 'kotlin-android-extensions'
-apply plugin: 'kotlin-kapt'
-apply plugin: 'com.alibaba.arouter'
-
-android {
- compileSdkVersion rootProject.ext.android.compileSdkVersion
- // buildToolsVersion rootProject.ext.android.buildToolsVersion
- defaultConfig {
- minSdkVersion rootProject.ext.android.minSdkVersion
- targetSdkVersion rootProject.ext.android.targetSdkVersion
- versionCode Integer.valueOf(VERSION_CODE)
- versionName getValueFromRootProperties("${project.name.replace("-", "_").toUpperCase()}_VERSION")
-
- javaCompileOptions {
- annotationProcessorOptions {
- arguments = [AROUTER_MODULE_NAME: project.getName()]
- }
- }
-
- testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
- consumerProguardFiles 'consumer-rules.pro'
- }
-
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
- }
- }
-
- compileOptions {
- targetCompatibility 1.8
- sourceCompatibility 1.8
- }
-
-}
-
-dependencies {
- implementation fileTree(dir: 'libs', include: ['*.jar'])
- implementation rootProject.ext.dependencies.androidxccorektx
- implementation rootProject.ext.dependencies.kotlinstdlibjdk7
- implementation rootProject.ext.dependencies.androidxappcompat
- implementation rootProject.ext.dependencies.androidxconstraintlayout
- implementation rootProject.ext.dependencies.arouter
- kapt rootProject.ext.dependencies.aroutercompiler
- implementation rootProject.ext.dependencies.rxjava
- implementation rootProject.ext.dependencies.rxandroid
-
- if (Boolean.valueOf(RELEASE)) {
- compileOnly rootProject.ext.dependencies.modulecommon
- } else {
- compileOnly project(':modules:mogo-module-common')
- }
-}
-
-apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()
diff --git a/modules/mogo-module-splash-noop/consumer-rules.pro b/modules/mogo-module-splash-noop/consumer-rules.pro
deleted file mode 100644
index 3ef05240ac..0000000000
--- a/modules/mogo-module-splash-noop/consumer-rules.pro
+++ /dev/null
@@ -1 +0,0 @@
--keep class com.zhidao.mogo.module.splash.BydConst{*;}
\ No newline at end of file
diff --git a/modules/mogo-module-splash-noop/gradle.properties b/modules/mogo-module-splash-noop/gradle.properties
deleted file mode 100644
index 33dc22af32..0000000000
--- a/modules/mogo-module-splash-noop/gradle.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-GROUP=com.mogo.module
-POM_ARTIFACT_ID=module-splash-noop
-VERSION_CODE=1
diff --git a/modules/mogo-module-splash-noop/proguard-rules.pro b/modules/mogo-module-splash-noop/proguard-rules.pro
deleted file mode 100644
index f5e721d80f..0000000000
--- a/modules/mogo-module-splash-noop/proguard-rules.pro
+++ /dev/null
@@ -1,23 +0,0 @@
-# Add project specific ProGuard rules here.
-# You can control the set of applied configuration files using the
-# proguardFiles setting in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
-
-# Uncomment this to preserve the line number information for
-# debugging stack traces.
-#-keepattributes SourceFile,LineNumberTable
-
-# If you keep the line number information, uncomment this to
-# hide the original source file name.
-#-renamesourcefileattribute SourceFile
-
--keep class com.zhidao.mogo.module.splash.BydConst
\ No newline at end of file
diff --git a/modules/mogo-module-splash-noop/src/main/AndroidManifest.xml b/modules/mogo-module-splash-noop/src/main/AndroidManifest.xml
deleted file mode 100644
index 2ace90a42d..0000000000
--- a/modules/mogo-module-splash-noop/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-splash-noop/src/main/java/com/zhidao/mogo/module/splash/BydConst.kt b/modules/mogo-module-splash-noop/src/main/java/com/zhidao/mogo/module/splash/BydConst.kt
deleted file mode 100644
index 74536ca572..0000000000
--- a/modules/mogo-module-splash-noop/src/main/java/com/zhidao/mogo/module/splash/BydConst.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.zhidao.mogo.module.splash
-
-object BydConst {
- const val MODULE_NAME = "MODULE_BYD"
- const val PATH_NAME = "/carmachine/byd"
-}
\ No newline at end of file
diff --git a/modules/mogo-module-splash-noop/src/main/java/com/zhidao/mogo/module/splash/BydProvider.kt b/modules/mogo-module-splash-noop/src/main/java/com/zhidao/mogo/module/splash/BydProvider.kt
deleted file mode 100644
index 9b134711e7..0000000000
--- a/modules/mogo-module-splash-noop/src/main/java/com/zhidao/mogo/module/splash/BydProvider.kt
+++ /dev/null
@@ -1,72 +0,0 @@
-package com.zhidao.mogo.module.splash
-
-import android.content.Context
-import android.os.Bundle
-import android.view.View
-import androidx.fragment.app.Fragment
-import com.alibaba.android.arouter.facade.annotation.Route
-import com.mogo.map.listener.IMogoMapListener
-import com.mogo.map.location.IMogoLocationListener
-import com.mogo.map.marker.IMogoMarkerClickListener
-import com.mogo.map.navi.IMogoNaviListener
-import com.mogo.service.module.IMogoModuleLifecycle
-import com.mogo.service.module.IMogoModuleProvider
-import com.mogo.utils.logger.Logger
-import com.zhidao.mogo.module.splash.BydConst.MODULE_NAME
-import com.zhidao.mogo.module.splash.BydConst.PATH_NAME
-
-/**
- * 比亚迪车机provider
- *
- * @author tongchenfei
- */
-@Route(path = PATH_NAME)
-class BydProvider:IMogoModuleProvider {
- override fun getNaviListener(): IMogoNaviListener? {
- return null
- }
-
- override fun getLocationListener(): IMogoLocationListener? {
- return null
- }
-
- override fun getType(): Int {
- return 0
- }
-
- override fun getMarkerClickListener(): IMogoMarkerClickListener? {
- return null
- }
-
- override fun init(context: Context?) {
- Logger.d(MODULE_NAME, "比亚迪noop模块初始化===")
- }
-
- override fun getMapListener(): IMogoMapListener? {
- return null
- }
-
- override fun getAppPackage(): String {
- return ""
- }
-
- override fun createView(context: Context?): View? {
- return null
- }
-
- override fun createFragment(context: Context?, data: Bundle?): Fragment? {
- return null
- }
-
- override fun getModuleName(): String {
- return MODULE_NAME
- }
-
- override fun getAppName(): String {
- return ""
- }
-
- override fun getCardLifecycle(): IMogoModuleLifecycle? {
- return null
- }
-}
\ No newline at end of file
diff --git a/modules/mogo-module-splash/.gitignore b/modules/mogo-module-splash/.gitignore
deleted file mode 100644
index 42afabfd2a..0000000000
--- a/modules/mogo-module-splash/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
\ No newline at end of file
diff --git a/modules/mogo-module-splash/build.gradle b/modules/mogo-module-splash/build.gradle
deleted file mode 100644
index 509929f10c..0000000000
--- a/modules/mogo-module-splash/build.gradle
+++ /dev/null
@@ -1,58 +0,0 @@
-apply plugin: 'com.android.library'
-apply plugin: 'kotlin-android'
-apply plugin: 'kotlin-android-extensions'
-apply plugin: 'kotlin-kapt'
-apply plugin: 'com.alibaba.arouter'
-
-android {
- compileSdkVersion rootProject.ext.android.compileSdkVersion
- // buildToolsVersion rootProject.ext.android.buildToolsVersion
- defaultConfig {
- minSdkVersion rootProject.ext.android.minSdkVersion
- targetSdkVersion rootProject.ext.android.targetSdkVersion
- versionCode Integer.valueOf(VERSION_CODE)
- versionName getValueFromRootProperties("${project.name.replace("-", "_").toUpperCase()}_VERSION")
-
- javaCompileOptions {
- annotationProcessorOptions {
- arguments = [AROUTER_MODULE_NAME: project.getName()]
- }
- }
-
- testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
- consumerProguardFiles 'consumer-rules.pro'
- }
-
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
- }
- }
-
- compileOptions {
- targetCompatibility 1.8
- sourceCompatibility 1.8
- }
-
-}
-
-dependencies {
- implementation fileTree(dir: 'libs', include: ['*.jar'])
- implementation rootProject.ext.dependencies.androidxccorektx
- implementation rootProject.ext.dependencies.kotlinstdlibjdk7
- implementation rootProject.ext.dependencies.androidxappcompat
- implementation rootProject.ext.dependencies.androidxconstraintlayout
- implementation rootProject.ext.dependencies.arouter
- kapt rootProject.ext.dependencies.aroutercompiler
- implementation rootProject.ext.dependencies.rxjava
- implementation rootProject.ext.dependencies.rxandroid
-
- if (Boolean.valueOf(RELEASE)) {
- compileOnly rootProject.ext.dependencies.modulecommon
- } else {
- compileOnly project(':modules:mogo-module-common')
- }
-}
-
-apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()
diff --git a/modules/mogo-module-splash/consumer-rules.pro b/modules/mogo-module-splash/consumer-rules.pro
deleted file mode 100644
index 633730835f..0000000000
--- a/modules/mogo-module-splash/consumer-rules.pro
+++ /dev/null
@@ -1,2 +0,0 @@
-#-----ModuleSplash-----
--keep class com.zhidao.mogo.module.splash.SplashConst{*;}
\ No newline at end of file
diff --git a/modules/mogo-module-splash/gradle.properties b/modules/mogo-module-splash/gradle.properties
deleted file mode 100644
index 4c41034d70..0000000000
--- a/modules/mogo-module-splash/gradle.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-GROUP=com.mogo.module
-POM_ARTIFACT_ID=module-splash
-VERSION_CODE=1
diff --git a/modules/mogo-module-splash/proguard-rules.pro b/modules/mogo-module-splash/proguard-rules.pro
deleted file mode 100644
index f64d6a4170..0000000000
--- a/modules/mogo-module-splash/proguard-rules.pro
+++ /dev/null
@@ -1,24 +0,0 @@
-# Add project specific ProGuard rules here.
-# You can control the set of applied configuration files using the
-# proguardFiles setting in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
-
-# Uncomment this to preserve the line number information for
-# debugging stack traces.
-#-keepattributes SourceFile,LineNumberTable
-
-# If you keep the line number information, uncomment this to
-# hide the original source file name.
-#-renamesourcefileattribute SourceFile
-
-#-----ModuleSplash-----
--keep class com.zhidao.mogo.module.splash.SplashConst.*{*;}
\ No newline at end of file
diff --git a/modules/mogo-module-splash/src/androidTest/java/com/zhidao/mogo/module/splash/ExampleInstrumentedTest.kt b/modules/mogo-module-splash/src/androidTest/java/com/zhidao/mogo/module/splash/ExampleInstrumentedTest.kt
deleted file mode 100644
index b0d35cfd07..0000000000
--- a/modules/mogo-module-splash/src/androidTest/java/com/zhidao/mogo/module/splash/ExampleInstrumentedTest.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.zhidao.mogo.module.splash
-
-import androidx.test.platform.app.InstrumentationRegistry
-import androidx.test.ext.junit.runners.AndroidJUnit4
-
-import org.junit.Test
-import org.junit.runner.RunWith
-
-import org.junit.Assert.*
-
-/**
- * Instrumented test, which will execute on an Android device.
- *
- * See [testing documentation](http://d.android.com/tools/testing).
- */
-@RunWith(AndroidJUnit4::class)
-class ExampleInstrumentedTest {
- @Test
- fun useAppContext() {
- // Context of the app under test.
- val appContext = InstrumentationRegistry.getInstrumentation().targetContext
- assertEquals("com.zhidao.mogo.module.byd.test", appContext.packageName)
- }
-}
\ No newline at end of file
diff --git a/modules/mogo-module-splash/src/main/AndroidManifest.xml b/modules/mogo-module-splash/src/main/AndroidManifest.xml
deleted file mode 100644
index 2ace90a42d..0000000000
--- a/modules/mogo-module-splash/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-splash/src/main/java/com/zhidao/mogo/module/splash/SplashConst.kt b/modules/mogo-module-splash/src/main/java/com/zhidao/mogo/module/splash/SplashConst.kt
deleted file mode 100644
index a2ffcbd208..0000000000
--- a/modules/mogo-module-splash/src/main/java/com/zhidao/mogo/module/splash/SplashConst.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.zhidao.mogo.module.splash
-
-object SplashConst {
- const val MODULE_NAME = "MODULE_SPLASH"
- const val PATH_NAME = "/splash/api"
-}
\ No newline at end of file
diff --git a/modules/mogo-module-splash/src/main/java/com/zhidao/mogo/module/splash/SplashProvider.kt b/modules/mogo-module-splash/src/main/java/com/zhidao/mogo/module/splash/SplashProvider.kt
deleted file mode 100644
index b3f4d9292d..0000000000
--- a/modules/mogo-module-splash/src/main/java/com/zhidao/mogo/module/splash/SplashProvider.kt
+++ /dev/null
@@ -1,78 +0,0 @@
-@file:Suppress("DEPRECATION")
-
-package com.zhidao.mogo.module.splash
-
-import android.content.Context
-import android.os.Bundle
-import android.view.View
-import androidx.fragment.app.Fragment
-import com.alibaba.android.arouter.facade.annotation.Route
-import com.mogo.commons.debug.DebugConfig
-import com.mogo.map.listener.IMogoMapListener
-import com.mogo.map.location.IMogoLocationListener
-import com.mogo.map.marker.IMogoMarkerClickListener
-import com.mogo.map.navi.IMogoNaviListener
-import com.mogo.service.module.IMogoModuleLifecycle
-import com.mogo.service.module.IMogoModuleProvider
-import com.mogo.utils.logger.Logger
-import com.zhidao.mogo.module.splash.SplashConst.MODULE_NAME
-import com.zhidao.mogo.module.splash.SplashConst.PATH_NAME
-import com.zhidao.mogo.module.splash.fragment.BydSplashFragment
-
-/**
- * 比亚迪车机provider
- *
- * @author tongchenfei
- */
-@Route(path = PATH_NAME)
-class SplashProvider : IMogoModuleProvider {
- override fun getNaviListener(): IMogoNaviListener? {
- return null
- }
-
- override fun getLocationListener(): IMogoLocationListener? {
- return null
- }
-
- override fun getType(): Int {
- return 0
- }
-
- override fun getMarkerClickListener(): IMogoMarkerClickListener? {
- return null
- }
-
- override fun init(context: Context?) {
- Logger.d(MODULE_NAME, "比亚迪模块初始化===")
- }
-
- override fun getMapListener(): IMogoMapListener? {
- return null
- }
-
- override fun getAppPackage(): String {
- return ""
- }
-
- override fun createView(context: Context?): View? {
- return null
- }
-
- override fun createFragment(context: Context?, data: Bundle?): Fragment? = if (DebugConfig.getCarMachineType() == DebugConfig.CAR_MACHINE_TYPE_BYD) {
- BydSplashFragment()
- } else {
- null
- }
-
- override fun getModuleName(): String {
- return MODULE_NAME
- }
-
- override fun getAppName(): String {
- return ""
- }
-
- override fun getCardLifecycle(): IMogoModuleLifecycle? {
- return null
- }
-}
\ No newline at end of file
diff --git a/modules/mogo-module-splash/src/main/java/com/zhidao/mogo/module/splash/fragment/BydSplashFragment.kt b/modules/mogo-module-splash/src/main/java/com/zhidao/mogo/module/splash/fragment/BydSplashFragment.kt
deleted file mode 100644
index 1148d63378..0000000000
--- a/modules/mogo-module-splash/src/main/java/com/zhidao/mogo/module/splash/fragment/BydSplashFragment.kt
+++ /dev/null
@@ -1,55 +0,0 @@
-package com.zhidao.mogo.module.splash.fragment
-
-import android.os.Handler
-import android.os.Message
-import com.mogo.commons.mvp.MvpFragment
-import com.zhidao.mogo.module.splash.R
-import com.zhidao.mogo.module.splash.presenter.BydSplashPresenter
-import kotlinx.android.synthetic.main.fragment_byd_splash.*
-
-const val DEFAULT_COUNT_DOWN_TIME = 5
-const val MSG_COUNT_DOWN = 1001
-const val DEFAULT_COUNT_DOWN_DELAY = 1000L
-class BydSplashFragment :MvpFragment(),Handler.Callback{
- private val handler = Handler(this)
- private var countDownTime = DEFAULT_COUNT_DOWN_TIME
-
- override fun getLayoutId(): Int = R.layout.fragment_byd_splash
-
- override fun initViews() {
- startCountDown()
- tvByd.setOnClickListener {
- hideSplash()
- }
- }
-
- override fun createPresenter(): BydSplashPresenter = BydSplashPresenter(this)
-
- private fun startCountDown(){
- handler.removeMessages(MSG_COUNT_DOWN)
- countDownTime = DEFAULT_COUNT_DOWN_TIME
- tvCountDown.text = countDownTime.toString()
- handler.sendEmptyMessageDelayed(MSG_COUNT_DOWN, DEFAULT_COUNT_DOWN_DELAY)
- }
-
- override fun handleMessage(msg: Message): Boolean {
- if (msg.what == MSG_COUNT_DOWN) {
- tvCountDown?.also {
- countDownTime--
- if(countDownTime>0) {
- it.text = countDownTime.toString()
- handler.sendEmptyMessageDelayed(MSG_COUNT_DOWN, DEFAULT_COUNT_DOWN_DELAY)
- }else{
- hideSplash()
- }
- }
- return true
- }
- return false
- }
-
- private fun hideSplash(){
- handler.removeMessages(MSG_COUNT_DOWN)
- activity!!.supportFragmentManager.beginTransaction().remove(this).commit()
- }
-}
\ No newline at end of file
diff --git a/modules/mogo-module-splash/src/main/java/com/zhidao/mogo/module/splash/presenter/BydSplashPresenter.kt b/modules/mogo-module-splash/src/main/java/com/zhidao/mogo/module/splash/presenter/BydSplashPresenter.kt
deleted file mode 100644
index b16df959c7..0000000000
--- a/modules/mogo-module-splash/src/main/java/com/zhidao/mogo/module/splash/presenter/BydSplashPresenter.kt
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.zhidao.mogo.module.splash.presenter
-
-import com.mogo.commons.mvp.Presenter
-import com.zhidao.mogo.module.splash.fragment.BydSplashFragment
-
-class BydSplashPresenter(view: BydSplashFragment) : Presenter(view) {
-}
\ No newline at end of file
diff --git a/modules/mogo-module-splash/src/main/res/drawable-xhdpi-1920x1000/module_byd_splash.webp b/modules/mogo-module-splash/src/main/res/drawable-xhdpi-1920x1000/module_byd_splash.webp
deleted file mode 100644
index d39b3abe55..0000000000
Binary files a/modules/mogo-module-splash/src/main/res/drawable-xhdpi-1920x1000/module_byd_splash.webp and /dev/null differ
diff --git a/modules/mogo-module-splash/src/main/res/drawable/byd_count_down_bg.xml b/modules/mogo-module-splash/src/main/res/drawable/byd_count_down_bg.xml
deleted file mode 100644
index 83bc413969..0000000000
--- a/modules/mogo-module-splash/src/main/res/drawable/byd_count_down_bg.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-splash/src/main/res/drawable/byd_enter_btn_bg.xml b/modules/mogo-module-splash/src/main/res/drawable/byd_enter_btn_bg.xml
deleted file mode 100644
index e34b2f6181..0000000000
--- a/modules/mogo-module-splash/src/main/res/drawable/byd_enter_btn_bg.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
- -
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-splash/src/main/res/drawable/module_byd_splash.webp b/modules/mogo-module-splash/src/main/res/drawable/module_byd_splash.webp
deleted file mode 100644
index d39b3abe55..0000000000
Binary files a/modules/mogo-module-splash/src/main/res/drawable/module_byd_splash.webp and /dev/null differ
diff --git a/modules/mogo-module-splash/src/main/res/layout/fragment_byd_splash.xml b/modules/mogo-module-splash/src/main/res/layout/fragment_byd_splash.xml
deleted file mode 100644
index bb79601719..0000000000
--- a/modules/mogo-module-splash/src/main/res/layout/fragment_byd_splash.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/mogo-module-splash/src/test/java/com/zhidao/mogo/module/splash/ExampleUnitTest.kt b/modules/mogo-module-splash/src/test/java/com/zhidao/mogo/module/splash/ExampleUnitTest.kt
deleted file mode 100644
index 35aae2dff8..0000000000
--- a/modules/mogo-module-splash/src/test/java/com/zhidao/mogo/module/splash/ExampleUnitTest.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.zhidao.mogo.module.splash
-
-import org.junit.Test
-
-import org.junit.Assert.*
-
-/**
- * Example local unit test, which will execute on the development machine (host).
- *
- * See [testing documentation](http://d.android.com/tools/testing).
- */
-class ExampleUnitTest {
- @Test
- fun addition_isCorrect() {
- assertEquals(4, 2 + 2)
- }
-}
\ No newline at end of file