version:1.2.0

fix:
update:优化登录和激活逻辑
This commit is contained in:
2026-01-06 09:34:39 +08:00
parent ee4c05b438
commit 6c28512c1a
64 changed files with 1570 additions and 337 deletions

View File

@@ -1,9 +1,8 @@
package com.xwad.os.adapter;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -13,21 +12,25 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.fragment.app.FragmentActivity;
import androidx.recyclerview.widget.RecyclerView;
import com.hjq.toast.Toaster;
import com.tencent.mmkv.MMKV;
import com.xwad.os.BuildConfig;
import com.xwad.os.R;
import com.xwad.os.activity.ExitActivity;
import com.xwad.os.activity.ManualActivity;
import com.xwad.os.activity.PasswordActivity;
import com.xwad.os.activity.activation.ActivationActivity;
import com.xwad.os.activity.login.LoginActivity;
import com.xwad.os.activity.service.ServiceActivity;
import com.xwad.os.bean.DesktopIcon;
import com.xwad.os.config.CommonConfig;
import com.xwad.os.manager.AppManager;
import com.xwad.os.manager.RemoteManager;
import com.xwad.os.utils.ActivationUtil;
import com.xwad.os.utils.ApkUtils;
import com.xwad.os.utils.BitmapUtils;
import com.xwad.os.utils.IconUtils;
import com.xwad.os.utils.OpenApkUtils;
import com.xwad.os.utils.Utils;
@@ -38,14 +41,16 @@ import me.jessyan.autosize.AutoSizeCompat;
public class AppAdapter extends RecyclerView.Adapter<AppAdapter.AppHolder> {
private static final String TAG = "AppAdapter";
private Context mContext;
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
private FragmentActivity mContext;
private List<DesktopIcon> desktopIcons;
@NonNull
@Override
public AppHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
mContext = parent.getContext();
mContext = (FragmentActivity) parent.getContext();
AutoSizeCompat.autoConvertDensityOfGlobal(mContext.getResources());
return new AppHolder(LayoutInflater.from(mContext).inflate(R.layout.item_app, parent, false));
}
@@ -87,6 +92,32 @@ public class AppAdapter extends RecyclerView.Adapter<AppAdapter.AppHolder> {
holder.root.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.e(TAG, "onClick: " + pkg);
if (TextUtils.isEmpty(pkg)) {
Toaster.show("应用未安装");
OpenApkUtils.getInstance().showDownloadDialog(mContext, pkg, lable);
return;
}
if (!ApkUtils.isAvailable(mContext, pkg)) {
OpenApkUtils.getInstance().showDownloadDialog(mContext, pkg, lable);
return;
}
if (!BuildConfig.DEBUG) {
if (!ActivationUtil.getInstance().isLogin()) {
Toaster.show("请先登录");
mContext.startActivity(new Intent(mContext, LoginActivity.class));
return;
}
if (!ActivationUtil.getInstance().isActivation()) {
Toaster.show("请先激活后使用");
mContext.startActivity(new Intent(mContext, ActivationActivity.class));
return;
}
}
switch (pkg) {
case AppManager.ADD_NAME:
mContext.startActivity(new Intent(mContext, PasswordActivity.class));
@@ -121,7 +152,7 @@ public class AppAdapter extends RecyclerView.Adapter<AppAdapter.AppHolder> {
exitDesktop();
break;
default:
boolean settingOtherAppInstaller = RemoteManager.getInstance().showThirdApp();
boolean settingOtherAppInstaller = mMMKV.decodeInt(CommonConfig.APP_INSTALLATION, 1) == 1;
if (!settingOtherAppInstaller && !ApkUtils.isSystemApp(mContext, desktopIcon.getPackageName())) {
Toaster.show("已禁止应用打开");
} else {
@@ -143,7 +174,7 @@ public class AppAdapter extends RecyclerView.Adapter<AppAdapter.AppHolder> {
if (is_activation) {
mContext.startActivity(new Intent(mContext, ExitActivity.class));
} else {
Utils.exitDesktop((Activity) mContext);
Utils.exitDesktop(mContext);
}
}