Compare commits
72 Commits
release_2.
...
master
Author | SHA1 | Date | |
---|---|---|---|
![]() |
0f12fcf40f | ||
![]() |
95bb81e1a1 | ||
![]() |
3ba2b0d93d | ||
![]() |
d30069aa68 | ||
![]() |
deaa1a19df | ||
![]() |
41ca42a4a2 | ||
![]() |
1dd9dbb9d7 | ||
![]() |
33c31963e8 | ||
![]() |
ba5de6b5f4 | ||
![]() |
a625b11909 | ||
![]() |
442098c61e | ||
![]() |
30c8e77d40 | ||
![]() |
ac23f1600c | ||
![]() |
a6adad7701 | ||
![]() |
ec1507ed31 | ||
![]() |
7385cfc2f1 | ||
![]() |
a18b310ce3 | ||
![]() |
559793e60d | ||
![]() |
73ec5a77b1 | ||
![]() |
96e3aa67af | ||
![]() |
30fdd43119 | ||
![]() |
f000f75cd4 | ||
![]() |
a644205935 | ||
![]() |
d3106d36d6 | ||
![]() |
dfe2f0d1c9 | ||
![]() |
e4637305fa | ||
![]() |
f87d25ad10 | ||
![]() |
9ddc66b4ae | ||
![]() |
fb8f36929f | ||
![]() |
2ce4ca1037 | ||
![]() |
fdb2c9315d | ||
![]() |
072f345d50 | ||
![]() |
a00ff162f1 | ||
![]() |
62d57f5b5e | ||
![]() |
99f1f65a55 | ||
![]() |
c55c762a3b | ||
![]() |
98f6b12a5b | ||
![]() |
39b7efd70e | ||
![]() |
05f0153159 | ||
![]() |
4186ee8920 | ||
![]() |
cf901e7c9d | ||
![]() |
42e07220dd | ||
![]() |
4325d85fd8 | ||
![]() |
0265d87dd8 | ||
![]() |
c57e64d07b | ||
![]() |
b7e99ddc68 | ||
![]() |
888ee9574c | ||
![]() |
4beaa9a299 | ||
![]() |
0679944adf | ||
![]() |
9ce8301ced | ||
![]() |
f3a4af4582 | ||
![]() |
3b8796c378 | ||
![]() |
86465b9932 | ||
![]() |
67dad1004d | ||
![]() |
064807470b | ||
![]() |
a91d7d2471 | ||
![]() |
712374dbac | ||
![]() |
aad121c2b3 | ||
![]() |
4b374fc3fb | ||
![]() |
e6d2e6707f | ||
![]() |
dc6e53d51b | ||
![]() |
b37b1fc115 | ||
![]() |
0ba0aed40f | ||
![]() |
3379aeed02 | ||
![]() |
e99a65c21e | ||
![]() |
dee4f873b4 | ||
![]() |
69f0d76330 | ||
![]() |
42aea570b3 | ||
![]() |
3427999e29 | ||
![]() |
e37af6c9a1 | ||
![]() |
ff14ac710c | ||
![]() |
c9f0687f75 |
@@ -2,11 +2,11 @@ apply plugin: 'com.android.library'
|
||||
apply plugin: 'kotlin-android'
|
||||
|
||||
android {
|
||||
compileSdkVersion COMPILE_SDK_VERSION.toInteger()
|
||||
compileSdkVersion 31
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion MIN_SDK_VERSION.toInteger()
|
||||
targetSdkVersion TARGET_SDK_VERSION.toInteger()
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 29
|
||||
|
||||
testApplicationId 'com.soundcloud.android.crop.test'
|
||||
testInstrumentationRunner 'android.test.InstrumentationTestRunner'
|
||||
@@ -20,21 +20,12 @@ android {
|
||||
}
|
||||
|
||||
buildToolsVersion = '30.0.3'
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_11
|
||||
targetCompatibility JavaVersion.VERSION_11
|
||||
}
|
||||
|
||||
kotlinOptions {
|
||||
jvmTarget = "11"
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api 'androidx.annotation:annotation:1.2.0'
|
||||
api 'androidx.annotation:annotation:1.1.0'
|
||||
api 'androidx.legacy:legacy-support-v4:1.0.0'
|
||||
implementation "androidx.core:core-ktx:1.7.0"
|
||||
implementation "androidx.core:core-ktx:1.3.2"
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||
}
|
||||
repositories {
|
||||
|
@@ -33,7 +33,7 @@
|
||||
"project_id":"736430079244645870",
|
||||
"app_id":"102953045",
|
||||
"api_key":"DAEDAN1bqknzqRuvualUo98vO7U9uXBJtBZ0rNQHgSo03bXgkl98tD4sytVBCBB1Y7ha0NcY++dSp9JLsws9BzDN+/fS3v8J9We3nA==",
|
||||
"package_name":"cn.nnbc123.voice"
|
||||
"package_name":"com.voice.magic"
|
||||
},
|
||||
"oauth_client":{
|
||||
"client_id":"102953045",
|
||||
@@ -41,7 +41,7 @@
|
||||
},
|
||||
"app_info":{
|
||||
"app_id":"102953045",
|
||||
"package_name":"cn.nnbc123.voice"
|
||||
"package_name":"com.voice.magic"
|
||||
},
|
||||
"service":{
|
||||
"analytics":{
|
||||
@@ -75,12 +75,12 @@
|
||||
"configuration_version":"3.0",
|
||||
"appInfos":[
|
||||
{
|
||||
"package_name":"cn.nnbc123.voice",
|
||||
"package_name":"com.voice.magic",
|
||||
"client":{
|
||||
"app_id":"102953045"
|
||||
},
|
||||
"app_info":{
|
||||
"package_name":"cn.nnbc123.voice",
|
||||
"package_name":"com.voice.magic",
|
||||
"app_id":"102953045"
|
||||
},
|
||||
"oauth_client":{
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
app/aliyun-libs/rpsdk-4.14.3-open.aar
Normal file
BIN
app/aliyun-libs/rpsdk-4.14.3-open.aar
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
207
app/build.gradle
207
app/build.gradle
@@ -3,55 +3,47 @@ apply plugin: 'com.android.application'
|
||||
apply plugin: 'com.android.application'
|
||||
apply plugin: 'kotlin-android'
|
||||
apply plugin: 'com.huawei.agconnect'
|
||||
apply plugin: 'com.tencent.vasdolly'
|
||||
apply from: '../mob.gradle'
|
||||
apply plugin: 'android-junk-code'
|
||||
|
||||
def onlyArm64 = Boolean.parseBoolean(only_arm64)
|
||||
|
||||
android {
|
||||
compileSdkVersion COMPILE_SDK_VERSION.toInteger()
|
||||
compileSdkVersion 31
|
||||
|
||||
defaultConfig {
|
||||
applicationId "cn.nnbc123.voice"
|
||||
minSdkVersion MIN_SDK_VERSION.toInteger()
|
||||
targetSdkVersion TARGET_SDK_VERSION.toInteger()
|
||||
applicationId "com.voice.magic"
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 29
|
||||
versionCode Integer.valueOf(version_code)
|
||||
versionName version_name
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
multiDexEnabled true
|
||||
// ndk {
|
||||
// abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86'
|
||||
// }
|
||||
|
||||
ndk {
|
||||
//设置支持的SO库架构
|
||||
if (onlyArm64) {
|
||||
abiFilters "arm64-v8a"
|
||||
} else {
|
||||
abiFilters "armeabi-v7a", "arm64-v8a"
|
||||
}
|
||||
}
|
||||
|
||||
flavorDimensions 'default'
|
||||
}
|
||||
|
||||
// splits {
|
||||
// abi {
|
||||
// enable true
|
||||
// reset()
|
||||
// include 'armeabi-v7a', 'arm64-v8a', 'x86'
|
||||
// universalApk true
|
||||
// }
|
||||
// }
|
||||
|
||||
//在apk文件后边生成版本号信息
|
||||
android.applicationVariants.configureEach { variant ->
|
||||
variant.outputs.configureEach { output ->
|
||||
def date = new Date().format("MMddHHmm", TimeZone.getTimeZone("GMT+08"))
|
||||
|
||||
def outputFile = output.outputFile
|
||||
if (outputFile == null || !outputFile.name.endsWith('.apk')) {
|
||||
return
|
||||
android.applicationVariants.all {
|
||||
variant ->
|
||||
variant.outputs.all {
|
||||
def date = new Date().format("MMddHHmm", TimeZone.getTimeZone("GMT+08"))
|
||||
outputFileName = "magic_${buildType.name}_v${defaultConfig.versionName}-${date}.apk"
|
||||
}
|
||||
|
||||
def abi = output.getFilter(com.android.build.OutputFile.ABI)
|
||||
if (abi == null) {
|
||||
abi = "universal"
|
||||
}
|
||||
outputFileName = "yinmeng_${variant.flavorName}_${buildType.name}_v${defaultConfig.versionName}_${defaultConfig.versionCode}_${abi}_${date}.apk"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
lintOptions {
|
||||
abortOnError false
|
||||
disable 'MissingTranslation'
|
||||
@@ -73,19 +65,19 @@ android {
|
||||
signingConfigs {
|
||||
|
||||
v2 {
|
||||
storeFile file('../yinmeng.jks')
|
||||
storePassword "yinmeng2023"
|
||||
keyAlias "yinmeng"
|
||||
keyPassword "yinmeng2023"
|
||||
storeFile file('../magic.jks')
|
||||
storePassword "magic2020"
|
||||
keyAlias "magic"
|
||||
keyPassword "magic2020"
|
||||
v2SigningEnabled true
|
||||
v1SigningEnabled true
|
||||
}
|
||||
|
||||
v1 {
|
||||
storeFile file('../yinmeng.jks')
|
||||
storePassword "yinmeng2023"
|
||||
keyAlias "yinmeng"
|
||||
keyPassword "yinmeng2023"
|
||||
storeFile file('../magic.jks')
|
||||
storePassword "magic2020"
|
||||
keyAlias "magic"
|
||||
keyPassword "magic2020"
|
||||
v2SigningEnabled false
|
||||
v1SigningEnabled true
|
||||
}
|
||||
@@ -144,8 +136,7 @@ android {
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
buildConfigField "String", "BASE_URL", "\"https://api.nnbc123.cn/\""
|
||||
buildConfigField "String", "WEB_URL", "\"https://h5.nnbc123.cn/\""
|
||||
buildConfigField "String", "BASE_URL", "\"https://yinyou.api.shengxuanwangluo.com/\""
|
||||
buildConfigField "String", "BASE_URL_DEBUG", "BASE_URL"
|
||||
buildConfigField "String", "BASE_URL_STAGING", "BASE_URL"
|
||||
buildConfigField "String", "BASE_URL_RELEASE", "BASE_URL"
|
||||
@@ -156,99 +147,37 @@ android {
|
||||
}
|
||||
|
||||
debug {
|
||||
println("minifyEnabled = " + minify_enabled)
|
||||
buildConfigField "String", "BASE_URL", "\"http://beta.api.nnbc123.cn/\""
|
||||
buildConfigField "String", "WEB_URL", "\"http://beta.api.nnbc123.cn\""
|
||||
buildConfigField "String", "BASE_URL", "\"http://api.uat.lecheng163.com/\""
|
||||
buildConfigField "String", "BASE_URL_DEBUG", "BASE_URL"
|
||||
buildConfigField "String", "BASE_URL_STAGING", "\"https://api.nnbc123.cn/\""
|
||||
buildConfigField "String", "BASE_URL_RELEASE", "\"https://api.nnbc123.cn/\""
|
||||
minifyEnabled minify_enabled.toBoolean() // 是否混淆
|
||||
buildConfigField "String", "BASE_URL_STAGING", "\"https://yinyou.api.shengxuanwangluo.com/\""
|
||||
buildConfigField "String", "BASE_URL_RELEASE", "\"https://yinyou.api.shengxuanwangluo.com/\""
|
||||
minifyEnabled false
|
||||
shrinkResources false
|
||||
signingConfig signingConfigs.v2
|
||||
signingConfig signingConfigs.v1
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_11
|
||||
targetCompatibility JavaVersion.VERSION_11
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
kotlinOptions {
|
||||
jvmTarget = "11"
|
||||
jvmTarget = "1.8"
|
||||
}
|
||||
|
||||
buildToolsVersion = '30.0.3'
|
||||
|
||||
productFlavors {
|
||||
official {
|
||||
ndk {
|
||||
abiFilters 'armeabi-v7a', 'arm64-v8a'
|
||||
}
|
||||
}
|
||||
fir {
|
||||
ndk {
|
||||
abiFilters 'armeabi-v7a', 'arm64-v8a'
|
||||
}
|
||||
}
|
||||
mlq {
|
||||
ndk {
|
||||
abiFilters 'x86'
|
||||
}
|
||||
}
|
||||
yingyongbao {
|
||||
ndk {
|
||||
abiFilters 'armeabi-v7a'
|
||||
}
|
||||
}
|
||||
vivo {
|
||||
ndk {
|
||||
abiFilters 'arm64-v8a'
|
||||
}
|
||||
}
|
||||
oppo {
|
||||
ndk {
|
||||
abiFilters 'arm64-v8a'
|
||||
}
|
||||
}
|
||||
xiaomi {
|
||||
ndk {
|
||||
abiFilters 'arm64-v8a'
|
||||
}
|
||||
}
|
||||
huawei {
|
||||
ndk {
|
||||
abiFilters 'arm64-v8a'
|
||||
}
|
||||
}
|
||||
rongyao {
|
||||
ndk {
|
||||
abiFilters 'arm64-v8a'
|
||||
}
|
||||
}
|
||||
kuaishou_01 {
|
||||
ndk {
|
||||
abiFilters 'armeabi-v7a', 'arm64-v8a'
|
||||
}
|
||||
}
|
||||
}
|
||||
productFlavors.all { flavor ->
|
||||
flavor.manifestPlaceholders = [
|
||||
// 渠道
|
||||
CHANNEL_VALUE : name,
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
def Lombok = "1.18.18"
|
||||
|
||||
dependencies {
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
|
||||
implementation fileTree(dir: 'aliyun-libs', include: ['*.jar', '*.aar'])
|
||||
implementation 'androidx.appcompat:appcompat:1.4.1'
|
||||
implementation 'com.google.android.material:material:1.6.1'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
|
||||
testImplementation 'junit:junit:4.13.2'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
|
||||
testImplementation 'junit:junit:4.13.1'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
|
||||
|
||||
api 'androidx.multidex:multidex:2.0.1'
|
||||
|
||||
@@ -273,7 +202,7 @@ dependencies {
|
||||
api "com.jakewharton:butterknife:10.2.3"
|
||||
annotationProcessor "com.jakewharton:butterknife-compiler:10.2.3"
|
||||
implementation "com.llew.huawei:verifier:1.0.3"
|
||||
annotationProcessor 'androidx.annotation:annotation:1.2.0'
|
||||
annotationProcessor 'androidx.annotation:annotation:1.1.0'
|
||||
|
||||
implementation 'io.github.h07000223:flycoTabLayout:3.0.0'
|
||||
|
||||
@@ -287,6 +216,8 @@ dependencies {
|
||||
api 'com.jungly:gridPasswordView:0.3'
|
||||
api 'com.google.android.flexbox:flexbox:3.0.0'
|
||||
|
||||
compileOnly "org.projectlombok:lombok:${Lombok}"
|
||||
annotationProcessor "org.projectlombok:lombok:${Lombok}"
|
||||
implementation 'nl.dionsegijn:konfetti:1.1.2'
|
||||
|
||||
//数字滚动效果
|
||||
@@ -314,14 +245,10 @@ dependencies {
|
||||
//oppo推送需要
|
||||
implementation 'commons-codec:commons-codec:1.6'
|
||||
|
||||
// api 'com.tencent.vasdolly:helper:3.0.3'
|
||||
api 'com.tencent.vasdolly:helper:3.0.3'
|
||||
implementation "io.github.tencent:vap:2.0.24"
|
||||
|
||||
implementation 'com.github.mmin18:realtimeblurview:1.2.1'
|
||||
|
||||
implementation 'com.qiyukf.unicorn:unicorn:8.2.0'
|
||||
|
||||
implementation 'com.github.yalantis:ucrop:2.2.7'
|
||||
}
|
||||
|
||||
repositories {
|
||||
@@ -332,20 +259,36 @@ repositories {
|
||||
|
||||
}
|
||||
|
||||
channel {
|
||||
//多渠道包的输出目录,默认为new File(project.buildDir,"channel")
|
||||
outputDir = new File(project.buildDir, "channelapk")
|
||||
//多渠道包的命名规则,默认为:${appName}-${versionName}-${versionCode}-${flavorName}-${buildType}-${buildTime}
|
||||
def only64 = onlyArm64 ? "-only64" : ""
|
||||
apkNameFormat = 'magic-${buildType}only64-${flavorName}-v${versionName}-${buildTime}'.replace("only64", only64)
|
||||
//快速模式:生成渠道包时不进行校验(速度可以提升10倍以上,默认为false)
|
||||
fastMode = false
|
||||
//buildTime的时间格式,默认格式:yyyyMMdd-HHmmss
|
||||
buildTimeDateFormat = 'MMddHHmm'
|
||||
//低内存模式(仅针对V2签名,默认为false):只把签名块、中央目录和EOCD读取到内存,不把最大头的内容块读取到内存,在手机上合成APK时,可以使用该模式
|
||||
lowMemory = false
|
||||
}
|
||||
|
||||
android.applicationVariants.all { variant ->
|
||||
print("variant.name=" + variant.name)
|
||||
if (variant.name.contains("release") || variant.name.contains("Release")) {
|
||||
androidJunkCode.configMap.put(variant.name, {
|
||||
packageBase = "com.nnbc123.plugin.ui" //生成java类根包名
|
||||
packageCount = 30 //生成包数量
|
||||
activityCountPerPackage = 30 //每个包下生成Activity类数量
|
||||
excludeActivityJavaFile = false
|
||||
//是否排除生成Activity的Java文件,默认false(layout和写入AndroidManifest.xml还会执行),主要用于处理类似神策全埋点编译过慢问题
|
||||
otherCountPerPackage = 50 //每个包下生成其它类的数量
|
||||
methodCountPerClass = 20 //每个类下生成方法数量
|
||||
resPrefix = "mango_" //生成的layout、drawable、string等资源名前缀
|
||||
drawableCount = 300 //生成drawable资源数量
|
||||
stringCount = 300 //生成string数量
|
||||
})
|
||||
switch (variant.name) {//变体名称,如果没有设置productFlavors就是buildType名称,如果有设置productFlavors就是flavor+buildType,例如(freeRelease、proRelease)
|
||||
case "release":
|
||||
androidJunkCode.configMap.put(variant.name, {
|
||||
packageBase = "com.mango.plugin.ui" //生成java类根包名
|
||||
packageCount = 30 //生成包数量
|
||||
activityCountPerPackage = 30 //每个包下生成Activity类数量
|
||||
excludeActivityJavaFile = false
|
||||
//是否排除生成Activity的Java文件,默认false(layout和写入AndroidManifest.xml还会执行),主要用于处理类似神策全埋点编译过慢问题
|
||||
otherCountPerPackage = 50 //每个包下生成其它类的数量
|
||||
methodCountPerClass = 20 //每个类下生成方法数量
|
||||
resPrefix = "mango_" //生成的layout、drawable、string等资源名前缀
|
||||
drawableCount = 300 //生成drawable资源数量
|
||||
stringCount = 300 //生成string数量
|
||||
})
|
||||
break
|
||||
}
|
||||
}
|
BIN
app/libs/SudMGP-v1.1.32.200.aar
Normal file
BIN
app/libs/SudMGP-v1.1.32.200.aar
Normal file
Binary file not shown.
Binary file not shown.
52
app/proguard-rules.pro
vendored
52
app/proguard-rules.pro
vendored
@@ -115,19 +115,19 @@
|
||||
-keep class com.netease.** {*;}
|
||||
|
||||
# Presenter 相关
|
||||
-keep class com.nnbc123.app.base.** { *; }
|
||||
-keep public class * extends com.nnbc123.app.base.BaseMvpPresenter
|
||||
-keep public class * extends com.nnbc123.library.base.factory.AbstractMvpPresenter
|
||||
-keep class com.mango.moshen.base.** { *; }
|
||||
-keep public class * extends com.mango.moshen.base.BaseMvpPresenter
|
||||
-keep public class * extends com.mango.xchat_android_library.base.factory.AbstractMvpPresenter
|
||||
|
||||
# 云信自定义 ViewHolder 配置
|
||||
-dontwarn com.nnbc123.app.ui.im.recent.holder.**
|
||||
-keep class com.nnbc123.app.ui.im.recent.holder.** {*;}
|
||||
-keep class com.nnbc123.app.ui.im.chat.** {*;}
|
||||
-keep class com.nnbc123.app.luckymoney.viewholder.** {*;}
|
||||
-keep class com.nnbc123.app.share.viewholder.** {*;}
|
||||
-keep class com.nnbc123.app.public_chat_hall.msg.viewholder.** {*;}
|
||||
-keep class com.nnbc123.app.module_hall.im.msgholder.** {*;}
|
||||
-keep class com.nnbc123.app.mentoring_relationship.viewholder.** {*;}
|
||||
-dontwarn com.mango.moshen.ui.im.recent.holder.**
|
||||
-keep class com.mango.moshen.ui.im.recent.holder.** {*;}
|
||||
-keep class com.mango.moshen.ui.im.chat.** {*;}
|
||||
-keep class com.mango.moshen.luckymoney.viewholder.** {*;}
|
||||
-keep class com.mango.moshen.share.viewholder.** {*;}
|
||||
-keep class com.mango.moshen.public_chat_hall.msg.viewholder.** {*;}
|
||||
-keep class com.mango.moshen.module_hall.im.msgholder.** {*;}
|
||||
-keep class com.mango.moshen.mentoring_relationship.viewholder.** {*;}
|
||||
-keep public class * extends com.netease.nim.uikit.common.ui.recyclerview.holder.RecyclerViewHolder {*;}
|
||||
-keep public class * extends com.netease.nim.uikit.business.session.viewholder.MsgViewHolderBase {*;}
|
||||
|
||||
@@ -169,7 +169,7 @@
|
||||
|
||||
|
||||
#-------------TakePhoto的混淆配置------------
|
||||
-keep class com.nnbc123.app.takephoto.** { *; }
|
||||
-keep class com.jph.takephoto.** { *; }
|
||||
-dontwarn com.jph.takephoto.**
|
||||
|
||||
-keep class com.darsh.multipleimageselect.** { *; }
|
||||
@@ -207,8 +207,8 @@
|
||||
<init>(...);
|
||||
}
|
||||
|
||||
-dontwarn com.nnbc123.app.bindadapter.**
|
||||
-keep class com.nnbc123.app.bindadapter.** {*;}
|
||||
-dontwarn com.mango.moshen.bindadapter.**
|
||||
-keep class com.mango.moshen.bindadapter.** {*;}
|
||||
|
||||
# Ping++ 混淆过滤
|
||||
-dontwarn com.pingplusplus.**
|
||||
@@ -239,8 +239,8 @@
|
||||
|
||||
# TODO 网络加载 一些业务bean gson 时候混淆问题
|
||||
-keep class org.json.** {*;}
|
||||
-dontwarn com.nnbc123.core.**
|
||||
-keep class com.nnbc123.core.** {*;}
|
||||
-dontwarn com.moshen.core.**
|
||||
-keep class com.mango.core.** {*;}
|
||||
|
||||
|
||||
#百度统计
|
||||
@@ -314,8 +314,8 @@
|
||||
-keep class com.autonavi.aps.amapapi.model.**{*;}
|
||||
|
||||
#暂时keep这个View排查华为oom问题
|
||||
-keep class com.nnbc123.app.avroom.widget.MicroView{*;}
|
||||
-keep class com.nnbc123.app.ui.widget.rollviewpager.RollPagerView{*;}
|
||||
-keep class com.mango.moshen.avroom.widget.MicroView{*;}
|
||||
-keep class com.mango.moshen.ui.widget.rollviewpager.RollPagerView{*;}
|
||||
|
||||
#linkedMe
|
||||
-keep class com.microquation.linkedme.android.** { *; }
|
||||
@@ -373,7 +373,7 @@
|
||||
-dontwarn com.meizu.cloud.**
|
||||
-keep class com.meizu.cloud.** {*;}
|
||||
|
||||
-keep class com.nnbc123.app.ui.widget.AppBarLayoutBehavior {*;}
|
||||
-keep class com.mango.moshen.ui.widget.AppBarLayoutBehavior {*;}
|
||||
|
||||
#ViewBinding使用的反射生成的对应Binding
|
||||
-keepclassmembers class * implements androidx.viewbinding.ViewBinding {
|
||||
@@ -436,6 +436,9 @@
|
||||
# linkedme
|
||||
-keep class com.microquation.linkedme.android.** { *; }
|
||||
|
||||
# 数美天网
|
||||
-keep class com.ishumei.dfp.SMSDK { *; }
|
||||
|
||||
-dontwarn com.alibaba.**
|
||||
-dontwarn com.taobao.**
|
||||
-dontwarn com.google.**
|
||||
@@ -450,14 +453,5 @@
|
||||
-keep class android.support.v8.renderscript.** { *; }
|
||||
-keep class androidx.renderscript.** { *; }
|
||||
|
||||
-keep class com.nnbc123.plugin.ui.**{*;}
|
||||
-keep class com.yinyou.plugin.**{*;}
|
||||
|
||||
-dontwarn com.qiyukf.**
|
||||
-keep class com.qiyukf.** {*;}
|
||||
-dontwarn org.slf4j.**
|
||||
-keep class org.slf4j.** { *; }
|
||||
|
||||
# For BannerViewPager
|
||||
-keep class androidx.recyclerview.widget.** { *; }
|
||||
-keep class androidx.viewpager2.widget.** { *; }
|
||||
-keep class io.agora.**{*;}
|
||||
|
@@ -0,0 +1,28 @@
|
||||
package com.mango.moshen;
|
||||
|
||||
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 <a href="http://d.android.com/tools/testing">Testing documentation</a>
|
||||
*/
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class ExampleInstrumentedTest {
|
||||
@Test
|
||||
public void useAppContext() throws Exception {
|
||||
// Context of the app under test.
|
||||
Context appContext = InstrumentationRegistry.getTargetContext();
|
||||
|
||||
assertEquals("com.mango.moshen_android_client", appContext.getPackageName());
|
||||
}
|
||||
|
||||
}
|
@@ -1,28 +0,0 @@
|
||||
package com.nnbc123.app;
|
||||
|
||||
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 <a href="http://d.android.com/tools/testing">Testing documentation</a>
|
||||
*/
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class ExampleInstrumentedTest {
|
||||
@Test
|
||||
public void useAppContext() throws Exception {
|
||||
// Context of the app under test.
|
||||
Context appContext = InstrumentationRegistry.getTargetContext();
|
||||
|
||||
assertEquals("com.nnbc123.app_android_client", appContext.getPackageName());
|
||||
}
|
||||
|
||||
}
|
@@ -1,17 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_selected="true">
|
||||
<shape android:shape="rectangle">
|
||||
<stroke android:width="1dp" android:color="#ffffe710" />
|
||||
<solid android:color="#26ffe710" />
|
||||
<corners android:bottomLeftRadius="8dp" android:bottomRightRadius="8dp" android:topLeftRadius="8dp" android:topRightRadius="8dp" />
|
||||
</shape>
|
||||
</item>
|
||||
|
||||
<item android:drawable="@drawable/dialog_charge_bg_checked" android:state_selected="true" />
|
||||
<item android:drawable="@drawable/dialog_charge_bg_checked" android:state_checked="true" />
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#fff8f8fa" />
|
||||
<corners android:bottomLeftRadius="10dp" android:bottomRightRadius="10dp" android:topLeftRadius="10dp" android:topRightRadius="10dp" />
|
||||
<solid android:color="@color/white" />
|
||||
<corners android:radius="8dp"/>
|
||||
</shape>
|
||||
</item>
|
||||
|
||||
|
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners
|
||||
android:radius="@dimen/dp_12"
|
||||
/>
|
||||
<solid
|
||||
android:color="@color/black_transparent_35"
|
||||
/>
|
||||
</shape>
|
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners android:radius="@dimen/dp_12" />
|
||||
<stroke android:color="#FFE974" android:width="1px"/>
|
||||
<solid android:color="#0D002F"/>
|
||||
</shape>
|
File diff suppressed because it is too large
Load Diff
BIN
app/src/main/assets/svga/all_fairy.svga
Normal file
BIN
app/src/main/assets/svga/all_fairy.svga
Normal file
Binary file not shown.
BIN
app/src/main/assets/svga/all_service.svga
Normal file
BIN
app/src/main/assets/svga/all_service.svga
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
app/src/main/assets/vap/fairy_anim_once.mp4
Normal file
BIN
app/src/main/assets/vap/fairy_anim_once.mp4
Normal file
Binary file not shown.
BIN
app/src/main/assets/vap/fairy_anim_ten.mp4
Normal file
BIN
app/src/main/assets/vap/fairy_anim_ten.mp4
Normal file
Binary file not shown.
Binary file not shown.
BIN
app/src/main/assets/vap/test_fairy_anim_epic.mp4
Normal file
BIN
app/src/main/assets/vap/test_fairy_anim_epic.mp4
Normal file
Binary file not shown.
BIN
app/src/main/assets/vap/test_fairy_anim_legend.mp4
Normal file
BIN
app/src/main/assets/vap/test_fairy_anim_legend.mp4
Normal file
Binary file not shown.
@@ -1,16 +1,16 @@
|
||||
package com.nnbc123.app.takephoto.app;
|
||||
package com.jph.takephoto.app;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
|
||||
import com.nnbc123.app.takephoto.compress.CompressConfig;
|
||||
import com.nnbc123.app.takephoto.model.CropOptions;
|
||||
import com.nnbc123.app.takephoto.model.MultipleCrop;
|
||||
import com.nnbc123.app.takephoto.model.TException;
|
||||
import com.nnbc123.app.takephoto.model.TResult;
|
||||
import com.nnbc123.app.takephoto.model.TakePhotoOptions;
|
||||
import com.nnbc123.app.takephoto.permission.PermissionManager;
|
||||
import com.jph.takephoto.compress.CompressConfig;
|
||||
import com.jph.takephoto.model.CropOptions;
|
||||
import com.jph.takephoto.model.MultipleCrop;
|
||||
import com.jph.takephoto.model.TException;
|
||||
import com.jph.takephoto.model.TResult;
|
||||
import com.jph.takephoto.model.TakePhotoOptions;
|
||||
import com.jph.takephoto.permission.PermissionManager;
|
||||
|
||||
|
||||
/**
|
@@ -1,19 +1,19 @@
|
||||
package com.nnbc123.app.takephoto.app;
|
||||
package com.jph.takephoto.app;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import androidx.annotation.CallSuper;
|
||||
import android.util.Log;
|
||||
|
||||
import com.nnbc123.app.takephoto.model.InvokeParam;
|
||||
import com.nnbc123.app.takephoto.model.TContextWrap;
|
||||
import com.nnbc123.app.takephoto.model.TResult;
|
||||
import com.nnbc123.app.takephoto.permission.InvokeListener;
|
||||
import com.nnbc123.app.takephoto.permission.PermissionManager;
|
||||
import com.nnbc123.app.takephoto.permission.PermissionManager.TPermissionType;
|
||||
import com.nnbc123.app.takephoto.permission.TakePhotoInvocationHandler;
|
||||
import com.nnbc123.app.R;
|
||||
import com.nnbc123.app.base.BaseActivity;
|
||||
import com.jph.takephoto.model.InvokeParam;
|
||||
import com.jph.takephoto.model.TContextWrap;
|
||||
import com.jph.takephoto.model.TResult;
|
||||
import com.jph.takephoto.permission.InvokeListener;
|
||||
import com.jph.takephoto.permission.PermissionManager;
|
||||
import com.jph.takephoto.permission.PermissionManager.TPermissionType;
|
||||
import com.jph.takephoto.permission.TakePhotoInvocationHandler;
|
||||
import com.mango.moshen.R;
|
||||
import com.mango.moshen.base.BaseActivity;
|
||||
|
||||
/**
|
||||
* 继承这个类来让Activity获取拍照的能力<br>
|
@@ -1,17 +1,17 @@
|
||||
package com.nnbc123.app.takephoto.app;
|
||||
package com.jph.takephoto.app;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import android.util.Log;
|
||||
|
||||
import com.nnbc123.app.takephoto.model.InvokeParam;
|
||||
import com.nnbc123.app.takephoto.model.TContextWrap;
|
||||
import com.nnbc123.app.takephoto.model.TResult;
|
||||
import com.nnbc123.app.takephoto.permission.InvokeListener;
|
||||
import com.nnbc123.app.takephoto.permission.PermissionManager;
|
||||
import com.nnbc123.app.takephoto.permission.TakePhotoInvocationHandler;
|
||||
import com.nnbc123.app.R;
|
||||
import com.jph.takephoto.model.InvokeParam;
|
||||
import com.jph.takephoto.model.TContextWrap;
|
||||
import com.jph.takephoto.model.TResult;
|
||||
import com.jph.takephoto.permission.InvokeListener;
|
||||
import com.jph.takephoto.permission.PermissionManager;
|
||||
import com.jph.takephoto.permission.TakePhotoInvocationHandler;
|
||||
import com.mango.moshen.R;
|
||||
|
||||
/**
|
||||
* 继承这个类来让Fragment获取拍照的能力<br>
|
@@ -1,17 +1,17 @@
|
||||
package com.nnbc123.app.takephoto.app;
|
||||
package com.jph.takephoto.app;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import android.util.Log;
|
||||
|
||||
import com.nnbc123.app.takephoto.model.InvokeParam;
|
||||
import com.nnbc123.app.takephoto.model.TContextWrap;
|
||||
import com.nnbc123.app.takephoto.model.TResult;
|
||||
import com.nnbc123.app.takephoto.permission.InvokeListener;
|
||||
import com.nnbc123.app.takephoto.permission.PermissionManager;
|
||||
import com.nnbc123.app.takephoto.permission.TakePhotoInvocationHandler;
|
||||
import com.nnbc123.app.R;
|
||||
import com.jph.takephoto.model.InvokeParam;
|
||||
import com.jph.takephoto.model.TContextWrap;
|
||||
import com.jph.takephoto.model.TResult;
|
||||
import com.jph.takephoto.permission.InvokeListener;
|
||||
import com.jph.takephoto.permission.PermissionManager;
|
||||
import com.jph.takephoto.permission.TakePhotoInvocationHandler;
|
||||
import com.mango.moshen.R;
|
||||
|
||||
/**
|
||||
* 继承这个类来让Activity获取拍照的能力<br>
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.takephoto.app;
|
||||
package com.jph.takephoto.app;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.ProgressDialog;
|
||||
@@ -12,30 +12,30 @@ import android.text.TextUtils;
|
||||
|
||||
import com.darsh.multipleimageselect.helpers.Constants;
|
||||
import com.darsh.multipleimageselect.models.Image;
|
||||
import com.nnbc123.app.takephoto.compress.CompressConfig;
|
||||
import com.nnbc123.app.takephoto.compress.CompressImage;
|
||||
import com.nnbc123.app.takephoto.compress.CompressImageImpl;
|
||||
import com.nnbc123.app.takephoto.model.CropOptions;
|
||||
import com.nnbc123.app.takephoto.model.MultipleCrop;
|
||||
import com.nnbc123.app.takephoto.model.TContextWrap;
|
||||
import com.nnbc123.app.takephoto.model.TException;
|
||||
import com.nnbc123.app.takephoto.model.TExceptionType;
|
||||
import com.nnbc123.app.takephoto.model.TImage;
|
||||
import com.nnbc123.app.takephoto.model.TIntentWap;
|
||||
import com.nnbc123.app.takephoto.model.TResult;
|
||||
import com.nnbc123.app.takephoto.model.TakePhotoOptions;
|
||||
import com.nnbc123.app.takephoto.permission.PermissionManager;
|
||||
import com.nnbc123.app.takephoto.uitl.ImageRotateUtil;
|
||||
import com.nnbc123.app.takephoto.uitl.IntentUtils;
|
||||
import com.nnbc123.app.takephoto.uitl.TConstant;
|
||||
import com.nnbc123.app.takephoto.uitl.TFileUtils;
|
||||
import com.nnbc123.app.takephoto.uitl.TImageFiles;
|
||||
import com.nnbc123.app.takephoto.uitl.TUriParse;
|
||||
import com.nnbc123.app.takephoto.uitl.TUtils;
|
||||
import com.jph.takephoto.compress.CompressConfig;
|
||||
import com.jph.takephoto.compress.CompressImage;
|
||||
import com.jph.takephoto.compress.CompressImageImpl;
|
||||
import com.jph.takephoto.model.CropOptions;
|
||||
import com.jph.takephoto.model.MultipleCrop;
|
||||
import com.jph.takephoto.model.TContextWrap;
|
||||
import com.jph.takephoto.model.TException;
|
||||
import com.jph.takephoto.model.TExceptionType;
|
||||
import com.jph.takephoto.model.TImage;
|
||||
import com.jph.takephoto.model.TIntentWap;
|
||||
import com.jph.takephoto.model.TResult;
|
||||
import com.jph.takephoto.model.TakePhotoOptions;
|
||||
import com.jph.takephoto.permission.PermissionManager;
|
||||
import com.jph.takephoto.uitl.ImageRotateUtil;
|
||||
import com.jph.takephoto.uitl.IntentUtils;
|
||||
import com.jph.takephoto.uitl.TConstant;
|
||||
import com.jph.takephoto.uitl.TFileUtils;
|
||||
import com.jph.takephoto.uitl.TImageFiles;
|
||||
import com.jph.takephoto.uitl.TUriParse;
|
||||
import com.jph.takephoto.uitl.TUtils;
|
||||
import com.orhanobut.logger.Logger;
|
||||
import com.soundcloud.android.crop.Crop;
|
||||
import com.nnbc123.app.R;
|
||||
import com.nnbc123.library.utils.SingleToastUtil;
|
||||
import com.mango.moshen.R;
|
||||
import com.mango.xchat_android_library.utils.SingleToastUtil;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
@@ -1,7 +1,7 @@
|
||||
package com.nnbc123.app.takephoto.compress;
|
||||
package com.jph.takephoto.compress;
|
||||
|
||||
|
||||
import com.nnbc123.app.takephoto.model.LubanOptions;
|
||||
import com.jph.takephoto.model.LubanOptions;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package com.nnbc123.app.takephoto.compress;
|
||||
package com.jph.takephoto.compress;
|
||||
|
||||
import com.nnbc123.app.takephoto.model.TImage;
|
||||
import com.jph.takephoto.model.TImage;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@@ -1,9 +1,9 @@
|
||||
package com.nnbc123.app.takephoto.compress;
|
||||
package com.jph.takephoto.compress;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.nnbc123.app.takephoto.model.TImage;
|
||||
import com.jph.takephoto.model.TImage;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.takephoto.compress;
|
||||
package com.jph.takephoto.compress;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
@@ -6,7 +6,7 @@ import android.graphics.Bitmap.Config;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.os.Handler;
|
||||
|
||||
import com.nnbc123.app.takephoto.uitl.TFileUtils;
|
||||
import com.jph.takephoto.uitl.TFileUtils;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
@@ -1,9 +1,9 @@
|
||||
package com.nnbc123.app.takephoto.compress;
|
||||
package com.jph.takephoto.compress;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.nnbc123.app.takephoto.model.LubanOptions;
|
||||
import com.nnbc123.app.takephoto.model.TImage;
|
||||
import com.jph.takephoto.model.LubanOptions;
|
||||
import com.jph.takephoto.model.TImage;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.takephoto.model;
|
||||
package com.jph.takephoto.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.takephoto.model;
|
||||
package com.jph.takephoto.model;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.takephoto.model;
|
||||
package com.jph.takephoto.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
@@ -1,10 +1,10 @@
|
||||
package com.nnbc123.app.takephoto.model;
|
||||
package com.jph.takephoto.model;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.net.Uri;
|
||||
|
||||
import com.nnbc123.app.takephoto.uitl.TImageFiles;
|
||||
import com.nnbc123.app.takephoto.uitl.TUtils;
|
||||
import com.jph.takephoto.uitl.TImageFiles;
|
||||
import com.jph.takephoto.uitl.TUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.takephoto.model;
|
||||
package com.jph.takephoto.model;
|
||||
|
||||
import android.app.Activity;
|
||||
import androidx.fragment.app.Fragment;
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.takephoto.model;
|
||||
package com.jph.takephoto.model;
|
||||
|
||||
/**
|
||||
* Author: JPH
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.takephoto.model;
|
||||
package com.jph.takephoto.model;
|
||||
|
||||
/**
|
||||
* Author: JPH
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.takephoto.model;
|
||||
package com.jph.takephoto.model;
|
||||
|
||||
import android.net.Uri;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.takephoto.model;
|
||||
package com.jph.takephoto.model;
|
||||
|
||||
import android.content.Intent;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.takephoto.model;
|
||||
package com.jph.takephoto.model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.takephoto.model;
|
||||
package com.jph.takephoto.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
@@ -0,0 +1,10 @@
|
||||
package com.jph.takephoto.permission;
|
||||
|
||||
import com.jph.takephoto.model.InvokeParam;
|
||||
|
||||
/**
|
||||
* 授权管理回调
|
||||
*/
|
||||
public interface InvokeListener {
|
||||
PermissionManager.TPermissionType invoke(InvokeParam invokeParam);
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.takephoto.permission;
|
||||
package com.jph.takephoto.permission;
|
||||
|
||||
import android.Manifest;
|
||||
import android.app.Activity;
|
||||
@@ -8,12 +8,12 @@ import androidx.core.app.ActivityCompat;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.nnbc123.app.takephoto.app.TakePhoto;
|
||||
import com.nnbc123.app.takephoto.model.InvokeParam;
|
||||
import com.nnbc123.app.takephoto.model.TContextWrap;
|
||||
import com.nnbc123.app.takephoto.uitl.TConstant;
|
||||
import com.nnbc123.app.R;
|
||||
import com.nnbc123.library.utils.SingleToastUtil;
|
||||
import com.jph.takephoto.app.TakePhoto;
|
||||
import com.jph.takephoto.model.InvokeParam;
|
||||
import com.jph.takephoto.model.TContextWrap;
|
||||
import com.jph.takephoto.uitl.TConstant;
|
||||
import com.mango.moshen.R;
|
||||
import com.mango.xchat_android_library.utils.SingleToastUtil;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
@@ -1,7 +1,7 @@
|
||||
package com.nnbc123.app.takephoto.permission;
|
||||
package com.jph.takephoto.permission;
|
||||
|
||||
import com.nnbc123.app.takephoto.app.TakePhoto;
|
||||
import com.nnbc123.app.takephoto.model.InvokeParam;
|
||||
import com.jph.takephoto.app.TakePhoto;
|
||||
import com.jph.takephoto.model.InvokeParam;
|
||||
|
||||
import java.lang.reflect.InvocationHandler;
|
||||
import java.lang.reflect.Method;
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.takephoto.uitl;
|
||||
package com.jph.takephoto.uitl;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
@@ -8,6 +8,8 @@ import android.media.ExifInterface;
|
||||
import android.net.Uri;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.netease.nim.uikit.common.util.log.LogUtil;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
93
app/src/main/java/com/jph/takephoto/uitl/IntentUtils.java
Normal file
93
app/src/main/java/com/jph/takephoto/uitl/IntentUtils.java
Normal file
@@ -0,0 +1,93 @@
|
||||
package com.jph.takephoto.uitl;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.graphics.Bitmap;
|
||||
import android.net.Uri;
|
||||
import android.provider.MediaStore;
|
||||
import android.util.Log;
|
||||
|
||||
import com.darsh.multipleimageselect.activities.AlbumSelectActivity;
|
||||
import com.darsh.multipleimageselect.helpers.Constants;
|
||||
import com.jph.takephoto.model.CropOptions;
|
||||
import com.jph.takephoto.model.TContextWrap;
|
||||
|
||||
/**
|
||||
* Intent工具类用于生成拍照、
|
||||
* 从相册选择照片,裁剪照片所需的Intent
|
||||
* Author: JPH
|
||||
* Date: 2016/6/7 0007 13:41
|
||||
*/
|
||||
public class IntentUtils {
|
||||
private static final String TAG = IntentUtils.class.getName();
|
||||
|
||||
/**
|
||||
* 获取图片多选的Intent
|
||||
* @param limit 最多选择图片张数的限制
|
||||
* */
|
||||
public static Intent getPickMultipleIntent(TContextWrap contextWrap, int limit){
|
||||
Intent intent = new Intent(contextWrap.getActivity(), AlbumSelectActivity.class);
|
||||
intent.putExtra(Constants.INTENT_EXTRA_LIMIT, limit>0? limit:1);
|
||||
return intent;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取裁剪照片的Intent
|
||||
* @param targetUri 要裁剪的照片
|
||||
* @param outPutUri 裁剪完成的照片
|
||||
* @param options 裁剪配置
|
||||
* @return
|
||||
*/
|
||||
public static Intent getCropIntentWithOtherApp(Uri targetUri, Uri outPutUri, CropOptions options) {
|
||||
boolean isReturnData = TUtils.isReturnData();
|
||||
Log.w(TAG, "getCaptureIntentWithCrop:isReturnData:" + (isReturnData ? "true" : "false"));
|
||||
Intent intent = new Intent("com.android.camera.action.CROP");
|
||||
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
|
||||
intent.setDataAndType(targetUri, "image/*");
|
||||
intent.putExtra("crop", "true");
|
||||
if (options.getAspectX()*options.getAspectY()>0){
|
||||
intent.putExtra("aspectX", options.getAspectX());
|
||||
intent.putExtra("aspectY", options.getAspectY());
|
||||
}
|
||||
if (options.getOutputX()*options.getOutputY()>0){
|
||||
intent.putExtra("outputX", options.getOutputX());
|
||||
intent.putExtra("outputY", options.getOutputY());
|
||||
}
|
||||
intent.putExtra("scale", true);
|
||||
intent.putExtra(MediaStore.EXTRA_OUTPUT, outPutUri);
|
||||
intent.putExtra("return-data", isReturnData);
|
||||
intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
|
||||
intent.putExtra("noFaceDetection", true); // no face detection
|
||||
return intent;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取拍照的Intent
|
||||
* @return
|
||||
*/
|
||||
public static Intent getCaptureIntent(Uri outPutUri) {
|
||||
Intent intent = new Intent();
|
||||
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
|
||||
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);//设置Action为拍照
|
||||
intent.putExtra(MediaStore.EXTRA_OUTPUT, outPutUri);//将拍取的照片保存到指定URI
|
||||
return intent;
|
||||
}
|
||||
/**
|
||||
* 获取选择照片的Intent
|
||||
* @return
|
||||
*/
|
||||
public static Intent getPickIntentWithGallery() {
|
||||
Intent intent = new Intent();
|
||||
intent.setAction(Intent.ACTION_PICK);//Pick an item from the data
|
||||
intent.setType("image/*");//从所有图片中进行选择
|
||||
return intent;
|
||||
}
|
||||
/**
|
||||
* 获取从文件中选择照片的Intent
|
||||
* @return
|
||||
*/
|
||||
public static Intent getPickIntentWithDocuments() {
|
||||
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
|
||||
intent.setType("image/*");
|
||||
return intent;
|
||||
}
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.takephoto.uitl;
|
||||
package com.jph.takephoto.uitl;
|
||||
|
||||
import android.content.Context;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.takephoto.uitl;
|
||||
package com.jph.takephoto.uitl;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.takephoto.uitl;
|
||||
package com.jph.takephoto.uitl;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.ContentResolver;
|
||||
@@ -10,10 +10,10 @@ import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.webkit.MimeTypeMap;
|
||||
|
||||
import com.nnbc123.app.takephoto.model.TException;
|
||||
import com.nnbc123.app.takephoto.model.TExceptionType;
|
||||
import com.nnbc123.app.R;
|
||||
import com.nnbc123.library.utils.SingleToastUtil;
|
||||
import com.jph.takephoto.model.TException;
|
||||
import com.jph.takephoto.model.TExceptionType;
|
||||
import com.mango.moshen.R;
|
||||
import com.mango.xchat_android_library.utils.SingleToastUtil;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.takephoto.uitl;
|
||||
package com.jph.takephoto.uitl;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.ContentResolver;
|
||||
@@ -12,8 +12,8 @@ import androidx.core.content.FileProvider;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.nnbc123.app.takephoto.model.TException;
|
||||
import com.nnbc123.app.takephoto.model.TExceptionType;
|
||||
import com.jph.takephoto.model.TException;
|
||||
import com.jph.takephoto.model.TExceptionType;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.takephoto.uitl;
|
||||
package com.jph.takephoto.uitl;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.ProgressDialog;
|
||||
@@ -12,15 +12,15 @@ import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.darsh.multipleimageselect.models.Image;
|
||||
import com.nnbc123.app.takephoto.model.CropOptions;
|
||||
import com.nnbc123.app.takephoto.model.TContextWrap;
|
||||
import com.nnbc123.app.takephoto.model.TException;
|
||||
import com.nnbc123.app.takephoto.model.TExceptionType;
|
||||
import com.nnbc123.app.takephoto.model.TImage;
|
||||
import com.nnbc123.app.takephoto.model.TIntentWap;
|
||||
import com.jph.takephoto.model.CropOptions;
|
||||
import com.jph.takephoto.model.TContextWrap;
|
||||
import com.jph.takephoto.model.TException;
|
||||
import com.jph.takephoto.model.TExceptionType;
|
||||
import com.jph.takephoto.model.TImage;
|
||||
import com.jph.takephoto.model.TIntentWap;
|
||||
import com.soundcloud.android.crop.Crop;
|
||||
import com.nnbc123.app.R;
|
||||
import com.nnbc123.library.utils.SingleToastUtil;
|
||||
import com.mango.moshen.R;
|
||||
import com.mango.xchat_android_library.utils.SingleToastUtil;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
@@ -106,6 +106,7 @@ public class TUtils {
|
||||
public static void captureBySafely(TContextWrap contextWrap, TIntentWap intentWap)throws TException {
|
||||
List result=contextWrap.getActivity().getPackageManager().queryIntentActivities(intentWap.getIntent(),PackageManager.MATCH_ALL);
|
||||
if (result.isEmpty()){
|
||||
// Toast.makeText(contextWrap.getActivity(),contextWrap.getActivity().getResources().getText(R.string.tip_no_camera),Toast.LENGTH_SHORT).show();
|
||||
SingleToastUtil.showToastShort(R.string.tip_no_camera);
|
||||
throw new TException(TExceptionType.TYPE_NO_CAMERA);
|
||||
}else {
|
||||
@@ -157,7 +158,7 @@ public class TUtils {
|
||||
if (contextWrap.getFragment()!=null){
|
||||
Crop.of(imageUri, outPutUri).asSquare().start(contextWrap.getActivity(),contextWrap.getFragment());
|
||||
}else {
|
||||
Crop.of(imageUri, outPutUri).asSquare().withAspect(160, 90).start(contextWrap.getActivity());
|
||||
Crop.of(imageUri, outPutUri).asSquare().start(contextWrap.getActivity());
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,16 +1,17 @@
|
||||
package com.nnbc123.app;
|
||||
package com.mango.moshen;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
|
||||
import com.nnbc123.app.takephoto.app.TakePhotoActivity;
|
||||
import com.nnbc123.app.takephoto.compress.CompressConfig;
|
||||
import com.nnbc123.app.takephoto.model.CropOptions;
|
||||
import com.nnbc123.app.takephoto.model.TResult;
|
||||
import com.nnbc123.app.common.permission.PermissionActivity;
|
||||
import com.nnbc123.library.utils.file.JXFileUtils;
|
||||
import com.jph.takephoto.app.TakePhotoActivity;
|
||||
import com.jph.takephoto.compress.CompressConfig;
|
||||
import com.jph.takephoto.model.CropOptions;
|
||||
import com.jph.takephoto.model.TResult;
|
||||
import com.mango.moshen.common.permission.PermissionActivity;
|
||||
import com.mango.xchat_android_library.utils.file.JXFileUtils;
|
||||
|
||||
import java.io.File;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app;
|
||||
package com.mango.moshen;
|
||||
|
||||
import android.content.Context;
|
||||
import androidx.viewpager.widget.PagerAdapter;
|
@@ -1,11 +1,13 @@
|
||||
package com.nnbc123.app;
|
||||
package com.mango.moshen;
|
||||
|
||||
import static com.nnbc123.core.channel_page.model.ChannelPageModel.KEY_FLAG_VALID_CHANNEL_PAGE;
|
||||
import static com.mango.core.channel_page.model.ChannelPageModel.KEY_FLAG_VALID_CHANNEL_PAGE;
|
||||
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.text.TextUtils;
|
||||
@@ -14,7 +16,7 @@ import android.util.SparseArray;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.view.animation.LinearInterpolator;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
@@ -23,6 +25,11 @@ import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
|
||||
import com.mango.core.utils.SystemUidUtil;
|
||||
import com.mango.moshen.home.fragment.PmModeFragment;
|
||||
import com.mango.moshen.ui.im.recent.RecentListFragment;
|
||||
import com.mango.moshen.ui.patriarch.PmModeChangeEvent;
|
||||
import com.mango.moshen.utils.UserUtils;
|
||||
import com.netease.nim.uikit.StatusBarUtil;
|
||||
import com.netease.nim.uikit.common.util.log.LogUtil;
|
||||
import com.netease.nim.uikit.common.util.string.StringUtil;
|
||||
@@ -36,91 +43,88 @@ import com.netease.nimlib.sdk.team.TeamService;
|
||||
import com.netease.nimlib.sdk.team.constant.TeamMessageNotifyTypeEnum;
|
||||
import com.netease.nimlib.sdk.team.model.Team;
|
||||
import com.netease.nimlib.sdk.uinfo.model.NimUserInfo;
|
||||
import com.nnbc123.app.application.ActivityStackManager;
|
||||
import com.nnbc123.app.avroom.activity.AVRoomActivity;
|
||||
import com.nnbc123.app.avroom.newuserchargegift.NewUserChargeGiftDialog;
|
||||
import com.nnbc123.app.base.BaseMvpActivity;
|
||||
import com.nnbc123.app.common.widget.DragLayout;
|
||||
import com.nnbc123.app.community.dynamic.view.DynamicDetailActivity;
|
||||
import com.nnbc123.app.community.publish.view.PublishActivity;
|
||||
import com.nnbc123.app.community.square.SquareFragment;
|
||||
import com.nnbc123.app.family.view.activity.FamilyHomeActivity;
|
||||
import com.nnbc123.app.home.HomeViewModel;
|
||||
import com.nnbc123.app.home.dialog.NewUserHelloDialog;
|
||||
import com.nnbc123.app.home.dialog.ProtocolUpdateDialog;
|
||||
import com.nnbc123.app.home.fragment.home.HomeFragment;
|
||||
import com.nnbc123.app.home.fragment.MeFragment;
|
||||
import com.nnbc123.app.home.fragment.MsgFragment;
|
||||
import com.nnbc123.app.home.fragment.PmModeFragment;
|
||||
import com.nnbc123.app.home.presenter.MainPresenter;
|
||||
import com.nnbc123.app.home.view.IMainView;
|
||||
import com.nnbc123.app.home.widget.AnchorCardView;
|
||||
import com.nnbc123.app.main.helper.NoticationsUiHelper;
|
||||
import com.nnbc123.app.miniworld.activity.MiniWorldGuestPageActivity;
|
||||
import com.nnbc123.app.module.Extras;
|
||||
import com.nnbc123.app.module_hall.secretcode.PwdCodeMgr;
|
||||
import com.nnbc123.app.qiyukefu.CustomerServerHelper;
|
||||
import com.nnbc123.app.quick_pass.QuickPassLoginAct;
|
||||
import com.nnbc123.app.service.DaemonService;
|
||||
import com.nnbc123.app.ui.im.ImInitHelper;
|
||||
import com.nnbc123.app.ui.im.avtivity.NimP2PMessageActivity;
|
||||
import com.nnbc123.app.ui.login.BindPhoneActivity;
|
||||
import com.nnbc123.app.ui.login.fragment.AddUserInfoFragment;
|
||||
import com.nnbc123.app.ui.patriarch.PmModeChangeEvent;
|
||||
import com.nnbc123.app.ui.patriarch.help.LimitEnterRoomHelper;
|
||||
import com.nnbc123.app.ui.patriarch.help.PmDialogShowMrg;
|
||||
import com.nnbc123.app.ui.utils.ImageLoadUtils;
|
||||
import com.nnbc123.app.ui.utils.ImageLoadUtilsV2;
|
||||
import com.nnbc123.app.ui.webview.CommonWebViewActivity;
|
||||
import com.nnbc123.app.ui.widget.MainTabLayout;
|
||||
import com.nnbc123.app.utils.CleanLeakUtils;
|
||||
import com.nnbc123.app.utils.PushMessageHandler;
|
||||
import com.nnbc123.app.utils.UserUtils;
|
||||
import com.nnbc123.core.Constants;
|
||||
import com.nnbc123.core.DemoCache;
|
||||
import com.nnbc123.core.UriProvider;
|
||||
import com.nnbc123.core.auth.AuthModel;
|
||||
import com.nnbc123.core.auth.event.KickOutEvent;
|
||||
import com.nnbc123.core.auth.event.LoginEvent;
|
||||
import com.nnbc123.core.auth.event.LogoutEvent;
|
||||
import com.nnbc123.core.channel_page.model.ChannelPageModel;
|
||||
import com.nnbc123.core.community.event.SquareTaskEvent;
|
||||
import com.nnbc123.core.community.event.UnReadCountEvent;
|
||||
import com.nnbc123.core.home.bean.MainTabType;
|
||||
import com.nnbc123.core.home.event.RefreshHomeDataEvent;
|
||||
import com.nnbc123.core.home.event.VisitorUnreadCountEvent;
|
||||
import com.nnbc123.core.home.model.GameHomeModel;
|
||||
import com.nnbc123.core.home.model.HomeModel;
|
||||
import com.nnbc123.core.initial.InitialModel;
|
||||
import com.nnbc123.core.linked.LinkedModel;
|
||||
import com.nnbc123.core.linked.bean.LinkedInfo;
|
||||
import com.nnbc123.core.manager.AvRoomDataManager;
|
||||
import com.nnbc123.core.manager.IMBroadcastManager;
|
||||
import com.nnbc123.core.manager.IMMessageManager;
|
||||
import com.nnbc123.core.manager.RoomEvent;
|
||||
import com.nnbc123.core.patriarch.event.CloseMinRoomEvent;
|
||||
import com.nnbc123.core.patriarch.event.ImPushMsgPmLimitTimeEvent;
|
||||
import com.nnbc123.core.patriarch.event.PmDismissAllLimitDialogEvent;
|
||||
import com.nnbc123.core.room.bean.RoomInfo;
|
||||
import com.nnbc123.core.statistic.StatisticManager;
|
||||
import com.nnbc123.core.statistic.protocol.StatisticsProtocol;
|
||||
import com.nnbc123.core.user.UserModel;
|
||||
import com.nnbc123.core.user.bean.UserInfo;
|
||||
import com.nnbc123.core.user.event.LoadLoginUserInfoEvent;
|
||||
import com.nnbc123.core.user.event.LoginUserInfoUpdateEvent;
|
||||
import com.nnbc123.core.user.event.NeedBindPhoneEvent;
|
||||
import com.nnbc123.core.user.event.NeedCompleteInfoEvent;
|
||||
import com.nnbc123.core.utils.CurrentTimeUtils;
|
||||
import com.nnbc123.core.utils.SharedPreferenceUtils;
|
||||
import com.nnbc123.core.utils.StringUtils;
|
||||
import com.nnbc123.library.base.factory.CreatePresenter;
|
||||
import com.nnbc123.library.threadmgr.ThreadPoolManager;
|
||||
import com.nnbc123.library.utils.JavaUtil;
|
||||
import com.opensource.svgaplayer.SVGAImageView;
|
||||
import com.orhanobut.logger.Logger;
|
||||
import com.tencent.bugly.crashreport.CrashReport;
|
||||
import com.tongdaxing.erban.upgrade.AppUpgradeHelper;
|
||||
import com.trello.rxlifecycle3.android.ActivityEvent;
|
||||
import com.mango.moshen.application.ActivityStackManager;
|
||||
import com.mango.moshen.avroom.activity.AVRoomActivity;
|
||||
import com.mango.moshen.avroom.newuserchargegift.NewUserChargeGiftDialog;
|
||||
import com.mango.moshen.base.BaseMvpActivity;
|
||||
import com.mango.moshen.common.widget.CircleImageView;
|
||||
import com.mango.moshen.common.widget.DragLayout;
|
||||
import com.mango.moshen.community.dynamic.view.DynamicDetailActivity;
|
||||
import com.mango.moshen.community.publish.view.PublishActivity;
|
||||
import com.mango.moshen.community.square.SquareFragment;
|
||||
import com.mango.moshen.family.view.activity.FamilyHomeActivity;
|
||||
import com.mango.moshen.home.HomeViewModel;
|
||||
import com.mango.moshen.home.dialog.NewUserHelloDialog;
|
||||
import com.mango.moshen.home.dialog.ProtocolUpdateDialog;
|
||||
import com.mango.moshen.home.fragment.HomeFragment;
|
||||
import com.mango.moshen.home.fragment.MeFragment;
|
||||
import com.mango.moshen.home.presenter.MainPresenter;
|
||||
import com.mango.moshen.home.view.IMainView;
|
||||
import com.mango.moshen.home.widget.AnchorCardView;
|
||||
import com.mango.moshen.main.helper.NoticationsUiHelper;
|
||||
import com.mango.moshen.miniworld.activity.MiniWorldGuestPageActivity;
|
||||
import com.mango.moshen.module.Extras;
|
||||
import com.mango.moshen.module_hall.secretcode.PwdCodeMgr;
|
||||
import com.mango.moshen.quick_pass.QuickPassLoginAct;
|
||||
import com.mango.moshen.service.DaemonService;
|
||||
import com.mango.moshen.ui.im.ImInitHelper;
|
||||
import com.mango.moshen.ui.im.avtivity.NimP2PMessageActivity;
|
||||
import com.mango.moshen.ui.login.BindPhoneActivity;
|
||||
import com.mango.moshen.ui.login.fragment.AddUserInfoFragment;
|
||||
import com.mango.moshen.ui.patriarch.help.LimitEnterRoomHelper;
|
||||
import com.mango.moshen.ui.patriarch.help.PmDialogShowMrg;
|
||||
import com.mango.moshen.ui.utils.ImageLoadUtils;
|
||||
import com.mango.moshen.ui.utils.ImageLoadUtilsV2;
|
||||
import com.mango.moshen.ui.webview.CommonWebViewActivity;
|
||||
import com.mango.moshen.ui.widget.LivingIconView;
|
||||
import com.mango.moshen.ui.widget.MainTabLayout;
|
||||
import com.mango.moshen.utils.CleanLeakUtils;
|
||||
import com.mango.moshen.utils.PushMessageHandler;
|
||||
import com.mango.core.Constants;
|
||||
import com.mango.core.DemoCache;
|
||||
import com.mango.core.UriProvider;
|
||||
import com.mango.core.auth.AuthModel;
|
||||
import com.mango.core.auth.event.KickOutEvent;
|
||||
import com.mango.core.auth.event.LoginEvent;
|
||||
import com.mango.core.auth.event.LogoutEvent;
|
||||
import com.mango.core.channel_page.model.ChannelPageModel;
|
||||
import com.mango.core.community.event.SquareTaskEvent;
|
||||
import com.mango.core.community.event.UnReadCountEvent;
|
||||
import com.mango.core.home.bean.MainTabType;
|
||||
import com.mango.core.home.event.RefreshHomeDataEvent;
|
||||
import com.mango.core.home.event.VisitorUnreadCountEvent;
|
||||
import com.mango.core.home.model.GameHomeModel;
|
||||
import com.mango.core.home.model.HomeModel;
|
||||
import com.mango.core.initial.InitialModel;
|
||||
import com.mango.core.linked.LinkedModel;
|
||||
import com.mango.core.linked.bean.LinkedInfo;
|
||||
import com.mango.core.manager.AudioEngineManager;
|
||||
import com.mango.core.manager.AvRoomDataManager;
|
||||
import com.mango.core.manager.IMBroadcastManager;
|
||||
import com.mango.core.manager.IMMessageManager;
|
||||
import com.mango.core.manager.RoomEvent;
|
||||
import com.mango.core.patriarch.event.CloseMinRoomEvent;
|
||||
import com.mango.core.patriarch.event.ImPushMsgPmLimitTimeEvent;
|
||||
import com.mango.core.patriarch.event.PmDismissAllLimitDialogEvent;
|
||||
import com.mango.core.room.bean.RoomInfo;
|
||||
import com.mango.core.statistic.StatisticManager;
|
||||
import com.mango.core.statistic.protocol.StatisticsProtocol;
|
||||
import com.mango.core.user.UserModel;
|
||||
import com.mango.core.user.bean.UserInfo;
|
||||
import com.mango.core.user.event.LoadLoginUserInfoEvent;
|
||||
import com.mango.core.user.event.LoginUserInfoUpdateEvent;
|
||||
import com.mango.core.user.event.NeedBindPhoneEvent;
|
||||
import com.mango.core.user.event.NeedCompleteInfoEvent;
|
||||
import com.mango.core.utils.CurrentTimeUtils;
|
||||
import com.mango.core.utils.SharedPreferenceUtils;
|
||||
import com.mango.core.utils.StringUtils;
|
||||
import com.mango.xchat_android_library.base.factory.CreatePresenter;
|
||||
import com.mango.xchat_android_library.threadmgr.ThreadPoolManager;
|
||||
import com.mango.xchat_android_library.utils.JavaUtil;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
@@ -129,6 +133,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
@@ -149,14 +154,17 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
private DragLayout avatarLayout;
|
||||
private TextView tvName;//最小化窗口名称
|
||||
private TextView tvId;//最小化窗口ID
|
||||
private ImageView avatarImage;
|
||||
private CircleImageView avatarImage;
|
||||
private LinearLayout llDragInfo;
|
||||
private SVGAImageView userLivingView;
|
||||
private LivingIconView userLivingView;
|
||||
private View viewClose;
|
||||
private MainTabLayout mMainTabLayout;
|
||||
private AnchorCardView anchorCardView;
|
||||
private int mCurrentTabType = MainTabType.TAB_TYPE_HOME;
|
||||
|
||||
/**
|
||||
* 房间最小化动画,换成属性动画,原先的补间动画影响了activity的生命周期
|
||||
*/
|
||||
private ObjectAnimator roomMinAnim;
|
||||
/**
|
||||
* 管理限制进房
|
||||
*/
|
||||
@@ -171,7 +179,7 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
|
||||
{
|
||||
fragmentArray.put(MainTabType.TAB_TYPE_HOME, new HomeFragment());
|
||||
fragmentArray.put(MainTabType.TAB_TYPE_MSG, new MsgFragment());
|
||||
fragmentArray.put(MainTabType.TAB_TYPE_MSG, new RecentListFragment());
|
||||
fragmentArray.put(MainTabType.TAB_TYPE_SQUARE, new SquareFragment());
|
||||
fragmentArray.put(MainTabType.TAB_TYPE_ME, new MeFragment());
|
||||
}
|
||||
@@ -217,12 +225,11 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
.doOnError(throwable -> onNeedLogin())
|
||||
.subscribe();
|
||||
initView();
|
||||
/* InitialModel.get().getMainTabInfosLiveData().observeForever(mainTabInfos -> {
|
||||
InitialModel.get().getMainTabInfosLiveData().observeForever(mainTabInfos -> {
|
||||
if (mainTabInfos != null) {
|
||||
mMainTabLayout.setMainTabInfoList(InitialModel.getDefaultMainTab());
|
||||
}
|
||||
});*/
|
||||
mMainTabLayout.setMainTabInfoList(InitialModel.getDefaultMainTab());
|
||||
});
|
||||
initMaterialView();
|
||||
onParseIntent();
|
||||
updateDatas();
|
||||
@@ -285,8 +292,8 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
}
|
||||
|
||||
private void closeOpenRoomAnimation() {
|
||||
stopRoomMinAnim();
|
||||
avatarLayout.setVisibility(View.GONE);
|
||||
userLivingView.stopAnimation();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -294,7 +301,7 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
super.onResume();
|
||||
mResumed = true;
|
||||
if (avatarLayout.getVisibility() == View.VISIBLE) {
|
||||
userLivingView.startAnimation();
|
||||
userLivingView.start();
|
||||
}
|
||||
//这里是为了处理APP后台运行的情况下点击分享房间等LinkedMe链接的情况
|
||||
UserInfo userInfo = UserModel.get().getCacheLoginUserInfo();
|
||||
@@ -335,7 +342,7 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
super.onPause();
|
||||
mResumed = false;
|
||||
if (avatarLayout.getVisibility() == View.VISIBLE) {
|
||||
userLivingView.stopAnimation();
|
||||
userLivingView.stop();
|
||||
}
|
||||
mMainTabLayout.removeCallbacks(touchRunnable);
|
||||
}
|
||||
@@ -364,6 +371,7 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
userLivingView = findViewById(R.id.liv_user);
|
||||
viewClose = findViewById(R.id.view_close);
|
||||
llDragInfo = findViewById(R.id.ll_drag_info);
|
||||
userLivingView.setColor(Color.WHITE);
|
||||
mMainTabLayout.setOnTabClickListener(this);
|
||||
anchorCardView = findViewById(R.id.vs_anchor_card);
|
||||
}
|
||||
@@ -416,6 +424,7 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
super.onDestroy();
|
||||
ImInitHelper.get().unInit();
|
||||
EventBus.getDefault().unregister(this);
|
||||
stopRoomMinAnim();
|
||||
if (limitEnterRoomHelper != null) {
|
||||
limitEnterRoomHelper.release();
|
||||
}
|
||||
@@ -501,7 +510,6 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
getMvpPresenter().exitRoom();
|
||||
QuickPassLoginAct.start(MainActivity.this);
|
||||
PmDialogShowMrg.get().onLogout();
|
||||
// CustomerServerHelper.logout();
|
||||
}
|
||||
|
||||
public void onNeedLogin() {
|
||||
@@ -519,6 +527,7 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
public void onReceiveRecentContactChanged(List<RecentContact> imMessages) {
|
||||
|
||||
int countIgnore = 0;
|
||||
String subscriptionUid = SystemUidUtil.getSubscriptionUid();
|
||||
for (RecentContact recentContact : imMessages) {
|
||||
|
||||
if (recentContact.getSessionType() == SessionTypeEnum.Team) {
|
||||
@@ -529,6 +538,10 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
|
||||
}
|
||||
|
||||
if (Objects.equals(subscriptionUid, recentContact.getContactId())) {
|
||||
countIgnore += recentContact.getUnreadCount();
|
||||
}
|
||||
|
||||
}
|
||||
int unreadCount = IMMessageManager.get().queryUnreadMsg() + countIgnore;
|
||||
mMainTabLayout.setMsgNum(unreadCount);
|
||||
@@ -574,13 +587,30 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
}
|
||||
}
|
||||
|
||||
private void startRoomMinAnim() {
|
||||
roomMinAnim = ObjectAnimator.ofFloat(avatarImage, "rotation", 0f, 360f);
|
||||
roomMinAnim.setDuration(10000);
|
||||
roomMinAnim.setRepeatCount(-1);
|
||||
roomMinAnim.setInterpolator(new LinearInterpolator());
|
||||
roomMinAnim.start();
|
||||
}
|
||||
|
||||
private void stopRoomMinAnim() {
|
||||
if (roomMinAnim != null) {
|
||||
roomMinAnim.cancel();
|
||||
roomMinAnim = null;
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
private void displayAvatarLayout(String avatar, String nickName, long uid) {
|
||||
avatarLayout.clearAnimation();
|
||||
avatarLayout.setVisibility(View.VISIBLE);
|
||||
tvName.setText(nickName);
|
||||
tvId.setText("ID:" + uid);
|
||||
userLivingView.startAnimation();
|
||||
userLivingView.start();
|
||||
stopRoomMinAnim();
|
||||
startRoomMinAnim();
|
||||
ImageLoadUtils.loadAvatar(MainActivity.this, avatar, avatarImage);
|
||||
}
|
||||
|
||||
@@ -656,8 +686,6 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
checkShowAnchorCardView();
|
||||
|
||||
onTabClick(mCurrentTabType);
|
||||
|
||||
// CustomerServerHelper.onLoginInfoUpdate(UserUtils.getUserInfo());
|
||||
}
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app;
|
||||
package com.mango.moshen;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
@@ -6,9 +6,9 @@ import android.util.Log;
|
||||
import com.microquation.linkedme.android.LinkedME;
|
||||
import com.microquation.linkedme.android.util.LinkProperties;
|
||||
import com.netease.nim.uikit.common.util.log.LogUtil;
|
||||
import com.nnbc123.app.base.BaseActivity;
|
||||
import com.nnbc123.core.linked.LinkedModel;
|
||||
import com.nnbc123.core.linked.bean.LinkedInfo;
|
||||
import com.mango.moshen.base.BaseActivity;
|
||||
import com.mango.core.linked.LinkedModel;
|
||||
import com.mango.core.linked.bean.LinkedInfo;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app;
|
||||
package com.mango.moshen;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
@@ -7,23 +7,23 @@ import android.util.Log;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.coorchice.library.utils.LogUtils;
|
||||
import com.nnbc123.app.utils.UserUtils;
|
||||
import com.mango.moshen.utils.UserUtils;
|
||||
import com.netease.nimlib.sdk.NimIntent;
|
||||
import com.netease.nimlib.sdk.msg.constant.MsgTypeEnum;
|
||||
import com.netease.nimlib.sdk.msg.model.IMMessage;
|
||||
import com.nnbc123.app.avroom.activity.AVRoomActivity;
|
||||
import com.nnbc123.app.base.BaseActivity;
|
||||
import com.nnbc123.app.radish.signin.SignInActivity;
|
||||
import com.nnbc123.app.ui.im.avtivity.NimP2PMessageActivity;
|
||||
import com.nnbc123.app.ui.webview.CommonWebViewActivity;
|
||||
import com.nnbc123.app.utils.PushMessageHandler;
|
||||
import com.nnbc123.core.auth.AuthModel;
|
||||
import com.nnbc123.core.im.custom.bean.CustomAttachment;
|
||||
import com.nnbc123.core.im.custom.bean.OpenRoomNotiAttachment;
|
||||
import com.nnbc123.core.im.custom.bean.OpenSignInAttachment;
|
||||
import com.nnbc123.core.im.custom.bean.RedPackageAttachment;
|
||||
import com.nnbc123.core.im.custom.bean.RoomInviteFansAttachment;
|
||||
import com.nnbc123.library.utils.UIUtils;
|
||||
import com.mango.moshen.avroom.activity.AVRoomActivity;
|
||||
import com.mango.moshen.base.BaseActivity;
|
||||
import com.mango.moshen.radish.signin.SignInActivity;
|
||||
import com.mango.moshen.ui.im.avtivity.NimP2PMessageActivity;
|
||||
import com.mango.moshen.ui.webview.CommonWebViewActivity;
|
||||
import com.mango.moshen.utils.PushMessageHandler;
|
||||
import com.mango.core.auth.AuthModel;
|
||||
import com.mango.core.im.custom.bean.CustomAttachment;
|
||||
import com.mango.core.im.custom.bean.OpenRoomNotiAttachment;
|
||||
import com.mango.core.im.custom.bean.OpenSignInAttachment;
|
||||
import com.mango.core.im.custom.bean.RedPackageAttachment;
|
||||
import com.mango.core.im.custom.bean.RoomInviteFansAttachment;
|
||||
import com.mango.xchat_android_library.utils.UIUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Map;
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app;
|
||||
package com.mango.moshen;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.ComponentName;
|
||||
@@ -9,19 +9,19 @@ import android.provider.Settings;
|
||||
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
import com.nnbc123.app.audio.AudioRecordActivity;
|
||||
import com.nnbc123.app.audio.MyVoiceActivity;
|
||||
import com.nnbc123.app.audio.RecordingVoiceActivity;
|
||||
import com.nnbc123.app.ui.login.AddUserInfoActivity;
|
||||
import com.nnbc123.app.ui.login.ModifyInfoActivity;
|
||||
import com.nnbc123.app.ui.setting.SettingActivity;
|
||||
import com.nnbc123.app.ui.user.UserInfoActivity;
|
||||
import com.nnbc123.app.ui.user.UserInfoModifyActivity;
|
||||
import com.nnbc123.app.ui.user.UserModifyPhotosActivity;
|
||||
import com.nnbc123.app.ui.webview.CommonWebViewActivity;
|
||||
import com.nnbc123.core.UriProvider;
|
||||
import com.nnbc123.core.statistic.StatisticManager;
|
||||
import com.nnbc123.core.statistic.protocol.StatisticsProtocol;
|
||||
import com.mango.moshen.audio.AudioRecordActivity;
|
||||
import com.mango.moshen.audio.MyVoiceActivity;
|
||||
import com.mango.moshen.audio.RecordingVoiceActivity;
|
||||
import com.mango.moshen.ui.login.AddUserInfoActivity;
|
||||
import com.mango.moshen.ui.login.ModifyInfoActivity;
|
||||
import com.mango.moshen.ui.setting.SettingActivity;
|
||||
import com.mango.moshen.ui.user.UserInfoActivity;
|
||||
import com.mango.moshen.ui.user.UserInfoModifyActivity;
|
||||
import com.mango.moshen.ui.user.UserModifyPhotosActivity;
|
||||
import com.mango.moshen.ui.webview.CommonWebViewActivity;
|
||||
import com.mango.core.UriProvider;
|
||||
import com.mango.core.statistic.StatisticManager;
|
||||
import com.mango.core.statistic.protocol.StatisticsProtocol;
|
||||
|
||||
|
||||
/**
|
||||
@@ -153,8 +153,8 @@ public class UIHelper {
|
||||
}
|
||||
|
||||
public static void showMonsterResult(Context context, String monsterId) {
|
||||
CommonWebViewActivity.start(context, UriProvider.WEB_URL +
|
||||
"/yinmeng/modules/monster/index.html?monsterId=" + monsterId);
|
||||
CommonWebViewActivity.start(context, UriProvider.IM_SERVER_URL +
|
||||
"/yinyou/modules/monster/index.html?monsterId=" + monsterId);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -172,8 +172,8 @@ public class UIHelper {
|
||||
* 跳转推荐页h5
|
||||
*/
|
||||
public static void showRecommendPosH5(Context context) {
|
||||
String cardUrl = UriProvider.WEB_URL +
|
||||
"/yinmeng/modules/recommend-card/index.html";
|
||||
String cardUrl = UriProvider.JAVA_WEB_URL +
|
||||
"/yinyou/modules/recommend-card/index.html";
|
||||
CommonWebViewActivity.start(context, cardUrl);
|
||||
}
|
||||
|
||||
@@ -208,6 +208,6 @@ public class UIHelper {
|
||||
}
|
||||
|
||||
public static void openContactUs(Context context) {
|
||||
CommonWebViewActivity.start(context, UriProvider.WEB_URL + "/yinmeng/modules/contact/contact.html");
|
||||
CommonWebViewActivity.start(context, UriProvider.IM_SERVER_URL + "/yinyou/modules/contact/contact.html");
|
||||
}
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app;
|
||||
package com.mango.moshen;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
@@ -7,8 +7,8 @@ import androidx.viewpager.widget.ViewPager;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import com.nnbc123.app.base.BaseActivity;
|
||||
import com.nnbc123.core.PreferencesUtils;
|
||||
import com.mango.moshen.base.BaseActivity;
|
||||
import com.mango.core.PreferencesUtils;
|
||||
|
||||
|
||||
public class UserGuideActivity extends BaseActivity {
|
@@ -1,11 +1,11 @@
|
||||
package com.nnbc123.app.application;
|
||||
package com.mango.moshen.application;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Application;
|
||||
import android.os.Bundle;
|
||||
|
||||
import com.nnbc123.app.location.LocationManager;
|
||||
import com.nnbc123.core.auth.AuthModel;
|
||||
import com.mango.moshen.location.LocationManager;
|
||||
import com.mango.core.auth.AuthModel;
|
||||
|
||||
/**
|
||||
* activity的管理
|
@@ -0,0 +1,55 @@
|
||||
package com.mango.moshen.application;
|
||||
|
||||
import android.app.Activity;
|
||||
|
||||
|
||||
import com.mango.moshen.avroom.activity.AVRoomActivity;
|
||||
import com.mango.moshen.utils.ActWhiteListMrg;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
|
||||
/**
|
||||
* create by lvzebiao @2019/8/8
|
||||
*/
|
||||
public class ActivityStackManager {
|
||||
|
||||
/**
|
||||
* 用于保持最顶的Activity实例,排除中转的activity
|
||||
* 比如{@link com.mango.moshen.MiddleActivity}
|
||||
*/
|
||||
@Getter
|
||||
private WeakReference<Activity> topUpgradeWeakRef;
|
||||
|
||||
@Getter
|
||||
private WeakReference<Activity> avRoomActWeakRef;
|
||||
|
||||
public void setTopUpgradeActivity(Activity activity) {
|
||||
if (!ActWhiteListMrg.isTempActivity(activity)) {
|
||||
topUpgradeWeakRef = new WeakReference<>(activity);
|
||||
}
|
||||
}
|
||||
|
||||
public void addActivity(Activity activity){
|
||||
if (activity instanceof AVRoomActivity) {
|
||||
avRoomActWeakRef = new WeakReference<>(activity);
|
||||
}
|
||||
}
|
||||
|
||||
public void removeActivity(Activity activity){
|
||||
if (activity instanceof AVRoomActivity) {
|
||||
avRoomActWeakRef = null;
|
||||
}
|
||||
}
|
||||
|
||||
private static final class Helper {
|
||||
public static final ActivityStackManager INSTANCE = new ActivityStackManager();
|
||||
}
|
||||
|
||||
public static ActivityStackManager getInstance() {
|
||||
return Helper.INSTANCE;
|
||||
}
|
||||
|
||||
}
|
@@ -1,29 +1,29 @@
|
||||
package com.nnbc123.app.application;
|
||||
package com.mango.moshen.application;
|
||||
|
||||
import android.app.Activity;
|
||||
|
||||
import com.nnbc123.core.activity.bean.LotteryInfo;
|
||||
import com.nnbc123.core.level.event.CharmLevelUpEvent;
|
||||
import com.nnbc123.core.level.event.LevelUpEvent;
|
||||
import com.nnbc123.core.manager.AvRoomDataManager;
|
||||
import com.nnbc123.core.pay.bean.ShowCommonWebEvent;
|
||||
import com.nnbc123.core.pay.event.NewUserChargeEvent;
|
||||
import com.nnbc123.core.recall.bean.CheckLostUserInfo;
|
||||
import com.nnbc123.core.recall.event.CheckLostUserEvent;
|
||||
import com.nnbc123.core.relation.cp.CpInviteInfo;
|
||||
import com.nnbc123.core.upgrade.event.ImPushUpdateAppEvent;
|
||||
import com.nnbc123.core.user.UserModel;
|
||||
import com.nnbc123.core.utils.ActivityUtil;
|
||||
import com.nnbc123.core.utils.SharedPreferenceUtils;
|
||||
import com.nnbc123.core.vip.VipUpgradeEvent;
|
||||
import com.nnbc123.app.avroom.newuserchargegift.NewUserChargePrizeDialog;
|
||||
import com.nnbc123.app.relation.cp.dialog.CpGlobalDialog;
|
||||
import com.nnbc123.app.ui.webview.CommonWebViewActivity;
|
||||
import com.nnbc123.app.ui.widget.LevelUpDialog;
|
||||
import com.nnbc123.app.ui.widget.RecallDialog;
|
||||
import com.nnbc123.app.ui.widget.lottery_dialog.LotteryDialogManager;
|
||||
import com.nnbc123.app.utils.UserUtils;
|
||||
import com.nnbc123.app.vip.VipUpgradeDialog;
|
||||
import com.mango.core.activity.bean.LotteryInfo;
|
||||
import com.mango.core.level.event.CharmLevelUpEvent;
|
||||
import com.mango.core.level.event.LevelUpEvent;
|
||||
import com.mango.core.manager.AvRoomDataManager;
|
||||
import com.mango.core.pay.bean.ShowCommonWebEvent;
|
||||
import com.mango.core.pay.event.NewUserChargeEvent;
|
||||
import com.mango.core.recall.bean.CheckLostUserInfo;
|
||||
import com.mango.core.recall.event.CheckLostUserEvent;
|
||||
import com.mango.core.relation.cp.CpInviteInfo;
|
||||
import com.mango.core.upgrade.event.ImPushUpdateAppEvent;
|
||||
import com.mango.core.user.UserModel;
|
||||
import com.mango.core.utils.ActivityUtil;
|
||||
import com.mango.core.utils.SharedPreferenceUtils;
|
||||
import com.mango.core.vip.VipUpgradeEvent;
|
||||
import com.mango.moshen.avroom.newuserchargegift.NewUserChargePrizeDialog;
|
||||
import com.mango.moshen.relation.cp.dialog.CpGlobalDialog;
|
||||
import com.mango.moshen.ui.webview.CommonWebViewActivity;
|
||||
import com.mango.moshen.ui.widget.LevelUpDialog;
|
||||
import com.mango.moshen.ui.widget.RecallDialog;
|
||||
import com.mango.moshen.ui.widget.lottery_dialog.LotteryDialogManager;
|
||||
import com.mango.moshen.utils.UserUtils;
|
||||
import com.mango.moshen.vip.VipUpgradeDialog;
|
||||
import com.tongdaxing.erban.upgrade.AppUpgradeHelper;
|
||||
import com.trello.rxlifecycle3.components.support.RxAppCompatActivity;
|
||||
|
@@ -1,16 +1,16 @@
|
||||
package com.nnbc123.app.application;
|
||||
package com.mango.moshen.application;
|
||||
|
||||
import static com.nnbc123.xchat_android_constants.XChatConstants.HW_APP_ID;
|
||||
import static com.nnbc123.xchat_android_constants.XChatConstants.HW_CERTIFICATE_NAME;
|
||||
import static com.nnbc123.xchat_android_constants.XChatConstants.OPPO_APP_ID;
|
||||
import static com.nnbc123.xchat_android_constants.XChatConstants.OPPO_APP_KEY;
|
||||
import static com.nnbc123.xchat_android_constants.XChatConstants.OPPO_CERTIFICATE_NAME;
|
||||
import static com.nnbc123.xchat_android_constants.XChatConstants.OPPO_SECRET;
|
||||
import static com.nnbc123.xchat_android_constants.XChatConstants.VIVO_CERTIFICATE_NAME;
|
||||
import static com.nnbc123.xchat_android_constants.XChatConstants.XM_APP_ID;
|
||||
import static com.nnbc123.xchat_android_constants.XChatConstants.XM_APP_KEY;
|
||||
import static com.nnbc123.xchat_android_constants.XChatConstants.XM_CERTIFICATE_NAME;
|
||||
import static com.nnbc123.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_HEADER_TYPE_OPEN_ROOM_NOTI;
|
||||
import static com.mango.xchat_android_constants.XChatConstants.HW_APP_ID;
|
||||
import static com.mango.xchat_android_constants.XChatConstants.HW_CERTIFICATE_NAME;
|
||||
import static com.mango.xchat_android_constants.XChatConstants.OPPO_APP_ID;
|
||||
import static com.mango.xchat_android_constants.XChatConstants.OPPO_APP_KEY;
|
||||
import static com.mango.xchat_android_constants.XChatConstants.OPPO_CERTIFICATE_NAME;
|
||||
import static com.mango.xchat_android_constants.XChatConstants.OPPO_SECRET;
|
||||
import static com.mango.xchat_android_constants.XChatConstants.VIVO_CERTIFICATE_NAME;
|
||||
import static com.mango.xchat_android_constants.XChatConstants.XM_APP_ID;
|
||||
import static com.mango.xchat_android_constants.XChatConstants.XM_APP_KEY;
|
||||
import static com.mango.xchat_android_constants.XChatConstants.XM_CERTIFICATE_NAME;
|
||||
import static com.mango.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_HEADER_TYPE_OPEN_ROOM_NOTI;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.annotation.TargetApi;
|
||||
@@ -28,9 +28,7 @@ import androidx.multidex.MultiDex;
|
||||
|
||||
import com.bumptech.glide.request.target.ViewTarget;
|
||||
import com.bytedance.hume.readapk.HumeSDK;
|
||||
import com.chuhai.utils.MetaDataUtils;
|
||||
import com.coorchice.library.utils.LogUtils;
|
||||
import com.facebook.stetho.Stetho;
|
||||
import com.heytap.msp.push.HeytapPushManager;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.huawei.hms.support.common.ActivityMgr;
|
||||
@@ -49,10 +47,6 @@ import com.netease.nimlib.sdk.msg.MessageNotifierCustomization;
|
||||
import com.netease.nimlib.sdk.msg.constant.MsgTypeEnum;
|
||||
import com.netease.nimlib.sdk.msg.model.IMMessage;
|
||||
import com.netease.nimlib.sdk.util.NIMUtil;
|
||||
import com.nnbc123.app.qiyukefu.CustomerServerHelper;
|
||||
import com.nnbc123.library.common.application.BaseApp;
|
||||
import com.nnbc123.library.common.file.FileHelper;
|
||||
import com.nnbc123.library.utils.ResUtil;
|
||||
import com.opensource.svgaplayer.SVGAParser;
|
||||
import com.orhanobut.logger.AndroidLogAdapter;
|
||||
import com.orhanobut.logger.Logger;
|
||||
@@ -62,58 +56,59 @@ import com.scwang.smartrefresh.layout.footer.ClassicsFooter;
|
||||
import com.tencent.bugly.Bugly;
|
||||
import com.tencent.bugly.beta.Beta;
|
||||
import com.tencent.bugly.crashreport.CrashReport;
|
||||
import com.tencent.vasdolly.helper.ChannelReaderUtil;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.umeng.commonsdk.UMConfigure;
|
||||
import com.nnbc123.app.BuildConfig;
|
||||
import com.nnbc123.app.MainActivity;
|
||||
import com.nnbc123.app.MiddleActivity;
|
||||
import com.nnbc123.app.NimMiddleActivity;
|
||||
import com.nnbc123.app.R;
|
||||
import com.nnbc123.app.module_hall.HallDataManager;
|
||||
import com.nnbc123.app.other.activity.SplashActivity;
|
||||
import com.nnbc123.app.quick_pass.QuickPassLoginAct;
|
||||
import com.nnbc123.app.radish.wallet.RadishWalletManager;
|
||||
import com.nnbc123.app.utils.PushMessageHandler;
|
||||
import com.nnbc123.xchat_android_constants.XChatConstants;
|
||||
import com.nnbc123.core.Constants;
|
||||
import com.nnbc123.core.DemoCache;
|
||||
import com.nnbc123.core.Env;
|
||||
import com.nnbc123.core.UriProvider;
|
||||
import com.nnbc123.core.auth.AuthModel;
|
||||
import com.nnbc123.core.bean.response.ServiceResult;
|
||||
import com.nnbc123.core.channel.ChannelModel;
|
||||
import com.nnbc123.core.family.model.FamilyModel;
|
||||
import com.nnbc123.core.gift.GiftModel;
|
||||
import com.nnbc123.core.im.custom.bean.CustomAttachment;
|
||||
import com.nnbc123.core.im.custom.bean.OpenSignInAttachment;
|
||||
import com.nnbc123.core.initial.InitialModel;
|
||||
import com.nnbc123.core.interceptor.NoParamsInterceptor;
|
||||
import com.nnbc123.core.interceptor.ParamsInterceptor;
|
||||
import com.nnbc123.core.manager.IMMessageManager;
|
||||
import com.nnbc123.core.manager.IMSystemMsgManager;
|
||||
import com.nnbc123.core.market_verify.MarketVerifyModel;
|
||||
import com.nnbc123.core.mentoring_relationship.model.MentoringRelationshipModel;
|
||||
import com.nnbc123.core.pay.PayModel;
|
||||
import com.nnbc123.core.public_chat_hall.model.PublicChatHallModel;
|
||||
import com.nnbc123.core.radish.RadishModel;
|
||||
import com.nnbc123.core.radish.signin.bean.ImNotice;
|
||||
import com.nnbc123.core.room.face.DynamicFaceModel;
|
||||
import com.nnbc123.core.statistic.StatisticManager;
|
||||
import com.nnbc123.core.statistic.protocol.StatisticsProtocol;
|
||||
import com.nnbc123.core.user.UserModel;
|
||||
import com.nnbc123.core.user.event.NeedCompleteInfoEvent;
|
||||
import com.nnbc123.core.utils.SharedPreferenceUtils;
|
||||
import com.nnbc123.core.utils.net.ServerException;
|
||||
import com.nnbc123.library.net.rxnet.RxNet;
|
||||
import com.nnbc123.library.net.rxnet.converter.GsonConverterPlugins;
|
||||
import com.nnbc123.library.utils.AppMetaDataUtil;
|
||||
import com.nnbc123.library.utils.AppUtils;
|
||||
import com.nnbc123.library.utils.DeviceUuidFactory;
|
||||
import com.nnbc123.library.utils.SingleToastUtil;
|
||||
import com.nnbc123.library.utils.SystemUtils;
|
||||
import com.nnbc123.library.utils.VersionUtil;
|
||||
import com.nnbc123.library.utils.codec.MD5Utils;
|
||||
import com.nnbc123.library.utils.config.BasicConfig;
|
||||
import com.mango.moshen.BuildConfig;
|
||||
import com.mango.moshen.MainActivity;
|
||||
import com.mango.moshen.MiddleActivity;
|
||||
import com.mango.moshen.NimMiddleActivity;
|
||||
import com.mango.moshen.R;
|
||||
import com.mango.moshen.module_hall.HallDataManager;
|
||||
import com.mango.moshen.other.activity.SplashActivity;
|
||||
import com.mango.moshen.quick_pass.QuickPassLoginAct;
|
||||
import com.mango.moshen.radish.wallet.RadishWalletManager;
|
||||
import com.mango.moshen.utils.PushMessageHandler;
|
||||
import com.mango.xchat_android_constants.XChatConstants;
|
||||
import com.mango.core.Constants;
|
||||
import com.mango.core.DemoCache;
|
||||
import com.mango.core.Env;
|
||||
import com.mango.core.UriProvider;
|
||||
import com.mango.core.auth.AuthModel;
|
||||
import com.mango.core.bean.response.ServiceResult;
|
||||
import com.mango.core.channel.ChannelModel;
|
||||
import com.mango.core.family.model.FamilyModel;
|
||||
import com.mango.core.gift.GiftModel;
|
||||
import com.mango.core.im.custom.bean.CustomAttachment;
|
||||
import com.mango.core.im.custom.bean.OpenSignInAttachment;
|
||||
import com.mango.core.initial.InitialModel;
|
||||
import com.mango.core.interceptor.NoParamsInterceptor;
|
||||
import com.mango.core.interceptor.ParamsInterceptor;
|
||||
import com.mango.core.manager.IMMessageManager;
|
||||
import com.mango.core.manager.IMSystemMsgManager;
|
||||
import com.mango.core.market_verify.MarketVerifyModel;
|
||||
import com.mango.core.mentoring_relationship.model.MentoringRelationshipModel;
|
||||
import com.mango.core.pay.PayModel;
|
||||
import com.mango.core.public_chat_hall.model.PublicChatHallModel;
|
||||
import com.mango.core.radish.RadishModel;
|
||||
import com.mango.core.radish.signin.bean.ImNotice;
|
||||
import com.mango.core.room.face.DynamicFaceModel;
|
||||
import com.mango.core.statistic.StatisticManager;
|
||||
import com.mango.core.statistic.protocol.StatisticsProtocol;
|
||||
import com.mango.core.user.UserModel;
|
||||
import com.mango.core.user.event.NeedCompleteInfoEvent;
|
||||
import com.mango.core.utils.SharedPreferenceUtils;
|
||||
import com.mango.core.utils.net.ServerException;
|
||||
import com.mango.xchat_android_library.net.rxnet.RxNet;
|
||||
import com.mango.xchat_android_library.net.rxnet.converter.GsonConverterPlugins;
|
||||
import com.mango.xchat_android_library.utils.AppMetaDataUtil;
|
||||
import com.mango.xchat_android_library.utils.AppUtils;
|
||||
import com.mango.xchat_android_library.utils.DeviceUuidFactory;
|
||||
import com.mango.xchat_android_library.utils.SingleToastUtil;
|
||||
import com.mango.xchat_android_library.utils.SystemUtils;
|
||||
import com.mango.xchat_android_library.utils.VersionUtil;
|
||||
import com.mango.xchat_android_library.utils.codec.MD5Utils;
|
||||
import com.mango.xchat_android_library.utils.config.BasicConfig;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
|
||||
@@ -131,7 +126,7 @@ import io.realm.RealmConfiguration;
|
||||
* @date 2017/2/11
|
||||
*/
|
||||
|
||||
public class XChatApplication extends BaseApp {
|
||||
public class XChatApplication extends Application {
|
||||
public static final String TAG = "XChatApplication";
|
||||
private static final MessageNotifierCustomization messageNotifierCustomization = new MessageNotifierCustomization() {
|
||||
@Override
|
||||
@@ -208,17 +203,17 @@ public class XChatApplication extends BaseApp {
|
||||
public static void initOtherSDK() {
|
||||
if (isInitOtherSDK) return;
|
||||
isInitOtherSDK = true;
|
||||
Context context = instance;
|
||||
Context context = BasicConfig.INSTANCE.getAppContext();
|
||||
Application application = (Application) context.getApplicationContext();
|
||||
// 初始化 sp
|
||||
long startTime = System.currentTimeMillis();
|
||||
|
||||
String channel;
|
||||
channel = MetaDataUtils.INSTANCE.getStringData(Constants.CHANNEL_KEY, application);
|
||||
String channel = "";
|
||||
channel = ChannelReaderUtil.getChannel(instance);
|
||||
if (TextUtils.isEmpty(channel)) {
|
||||
channel = "official";
|
||||
}
|
||||
Log.d("XChatApplication", "channel:" + channel);
|
||||
|
||||
BasicConfig.INSTANCE.setOriginalChannel(channel);
|
||||
|
||||
//头条分包渠道
|
||||
@@ -228,7 +223,6 @@ public class XChatApplication extends BaseApp {
|
||||
channel = byteDanceChannel;
|
||||
}
|
||||
}
|
||||
Log.d("XChatApplication", "channel2:" + channel);
|
||||
BasicConfig.INSTANCE.setChannel(channel);
|
||||
|
||||
initEnv();
|
||||
@@ -246,6 +240,7 @@ public class XChatApplication extends BaseApp {
|
||||
});
|
||||
|
||||
ToastUtils.init(application);
|
||||
|
||||
if (inMainProcess(context)) {
|
||||
HeytapPushManager.init(context, true);
|
||||
|
||||
@@ -277,7 +272,6 @@ public class XChatApplication extends BaseApp {
|
||||
ViewTarget.setTagId(R.id.tag_glide);
|
||||
|
||||
init(channel);
|
||||
initStetho(context);
|
||||
|
||||
if (!TextUtils.isEmpty(channel)) {
|
||||
CrashReport.setAppChannel(context, channel);
|
||||
@@ -306,8 +300,6 @@ public class XChatApplication extends BaseApp {
|
||||
UMConfigure.setEncryptEnabled(true);
|
||||
// 集成测试
|
||||
UMConfigure.setLogEnabled(BuildConfig.DEBUG);
|
||||
} else {
|
||||
// CustomerServerHelper.init(instance, null);
|
||||
}
|
||||
|
||||
LogUtils.d("init time = " + (System.currentTimeMillis() - startTime) + "ms");
|
||||
@@ -319,7 +311,7 @@ public class XChatApplication extends BaseApp {
|
||||
* 初始化linkedMe
|
||||
*/
|
||||
private static void initLinkedMe() {
|
||||
LinkedME.getInstance(instance, XChatConstants.LINKED_ME_KEY);
|
||||
LinkedME.getInstance(BasicConfig.INSTANCE.getAppContext(), XChatConstants.LINKED_ME_KEY);
|
||||
if (isDebug()) {
|
||||
//设置debug模式下打印LinkedME日志
|
||||
LinkedME.getInstance().setDebug();
|
||||
@@ -351,13 +343,13 @@ public class XChatApplication extends BaseApp {
|
||||
"HUAWEI".toLowerCase().equals(brand.toLowerCase())
|
||||
|| "HONOR".toLowerCase().equals(brand.toLowerCase())
|
||||
|| "HUAWEI".equals(manufacturer))) {
|
||||
LoadedApkHuaWei.hookHuaWeiVerifier((Application) instance.getApplicationContext());
|
||||
LoadedApkHuaWei.hookHuaWeiVerifier((Application) BasicConfig.INSTANCE.getAppContext().getApplicationContext());
|
||||
}
|
||||
}
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
|
||||
public static void registerActivityLifecycleCallback(Application.ActivityLifecycleCallbacks callbacks) {
|
||||
((Application) instance.getApplicationContext()).registerActivityLifecycleCallbacks(callbacks);
|
||||
((Application) BasicConfig.INSTANCE.getAppContext().getApplicationContext()).registerActivityLifecycleCallbacks(callbacks);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -390,7 +382,6 @@ public class XChatApplication extends BaseApp {
|
||||
options.messageNotifierCustomization = messageNotifierCustomization;
|
||||
|
||||
options.appKey = Constants.nimAppKey;
|
||||
options.shouldConsiderRevokedMessageUnreadCount = true;
|
||||
|
||||
// 配置保存图片,文件,log 等数据的目录
|
||||
// 如果 options 中没有设置这个值,SDK 会使用下面代码示例中的位置作为 SDK 的数据目录。
|
||||
@@ -398,7 +389,7 @@ public class XChatApplication extends BaseApp {
|
||||
// 如果第三方 APP 需要缓存清理功能, 清理这个目录下面个子目录的内容即可。
|
||||
String sdkPath = null;
|
||||
try {
|
||||
sdkPath = FileHelper.getRootCacheDir().getPath() + "/nim";
|
||||
sdkPath = Environment.getExternalStorageDirectory() + "/" + BasicConfig.INSTANCE.getAppContext().getPackageName() + "/nim";
|
||||
} catch (ArrayIndexOutOfBoundsException e) {
|
||||
|
||||
}
|
||||
@@ -409,7 +400,7 @@ public class XChatApplication extends BaseApp {
|
||||
|
||||
// 配置附件缩略图的尺寸大小。表示向服务器请求缩略图文件的大小
|
||||
// 该值一般应根据屏幕尺寸来确定, 默认值为 Screen.width / 2
|
||||
int widthPixels = instance.getResources().getDisplayMetrics().widthPixels;
|
||||
int widthPixels = BasicConfig.INSTANCE.getAppContext().getResources().getDisplayMetrics().widthPixels;
|
||||
options.thumbnailSize = widthPixels / 2;
|
||||
// // save cache,留做切换账号备用
|
||||
DemoCache.setNotificationConfig(config);
|
||||
@@ -531,28 +522,23 @@ public class XChatApplication extends BaseApp {
|
||||
|
||||
private static void init(String channel) {
|
||||
initNimUIKit();
|
||||
UriProvider.initUri(
|
||||
BuildConfig.BASE_URL_DEBUG,
|
||||
BuildConfig.BASE_URL_STAGING,
|
||||
BuildConfig.BASE_URL_RELEASE,
|
||||
BuildConfig.WEB_URL
|
||||
);
|
||||
SVGAParser.Companion.shareParser().init(instance);
|
||||
UriProvider.initUri(BuildConfig.BASE_URL_DEBUG, BuildConfig.BASE_URL_STAGING, BuildConfig.BASE_URL_RELEASE);
|
||||
SVGAParser.Companion.shareParser().init(BasicConfig.INSTANCE.getAppContext());
|
||||
try {
|
||||
/** svga动画缓存路径 */
|
||||
File cacheDir = new File(instance.getExternalCacheDir(), "http");
|
||||
File cacheDir = new File(BasicConfig.INSTANCE.getAppContext().getApplicationContext().getExternalCacheDir(), "http");
|
||||
if (!cacheDir.exists()) cacheDir.mkdirs();
|
||||
HttpResponseCache.install(cacheDir, 1024 * 1024 * 128);
|
||||
} catch (IOException e) {
|
||||
Log.e(TAG, "testtest", e);
|
||||
}
|
||||
|
||||
initRxNet(instance, UriProvider.API_URL);
|
||||
initRxNet(BasicConfig.INSTANCE.getAppContext(), UriProvider.JAVA_WEB_URL);
|
||||
|
||||
/**
|
||||
* 使用到realm 数据库,这里配置数据库 这里必须先于模块初始化前进行初始化配置
|
||||
*/
|
||||
Realm.init(instance);
|
||||
Realm.init(BasicConfig.INSTANCE.getAppContext());
|
||||
RealmConfiguration config = new RealmConfiguration.Builder()
|
||||
.name("accompany.realm")
|
||||
.deleteRealmIfMigrationNeeded()
|
||||
@@ -600,7 +586,7 @@ public class XChatApplication extends BaseApp {
|
||||
|
||||
private static void initNimUIKit() {
|
||||
// 初始化
|
||||
NimUIKit.init(instance);
|
||||
NimUIKit.init(BasicConfig.INSTANCE.getAppContext());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -627,29 +613,12 @@ public class XChatApplication extends BaseApp {
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
instance = this;
|
||||
BaseApp.init(this);
|
||||
BasicConfig.INSTANCE.setAppContext(this.getApplicationContext());
|
||||
SharedPreferenceUtils.init(this);
|
||||
ResUtil.init(this);
|
||||
boolean isShowPrivacyAgreement = (boolean) SharedPreferenceUtils.get(SplashActivity.SHOW_PRIVACY_AGREEMENT, true);
|
||||
if (!isShowPrivacyAgreement) {
|
||||
initOtherSDK();
|
||||
}
|
||||
initContext(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化Application实例
|
||||
*/
|
||||
public void initContext(Application application) {
|
||||
gContext = application;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return 获取Application实例
|
||||
*/
|
||||
public static Application getApplication() {
|
||||
return gContext;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -667,18 +636,4 @@ public class XChatApplication extends BaseApp {
|
||||
}
|
||||
GlobalHandleManager.get().unInit();
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化Stetho(网络调试)
|
||||
*/
|
||||
private static void initStetho(Context context) {
|
||||
if (Env.isDebug()) {
|
||||
Stetho.initialize(
|
||||
Stetho.newInitializerBuilder(context)
|
||||
.enableDumpapp(Stetho.defaultDumperPluginsProvider(context))
|
||||
.enableWebKitInspector(Stetho.defaultInspectorModulesProvider(context))
|
||||
.build()
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.audio;
|
||||
package com.mango.moshen.audio;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Intent;
|
||||
@@ -12,20 +12,20 @@ import com.netease.nimlib.sdk.media.player.OnPlayListener;
|
||||
import com.netease.nimlib.sdk.media.record.AudioRecorder;
|
||||
import com.netease.nimlib.sdk.media.record.IAudioRecordCallback;
|
||||
import com.netease.nimlib.sdk.media.record.RecordType;
|
||||
import com.nnbc123.app.R;
|
||||
import com.nnbc123.app.base.BaseBindingActivity;
|
||||
import com.nnbc123.app.common.widget.dialog.DialogManager;
|
||||
import com.nnbc123.app.databinding.ActivityAudiorecordBinding;
|
||||
import com.nnbc123.core.audio.AudioPlayAndRecordManager;
|
||||
import com.nnbc123.core.auth.AuthModel;
|
||||
import com.nnbc123.core.file.FileModel;
|
||||
import com.nnbc123.core.manager.AvRoomDataManager;
|
||||
import com.nnbc123.core.room.bean.RoomInfo;
|
||||
import com.nnbc123.core.room.model.AvRoomModel;
|
||||
import com.nnbc123.core.user.UserModel;
|
||||
import com.nnbc123.core.user.bean.UserInfo;
|
||||
import com.nnbc123.library.annatation.ActLayoutRes;
|
||||
import com.nnbc123.library.utils.log.MLog;
|
||||
import com.mango.moshen.R;
|
||||
import com.mango.moshen.base.BaseBindingActivity;
|
||||
import com.mango.moshen.common.widget.dialog.DialogManager;
|
||||
import com.mango.moshen.databinding.ActivityAudiorecordBinding;
|
||||
import com.mango.core.audio.AudioPlayAndRecordManager;
|
||||
import com.mango.core.auth.AuthModel;
|
||||
import com.mango.core.file.FileModel;
|
||||
import com.mango.core.manager.AvRoomDataManager;
|
||||
import com.mango.core.room.bean.RoomInfo;
|
||||
import com.mango.core.room.model.AvRoomModel;
|
||||
import com.mango.core.user.UserModel;
|
||||
import com.mango.core.user.bean.UserInfo;
|
||||
import com.mango.xchat_android_library.annatation.ActLayoutRes;
|
||||
import com.mango.xchat_android_library.utils.log.MLog;
|
||||
|
||||
import java.io.File;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.audio;
|
||||
package com.mango.moshen.audio;
|
||||
|
||||
import android.Manifest;
|
||||
import android.content.Intent;
|
||||
@@ -9,22 +9,22 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import android.view.View;
|
||||
|
||||
import com.nnbc123.app.R;
|
||||
import com.nnbc123.app.UIHelper;
|
||||
import com.nnbc123.app.audio.adapter.MyVoiceListAdapter;
|
||||
import com.nnbc123.app.audio.helper.AudioPlayerHelper;
|
||||
import com.nnbc123.app.audio.presenter.MyVoicePresenter;
|
||||
import com.nnbc123.app.audio.view.IMyVoiceView;
|
||||
import com.nnbc123.app.base.BaseMvpActivity;
|
||||
import com.nnbc123.app.common.NoDataFragment;
|
||||
import com.nnbc123.app.ui.widget.magicindicator.buildins.UIUtil;
|
||||
import com.nnbc123.app.ui.widget.recyclerview.decoration.HorizontalDecoration;
|
||||
import com.nnbc123.core.audio.bean.UserVoiceInfo;
|
||||
import com.nnbc123.core.statistic.StatisticManager;
|
||||
import com.nnbc123.core.statistic.protocol.StatisticsProtocol;
|
||||
import com.nnbc123.library.base.factory.CreatePresenter;
|
||||
import com.nnbc123.library.utils.ListUtils;
|
||||
import com.nnbc123.library.utils.log.MLog;
|
||||
import com.mango.moshen.R;
|
||||
import com.mango.moshen.UIHelper;
|
||||
import com.mango.moshen.audio.adapter.MyVoiceListAdapter;
|
||||
import com.mango.moshen.audio.helper.AudioPlayerHelper;
|
||||
import com.mango.moshen.audio.presenter.MyVoicePresenter;
|
||||
import com.mango.moshen.audio.view.IMyVoiceView;
|
||||
import com.mango.moshen.base.BaseMvpActivity;
|
||||
import com.mango.moshen.common.NoDataFragment;
|
||||
import com.mango.moshen.ui.widget.magicindicator.buildins.UIUtil;
|
||||
import com.mango.moshen.ui.widget.recyclerview.decoration.HorizontalDecoration;
|
||||
import com.mango.core.audio.bean.UserVoiceInfo;
|
||||
import com.mango.core.statistic.StatisticManager;
|
||||
import com.mango.core.statistic.protocol.StatisticsProtocol;
|
||||
import com.mango.xchat_android_library.base.factory.CreatePresenter;
|
||||
import com.mango.xchat_android_library.utils.ListUtils;
|
||||
import com.mango.xchat_android_library.utils.log.MLog;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -99,7 +99,7 @@ public class MyVoiceActivity extends BaseMvpActivity<IMyVoiceView, MyVoicePresen
|
||||
private void playVoice(String voice) {
|
||||
// AudioEngineManager.get().setOpenVoiceMatchActivity(true);
|
||||
// PlayerModel.get().pause();
|
||||
AudioPlayerHelper.get().playInThread(voice, new com.nnbc123.app.audio.helper.OnPlayListener() {
|
||||
AudioPlayerHelper.get().playInThread(voice, new com.mango.moshen.audio.helper.OnPlayListener() {
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
if (adapter != null) {
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.audio;
|
||||
package com.mango.moshen.audio;
|
||||
|
||||
import android.Manifest;
|
||||
import android.animation.Animator;
|
||||
@@ -24,25 +24,25 @@ import android.widget.Chronometer;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.nnbc123.app.R;
|
||||
import com.nnbc123.app.audio.adapter.CardAdapter;
|
||||
import com.nnbc123.app.audio.helper.AudioPlayerHelper;
|
||||
import com.nnbc123.app.audio.presenter.RecordingVoicePresenter;
|
||||
import com.nnbc123.app.audio.view.IRecordingVoiceView;
|
||||
import com.nnbc123.app.audio.widget.OnSwipeListener;
|
||||
import com.nnbc123.app.audio.widget.RingProgressView;
|
||||
import com.nnbc123.app.audio.widget.VoiceCardConfig;
|
||||
import com.nnbc123.app.audio.widget.VoiceCardItemTouchHelperCallback;
|
||||
import com.nnbc123.app.audio.widget.VoiceCardLayoutManager;
|
||||
import com.nnbc123.app.audio.widget.VoiceCardRecyclerView;
|
||||
import com.nnbc123.app.audio.widget.VoiceWave;
|
||||
import com.nnbc123.app.base.BaseMvpActivity;
|
||||
import com.nnbc123.app.common.widget.dialog.DialogManager;
|
||||
import com.nnbc123.core.audio.bean.VoiceCardInfo;
|
||||
import com.nnbc123.core.room.model.AvRoomModel;
|
||||
import com.nnbc123.core.statistic.StatisticManager;
|
||||
import com.nnbc123.core.statistic.protocol.StatisticsProtocol;
|
||||
import com.nnbc123.library.base.factory.CreatePresenter;
|
||||
import com.mango.moshen.R;
|
||||
import com.mango.moshen.audio.adapter.CardAdapter;
|
||||
import com.mango.moshen.audio.helper.AudioPlayerHelper;
|
||||
import com.mango.moshen.audio.presenter.RecordingVoicePresenter;
|
||||
import com.mango.moshen.audio.view.IRecordingVoiceView;
|
||||
import com.mango.moshen.audio.widget.OnSwipeListener;
|
||||
import com.mango.moshen.audio.widget.RingProgressView;
|
||||
import com.mango.moshen.audio.widget.VoiceCardConfig;
|
||||
import com.mango.moshen.audio.widget.VoiceCardItemTouchHelperCallback;
|
||||
import com.mango.moshen.audio.widget.VoiceCardLayoutManager;
|
||||
import com.mango.moshen.audio.widget.VoiceCardRecyclerView;
|
||||
import com.mango.moshen.audio.widget.VoiceWave;
|
||||
import com.mango.moshen.base.BaseMvpActivity;
|
||||
import com.mango.moshen.common.widget.dialog.DialogManager;
|
||||
import com.mango.core.audio.bean.VoiceCardInfo;
|
||||
import com.mango.core.room.model.AvRoomModel;
|
||||
import com.mango.core.statistic.StatisticManager;
|
||||
import com.mango.core.statistic.protocol.StatisticsProtocol;
|
||||
import com.mango.xchat_android_library.base.factory.CreatePresenter;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.ArrayList;
|
||||
@@ -52,9 +52,9 @@ import java.util.Locale;
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
import static com.nnbc123.app.audio.presenter.RecordingVoicePresenter.STATE_RECORD_NORMAL;
|
||||
import static com.nnbc123.app.audio.presenter.RecordingVoicePresenter.STATE_RECORD_RECORDING;
|
||||
import static com.nnbc123.app.audio.presenter.RecordingVoicePresenter.STATE_RECORD_SUCCESS;
|
||||
import static com.mango.moshen.audio.presenter.RecordingVoicePresenter.STATE_RECORD_NORMAL;
|
||||
import static com.mango.moshen.audio.presenter.RecordingVoicePresenter.STATE_RECORD_RECORDING;
|
||||
import static com.mango.moshen.audio.presenter.RecordingVoicePresenter.STATE_RECORD_SUCCESS;
|
||||
|
||||
/**
|
||||
* 录制声音页面
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.audio;
|
||||
package com.mango.moshen.audio;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
@@ -19,37 +19,37 @@ import androidx.constraintlayout.widget.Group;
|
||||
import com.opensource.svgaplayer.SVGACallback;
|
||||
import com.opensource.svgaplayer.SVGAImageView;
|
||||
import com.trello.rxlifecycle3.android.ActivityEvent;
|
||||
import com.nnbc123.app.R;
|
||||
import com.nnbc123.app.UIHelper;
|
||||
import com.nnbc123.app.audio.helper.AudioPlayerHelper;
|
||||
import com.nnbc123.app.audio.helper.OnPlayListener;
|
||||
import com.nnbc123.app.audio.helper.OnRefreshListener;
|
||||
import com.nnbc123.app.audio.helper.SvgaCacheManager;
|
||||
import com.nnbc123.app.audio.helper.VmSoundManager;
|
||||
import com.nnbc123.app.audio.helper.VoiceMacthHelper;
|
||||
import com.nnbc123.app.audio.view.BottleContainer;
|
||||
import com.nnbc123.app.audio.view.IBottleOpListener;
|
||||
import com.nnbc123.app.audio.widget.VoiceBottleFilterGenderBottomDialog;
|
||||
import com.nnbc123.app.audio.widget.VoiceLine;
|
||||
import com.nnbc123.app.base.BaseActivity;
|
||||
import com.nnbc123.app.base.TitleBar;
|
||||
import com.nnbc123.app.common.widget.dialog.DialogManager;
|
||||
import com.nnbc123.app.ui.im.avtivity.NimP2PMessageActivity;
|
||||
import com.nnbc123.app.ui.widget.higuide.TuTuGuideHelper;
|
||||
import com.nnbc123.core.audio.AudioModel;
|
||||
import com.nnbc123.core.audio.bean.HistoryVoiceInfo;
|
||||
import com.nnbc123.core.audio.bean.VoiceMatchInfo;
|
||||
import com.nnbc123.core.auth.AuthModel;
|
||||
import com.nnbc123.core.music.model.PlayerModel;
|
||||
import com.nnbc123.core.statistic.StatisticManager;
|
||||
import com.nnbc123.core.statistic.protocol.StatisticsProtocol;
|
||||
import com.nnbc123.core.user.UserModel;
|
||||
import com.nnbc123.core.user.bean.UserInfo;
|
||||
import com.nnbc123.core.utils.ActivityUtil;
|
||||
import com.nnbc123.core.utils.SharedPreferenceUtils;
|
||||
import com.nnbc123.core.utils.net.DontWarnObserver;
|
||||
import com.nnbc123.library.utils.ListUtils;
|
||||
import com.nnbc123.library.utils.SingleToastUtil;
|
||||
import com.mango.moshen.R;
|
||||
import com.mango.moshen.UIHelper;
|
||||
import com.mango.moshen.audio.helper.AudioPlayerHelper;
|
||||
import com.mango.moshen.audio.helper.OnPlayListener;
|
||||
import com.mango.moshen.audio.helper.OnRefreshListener;
|
||||
import com.mango.moshen.audio.helper.SvgaCacheManager;
|
||||
import com.mango.moshen.audio.helper.VmSoundManager;
|
||||
import com.mango.moshen.audio.helper.VoiceMacthHelper;
|
||||
import com.mango.moshen.audio.view.BottleContainer;
|
||||
import com.mango.moshen.audio.view.IBottleOpListener;
|
||||
import com.mango.moshen.audio.widget.VoiceBottleFilterGenderBottomDialog;
|
||||
import com.mango.moshen.audio.widget.VoiceLine;
|
||||
import com.mango.moshen.base.BaseActivity;
|
||||
import com.mango.moshen.base.TitleBar;
|
||||
import com.mango.moshen.common.widget.dialog.DialogManager;
|
||||
import com.mango.moshen.ui.im.avtivity.NimP2PMessageActivity;
|
||||
import com.mango.moshen.ui.widget.higuide.TuTuGuideHelper;
|
||||
import com.mango.core.audio.AudioModel;
|
||||
import com.mango.core.audio.bean.HistoryVoiceInfo;
|
||||
import com.mango.core.audio.bean.VoiceMatchInfo;
|
||||
import com.mango.core.auth.AuthModel;
|
||||
import com.mango.core.music.model.PlayerModel;
|
||||
import com.mango.core.statistic.StatisticManager;
|
||||
import com.mango.core.statistic.protocol.StatisticsProtocol;
|
||||
import com.mango.core.user.UserModel;
|
||||
import com.mango.core.user.bean.UserInfo;
|
||||
import com.mango.core.utils.ActivityUtil;
|
||||
import com.mango.core.utils.SharedPreferenceUtils;
|
||||
import com.mango.core.utils.net.DontWarnObserver;
|
||||
import com.mango.xchat_android_library.utils.ListUtils;
|
||||
import com.mango.xchat_android_library.utils.SingleToastUtil;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
@@ -616,7 +616,7 @@ public class VoiceMatchActivity extends BaseActivity implements View.OnClickList
|
||||
}
|
||||
if (error == null) {
|
||||
if (isRight) {
|
||||
NimP2PMessageActivity.start(context, String.valueOf(info.getUid()), true);
|
||||
NimP2PMessageActivity.start(context, String.valueOf(info.getUid()));
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.audio.adapter;
|
||||
package com.mango.moshen.audio.adapter;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
@@ -10,8 +10,8 @@ import android.widget.FrameLayout;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.nnbc123.app.R;
|
||||
import com.nnbc123.core.audio.bean.VoiceCardInfo;
|
||||
import com.mango.moshen.R;
|
||||
import com.mango.core.audio.bean.VoiceCardInfo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.audio.adapter;
|
||||
package com.mango.moshen.audio.adapter;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import android.view.View;
|
||||
@@ -9,10 +9,10 @@ import android.widget.TextView;
|
||||
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.nnbc123.app.R;
|
||||
import com.nnbc123.app.audio.widget.VoiceLine;
|
||||
import com.nnbc123.core.audio.bean.UserVoiceInfo;
|
||||
import com.nnbc123.core.utils.StringUtils;
|
||||
import com.mango.moshen.R;
|
||||
import com.mango.moshen.audio.widget.VoiceLine;
|
||||
import com.mango.core.audio.bean.UserVoiceInfo;
|
||||
import com.mango.core.utils.StringUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.audio.helper;
|
||||
package com.mango.moshen.audio.helper;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.media.AudioManager;
|
||||
@@ -9,6 +9,8 @@ import android.text.TextUtils;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* create by lvzebiao @2019/6/14
|
||||
*/
|
||||
@@ -49,26 +51,12 @@ public class AudioPlayerHelper {
|
||||
endPlay();
|
||||
}
|
||||
|
||||
@Getter
|
||||
private boolean preparing = false;
|
||||
|
||||
@Getter
|
||||
private boolean pause = false;
|
||||
|
||||
public boolean isPreparing() {
|
||||
return preparing;
|
||||
}
|
||||
|
||||
public void setPreparing(boolean preparing) {
|
||||
this.preparing = preparing;
|
||||
}
|
||||
|
||||
public void setPause(boolean pause) {
|
||||
this.pause = pause;
|
||||
}
|
||||
|
||||
public boolean isPause() {
|
||||
return pause;
|
||||
}
|
||||
|
||||
public void playInThread(String filePath, OnPlayListener l) {
|
||||
playInThread(filePath, false, l);
|
||||
}
|
||||
@@ -93,7 +81,7 @@ public class AudioPlayerHelper {
|
||||
|
||||
try {
|
||||
player.setDataSource(filePath);
|
||||
} catch (Exception e) {
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
preparing = true;
|
||||
@@ -122,9 +110,6 @@ public class AudioPlayerHelper {
|
||||
}
|
||||
|
||||
public void endPlay() {
|
||||
if (listener != null) {
|
||||
listener.onCompletion();
|
||||
}
|
||||
handler.removeMessages(WHAT_STATUS.COUNT_PLAY);
|
||||
if (player != null) {
|
||||
if (preparing) {
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.audio.helper;
|
||||
package com.mango.moshen.audio.helper;
|
||||
|
||||
/**
|
||||
* create by lvzebiao @2019/6/17
|
@@ -0,0 +1,10 @@
|
||||
package com.mango.moshen.audio.helper;
|
||||
|
||||
/**
|
||||
* create by lvzebiao @2019/6/11
|
||||
*/
|
||||
public interface OnRefreshListener {
|
||||
|
||||
void refresh();
|
||||
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.audio.helper;
|
||||
package com.mango.moshen.audio.helper;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
@@ -16,6 +16,7 @@ import javax.annotation.Nullable;
|
||||
import io.reactivex.Single;
|
||||
import io.reactivex.SingleOnSubscribe;
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* create by lvzebiao @2019/6/21
|
||||
@@ -27,18 +28,22 @@ public class SvgaCacheManager {
|
||||
/**
|
||||
* 大瓶子水波纹
|
||||
*/
|
||||
@Getter
|
||||
private SVGADrawable bigBottleSvga;
|
||||
/**
|
||||
* 大瓶子气泡
|
||||
*/
|
||||
@Getter
|
||||
private SVGADrawable bigBubbleSvga;
|
||||
/**
|
||||
* 小瓶子水波纹
|
||||
*/
|
||||
@Getter
|
||||
private SVGADrawable smallBottleSvga;
|
||||
/**
|
||||
* 小瓶子气泡
|
||||
*/
|
||||
@Getter
|
||||
private SVGADrawable smallBubbleSvga;
|
||||
|
||||
private static SvgaCacheManager instance;
|
||||
@@ -47,22 +52,6 @@ public class SvgaCacheManager {
|
||||
|
||||
}
|
||||
|
||||
public SVGADrawable getBigBottleSvga() {
|
||||
return bigBottleSvga;
|
||||
}
|
||||
|
||||
public SVGADrawable getBigBubbleSvga() {
|
||||
return bigBubbleSvga;
|
||||
}
|
||||
|
||||
public SVGADrawable getSmallBottleSvga() {
|
||||
return smallBottleSvga;
|
||||
}
|
||||
|
||||
public SVGADrawable getSmallBubbleSvga() {
|
||||
return smallBubbleSvga;
|
||||
}
|
||||
|
||||
public static SvgaCacheManager get() {
|
||||
if (instance == null) {
|
||||
instance = new SvgaCacheManager();
|
@@ -1,6 +1,7 @@
|
||||
package com.nnbc123.app.audio.helper;
|
||||
package com.mango.moshen.audio.helper;
|
||||
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 声音匹配界面播放管理,写一个单例类,管理
|
||||
@@ -26,12 +27,9 @@ public class VmSoundManager {
|
||||
return Helper.INSTANCE;
|
||||
}
|
||||
|
||||
@Getter
|
||||
private AudioPlayerHelper helper;
|
||||
|
||||
public AudioPlayerHelper getHelper() {
|
||||
return helper;
|
||||
}
|
||||
|
||||
public void onCreate() {
|
||||
helper = new AudioPlayerHelper();
|
||||
helper.onCreate();
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.audio.helper;
|
||||
package com.mango.moshen.audio.helper;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
@@ -6,18 +6,16 @@ import android.animation.AnimatorSet;
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.view.View;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* create by lvzebiao @2019/6/11
|
||||
*/
|
||||
public class VoiceMacthHelper {
|
||||
|
||||
@Getter
|
||||
private boolean dontLikeAnimRun;
|
||||
|
||||
public boolean isDontLikeAnimRun() {
|
||||
return dontLikeAnimRun;
|
||||
}
|
||||
|
||||
public void playDontLikeAnim(View view) {
|
||||
dontLikeAnimRun = true;
|
||||
ObjectAnimator animatorX = ObjectAnimator.ofFloat(view, "scaleX", 1.0f, 0.9f, 1.2f, 1.0f);
|
@@ -0,0 +1,35 @@
|
||||
package com.mango.moshen.audio.presenter;
|
||||
|
||||
import com.mango.moshen.audio.view.IMyVoiceView;
|
||||
import com.mango.moshen.base.BaseMvpPresenter;
|
||||
import com.mango.core.audio.AudioModel;
|
||||
import com.mango.core.audio.bean.UserVoiceInfo;
|
||||
import com.mango.core.auth.AuthModel;
|
||||
import com.mango.core.utils.net.DontWarnObserver;
|
||||
import com.mango.xchat_android_library.base.PresenterEvent;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 我的声音页面
|
||||
*/
|
||||
public class MyVoicePresenter extends BaseMvpPresenter<IMyVoiceView> {
|
||||
|
||||
public void getUserVoiceInfo() {
|
||||
getMvpView().showLoadingView();
|
||||
AudioModel.get().getMyVoiceInfoList(AuthModel.get().getCurrentUid())
|
||||
.compose(bindUntilEvent(PresenterEvent.DESTROY))
|
||||
.subscribe(new DontWarnObserver<List<UserVoiceInfo>>() {
|
||||
@Override
|
||||
public void accept(List<UserVoiceInfo> userVoiceInfos, String error) {
|
||||
super.accept(userVoiceInfos, error);
|
||||
if (getMvpView() == null) {
|
||||
return;
|
||||
}
|
||||
getMvpView().hideLoadingView();
|
||||
getMvpView().showVoiceInfo(userVoiceInfos);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.audio.presenter;
|
||||
package com.mango.moshen.audio.presenter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
@@ -9,25 +9,25 @@ import android.util.Log;
|
||||
import com.netease.nimlib.sdk.media.record.AudioRecorder;
|
||||
import com.netease.nimlib.sdk.media.record.IAudioRecordCallback;
|
||||
import com.netease.nimlib.sdk.media.record.RecordType;
|
||||
import com.nnbc123.app.audio.helper.AudioPlayerHelper;
|
||||
import com.nnbc123.app.audio.helper.OnPlayListener;
|
||||
import com.nnbc123.app.audio.view.IRecordingVoiceView;
|
||||
import com.nnbc123.app.base.BaseMvpPresenter;
|
||||
import com.nnbc123.core.audio.AudioModel;
|
||||
import com.nnbc123.core.audio.AudioPlayAndRecordManager;
|
||||
import com.nnbc123.core.audio.bean.SaveVoiceSuccessResultInfo;
|
||||
import com.nnbc123.core.audio.bean.VoiceCardInfo;
|
||||
import com.nnbc123.core.auth.AuthModel;
|
||||
import com.nnbc123.core.file.FileModel;
|
||||
import com.nnbc123.core.manager.AvRoomDataManager;
|
||||
import com.nnbc123.core.room.bean.RoomInfo;
|
||||
import com.nnbc123.core.statistic.StatisticManager;
|
||||
import com.nnbc123.core.statistic.protocol.StatisticsProtocol;
|
||||
import com.nnbc123.core.utils.net.DontWarnObserver;
|
||||
import com.nnbc123.library.base.PresenterEvent;
|
||||
import com.nnbc123.library.utils.ListUtils;
|
||||
import com.nnbc123.library.utils.SingleToastUtil;
|
||||
import com.nnbc123.library.utils.log.MLog;
|
||||
import com.mango.moshen.audio.helper.AudioPlayerHelper;
|
||||
import com.mango.moshen.audio.helper.OnPlayListener;
|
||||
import com.mango.moshen.audio.view.IRecordingVoiceView;
|
||||
import com.mango.moshen.base.BaseMvpPresenter;
|
||||
import com.mango.core.audio.AudioModel;
|
||||
import com.mango.core.audio.AudioPlayAndRecordManager;
|
||||
import com.mango.core.audio.bean.SaveVoiceSuccessResultInfo;
|
||||
import com.mango.core.audio.bean.VoiceCardInfo;
|
||||
import com.mango.core.auth.AuthModel;
|
||||
import com.mango.core.file.FileModel;
|
||||
import com.mango.core.manager.AvRoomDataManager;
|
||||
import com.mango.core.room.bean.RoomInfo;
|
||||
import com.mango.core.statistic.StatisticManager;
|
||||
import com.mango.core.statistic.protocol.StatisticsProtocol;
|
||||
import com.mango.core.utils.net.DontWarnObserver;
|
||||
import com.mango.xchat_android_library.base.PresenterEvent;
|
||||
import com.mango.xchat_android_library.utils.ListUtils;
|
||||
import com.mango.xchat_android_library.utils.SingleToastUtil;
|
||||
import com.mango.xchat_android_library.utils.log.MLog;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
@@ -35,9 +35,9 @@ import java.util.List;
|
||||
import io.reactivex.SingleObserver;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
|
||||
import static com.nnbc123.app.audio.RecordingVoiceActivity.AUDIO_DURA;
|
||||
import static com.nnbc123.app.audio.RecordingVoiceActivity.AUDIO_FILE;
|
||||
import static com.nnbc123.app.audio.RecordingVoiceActivity.MIN_RECORD_VOICE_DURATION;
|
||||
import static com.mango.moshen.audio.RecordingVoiceActivity.AUDIO_DURA;
|
||||
import static com.mango.moshen.audio.RecordingVoiceActivity.AUDIO_FILE;
|
||||
import static com.mango.moshen.audio.RecordingVoiceActivity.MIN_RECORD_VOICE_DURATION;
|
||||
|
||||
/**
|
||||
* 录制声音页面
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.audio.view;
|
||||
package com.mango.moshen.audio.view;
|
||||
|
||||
import android.content.Context;
|
||||
import androidx.annotation.NonNull;
|
||||
@@ -8,13 +8,14 @@ import android.view.View;
|
||||
import android.view.ViewTreeObserver;
|
||||
import android.widget.FrameLayout;
|
||||
|
||||
import com.nnbc123.app.ui.widget.magicindicator.buildins.UIUtil;
|
||||
import com.nnbc123.core.audio.bean.VoiceMatchInfo;
|
||||
import com.nnbc123.library.utils.ListUtils;
|
||||
import com.mango.moshen.ui.widget.magicindicator.buildins.UIUtil;
|
||||
import com.mango.core.audio.bean.VoiceMatchInfo;
|
||||
import com.mango.xchat_android_library.utils.ListUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* create by lvzebiao @2019/6/18
|
||||
@@ -182,12 +183,9 @@ public class BottleContainer extends FrameLayout {
|
||||
}
|
||||
}
|
||||
|
||||
@Setter
|
||||
private IBottleOpListener opListener;
|
||||
|
||||
public void setOpListener(IBottleOpListener opListener) {
|
||||
this.opListener = opListener;
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新显示的瓶子状态
|
||||
*/
|
@@ -1,4 +1,4 @@
|
||||
package com.nnbc123.app.audio.view;
|
||||
package com.mango.moshen.audio.view;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
@@ -13,25 +13,25 @@ import android.widget.TextView;
|
||||
|
||||
import com.coorchice.library.SuperTextView;
|
||||
import com.opensource.svgaplayer.SVGAImageView;
|
||||
import com.nnbc123.app.R;
|
||||
import com.nnbc123.app.UIHelper;
|
||||
import com.nnbc123.app.audio.VoiceMatchActivity;
|
||||
import com.nnbc123.app.audio.helper.OnPlayListener;
|
||||
import com.nnbc123.app.audio.helper.SvgaCacheManager;
|
||||
import com.nnbc123.app.audio.helper.VmSoundManager;
|
||||
import com.nnbc123.app.common.widget.CircleImageView;
|
||||
import com.nnbc123.app.ui.utils.ImageLoadUtils;
|
||||
import com.nnbc123.app.ui.widget.magicindicator.buildins.UIUtil;
|
||||
import com.nnbc123.xchat_android_constants.XChatConstants;
|
||||
import com.nnbc123.core.audio.bean.VoiceMatchInfo;
|
||||
import com.nnbc123.core.auth.AuthModel;
|
||||
import com.nnbc123.core.statistic.StatisticManager;
|
||||
import com.nnbc123.core.statistic.protocol.StatisticsProtocol;
|
||||
import com.nnbc123.core.utils.SharedPreferenceUtils;
|
||||
import com.nnbc123.core.utils.net.DontWarnObserver;
|
||||
import com.nnbc123.core.utils.net.RxHelper;
|
||||
import com.nnbc123.library.utils.SingleToastUtil;
|
||||
import com.nnbc123.library.utils.TimeUtils;
|
||||
import com.mango.moshen.R;
|
||||
import com.mango.moshen.UIHelper;
|
||||
import com.mango.moshen.audio.VoiceMatchActivity;
|
||||
import com.mango.moshen.audio.helper.OnPlayListener;
|
||||
import com.mango.moshen.audio.helper.SvgaCacheManager;
|
||||
import com.mango.moshen.audio.helper.VmSoundManager;
|
||||
import com.mango.moshen.common.widget.CircleImageView;
|
||||
import com.mango.moshen.ui.utils.ImageLoadUtils;
|
||||
import com.mango.moshen.ui.widget.magicindicator.buildins.UIUtil;
|
||||
import com.mango.xchat_android_constants.XChatConstants;
|
||||
import com.mango.core.audio.bean.VoiceMatchInfo;
|
||||
import com.mango.core.auth.AuthModel;
|
||||
import com.mango.core.statistic.StatisticManager;
|
||||
import com.mango.core.statistic.protocol.StatisticsProtocol;
|
||||
import com.mango.core.utils.SharedPreferenceUtils;
|
||||
import com.mango.core.utils.net.DontWarnObserver;
|
||||
import com.mango.core.utils.net.RxHelper;
|
||||
import com.mango.xchat_android_library.utils.SingleToastUtil;
|
||||
import com.mango.xchat_android_library.utils.TimeUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.text.DecimalFormat;
|
||||
@@ -41,6 +41,8 @@ import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import io.reactivex.Single;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* create by lvzebiao @2019/6/6
|
||||
@@ -87,18 +89,12 @@ public class BottleLayout extends FrameLayout {
|
||||
|
||||
int parentWidth;
|
||||
|
||||
@Getter
|
||||
int initLeft;
|
||||
|
||||
@Getter
|
||||
int initTop;
|
||||
|
||||
public int getInitLeft() {
|
||||
return initLeft;
|
||||
}
|
||||
|
||||
public int getInitTop() {
|
||||
return initTop;
|
||||
}
|
||||
|
||||
int minNextOffset;
|
||||
|
||||
private boolean canDrag;
|
||||
@@ -333,12 +329,9 @@ public class BottleLayout extends FrameLayout {
|
||||
animator.start();
|
||||
}
|
||||
|
||||
@Setter
|
||||
private OnNextPageListener onNextPageListener;
|
||||
|
||||
public void setOnNextPageListener(OnNextPageListener onNextPageListener) {
|
||||
this.onNextPageListener = onNextPageListener;
|
||||
}
|
||||
|
||||
public interface OnNextPageListener {
|
||||
/**
|
||||
* 受到限制 不给滑动
|
@@ -0,0 +1,14 @@
|
||||
package com.mango.moshen.audio.view;
|
||||
|
||||
import com.mango.core.audio.bean.VoiceMatchInfo;
|
||||
|
||||
/**
|
||||
* create by lvzebiao @2019/6/19
|
||||
*/
|
||||
public interface IBottleOpListener {
|
||||
|
||||
void onLimit(boolean isRight);
|
||||
|
||||
void onLikeOrUnLike(VoiceMatchInfo info, boolean isRight, boolean needLoading);
|
||||
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user