├── app ├── .gitignore ├── src │ └── main │ │ ├── res │ │ ├── values │ │ │ ├── strings.xml │ │ │ ├── colors.xml │ │ │ └── styles.xml │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ ├── layout │ │ │ ├── activity_main.xml │ │ │ └── dialog_version_update_download.xml │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ └── drawable │ │ │ └── ic_launcher_background.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── com │ │ └── duanlu │ │ └── example │ │ ├── VersionChecker.java │ │ ├── OkGoDownloadStrategy.java │ │ ├── MainActivity.java │ │ └── SimpleDialogProvider.java ├── proguard-rules.pro └── build.gradle ├── version_update ├── .gitignore ├── src │ └── main │ │ ├── res │ │ ├── values │ │ │ └── strings.xml │ │ └── xml │ │ │ └── version_update_provider_paths.xml │ │ ├── java │ │ └── com │ │ │ └── duanlu │ │ │ └── upload │ │ │ ├── CheckCallback.java │ │ │ ├── Checker.java │ │ │ ├── VersionUpdateFileProvider.java │ │ │ ├── NewVersionActionCallback.java │ │ │ ├── DownloadStrategy.java │ │ │ ├── DialogProvider.java │ │ │ ├── OnDownloadStatusListener.java │ │ │ ├── Postcard.java │ │ │ ├── VersionUpdateUtils.java │ │ │ └── VersionUpdate.java │ │ └── AndroidManifest.xml ├── proguard-rules.pro └── build.gradle ├── settings.gradle ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .idea ├── encodings.xml ├── codeStyles │ └── codeStyleConfig.xml ├── vcs.xml ├── misc.xml ├── runConfigurations.xml └── gradle.xml ├── .gitignore ├── gradle.properties ├── config.gradle ├── gradlew.bat ├── gradlew ├── README.md └── LICENSE /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /version_update/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':version_update' 2 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | VersionUpdate 3 | 4 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FengChenSunshine/VersionUpdate/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /version_update/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | VersionUpdate 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FengChenSunshine/VersionUpdate/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FengChenSunshine/VersionUpdate/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FengChenSunshine/VersionUpdate/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FengChenSunshine/VersionUpdate/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FengChenSunshine/VersionUpdate/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FengChenSunshine/VersionUpdate/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FengChenSunshine/VersionUpdate/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FengChenSunshine/VersionUpdate/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FengChenSunshine/VersionUpdate/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FengChenSunshine/VersionUpdate/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #008577 4 | #00574B 5 | #D81B60 6 | 7 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | -------------------------------------------------------------------------------- /version_update/src/main/res/xml/version_update_provider_paths.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon May 20 10:02:16 CST 2019 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip 7 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | -------------------------------------------------------------------------------- /version_update/src/main/java/com/duanlu/upload/CheckCallback.java: -------------------------------------------------------------------------------- 1 | package com.duanlu.upload; 2 | 3 | /******************************** 4 | * @name CheckCallback 5 | * @author 段露 6 | * @createDate 2019/05/20 13:58 7 | * @updateDate 2019/05/20 13:58 8 | * @version V1.0.0 9 | * @describe 版本更新检查回调. 10 | ********************************/ 11 | public interface CheckCallback { 12 | 13 | void callback(Postcard postcard); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /version_update/src/main/java/com/duanlu/upload/Checker.java: -------------------------------------------------------------------------------- 1 | package com.duanlu.upload; 2 | 3 | import android.content.Context; 4 | 5 | /******************************** 6 | * @name Checker 7 | * @author 段露 8 | * @createDate 2019/05/20 13:57 9 | * @updateDate 2019/05/20 13:57 10 | * @version V1.0.0 11 | * @describe 版本更新检查者. 12 | ********************************/ 13 | public interface Checker { 14 | 15 | void check(Context context, CheckCallback callback); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /version_update/src/main/java/com/duanlu/upload/VersionUpdateFileProvider.java: -------------------------------------------------------------------------------- 1 | package com.duanlu.upload; 2 | 3 | import android.support.v4.content.FileProvider; 4 | 5 | /******************************** 6 | * @name VersionUpdateFileProvider 7 | * @author 段露 8 | * @createDate 2019/05/21 10:56 9 | * @updateDate 2019/05/21 10:56 10 | * @version V1.0.0 11 | * @describe FileProvider. 12 | ********************************/ 13 | public class VersionUpdateFileProvider extends FileProvider { 14 | 15 | } 16 | -------------------------------------------------------------------------------- /version_update/src/main/java/com/duanlu/upload/NewVersionActionCallback.java: -------------------------------------------------------------------------------- 1 | package com.duanlu.upload; 2 | 3 | /******************************** 4 | * @name NewVersionActionCallback 5 | * @author 段露 6 | * @createDate 2019/05/20 14:58 7 | * @updateDate 2019/05/20 14:58 8 | * @version V1.0.0 9 | * @describe 新版本弹出操作回调. 10 | ********************************/ 11 | public interface NewVersionActionCallback { 12 | 13 | void update(); 14 | 15 | void ignore(); 16 | 17 | void late(); 18 | 19 | void cancel(); 20 | } 21 | -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 |