就这样吧

This commit is contained in:
Jerry Yan 2020-03-14 17:49:08 +08:00
parent 8f6ba4a99a
commit 7836530c27

View File

@ -20,7 +20,10 @@ import com.facebook.react.bridge.ReactMethod;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
@ -33,7 +36,7 @@ import okhttp3.Response;
public class UpgradeModule extends ReactContextBaseJavaModule {
private final ReactApplicationContext reactContext;
private String DOWNLOAD_URL = "http://luntan.qgmzbxs.com/source/tsgzCircles.apk";
private String HOST = "http://luntan.qgmzbxs.com/";
private String HOST = "http://www.tsgzvore.com/";
private String TITLE = "更新";
private String CONTENT = "大家好,我是勤劳的催更新菌\n点击更新让我们一起成为一天更新八次的暴躁老哥吧";
@ -99,6 +102,45 @@ public class UpgradeModule extends ReactContextBaseJavaModule {
.method("GET", null)
.build();
Call call = okHttpClient.newCall(request);
final Handler handler = new DoInstallHandler(this);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
Log.e("PACKAGE DOWNLOAD", call.toString(), e);
}
@Override
public void onResponse(Call call, Response response) {
if (response.isSuccessful()) {
if (response.body() == null) return;
FileOutputStream fileOutputStream = null;
InputStream stream = null;
try {
stream = response.body().byteStream();
byte[] buffer = new byte[2048];
int len = 0;
long total = response.body().contentLength();
File file = new File("update.apk");
fileOutputStream = new FileOutputStream(file);
long sum = 0;
while ((len = stream.read(buffer)) != -1) {
fileOutputStream.write(buffer, 0, len);
sum += len;
}
fileOutputStream.flush();
} catch (IOException e) {
Log.e("REQUEST FAILED", "AAA", e);
} finally {
try {
if (fileOutputStream != null) fileOutputStream.close();
if (stream != null) stream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
});
}
@ReactMethod
@ -158,14 +200,26 @@ public class UpgradeModule extends ReactContextBaseJavaModule {
}
}
final class ShowUpgradeAlertHandler extends Handler
{
final class ShowUpgradeAlertHandler extends Handler {
private UpgradeModule module;
ShowUpgradeAlertHandler(UpgradeModule module)
{
ShowUpgradeAlertHandler(UpgradeModule module) {
this.module = module;
}
@Override
public void handleMessage(Message message) {
module._alertDialog();
}
}
final class DoInstallHandler extends Handler {
private UpgradeModule module;
DoInstallHandler(UpgradeModule module) {
this.module = module;
}
@Override
public void handleMessage(Message message) {
module._alertDialog();