version:1.0.9

fix:
update:更新资源,增加登录,增加检测更新,增加必备插件
This commit is contained in:
2025-12-19 10:32:21 +08:00
parent daebcee8b8
commit 7ce4158afd
26 changed files with 344 additions and 28 deletions

View File

@@ -348,7 +348,6 @@ public class ChineseFragment extends BaseMvvmFragment<ChineseViewModel, Fragment
AppsDialog appsDialog = new AppsDialog(getActivity(), type);
appsDialog.show();
appsDialog.setOnCallback(new AppsDialog.Callback() {
@Override
public void onCallback() {
getMyList();

View File

@@ -38,6 +38,8 @@ import com.xwad.os.jxw.event.UpdateColorEvent;
import com.xwad.os.utils.OpenApkUtils;
import com.xwad.os.view.jxw.view.dialog.QhbzDialog;
import com.xwad.os.view.jxw.view.dialog.RemoveAppDialog;
import com.xwad.os.view.jxw.widget.AppsDialog;
import com.xwad.os.view.jxw.widget.DefaultAppsDialog;
import com.xwad.os.view.jxw.widget.RecyclerMarginClickHelper;
import org.greenrobot.eventbus.EventBus;
@@ -381,5 +383,16 @@ public class MineFragment extends BaseMvvmFragment<MineViewModel, FragmentMineBi
startActivity(new Intent(mContext, ExitActivity.class));
// OpenApkUtils.getInstance().openJxwApp(mContext, "com.hihonor.android.launcher,com.hihonor.android.launcher.unihome.UniHomeLauncher,,,退出桌面");
}
public void openAppsDialog(View view) {
DefaultAppsDialog appsDialog = new DefaultAppsDialog(getActivity());
appsDialog.show();
appsDialog.setOnCallback(new DefaultAppsDialog.Callback() {
@Override
public void onCallback() {
}
});
}
}
}

View File

@@ -6,14 +6,21 @@ import android.os.Build;
import android.os.Bundle;
import android.view.View;
import androidx.lifecycle.Observer;
import com.hjq.toast.Toaster;
import com.xwad.os.BuildConfig;
import com.xwad.os.R;
import com.xwad.os.activity.home.HomeActivity;
import com.xwad.os.activity.permission.PermissionActivity;
import com.xwad.os.activity.service.ServiceActivity;
import com.xwad.os.activity.update.UpdateActivity;
import com.xwad.os.base.mvvm.fragment.BaseMvvmFragment;
import com.xwad.os.bean.AppUpdateInfo;
import com.xwad.os.databinding.FragmentDeviceBinding;
import com.xwad.os.manager.DeviceSNManager;
import com.xwad.os.manager.RemoteManager;
import com.xwad.os.utils.ApkUtils;
import com.xwad.os.utils.LenovoCsdkUtil;
public class DeviceFragment extends BaseMvvmFragment<DeviceViewModel, FragmentDeviceBinding> {
@@ -41,13 +48,30 @@ public class DeviceFragment extends BaseMvvmFragment<DeviceViewModel, FragmentDe
@Override
protected void initView(Bundle bundle) {
mViewDataBinding.tvModel.setText(Build.MODEL);
mViewDataBinding.tvVersion.setText(BuildConfig.VERSION_NAME);
mViewDataBinding.tvVersion.setText("(检查更新)" + BuildConfig.VERSION_NAME);
mViewDataBinding.tvMac.setText(DeviceSNManager.getDeviceSN());
}
@Override
protected void initData(Bundle savedInstanceState) {
mViewModel.mAppUpdateInfoData.observe(this, new Observer<AppUpdateInfo>() {
@Override
public void onChanged(AppUpdateInfo appUpdateInfo) {
if (appUpdateInfo == null) {
Toaster.show("已是最新版本");
} else {
if (ApkUtils.isUpdate(mContext, appUpdateInfo)) {
Intent intent = new Intent(mContext, UpdateActivity.class);
intent.putExtra("appUpdateInfo", appUpdateInfo);
startActivity(intent);
Toaster.show("有新的版本需要更新");
} else {
Toaster.show("已是最新版本");
}
}
}
});
mViewModel.checkUpdate();
}
@@ -64,5 +88,9 @@ public class DeviceFragment extends BaseMvvmFragment<DeviceViewModel, FragmentDe
public void checkPermission(View view) {
startActivity(new Intent(mContext, PermissionActivity.class));
}
public void checkUpdate(View view) {
mViewModel.checkUpdate();
}
}
}

View File

@@ -1,8 +1,23 @@
package com.xwad.os.fragment.usercenter.device;
import android.util.Log;
import androidx.lifecycle.MutableLiveData;
import com.hjq.toast.Toaster;
import com.trello.rxlifecycle4.RxLifecycle;
import com.trello.rxlifecycle4.android.ActivityEvent;
import com.trello.rxlifecycle4.android.FragmentEvent;
import com.xwad.os.BuildConfig;
import com.xwad.os.base.mvvm.BaseViewModel;
import com.xwad.os.bean.AppUpdateInfo;
import com.xwad.os.bean.BaseResponse;
import com.xwad.os.databinding.FragmentDeviceBinding;
import com.xwad.os.network.NetInterfaceManager;
import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
public class DeviceViewModel extends BaseViewModel<FragmentDeviceBinding, FragmentEvent> {
@@ -15,4 +30,39 @@ public class DeviceViewModel extends BaseViewModel<FragmentDeviceBinding, Fragme
public void onDestroy() {
}
public MutableLiveData<AppUpdateInfo> mAppUpdateInfoData = new MutableLiveData<>();
public void checkUpdate() {
NetInterfaceManager.getInstance().getCheckUpdateObservable(BuildConfig.APPLICATION_ID)
.compose(RxLifecycle.bindUntilEvent(getLifecycle(), FragmentEvent.DESTROY))
.subscribe(new Observer<BaseResponse<AppUpdateInfo>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
Log.e("checkUpdate", "onSubscribe: ");
}
@Override
public void onNext(@NonNull BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse) {
Log.e("checkUpdate", "onNext: " + appUpdateInfoBaseResponse);
if (appUpdateInfoBaseResponse.code == 200) {
AppUpdateInfo appUpdateInfo = appUpdateInfoBaseResponse.data;
mAppUpdateInfoData.setValue(appUpdateInfo);
} else {
mAppUpdateInfoData.setValue(null);
}
}
@Override
public void onError(@NonNull Throwable e) {
Log.e("checkUpdate", "onError: ");
Toaster.show("网络连接失败");
}
@Override
public void onComplete() {
Log.e("checkUpdate", "onComplete: ");
}
});
}
}