<option value="$PROJECT_DIR$/videoplayer" /> | <option value="$PROJECT_DIR$/videoplayer" /> | ||||
</set> | </set> | ||||
</option> | </option> | ||||
<option name="resolveModulePerSourceSet" value="false" /> | |||||
</GradleProjectSettings> | </GradleProjectSettings> | ||||
</option> | </option> | ||||
</component> | </component> |
<entry key="..\:/Work/XKL/XKL/XklLocal/videoplayer/src/main/res/layout/pine_player_media_controller_full.xml" value="0.5" /> | <entry key="..\:/Work/XKL/XKL/XklLocal/videoplayer/src/main/res/layout/pine_player_media_controller_full.xml" value="0.5" /> | ||||
<entry key="..\:/Work/XKL/XKL/XklLocal/videoplayer/src/main/res/layout/video_popup.xml" value="0.67" /> | <entry key="..\:/Work/XKL/XKL/XklLocal/videoplayer/src/main/res/layout/video_popup.xml" value="0.67" /> | ||||
<entry key="..\:/Work/XKL/XklLocal/app/src/main/res/drawable/theme_splash_bg.xml" value="0.22" /> | <entry key="..\:/Work/XKL/XklLocal/app/src/main/res/drawable/theme_splash_bg.xml" value="0.22" /> | ||||
<entry key="..\:/Work/XKL/XklLocal/app/src/main/res/layout/_xpopup_ext_time_picker.xml" value="0.3333333333333333" /> | |||||
<entry key="..\:/Work/XKL/XklLocal/app/src/main/res/layout/activity_fullscreen.xml" value="0.10144927536231885" /> | <entry key="..\:/Work/XKL/XklLocal/app/src/main/res/layout/activity_fullscreen.xml" value="0.10144927536231885" /> | ||||
<entry key="..\:/Work/XKL/XklLocal/app/src/main/res/layout/activity_main.xml" value="0.1" /> | <entry key="..\:/Work/XKL/XklLocal/app/src/main/res/layout/activity_main.xml" value="0.1" /> | ||||
<entry key="..\:/Work/XKL/XklLocal/app/src/main/res/layout/activity_splash.xml" value="0.1" /> | <entry key="..\:/Work/XKL/XklLocal/app/src/main/res/layout/activity_splash.xml" value="0.1" /> |
HttpUtil.instance.getOkhttpClient().newCall(request).enqueue(object : Callback { | HttpUtil.instance.getOkhttpClient().newCall(request).enqueue(object : Callback { | ||||
override fun onFailure(call : Call, e : IOException) { | override fun onFailure(call : Call, e : IOException) { | ||||
e.printStackTrace() | e.printStackTrace() | ||||
bindCoursePackResult.value = false | |||||
bindCoursePackList = decodeBinderCourseJson(UserInfoManager.instance.getBindCourse()) | |||||
bindCoursePackResult.postValue(false) | |||||
} | } | ||||
override fun onResponse(call : Call, response : Response) { | override fun onResponse(call : Call, response : Response) { | ||||
} | } | ||||
override fun downFileProgress(progress : Int) { | override fun downFileProgress(progress : Int) { | ||||
downLoadNameAndProgress.postValue("课程下载中: ${coursePackBaseInfo.coursePackName} : $progress%") | |||||
// println("发送:${coursePackBaseInfo.coursePackName} : $progress% ") | // println("发送:${coursePackBaseInfo.coursePackName} : $progress% ") | ||||
val obtainMessage = handler.obtainMessage() | |||||
obtainMessage.obj = "${coursePackBaseInfo.coursePackName} : $progress%" | |||||
obtainMessage.what = 1 | |||||
handler.sendMessage(obtainMessage) | |||||
// val obtainMessage = handler.obtainMessage() | |||||
// obtainMessage.obj = "课程下载中: ${coursePackBaseInfo.coursePackName} : $progress%" | |||||
// obtainMessage.what = 1 | |||||
// handler.sendMessage(obtainMessage) | |||||
} | } | ||||
override fun downFileResult(saveFile : File?) { | override fun downFileResult(saveFile : File?) { | ||||
} | } | ||||
CourseManager.subjectWithCoursePackMap[AppConstants.SUBJECT_ENGLISH] = englishCoursePack.toList() | CourseManager.subjectWithCoursePackMap[AppConstants.SUBJECT_ENGLISH] = englishCoursePack.toList() | ||||
CourseManager.subjectWithCoursePackMap[AppConstants.SUBJECT_CHINESE] = chineseCoursePack.toList() | CourseManager.subjectWithCoursePackMap[AppConstants.SUBJECT_CHINESE] = chineseCoursePack.toList() | ||||
println("发送:合并完成! ") | |||||
handler.sendEmptyMessage(2) | |||||
// println("发送:合并完成! ") | |||||
// handler.sendEmptyMessage(2) | |||||
mergeCoursePackResult.postValue(true) | |||||
/* AppExecutors.mainThread.execute { | /* AppExecutors.mainThread.execute { | ||||
mergeCoursePackResult.value = true | mergeCoursePackResult.value = true | ||||
} | } |
//在项目级别定义某些属性并在所有模块之间共享这些属性 | //在项目级别定义某些属性并在所有模块之间共享这些属性 | ||||
ext { | ext { | ||||
android = [ | android = [ | ||||
compile_sdk_version: 32, //使用rootProject.ext.android.compile_sdk_version | |||||
compile_sdk_version: 31, //使用rootProject.ext.android.compile_sdk_version | |||||
build_tools_version: "30.0.2", | build_tools_version: "30.0.2", | ||||
min_sdk_version : 21, | min_sdk_version : 21, | ||||
target_sdk_version : 31, | target_sdk_version : 31, | ||||
Activity_ktx : "androidx.activity:activity-ktx:1.4.0", | Activity_ktx : "androidx.activity:activity-ktx:1.4.0", | ||||
//SqlCipher 需要在application 实现 : SQLiteDatabase.loadLibs(this) | //SqlCipher 需要在application 实现 : SQLiteDatabase.loadLibs(this) | ||||
SqlCipher : "net.zetetic:android-database-sqlcipher:4.5.1", | SqlCipher : "net.zetetic:android-database-sqlcipher:4.5.1", | ||||
Sqlite : "androidx.sqlite:sqlite:2.3.0-alpha03", | |||||
// Sqlite : "androidx.sqlite:sqlite:2.0.1", | |||||
// Sqlite : "androidx.sqlite:sqlite:2.3.0-alpha03", | |||||
Sqlite : "androidx.sqlite:sqlite:2.0.1", | |||||
//SmartRefreshLayout | //SmartRefreshLayout | ||||
SmartRefreshLayout: "io.github.scwang90:refresh-layout-kernel:2.0.5", | SmartRefreshLayout: "io.github.scwang90:refresh-layout-kernel:2.0.5", | ||||
//Lottie | //Lottie |
mavenCentral() | mavenCentral() | ||||
jcenter() // Warning: this repository is going to shut down soon | jcenter() // Warning: this repository is going to shut down soon | ||||
maven { url 'https://jitpack.io' } | |||||
maven { url 'https://www.jitpack.io' } | |||||
} | } | ||||
} | } | ||||
rootProject.name = "XklLocal" | rootProject.name = "XklLocal" |