新增主页面APk更新功能,区分强制非强制
This commit is contained in:
parent
af58ec755d
commit
7a9ed22ec9
@ -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 |
@ -25,7 +25,7 @@ ext {
|
||||
baiduAppSecretKey: "nEVSgmuGpU0pjPr6VleEGGAl0hzGW52S",
|
||||
|
||||
// true表示谷歌支付 false
|
||||
isGooglePlay : true,
|
||||
isGooglePlay : false,
|
||||
//是否上报异常日志
|
||||
isUploadLog : false
|
||||
]
|
||||
|
@ -17,7 +17,6 @@ import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.Display;
|
||||
@ -41,6 +40,7 @@ import com.google.firebase.messaging.FirebaseMessaging;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.jakewharton.rxbinding3.view.RxView;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.lzf.easyfloat.EasyFloat;
|
||||
import com.lzf.easyfloat.permission.PermissionUtils;
|
||||
import com.tencent.imsdk.v2.V2TIMCallback;
|
||||
@ -75,6 +75,7 @@ import com.yunbao.common.http.CommonHttpUtil;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.main.MainNetManager;
|
||||
import com.yunbao.common.interfaces.CommonCallback;
|
||||
import com.yunbao.common.manager.APKManager;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.manager.NoviceInstructorManager;
|
||||
import com.yunbao.common.manager.imrongcloud.RongcloudIMManager;
|
||||
@ -88,16 +89,14 @@ import com.yunbao.common.utils.SpUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.VersionUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.APKUpdateCustomPopup;
|
||||
import com.yunbao.common.views.AbsMainViewHolder;
|
||||
import com.yunbao.common.views.floatingview.APPEasyFloat;
|
||||
import com.yunbao.common.views.weight.LiveFloatView;
|
||||
import com.yunbao.live.activity.LiveAudienceActivity;
|
||||
import com.yunbao.live.activity.LiveRyAnchorActivity;
|
||||
import com.yunbao.live.dialog.RandomPkDialogFragment;
|
||||
import com.yunbao.live.http.LiveHttpConsts;
|
||||
import com.yunbao.live.http.LiveHttpUtil;
|
||||
import com.yunbao.live.presenter.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.live.presenter.LiveRyLinkMicPkPresenter;
|
||||
import com.yunbao.live.utils.LiveStorge;
|
||||
import com.yunbao.live.views.ChatListViewHolder;
|
||||
import com.yunbao.main.R;
|
||||
@ -682,8 +681,14 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene
|
||||
DialogUitl.showSimpleTipDialog(mContext, WordUtil.getString(R.string.main_maintain_notice), configBean.getMaintainTips());
|
||||
}
|
||||
if (!VersionUtil.isLatest(configBean.getVersion())) {
|
||||
VersionUtil versionUtil = new VersionUtil();
|
||||
versionUtil.showDialog(mContext, configBean, configBean.getDownloadApkUrl());
|
||||
if (!APKManager.get().getApkVerNew()) {
|
||||
new XPopup.Builder(mContext)
|
||||
.isDestroyOnDismiss(true)
|
||||
.dismissOnBackPressed(false) // 按返回键是否关闭弹窗,默认为true
|
||||
.dismissOnTouchOutside(false) // 点击外部是否关闭弹窗,默认为true
|
||||
.asCustom(new APKUpdateCustomPopup(mContext, false))
|
||||
.show();
|
||||
}
|
||||
} else {
|
||||
requestBonus();
|
||||
}
|
||||
|
@ -32,6 +32,7 @@ import com.yunbao.common.http.CommonHttpConsts;
|
||||
import com.yunbao.common.http.CommonHttpUtil;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.manager.APKManager;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.GlideCatchUtil;
|
||||
@ -286,9 +287,9 @@ public class SettingActivity extends AbsActivity implements OnItemClickListener<
|
||||
} else if (bean.getId() == 21) {//清除缓存
|
||||
startActivity(new Intent(SettingActivity.this, MsgSettActivity.class));
|
||||
} else if (bean.getId() == 25) {//版本更新
|
||||
if (!IMLoginManager.get(mContext).getApkVerNew()) {
|
||||
if (!APKManager.get().getApkVerNew()) {
|
||||
new XPopup.Builder(mContext)
|
||||
.asCustom(new APKUpdateCustomPopup(mContext))
|
||||
.asCustom(new APKUpdateCustomPopup(mContext, true))
|
||||
.show();
|
||||
}
|
||||
|
||||
|
@ -12,6 +12,7 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.manager.APKManager;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.DeviceUtils;
|
||||
import com.yunbao.common.utils.LogUtil;
|
||||
@ -147,7 +148,7 @@ public class SettingAdapter extends RecyclerView.Adapter {
|
||||
mText.setText(DeviceUtils.getVersionName(itemView.getContext()));
|
||||
mText.setTextColor(Color.parseColor("#969696"));
|
||||
} else if (bean.getId() == 25) {
|
||||
if (IMLoginManager.get(itemView.getContext()).getApkVerNew()) {
|
||||
if (APKManager.get().getApkVerNew()) {
|
||||
mText.setText(itemView.getContext().getString(R.string.latest_version));
|
||||
mText.setTextColor(Color.parseColor("#969696"));
|
||||
|
||||
|
@ -39,7 +39,7 @@ import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.interfaces.CommonCallback;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.manager.APKManager;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.SVGAViewUtils;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
@ -180,7 +180,7 @@ public class MainMeViewHolder extends AbsMainViewHolder implements OnItemClickLi
|
||||
outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), 10);
|
||||
}
|
||||
});
|
||||
redPoint.setVisibility(IMLoginManager.get(mContext).getApkVerNew() ? View.GONE : View.VISIBLE);
|
||||
redPoint.setVisibility(APKManager.get().getApkVerNew() ? View.GONE : View.VISIBLE);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Loading…
Reference in New Issue
Block a user