Skip to content

Commit

Permalink
V1.0.3
Browse files Browse the repository at this point in the history
  • Loading branch information
sunfusheng committed Feb 19, 2018
1 parent 6cc0669 commit d693562
Show file tree
Hide file tree
Showing 5 changed files with 42 additions and 14 deletions.
2 changes: 1 addition & 1 deletion FirUpdater/src/main/java/com/sunfusheng/FirAppInfo.java
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ private AppInfo parseResult(String result) {
if (!TextUtils.isEmpty(versionCode)) {
appInfo.appVersionCode = Integer.parseInt(versionCode);
}
appInfo.appVersionName = object.getString("versionShort");
appInfo.appVersionName = "V"+object.getString("versionShort");
appInfo.appChangeLog = object.getString("changelog");
appInfo.appInstallUrl = object.getString("installUrl");
if (object.has("binary")) {
Expand Down
18 changes: 15 additions & 3 deletions FirUpdater/src/main/java/com/sunfusheng/FirDialog.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import android.content.DialogInterface;
import android.graphics.Color;
import android.support.v7.app.AlertDialog;
import android.text.TextUtils;
import android.widget.TextView;

import java.lang.reflect.Field;
Expand All @@ -19,11 +20,20 @@ public class FirDialog {

private OnClickDownloadDialogListener onClickDownloadDialogListener;

public void showAppInfoDialog(Context context, String title, String message) {
public void showAppInfoDialog(Context context, FirAppInfo.AppInfo appInfo) {
if (alertDialog == null) {
StringBuilder sb = new StringBuilder();
sb.append("名称:").append(appInfo.appName);
sb.append("\n版本:").append(appInfo.appVersionName);
sb.append("\n文件大小:").append(FirUpdaterUtils.getMeasureSize(appInfo.appSize));
if (!TextUtils.isEmpty(appInfo.appChangeLog)) {
sb.append("\n\n更新日志:").append(appInfo.appChangeLog);
}

alertDialog = new AlertDialog.Builder(context)
.setTitle(title + "更新提示")
.setMessage(message)
.setCancelable(false)
.setTitle("应用更新提示")
.setMessage(sb)
.setPositiveButton("立即更新", (dialog, which) -> {
if (onClickDownloadDialogListener != null) {
onClickDownloadDialogListener.onClickDownload(dialog);
Expand All @@ -33,6 +43,7 @@ public void showAppInfoDialog(Context context, String title, String message) {
})
.create();
alertDialog.show();

alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(Color.parseColor("#333333"));
alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE).setTextColor(Color.parseColor("#9a9a9a"));

Expand All @@ -43,6 +54,7 @@ public void showAppInfoDialog(Context context, String title, String message) {
Field messageView = alertController.getClass().getDeclaredField("mMessageView");
messageView.setAccessible(true);
TextView textView = (TextView) messageView.get(alertController);
textView.setTextSize(12);
textView.setTextColor(Color.parseColor("#9a9a9a"));
} catch (IllegalAccessException e) {
e.printStackTrace();
Expand Down
15 changes: 8 additions & 7 deletions FirUpdater/src/main/java/com/sunfusheng/FirUpdater.java
Original file line number Diff line number Diff line change
Expand Up @@ -48,19 +48,20 @@ public FirUpdater setApkPath(String apkPath) {
public void checkVersion() {
new Thread(() -> {
appInfo = new FirAppInfo().requestAppInfo(appVersionUrl);
boolean needUpdate = appInfo.appVersionCode > FirUpdaterUtils.getVersionCode(context);
if (appInfo == null) {
return;
}

FirUpdaterUtils.runOnMainThread(() -> {
if (appInfo != null && (forceShowDialog || needUpdate)) {
initFirDialog();
}
});
boolean needUpdate = appInfo.appVersionCode > FirUpdaterUtils.getVersionCode(context);
if (forceShowDialog || needUpdate) {
FirUpdaterUtils.runOnMainThread(this::initFirDialog);
}
}).start();
}

private void initFirDialog() {
firDialog = new FirDialog();
firDialog.showAppInfoDialog(context, appInfo.appName, appInfo.appChangeLog);
firDialog.showAppInfoDialog(context, appInfo);
firDialog.setOnClickDownloadDialogListener(new FirDialog.OnClickDownloadDialogListener() {
@Override
public void onClickDownload(DialogInterface dialog) {
Expand Down
17 changes: 16 additions & 1 deletion FirUpdater/src/main/java/com/sunfusheng/FirUpdaterUtils.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.sunfusheng;

import android.annotation.SuppressLint;
import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
Expand Down Expand Up @@ -152,6 +153,21 @@ public static void closeQuietly(final Closeable... closeables) {
}
}

@SuppressLint("DefaultLocale")
public static String getMeasureSize(long byteCount) {
if (byteCount <= 0) {
return "0B";
} else if (byteCount < 1024) {
return String.format("%.2fB", (double) byteCount);
} else if (byteCount < 1048576) {
return String.format("%.2fKB", (double) byteCount / 1024);
} else if (byteCount < 1073741824) {
return String.format("%.2fMB", (double) byteCount / 1048576);
} else {
return String.format("%.2fGB", (double) byteCount / 1073741824);
}
}

private static final Handler handler = new Handler(Looper.getMainLooper());

public static void runOnMainThread(Runnable runnable) {
Expand All @@ -162,6 +178,5 @@ public static void runOnMainThread(Runnable runnable) {
runnable.run();
}
}

}
}
4 changes: 2 additions & 2 deletions settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ gradle.ext.supportLibraryVersion = '27.0.2'

gradle.ext.minSdkVersion = 14
gradle.ext.targetSdkVersion = 27
gradle.ext.versionCode = 3
gradle.ext.versionName = "1.0.2"
gradle.ext.versionCode = 4
gradle.ext.versionName = "1.0.3"

0 comments on commit d693562

Please sign in to comment.