新增主页面APk更新功能,区分强制非强制
This commit is contained in:
@@ -17,6 +17,7 @@ import com.yunbao.common.activity.ErrorActivity;
|
||||
import com.yunbao.common.bean.ConfigBean;
|
||||
import com.yunbao.common.event.FollowEvent;
|
||||
import com.yunbao.common.interfaces.CommonCallback;
|
||||
import com.yunbao.common.manager.APKManager;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.manager.NewLevelManager;
|
||||
import com.yunbao.common.utils.L;
|
||||
@@ -200,13 +201,19 @@ public class CommonHttpUtil {
|
||||
new NewLevelManager(context).UpAnchorDataLevel(levelArray.toJSONString());
|
||||
}
|
||||
if (obj.containsKey("apk_ver")) {
|
||||
IMLoginManager.get(context).setApkVer(obj.getString("apk_ver"));
|
||||
APKManager.get().setApkVer(obj.getString("apk_ver"));
|
||||
}
|
||||
if (obj.containsKey("apk_url")) {
|
||||
IMLoginManager.get(context).setAPKUrl(obj.getString("apk_url"));
|
||||
APKManager.get().setAPKUrl(obj.getString("apk_url"));
|
||||
}
|
||||
if (obj.containsKey("apk_des")) {
|
||||
IMLoginManager.get(context).setAPKDes(obj.getString("apk_des"));
|
||||
APKManager.get().setAPKDes(obj.getString("apk_des"));
|
||||
}
|
||||
if (obj.containsKey("google_isup")) {
|
||||
APKManager.get().setAPKGoogleIsUp(obj.getInteger("google_isup"));
|
||||
}
|
||||
if (obj.containsKey("isup")) {
|
||||
APKManager.get().setAPKIsUp(obj.getInteger("isup"));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
String error = "info[0]:" + info[0] + "\n\n\n" + "Exception:" + e.getClass() + "---message--->" + e.getMessage();
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
package com.yunbao.common.manager;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.yunbao.common.CommonAppContext;
|
||||
import com.yunbao.common.manager.base.BaseCacheManager;
|
||||
import com.yunbao.common.utils.VersionUtil;
|
||||
|
||||
public class APKManager extends BaseCacheManager {
|
||||
private static APKManager manager;
|
||||
private final String APK_VER = "apk_ver";
|
||||
private final String APK_URL = "apk_url";
|
||||
private final String APK_DES = "apk_des";
|
||||
private final String APK_IS_UP = "isup";
|
||||
private final String APK_GOOGLE_IS_UP = "google_isup";
|
||||
|
||||
public APKManager(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取单利
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static APKManager get() {
|
||||
if (null == manager) {
|
||||
manager = new APKManager(CommonAppContext.sInstance.getBaseContext());
|
||||
}
|
||||
return manager;
|
||||
}
|
||||
|
||||
public void setAPKUrl(String apkUrl) {
|
||||
put(APK_URL, apkUrl);
|
||||
}
|
||||
|
||||
public void setAPKDes(String apkDes) {
|
||||
put(APK_DES, apkDes);
|
||||
}
|
||||
|
||||
public String getAPKUrl() {
|
||||
return getString(APK_URL);
|
||||
}
|
||||
|
||||
public String getAPKDes() {
|
||||
return getString(APK_DES);
|
||||
}
|
||||
|
||||
public void setApkVer(String apkVer) {
|
||||
put(APK_VER, apkVer);
|
||||
}
|
||||
|
||||
public boolean getApkVerNew() {
|
||||
return TextUtils.equals(VersionUtil.getVersion(), getString(APK_VER));
|
||||
}
|
||||
|
||||
public void setAPKIsUp(int apkIsUp) {
|
||||
put(APK_IS_UP, apkIsUp);
|
||||
}
|
||||
|
||||
public void setAPKGoogleIsUp(int apkGoogleIsUp) {
|
||||
put(APK_GOOGLE_IS_UP, apkGoogleIsUp);
|
||||
}
|
||||
|
||||
public int getApkIsUp() {
|
||||
return getInt(APK_IS_UP, 0);
|
||||
}
|
||||
|
||||
public int getAPKGoogleIsUp() {
|
||||
return getInt(APK_GOOGLE_IS_UP, 0);
|
||||
}
|
||||
}
|
||||
@@ -40,33 +40,8 @@ public class IMLoginManager extends BaseCacheManager {
|
||||
private final String IS_HINT = "is_hint";
|
||||
private final String IS_HINT2 = "is_hint2";
|
||||
private final String SELECT_CLARITY = "selectClarity";
|
||||
private final String APK_VER = "apk_ver";
|
||||
private final String APK_URL = "apk_url";
|
||||
private final String APK_DES = "apk_des";
|
||||
|
||||
public void setAPKUrl(String apkUrl) {
|
||||
put(APK_URL, apkUrl);
|
||||
}
|
||||
|
||||
public void setAPKDes(String apkDes) {
|
||||
put(APK_DES, apkDes);
|
||||
}
|
||||
|
||||
public String getAPKUrl() {
|
||||
return getString(APK_URL);
|
||||
}
|
||||
|
||||
public String getAPKDes() {
|
||||
return getString(APK_DES);
|
||||
}
|
||||
|
||||
public void setApkVer(String apkVer) {
|
||||
put(APK_VER, apkVer);
|
||||
}
|
||||
|
||||
public boolean getApkVerNew() {
|
||||
return TextUtils.equals(VersionUtil.getVersion(), getString(APK_VER));
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置清晰度
|
||||
|
||||
@@ -17,7 +17,7 @@ import androidx.core.content.FileProvider;
|
||||
import com.lxj.xpopup.core.CenterPopupView;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.manager.APKManager;
|
||||
import com.yunbao.common.utils.APKDownloadUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
@@ -41,10 +41,12 @@ public class APKUpdateCustomPopup extends CenterPopupView {
|
||||
private LinearLayout updateLine;
|
||||
private ProgressBar progressBar;
|
||||
private Activity mContext;
|
||||
private boolean mInside;
|
||||
|
||||
public APKUpdateCustomPopup(@NonNull Activity context) {
|
||||
public APKUpdateCustomPopup(@NonNull Activity context, boolean inside) {
|
||||
super(context);
|
||||
mContext = context;
|
||||
mInside = inside;
|
||||
}
|
||||
|
||||
// 返回自定义弹窗的布局
|
||||
@@ -66,13 +68,33 @@ public class APKUpdateCustomPopup extends CenterPopupView {
|
||||
}
|
||||
|
||||
private void initView() {
|
||||
if (!mInside) {
|
||||
if (!CommonAppConfig.IS_GOOGLE_PLAY && APKManager.get().getAPKGoogleIsUp() == 1) {
|
||||
findViewById(R.id.dialog_close).setVisibility(GONE);
|
||||
}
|
||||
if (!CommonAppConfig.IS_GOOGLE_PLAY && APKManager.get().getAPKGoogleIsUp() == 1) {
|
||||
findViewById(R.id.dialog_close).setVisibility(GONE);
|
||||
}
|
||||
}
|
||||
updateText = findViewById(R.id.update_text);
|
||||
versionImmediateUse = findViewById(R.id.version_immediate_use);
|
||||
updateLine = findViewById(R.id.update_line);
|
||||
progressBar = findViewById(R.id.progressBar);
|
||||
versionImmediateUse.setVisibility(VISIBLE);
|
||||
updateLine.setVisibility(GONE);
|
||||
updateText.setText(IMLoginManager.get(getContext()).getAPKDes());
|
||||
updateText.setText(APKManager.get().getAPKDes());
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.dialog_close), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
if (CommonAppConfig.IS_GOOGLE_PLAY && APKManager.get().getAPKGoogleIsUp() != 1) {
|
||||
dismiss();
|
||||
}
|
||||
if (!CommonAppConfig.IS_GOOGLE_PLAY && APKManager.get().getApkIsUp() != 1) {
|
||||
dismiss();
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
ViewClicksAntiShake.clicksAntiShake(versionImmediateUse, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
@@ -80,7 +102,7 @@ public class APKUpdateCustomPopup extends CenterPopupView {
|
||||
if (!CommonAppConfig.IS_GOOGLE_PLAY) {
|
||||
versionImmediateUse.setVisibility(GONE);
|
||||
updateLine.setVisibility(VISIBLE);
|
||||
downloadAPK(mContext, IMLoginManager.get(getContext()).getAPKUrl(), new APKDownloadUtil.OnUpdateListener() {
|
||||
downloadAPK(mContext, APKManager.get().getAPKUrl(), new APKDownloadUtil.OnUpdateListener() {
|
||||
@Override
|
||||
public void updateFailure(int code, String error) {
|
||||
ToastUtil.show(error);
|
||||
|
||||
@@ -71,5 +71,13 @@
|
||||
android:textSize="11sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/dialog_close"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_marginTop="60dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:src="@mipmap/icon_close_tip" />
|
||||
|
||||
</RelativeLayout>
|
||||
BIN
common/src/main/res/mipmap-xxhdpi/icon_close_tip.png
Normal file
BIN
common/src/main/res/mipmap-xxhdpi/icon_close_tip.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
Reference in New Issue
Block a user