Skip to content

Commit b6bf1b5

Browse files
committed
add onCheckStart in CheckCallback
1 parent de81955 commit b6bf1b5

File tree

9 files changed

+56
-12
lines changed

9 files changed

+56
-12
lines changed

app/app.iml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,6 @@
6767
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
6868
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
6969
<sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
70-
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
71-
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
72-
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
73-
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
74-
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
75-
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
76-
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
77-
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
7870
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
7971
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
8072
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
@@ -83,6 +75,14 @@
8375
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
8476
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
8577
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
78+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
79+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
80+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
81+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
82+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
83+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
84+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
85+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
8686
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
8787
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
8888
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />

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

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import org.lzh.framework.updatepluginlib.callback.UpdateDownloadCB;
99
import org.lzh.framework.updatepluginlib.model.Update;
1010
import org.lzh.framework.updatepluginlib.model.UpdateParser;
11+
import org.lzh.framework.updatepluginlib.util.HandlerUtil;
1112

1213
import java.io.File;
1314

@@ -72,6 +73,18 @@ public void onCheckIgnore(Update update) {
7273
Toast.makeText(MyApplication.this, "用户忽略此版本更新", Toast.LENGTH_SHORT).show();
7374
}
7475

76+
@Override
77+
public void onCheckStart() {
78+
// 此方法的回调所处线程异于其他回调。其他回调所处线程为UI线程。
79+
// 此方法所处线程为你启动更新任务是所在线程
80+
HandlerUtil.getMainHandler().post(new Runnable() {
81+
@Override
82+
public void run() {
83+
Toast.makeText(MyApplication.this, "启动更新任务", Toast.LENGTH_SHORT).show();
84+
}
85+
});
86+
}
87+
7588
@Override
7689
public void hasUpdate(Update update) {
7790
Toast.makeText(MyApplication.this, "检查到有更新", Toast.LENGTH_SHORT).show();

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

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ protected void onCreate(Bundle savedInstanceState) {
3434
findViewById(R.id.custom_file_creator).setOnClickListener(this);
3535
findViewById(R.id.custom_strategy).setOnClickListener(this);
3636
findViewById(R.id.custom_activity_replace).setOnClickListener(this);
37+
findViewById(R.id.upgrade_in_back_thread).setOnClickListener(this);
3738

3839
SampleActivityPermissionsDispatcher.requestPermissionWithCheck(this);
3940
}
@@ -121,6 +122,18 @@ public void onClick(View v) {
121122
case R.id.custom_activity_replace:
122123
useCustomReplace();
123124
break;
125+
case R.id.upgrade_in_back_thread:
126+
upgradeOnBackThread();
127+
break;
124128
}
125129
}
130+
131+
private void upgradeOnBackThread() {
132+
new Thread(new Runnable() {
133+
@Override
134+
public void run() {
135+
UpdateBuilder.create().check();
136+
}
137+
}).start();
138+
}
126139
}

app/src/main/res/layout/activity_main.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,10 @@
4646
android:layout_height="wrap_content"
4747
android:text="@string/show_update_dialog_in_another_activity" />
4848

49+
<Button
50+
android:id="@+id/upgrade_in_back_thread"
51+
android:layout_width="match_parent"
52+
android:layout_height="wrap_content"
53+
android:text="@string/upgrade_in_back_thread" />
54+
4955
</LinearLayout>

app/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@
99
<string name="custom_strategy">使用自定义更新策略</string>
1010
<string name="custom_file_creator">使用自定义下载文件创建器指定下载文件名</string>
1111
<string name="show_update_dialog_in_another_activity">跳转到下一页并显示更新</string>
12+
<string name="upgrade_in_back_thread">在子线程中启动更新检查</string>
1213
</resources>

updatepluginlib/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ publish {
3131
userOrg = 'yjfnypeu'//bintray.com用户名
3232
groupId = 'org.lzh.nonview.updateplugin'//jcenter上的路径
3333
artifactId = 'UpdatePlugin'//项目名称
34-
publishVersion = '1.1.0'//版本号
34+
publishVersion = '2.0'//版本号
3535
desc = 'this is a auto update yourself app framework'//描述,不重要
3636
website = 'https://github.com/yjfnypeu/UpdatePlugin'//网站,不重要;尽量模拟github上的地址,例如我这样的;当然你有地址最好了
3737

updatepluginlib/src/main/java/org/lzh/framework/updatepluginlib/Updater.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,6 @@
1010
import org.lzh.framework.updatepluginlib.callback.DefaultDownloadCB;
1111
import org.lzh.framework.updatepluginlib.model.Update;
1212

13-
/**
14-
* @author lzh
15-
*/
1613
public class Updater {
1714
private static Updater updater;
1815
private IUpdateExecutor executor;
@@ -35,6 +32,7 @@ public void checkUpdate(UpdateBuilder builder) {
3532
// define a default callback to receive update event send by update task
3633
DefaultCheckCB checkCB = new DefaultCheckCB();
3734
checkCB.setBuilder(builder);
35+
checkCB.onCheckStart();
3836

3937
UpdateWorker checkWorker = builder.getCheckWorker();
4038
if (checkWorker.isRunning()) {

updatepluginlib/src/main/java/org/lzh/framework/updatepluginlib/callback/DefaultCheckCB.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,13 @@ public void setBuilder (UpdateBuilder builder) {
2525
this.checkCB = builder.getCheckCB();
2626
}
2727

28+
@Override
29+
public void onCheckStart() {
30+
if (checkCB != null) {
31+
checkCB.onCheckStart();
32+
}
33+
}
34+
2835
/**
2936
* Receive and pass has_update event send by {@link org.lzh.framework.updatepluginlib.business.UpdateWorker#sendHasUpdate(Update)}<br>
3037
* Create update dialog if should be shown according to {@link org.lzh.framework.updatepluginlib.strategy.UpdateStrategy#isShowUpdateDialog(Update)}<br>

updatepluginlib/src/main/java/org/lzh/framework/updatepluginlib/callback/UpdateCheckCB.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@
77
*/
88
public interface UpdateCheckCB {
99

10+
/**
11+
* When you start a upgrade task.this method should be invoked.
12+
* This method runs on a thread which you launch the update task.
13+
*/
14+
void onCheckStart ();
15+
1016
/**
1117
* There are a new version of APK on network
1218
* @param update Update entity

0 commit comments

Comments
 (0)