1010import com .rae .cnblogs .blog .job .BlogContentJob ;
1111import com .rae .cnblogs .blog .job .IJob ;
1212import com .rae .cnblogs .blog .job .JobEvent ;
13+ import com .rae .cnblogs .sdk .CnblogsApiFactory ;
1314import com .rae .cnblogs .sdk .db .DbFactory ;
1415
1516import org .greenrobot .eventbus .EventBus ;
1617import org .greenrobot .eventbus .Subscribe ;
1718
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+
1829/**
1930 * 博客园服务
2031 * 为博客园提供离线缓存服务,数据库自动清理服务
@@ -35,14 +46,42 @@ public IBinder onBind(Intent intent) {
3546 @ Override
3647 public void onCreate () {
3748 super .onCreate ();
49+ Log .i ("rae" , "博客园服务启动了" );
3850 EventBus .getDefault ().register (this );
51+ checkCacheSize (); // 检查缓存空间大小
52+ // 下载补丁包
53+ downloadSdkPatch ();
3954 }
4055
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+ });
4685 }
4786
4887 @ Override
0 commit comments