leiyun 5 лет назад
Родитель
Сommit
74ad39b8ab
12 измененных файлов: 172 добавлений и 13 удалений
  1. +1
    -0
      .idea/gradle.xml
  2. +5
    -0
      .idea/jarRepositories.xml
  3. +4
    -4
      app/build.gradle
  4. +42
    -7
      app/src/main/java/com/yzx/webebook/activity/WebActivity.kt
  5. +16
    -0
      app/src/main/java/com/yzx/webebook/widget/BaseDialog.kt
  6. Двоичные данные
      app/src/main/res/drawable/custom_bg.png
  7. +5
    -0
      app/src/main/res/drawable/shape_corner.xml
  8. +6
    -0
      app/src/main/res/drawable/shape_corner_plain.xml
  9. +80
    -0
      app/src/main/res/layout/version_dialog.xml
  10. +2
    -0
      app/src/main/res/values/strings.xml
  11. +10
    -1
      app/src/main/res/values/styles.xml
  12. +1
    -1
      build.gradle

+ 1
- 0
.idea/gradle.xml Просмотреть файл

@@ -6,6 +6,7 @@
<GradleProjectSettings>
<option name="delegatedBuild" value="true" />
<option name="testRunner" value="PLATFORM" />
<option name="disableWrapperSourceDistributionNotification" value="true" />
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="modules">


+ 5
- 0
.idea/jarRepositories.xml Просмотреть файл

@@ -21,5 +21,10 @@
<option name="name" value="Google" />
<option name="url" value="https://dl.google.com/dl/android/maven2/" />
</remote-repository>
<remote-repository>
<option name="id" value="maven" />
<option name="name" value="maven" />
<option name="url" value="https://jitpack.io" />
</remote-repository>
</component>
</project>

+ 4
- 4
app/build.gradle Просмотреть файл

@@ -5,12 +5,12 @@ apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

android {
compileSdkVersion 29
buildToolsVersion "29.0.3"
compileSdkVersion 30
buildToolsVersion "31.0.0 rc1"
defaultConfig {
applicationId "com.yzx.webebook"
minSdkVersion 26
targetSdkVersion 29
targetSdkVersion 30
versionCode 2
versionName "2.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@@ -77,6 +77,6 @@ dependencies {
implementation 'com.blankj:utilcodex:1.30.5'
implementation 'com.google.code.gson:gson:2.8.6'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
implementation 'com.github.AlexLiuSheng:CheckVersionLib:2.4.1_androidx'

}

+ 42
- 7
app/src/main/java/com/yzx/webebook/activity/WebActivity.kt Просмотреть файл

@@ -3,6 +3,7 @@ package com.yzx.webebook.activity
import android.annotation.SuppressLint
import android.app.Activity
import android.app.AlertDialog
import android.app.Dialog
import android.content.Intent
import android.net.http.SslError
import android.os.Build
@@ -12,13 +13,18 @@ import android.view.View
import android.view.ViewGroup
import android.webkit.*
import android.widget.LinearLayout
import android.widget.TextView
import androidx.annotation.RequiresApi
import com.allenliu.versionchecklib.v2.AllenVersionChecker
import com.allenliu.versionchecklib.v2.builder.UIData
import com.yzx.webebook.MainActivity
import com.yzx.webebook.R
import com.yzx.webebook.activity.base.BaseActivity
import com.yzx.webebook.presenter.base.BasePresenter
import com.yzx.webebook.widget.BaseDialog
import kotlinx.android.synthetic.main.activity_web.*
import org.jetbrains.anko.ctx
import org.jetbrains.anko.find
import org.jetbrains.anko.startActivity
import org.jetbrains.anko.toast
import org.json.JSONObject
@@ -55,6 +61,33 @@ class WebActivity : BaseActivity<BasePresenter<*>>() {
url = intent?.getStringExtra("link") ?: "https://m.qbjjyyun.net/"
this.initData()
}

private fun checkVersion(): Unit {
val url =
"https://filea.oa.qbjjyyun.net/edufile/download?uniqueKey=22de6670beaa78a822ae4a95bdb2c6f5"
AllenVersionChecker
.getInstance()
.downloadOnly(
UIData.create()
.setTitle("检测到新版本")
.setContent("1.优化了笔记的体验\n2.解决了若干已知bug\n")
.setDownloadUrl(url)

)
.setCustomVersionDialogListener { context, versionBundle ->
val dialog = BaseDialog(context, R.style.BaseDialog, R.layout.version_dialog)
val title = dialog.find<TextView>(R.id.tv_title)
title.text = "检测到新版本"
val content = dialog.find<TextView>(R.id.tv_msg)
content.text = "1.优化了笔记的体验\n2.解决了若干已知bug\n"
dialog.window?.setDimAmount(0.1f)
val cancelBtn = dialog.find<View>(R.id.cancel_btn)
//cancelBtn.visibility = View.GONE
return@setCustomVersionDialogListener dialog
}
.executeMission(this)
}

@SuppressLint("SetJavaScriptEnabled")
override fun initView() {
url = intent?.getStringExtra("link") ?: "https://m.qbjjyyun.net/"
@@ -170,6 +203,7 @@ class WebActivity : BaseActivity<BasePresenter<*>>() {

override fun initData() {
webView.loadUrl(url)
// checkVersion()
}

override fun initPresenter(): BasePresenter<*>? {
@@ -197,12 +231,13 @@ class WebActivity : BaseActivity<BasePresenter<*>>() {
override fun onDestroy() {
super.onDestroy()
webView.apply {
webViewClient = null
// webViewClient = null
webChromeClient = null
(parent as ViewGroup).removeView(webView)
removeAllViews()
destroy()
}
AllenVersionChecker.getInstance().cancelAllMission()
}

/**
@@ -233,7 +268,7 @@ class WebActivity : BaseActivity<BasePresenter<*>>() {
}

if (requestCode == NoteActivity.REQ_CODE && resultCode == Activity.RESULT_OK) {
val json = data?.getStringExtra("note_info")?:""
val json = data?.getStringExtra("note_info") ?: ""
evaluateJavascript("onImageUploadSuccess", json)
}
}
@@ -273,10 +308,10 @@ class YzxJavascriptInterface(var ctx: Activity) {
@JavascriptInterface
fun notePage(
title: String,
note_info:String,
can_add_page:Int=1
note_info: String,
can_add_page: Int = 1
) {
NoteActivity.active(ctx, title, note_info ,can_add_page)
NoteActivity.active(ctx, title, note_info, can_add_page)
}

/**
@@ -287,9 +322,9 @@ class YzxJavascriptInterface(var ctx: Activity) {
@JavascriptInterface
fun notePage(
title: String,
note_info:String
note_info: String
) {
NoteActivity.active(ctx, title, note_info ,1)
NoteActivity.active(ctx, title, note_info, 1)
}

/**


+ 16
- 0
app/src/main/java/com/yzx/webebook/widget/BaseDialog.kt Просмотреть файл

@@ -0,0 +1,16 @@
package com.yzx.webebook.widget

import android.app.Dialog
import android.content.Context

class BaseDialog(context: Context, themeResId: Int, res: Int) : Dialog(context, themeResId) {
private var res: Int = 0

init {
setContentView(res)
this.res = res
setCanceledOnTouchOutside(false)
setCancelable(false)
window?.setDimAmount(0f)
}
}

Двоичные данные
app/src/main/res/drawable/custom_bg.png Просмотреть файл

До После
Ширина: 450  |  Высота: 204  |  Размер: 19 KiB

+ 5
- 0
app/src/main/res/drawable/shape_corner.xml Просмотреть файл

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="5dp"></corners>
<solid android:color="#000"></solid>
</shape>

+ 6
- 0
app/src/main/res/drawable/shape_corner_plain.xml Просмотреть файл

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="5dp"></corners>
<solid android:color="#fff"></solid>
<stroke android:color="#000" android:width="1px"></stroke>
</shape>

+ 80
- 0
app/src/main/res/layout/version_dialog.xml Просмотреть файл

@@ -0,0 +1,80 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:orientation="vertical">

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">

<ImageView
android:layout_width="300dp"
android:layout_height="150dp"
android:background="@drawable/custom_bg"
android:scaleType="centerCrop" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white"
android:orientation="vertical"
android:padding="15dp">

<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dp"
android:text="@string/update_title"
android:textColor="@android:color/black"
android:textSize="13sp" />

<TextView
android:id="@+id/tv_msg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/updatecontent"
android:textColor="#666"
android:textSize="12sp" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<FrameLayout
android:id="@+id/cancel_btn"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_marginEnd="15dp"
android:layout_height="wrap_content">

<Button
android:id="@id/versionchecklib_version_dialog_cancel"
android:layout_width="match_parent"
android:layout_height="35dp"
android:layout_marginTop="10dp"
android:layout_weight="1"
android:background="@drawable/shape_corner_plain"
android:text="取消"
android:textColor="@android:color/black" />
</FrameLayout>

<Button
android:id="@id/versionchecklib_version_dialog_commit"
android:layout_width="0dp"
android:layout_height="35dp"
android:layout_marginTop="10dp"
android:layout_weight="1"
android:background="@drawable/shape_corner"
android:text="立即升级"
android:textColor="@android:color/white" />

</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>

+ 2
- 0
app/src/main/res/values/strings.xml Просмотреть файл

@@ -1,3 +1,5 @@
<resources>
<string name="app_name">云智学</string>
<string name="update_title">检测到新版本</string>
<string name="updatecontent">解决了若干bug</string>
</resources>

+ 10
- 1
app/src/main/res/values/styles.xml Просмотреть файл

@@ -8,5 +8,14 @@
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowBackground">@color/backgroundColor</item>
</style>

<style name="BaseDialog" parent="android:Theme.Light">
<item name="android:windowFrame">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:background">@android:color/transparent</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:backgroundDimEnabled">true</item>
<item name="android:backgroundDimAmount">0.1</item>
</style>
</resources>

+ 1
- 1
build.gradle Просмотреть файл

@@ -20,7 +20,7 @@ allprojects {
repositories {
google()
jcenter()
maven { url 'https://jitpack.io' }
}
}



Загрузка…
Отмена
Сохранить