Commit 68a26517 authored by fallenstardust's avatar fallenstardust

更新提示窗体

parent 763e3bc7
...@@ -10,6 +10,7 @@ import android.support.design.widget.NavigationView; ...@@ -10,6 +10,7 @@ import android.support.design.widget.NavigationView;
import android.support.v7.widget.DividerItemDecoration; import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.LinearLayoutManager;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log;
import android.util.SparseArray; import android.util.SparseArray;
import android.view.Gravity; import android.view.Gravity;
import android.view.Menu; import android.view.Menu;
...@@ -27,7 +28,10 @@ import com.base.bj.trpayjar.utils.TrPay; ...@@ -27,7 +28,10 @@ import com.base.bj.trpayjar.utils.TrPay;
import com.nightonke.boommenu.BoomButtons.BoomButton; import com.nightonke.boommenu.BoomButtons.BoomButton;
import com.nightonke.boommenu.BoomButtons.TextOutsideCircleButton; import com.nightonke.boommenu.BoomButtons.TextOutsideCircleButton;
import com.nightonke.boommenu.BoomMenuButton; import com.nightonke.boommenu.BoomMenuButton;
import com.pgyersdk.update.DownloadFileListener;
import com.pgyersdk.update.PgyUpdateManager; import com.pgyersdk.update.PgyUpdateManager;
import com.pgyersdk.update.UpdateManagerListener;
import com.pgyersdk.update.javabean.AppBean;
import com.tencent.smtt.sdk.QbSdk; import com.tencent.smtt.sdk.QbSdk;
import com.tubb.smrv.SwipeMenuRecyclerView; import com.tubb.smrv.SwipeMenuRecyclerView;
...@@ -389,11 +393,62 @@ abstract class HomeActivity extends BaseActivity implements NavigationView.OnNav ...@@ -389,11 +393,62 @@ abstract class HomeActivity extends BaseActivity implements NavigationView.OnNav
mMenuIds.put(mMenuIds.size(), menuId); mMenuIds.put(mMenuIds.size(), menuId);
} }
public void checkPgyerUpdateSilent() { public static void checkPgyerUpdateSilent() {
//蒲公英自动检查更新
new PgyUpdateManager.Builder() new PgyUpdateManager.Builder()
.setForced(false) //设置是否强制更新 .setForced(true)
.setUserCanRetry(false) //失败后是否提示重新下载 .setUserCanRetry(false)
.setDeleteHistroyApk(true) // 检查更新前是否删除本地历史 Apk .setDeleteHistroyApk(false)
.setUpdateManagerListener(new UpdateManagerListener() {
@Override
public void onNoUpdateAvailable() {
Toast.makeText(getContext(), R.string.Already_Lastest, Toast.LENGTH_SHORT).show();
}
@Override
public void onUpdateAvailable(AppBean appBean) {
final String versionName,updateMessage;
versionName = appBean.getVersionName();
updateMessage = appBean.getReleaseNote();
DialogPlus builder = new DialogPlus(getContext());
builder.setTitle("发现新版本"+versionName);
builder.setMessage(updateMessage);
builder.setRightButtonText("下载");
builder.setRightButtonListener((dlg, i) -> {
PgyUpdateManager.downLoadApk(appBean.getDownloadURL());
dlg.dismiss();
});
builder.show();
}
@Override
public void checkUpdateFailed(Exception e) {
//更新检测失败回调
//更新拒绝(应用被下架,过期,不在安装有效期,下载次数用尽)以及无网络情况会调用此接口
Log.e("pgyer", "check update failed ", e);
}
})
//注意 :
//下载方法调用 PgyUpdateManager.downLoadApk(appBean.getDownloadURL()); 此回调才有效
//此方法是方便用户自己实现下载进度和状态的 UI 提供的回调
//想要使用蒲公英的默认下载进度的UI则不设置此方法
.setDownloadFileListener(new DownloadFileListener() {
@Override
public void downloadFailed() {
//下载失败
Log.e("pgyer", "download apk failed");
}
@Override
public void downloadSuccessful(Uri uri) {
Log.e("pgyer", "download apk failed");
// 使用蒲公英提供的安装方法提示用户 安装apk
PgyUpdateManager.installApk(uri);
}
@Override
public void onProgressUpdate(Integer... integers) {
Log.e("pgyer", "update download apk progress" + integers);
}})
.register(); .register();
} }
......
...@@ -4,6 +4,7 @@ import android.app.Dialog; ...@@ -4,6 +4,7 @@ import android.app.Dialog;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.graphics.Color; import android.graphics.Color;
import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.preference.CheckBoxPreference; import android.preference.CheckBoxPreference;
import android.preference.ListPreference; import android.preference.ListPreference;
...@@ -13,6 +14,7 @@ import android.util.Log; ...@@ -13,6 +14,7 @@ import android.util.Log;
import android.view.Gravity; import android.view.Gravity;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.Button;
import android.widget.FrameLayout; import android.widget.FrameLayout;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.Toast; import android.widget.Toast;
...@@ -20,10 +22,12 @@ import android.widget.Toast; ...@@ -20,10 +22,12 @@ import android.widget.Toast;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.signature.StringSignature; import com.bumptech.glide.signature.StringSignature;
import com.pgyersdk.update.DownloadFileListener;
import com.pgyersdk.update.PgyUpdateManager; import com.pgyersdk.update.PgyUpdateManager;
import com.pgyersdk.update.UpdateManagerListener; import com.pgyersdk.update.UpdateManagerListener;
import com.pgyersdk.update.javabean.AppBean; import com.pgyersdk.update.javabean.AppBean;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
...@@ -32,6 +36,7 @@ import java.io.InputStream; ...@@ -32,6 +36,7 @@ import java.io.InputStream;
import cn.garymb.ygomobile.AppsSettings; import cn.garymb.ygomobile.AppsSettings;
import cn.garymb.ygomobile.Constants; import cn.garymb.ygomobile.Constants;
import cn.garymb.ygomobile.lite.R; import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.ui.home.HomeActivity;
import cn.garymb.ygomobile.ui.home.MainActivity; import cn.garymb.ygomobile.ui.home.MainActivity;
import cn.garymb.ygomobile.ui.plus.DialogPlus; import cn.garymb.ygomobile.ui.plus.DialogPlus;
import cn.garymb.ygomobile.ui.plus.VUiKit; import cn.garymb.ygomobile.ui.plus.VUiKit;
...@@ -173,27 +178,7 @@ public class SettingFragment extends PreferenceFragmentPlus { ...@@ -173,27 +178,7 @@ public class SettingFragment extends PreferenceFragmentPlus {
.show(); .show();
} }
if (PREF_CHECK_UPDATE.equals(preference.getKey())) { if (PREF_CHECK_UPDATE.equals(preference.getKey())) {
new PgyUpdateManager HomeActivity.checkPgyerUpdateSilent();
.Builder()
.setForced(true) //设置是否强制更新,非自定义回调更新接口此方法有用
.setUserCanRetry(true) //失败后是否提示重新下载,非自定义下载 apk 回调此方法有用
.setDeleteHistroyApk(true) // 检查更新前是否删除本地历史 Apk, 默认为true
.setUpdateManagerListener(new UpdateManagerListener() {
@Override
public void onNoUpdateAvailable() {
Toast.makeText(getContext(), R.string.Already_Lastest, Toast.LENGTH_SHORT).show();
}
@Override
public void onUpdateAvailable(AppBean appBean) {
PgyUpdateManager.downLoadApk(appBean.getDownloadURL());
}
@Override
public void checkUpdateFailed(Exception e) {
}
})
.register();
} }
if (PREF_PENDULUM_SCALE.equals(key)) { if (PREF_PENDULUM_SCALE.equals(key)) {
CheckBoxPreference checkBoxPreference = (CheckBoxPreference) preference; CheckBoxPreference checkBoxPreference = (CheckBoxPreference) preference;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment