Skip to content

Commit 8ff5ea2

Browse files
committed
update samples
1 parent 9378caa commit 8ff5ea2

15 files changed

+306
-283
lines changed

app/app.iml

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -66,14 +66,6 @@
6666
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
6767
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
6868
<sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
69-
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
70-
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
71-
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
72-
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
73-
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
74-
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
75-
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
76-
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
7769
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
7870
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
7971
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
@@ -82,6 +74,14 @@
8274
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
8375
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
8476
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
77+
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
78+
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
79+
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
80+
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
81+
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
82+
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
83+
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
84+
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
8585
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
8686
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
8787
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
@@ -97,6 +97,7 @@
9797
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-vector-drawable/25.1.0/jars" />
9898
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.jakewharton/butterknife/8.5.1/jars" />
9999
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.squareup.leakcanary/leakcanary-android/1.4-beta2/jars" />
100+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.tbruyelle.rxpermissions/rxpermissions/0.9.2/jars" />
100101
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/org.lzh.nonview.updateplugin/UpdatePlugin/2.0/jars" />
101102
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
102103
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" />
@@ -117,6 +118,7 @@
117118
<orderEntry type="library" exported="" name="butterknife-annotations-8.5.1" level="project" />
118119
<orderEntry type="library" exported="" name="haha-2.0.2" level="project" />
119120
<orderEntry type="library" exported="" name="leakcanary-analyzer-1.4-beta2" level="project" />
121+
<orderEntry type="library" exported="" name="rxjava-1.2.2" level="project" />
120122
<orderEntry type="library" exported="" name="okio-1.11.0" level="project" />
121123
<orderEntry type="library" exported="" name="support-compat-25.1.0" level="project" />
122124
<orderEntry type="library" exported="" name="support-fragment-25.1.0" level="project" />
@@ -126,6 +128,7 @@
126128
<orderEntry type="library" exported="" scope="TEST" name="hamcrest-core-1.3" level="project" />
127129
<orderEntry type="library" exported="" name="support-core-ui-25.1.0" level="project" />
128130
<orderEntry type="library" exported="" name="support-media-compat-25.1.0" level="project" />
131+
<orderEntry type="library" exported="" name="rxpermissions-0.9.2" level="project" />
129132
<orderEntry type="library" exported="" scope="TEST" name="junit-4.12" level="project" />
130133
<orderEntry type="library" exported="" name="support-vector-drawable-25.1.0" level="project" />
131134
<orderEntry type="library" exported="" name="butterknife-8.5.1" level="project" />

app/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,6 @@ dependencies {
3131
compile 'com.jakewharton:butterknife:8.5.1'
3232
annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
3333
compile 'com.squareup.okhttp3:okhttp:3.6.0'
34+
compile 'com.tbruyelle.rxpermissions:rxpermissions:0.9.2'
3435

3536
}

app/src/main/java/org/lzh/framework/updateplugin/MyApplication.java

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import android.app.Application;
44
import android.widget.Toast;
55

6+
import org.lzh.framework.updateplugin.widget.ToastTool;
67
import org.lzh.framework.updatepluginlib.UpdateConfig;
78
import org.lzh.framework.updatepluginlib.callback.UpdateCheckCB;
89
import org.lzh.framework.updatepluginlib.callback.UpdateDownloadCB;
@@ -23,6 +24,7 @@ public void onCreate() {
2324
super.onCreate();
2425
// UpdateConfig为全局配置。当在其他页面中。使用UpdateBuilder进行检查更新时。
2526
// 对于没传的参数,会默认使用UpdateConfig中的全局配置
27+
ToastTool.init(this);
2628
UpdateConfig.getConfig()
2729
// 必填:初始化一个Application框架内使用
2830
.init(this)
@@ -60,17 +62,18 @@ public Update parse(String response) {
6062

6163
@Override
6264
public void onCheckError(int code, String errorMsg) {
63-
Toast.makeText(MyApplication.this, "更新失败:code:" + code + ",errorMsg:" + errorMsg, Toast.LENGTH_SHORT).show();
65+
ToastTool.show("更新失败:code:" + code + ",errorMsg:" + errorMsg);
66+
// Toast.makeText(MyApplication.this, "更新失败:code:" + code + ",errorMsg:" + errorMsg, Toast.LENGTH_SHORT).show();
6467
}
6568

6669
@Override
6770
public void onUserCancel() {
68-
Toast.makeText(MyApplication.this, "用户取消更新", Toast.LENGTH_SHORT).show();
71+
ToastTool.show("用户取消更新");
6972
}
7073

7174
@Override
7275
public void onCheckIgnore(Update update) {
73-
Toast.makeText(MyApplication.this, "用户忽略此版本更新", Toast.LENGTH_SHORT).show();
76+
ToastTool.show("用户忽略此版本更新");
7477
}
7578

7679
@Override
@@ -80,31 +83,31 @@ public void onCheckStart() {
8083
HandlerUtil.getMainHandler().post(new Runnable() {
8184
@Override
8285
public void run() {
83-
Toast.makeText(MyApplication.this, "启动更新任务", Toast.LENGTH_SHORT).show();
86+
ToastTool.show("启动更新任务");
8487
}
8588
});
8689
}
8790

8891
@Override
8992
public void hasUpdate(Update update) {
90-
Toast.makeText(MyApplication.this, "检查到有更新", Toast.LENGTH_SHORT).show();
93+
ToastTool.show("检查到有更新");
9194
}
9295

9396
@Override
9497
public void noUpdate() {
95-
Toast.makeText(MyApplication.this, "无更新", Toast.LENGTH_SHORT).show();
98+
ToastTool.show("无更新");
9699
}
97100
})
98101
// apk下载的回调
99102
.downloadCB(new UpdateDownloadCB(){
100103
@Override
101104
public void onUpdateStart() {
102-
Toast.makeText(MyApplication.this, "下载开始", Toast.LENGTH_SHORT).show();
105+
ToastTool.show("下载开始");
103106
}
104107

105108
@Override
106109
public void onUpdateComplete(File file) {
107-
Toast.makeText(MyApplication.this, "下载完成", Toast.LENGTH_SHORT).show();
110+
ToastTool.show("下载完成");
108111
}
109112

110113
@Override
@@ -113,7 +116,7 @@ public void onUpdateProgress(long current, long total) {
113116

114117
@Override
115118
public void onUpdateError(int code, String errorMsg) {
116-
Toast.makeText(MyApplication.this, "下载失败:code:" + code + ",errorMsg:" + errorMsg, Toast.LENGTH_SHORT).show();
119+
ToastTool.show("下载失败:code:" + code + ",errorMsg:" + errorMsg);
117120
}
118121
})
119122
// 自定义更新检查器。

app/src/main/java/org/lzh/framework/updateplugin/SampleActivity.java

Lines changed: 37 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
package org.lzh.framework.updateplugin;
22

3+
import android.Manifest;
34
import android.app.Activity;
45
import android.os.Bundle;
56
import android.widget.Button;
67

8+
import com.tbruyelle.rxpermissions.RxPermissions;
9+
710
import org.lzh.framework.updateplugin.update.AllDialogShowStrategy;
811
import org.lzh.framework.updateplugin.update.CustomApkFileCreator;
912
import org.lzh.framework.updateplugin.update.NotificationDownloadCreator;
13+
import org.lzh.framework.updateplugin.update.NotificationInstallCreator;
14+
import org.lzh.framework.updateplugin.update.NotificationUpdateCreator;
1015
import org.lzh.framework.updateplugin.update.OkhttpCheckWorker;
1116
import org.lzh.framework.updateplugin.update.OkhttpDownloadWorker;
1217
import org.lzh.framework.updateplugin.widget.CheckedView;
@@ -15,20 +20,36 @@
1520
import butterknife.BindView;
1621
import butterknife.ButterKnife;
1722
import butterknife.OnClick;
23+
import rx.functions.Action1;
1824

1925
public class SampleActivity extends Activity {
20-
@BindView(R.id.start_update) Button startUpdate;
21-
@BindView(R.id.check_worker) CheckedView updateWorker;
22-
@BindView(R.id.file_creator) CheckedView fileCreator;
23-
@BindView(R.id.update_strategy) CheckedView updateStrategy;
24-
@BindView(R.id.download_notice) CheckedView downloadNotice;
25-
@BindView(R.id.download_worker) CheckedView downloadWorker;
26-
26+
@BindView(R.id.check_worker) CheckedView updateWorker; // 选择使用的检查是否更新接口的网络任务
27+
@BindView(R.id.file_creator) CheckedView fileCreator; // 选择使用的缓存文件路径
28+
@BindView(R.id.update_strategy) CheckedView updateStrategy; // 选择使用的更新策略
29+
@BindView(R.id.download_notice) CheckedView downloadNotice; // 选择使用的文件下载通知
30+
@BindView(R.id.has_update_notice) CheckedView hasUpdateNotice; // 选择使用的检测到有更新时的提示
31+
@BindView(R.id.download_complete_notice) CheckedView downloadCompleteNotice; // 选择使用的下载完成后的提示
32+
@BindView(R.id.download_worker) CheckedView downloadWorker; // 选择使用的apk下载网络任务
33+
boolean isPermissionGrant;// 程序是否被允许持有写入权限
2734
@Override
2835
protected void onCreate(Bundle savedInstanceState) {
2936
super.onCreate(savedInstanceState);
3037
setContentView(R.layout.activity_main);
3138
ButterKnife.bind(this);
39+
40+
requestStoragePermission();
41+
}
42+
43+
/** 请求文件读写权限。*/
44+
private void requestStoragePermission() {
45+
new RxPermissions(this)
46+
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
47+
.subscribe(new Action1<Boolean>() {
48+
@Override
49+
public void call(Boolean aBoolean) {
50+
isPermissionGrant = aBoolean;
51+
}
52+
});
3253
}
3354

3455
@OnClick(R.id.start_update)
@@ -39,7 +60,15 @@ void onStartClick () {
3960
builder.checkWorker(new OkhttpCheckWorker());
4061
}
4162

42-
if (!fileCreator.isDefaultSelected()) {
63+
if (!hasUpdateNotice.isDefaultSelected()) {
64+
builder.updateDialogCreator(new NotificationUpdateCreator());
65+
}
66+
67+
if (!downloadCompleteNotice.isDefaultSelected()) {
68+
builder.installDialogCreator(new NotificationInstallCreator());
69+
}
70+
71+
if (!fileCreator.isDefaultSelected() && isPermissionGrant) {
4372
builder.fileCreator(new CustomApkFileCreator());
4473
}
4574

app/src/main/java/org/lzh/framework/updateplugin/update/CustomApkFileCreator.java

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,10 @@
1515
public class CustomApkFileCreator implements ApkFileCreator {
1616
@Override
1717
public File create(String versionName) {
18-
// 根据传入的versionName创建下载时使用的文件名
19-
File path = new File(getCacheDir().getPath() + "/updatePlugin");
18+
// 根据传入的versionName创建一个文件。供下载时网络框架使用
19+
File path = new File(Environment.getExternalStorageDirectory().getPath() + "/updatePlugin");
2020
path.mkdirs();
2121
return new File(path,"UpdatePlugin_" + versionName);
2222
}
2323

24-
private File getCacheDir() {
25-
Context context = UpdateConfig.getConfig().getContext();
26-
File cacheDir = context.getExternalCacheDir();
27-
if (cacheDir == null) {
28-
cacheDir = context.getCacheDir();
29-
}
30-
return cacheDir;
31-
}
3224
}

app/src/main/java/org/lzh/framework/updateplugin/update/CustomDownloadWorker.java

Lines changed: 0 additions & 23 deletions
This file was deleted.

app/src/main/java/org/lzh/framework/updateplugin/update/CustomNeedDownloadCreator.java

Lines changed: 0 additions & 57 deletions
This file was deleted.

app/src/main/java/org/lzh/framework/updateplugin/update/CustomNeedInstallCreator.java

Lines changed: 0 additions & 70 deletions
This file was deleted.

0 commit comments

Comments
 (0)