10
10
import com .rae .cnblogs .blog .job .BlogContentJob ;
11
11
import com .rae .cnblogs .blog .job .IJob ;
12
12
import com .rae .cnblogs .blog .job .JobEvent ;
13
+ import com .rae .cnblogs .sdk .CnblogsApiFactory ;
13
14
import com .rae .cnblogs .sdk .db .DbFactory ;
14
15
15
16
import org .greenrobot .eventbus .EventBus ;
16
17
import org .greenrobot .eventbus .Subscribe ;
17
18
19
+ import java .io .IOException ;
20
+ import java .io .InputStream ;
21
+
22
+ import okhttp3 .Call ;
23
+ import okhttp3 .Callback ;
24
+ import okhttp3 .OkHttpClient ;
25
+ import okhttp3 .Request ;
26
+ import okhttp3 .Response ;
27
+ import okhttp3 .ResponseBody ;
28
+
18
29
/**
19
30
* 博客园服务
20
31
* 为博客园提供离线缓存服务,数据库自动清理服务
@@ -35,14 +46,42 @@ public IBinder onBind(Intent intent) {
35
46
@ Override
36
47
public void onCreate () {
37
48
super .onCreate ();
49
+ Log .i ("rae" , "博客园服务启动了" );
38
50
EventBus .getDefault ().register (this );
51
+ checkCacheSize (); // 检查缓存空间大小
52
+ // 下载补丁包
53
+ downloadSdkPatch ();
39
54
}
40
55
41
- @ Override
42
- public int onStartCommand (Intent intent , int flags , int startId ) {
43
- Log .i ("rae" , "博客园服务启动了" );
44
- checkCacheSize (); // 检查缓存空间大小
45
- return super .onStartCommand (intent , flags , startId );
56
+ private void downloadSdkPatch () {
57
+ OkHttpClient client = new OkHttpClient
58
+ .Builder ()
59
+ // .connectTimeout(5, TimeUnit.MINUTES)
60
+ // .readTimeout(5, TimeUnit.MINUTES)
61
+ // .writeTimeout(5, TimeUnit.MINUTES)
62
+ .build ();
63
+
64
+ // 默认补丁包下载地址
65
+ String downloadUrl = CnblogsApiFactory .getInstance (this ).getDownloadUrl ();
66
+ Request request = new Request .Builder ().url (downloadUrl ).build ();
67
+ Log .d ("CnblogsService" , "下载SDK补丁包:" + downloadUrl );
68
+ client .newCall (request ).enqueue (new Callback () {
69
+ @ Override
70
+ public void onFailure (Call call , IOException e ) {
71
+ Log .e ("CnblogsService" , "下载sdk补丁包失败" , e );
72
+ }
73
+
74
+ @ Override
75
+ public void onResponse (Call call , Response response ) throws IOException {
76
+ ResponseBody body = response .body ();
77
+ if (body == null ) {
78
+ Log .e ("CnblogsService" , "下载sdk补丁包失败,响应内容为空!" );
79
+ return ;
80
+ }
81
+ InputStream inputStream = body .byteStream ();
82
+ CnblogsApiFactory .savePatchFile (CnblogsService .this , inputStream );
83
+ }
84
+ });
46
85
}
47
86
48
87
@ Override
0 commit comments