version:1.1.2
fix: update:优化其他学科滑动问题,NoSlideViewPager替换为viewpager2,退出桌面获取已安装的
This commit is contained in:
@@ -3,6 +3,8 @@ package com.xwad.os.activity;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.ResolveInfo;
|
||||
import android.media.AudioAttributes;
|
||||
import android.media.SoundPool;
|
||||
import android.os.Build;
|
||||
@@ -17,12 +19,18 @@ import android.view.inputmethod.InputMethodManager;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import com.tuo.customview.VerificationCodeView;
|
||||
import com.xwad.os.BuildConfig;
|
||||
import com.xwad.os.R;
|
||||
import com.xwad.os.base.BaseDataBindingActivity;
|
||||
import com.xwad.os.config.CommonConfig;
|
||||
import com.xwad.os.databinding.ActivityExitBinding;
|
||||
import com.xwad.os.utils.Utils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class ExitActivity extends BaseDataBindingActivity {
|
||||
private static final String TAG = "ExitActivity";
|
||||
|
||||
@@ -127,11 +135,47 @@ public class ExitActivity extends BaseDataBindingActivity {
|
||||
}
|
||||
}
|
||||
|
||||
private List<ComponentName> getAllLauncherApps() {
|
||||
PackageManager packageManager = getPackageManager();
|
||||
|
||||
// 构建用于查询桌面应用的Intent
|
||||
Intent intent = new Intent(Intent.ACTION_MAIN);
|
||||
intent.addCategory(Intent.CATEGORY_HOME);
|
||||
|
||||
// 查询所有可以处理该Intent的Activity
|
||||
List<ResolveInfo> resolveInfoList = packageManager.queryIntentActivities(intent, PackageManager.MATCH_ALL);
|
||||
|
||||
List<ComponentName> launcherPackageList = resolveInfoList.stream().filter(new Predicate<ResolveInfo>() {
|
||||
@Override
|
||||
public boolean test(ResolveInfo resolveInfo) {
|
||||
return !BuildConfig.APPLICATION_ID.equals(resolveInfo.activityInfo.packageName)
|
||||
|| !"com.jxw.launcher".equals(resolveInfo.activityInfo.packageName)
|
||||
|| !"com.handuan.os".equals(resolveInfo.activityInfo.packageName);
|
||||
}
|
||||
}).map(new Function<ResolveInfo, ComponentName>() {
|
||||
@Override
|
||||
public ComponentName apply(ResolveInfo resolveInfo) {
|
||||
return resolveInfo.getComponentInfo().getComponentName();
|
||||
}
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
return launcherPackageList;
|
||||
}
|
||||
|
||||
private void exitDesktop() {
|
||||
ComponentName componentName = new ComponentName("com.hihonor.android.launcher", "com.hihonor.android.launcher.unihome.UniHomeLauncher");
|
||||
Intent intent = new Intent();
|
||||
intent.setComponent(componentName);
|
||||
startActivity(intent);
|
||||
List<ComponentName> componentNames = getAllLauncherApps();
|
||||
Log.e(TAG, "exitDesktop: " + componentNames);
|
||||
if (componentNames != null && componentNames.size() != 0) {
|
||||
ComponentName componentName = componentNames.get(0);
|
||||
Intent intent = new Intent();
|
||||
intent.setComponent(componentName);
|
||||
try {
|
||||
startActivity(intent);
|
||||
} catch (Exception e) {
|
||||
Log.e(TAG, "exitDesktop: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
startActivity(new Intent(Settings.ACTION_HOME_SETTINGS));
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.xwad.os.activity;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
@@ -14,6 +15,7 @@ import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import com.tuo.customview.VerificationCodeView;
|
||||
import com.xwad.os.R;
|
||||
import com.xwad.os.activity.addicon.AddIconActivity;
|
||||
import com.xwad.os.base.BaseDataBindingActivity;
|
||||
import com.xwad.os.config.CommonConfig;
|
||||
import com.xwad.os.databinding.ActivityPasswdBinding;
|
||||
@@ -29,6 +31,12 @@ public class PasswordActivity extends BaseDataBindingActivity {
|
||||
// return true;
|
||||
// }
|
||||
|
||||
|
||||
// @Override
|
||||
// public boolean setfitWindow() {
|
||||
// return true;
|
||||
// }
|
||||
|
||||
@Override
|
||||
protected void initDataBinding() {
|
||||
mBinding = DataBindingUtil.setContentView(this, R.layout.activity_passwd);
|
||||
@@ -36,6 +44,26 @@ public class PasswordActivity extends BaseDataBindingActivity {
|
||||
|
||||
@Override
|
||||
public void initView() {
|
||||
if (Build.VERSION.SDK_INT >= 33) {
|
||||
hideSystemUI();
|
||||
}
|
||||
// 全屏展示
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
||||
// 全屏显示,隐藏状态栏和导航栏,拉出状态栏和导航栏显示一会儿后消失。
|
||||
getWindow().getDecorView().setSystemUiVisibility(
|
||||
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
|
||||
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
||||
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|
||||
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
|
||||
| View.SYSTEM_UI_FLAG_FULLSCREEN
|
||||
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
|
||||
} else {
|
||||
// 全屏显示,隐藏状态栏
|
||||
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
|
||||
}
|
||||
}
|
||||
|
||||
getWindow().addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
|
||||
|
||||
InputMethodManager imm = (InputMethodManager) PasswordActivity.this.getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||
@@ -85,6 +113,20 @@ public class PasswordActivity extends BaseDataBindingActivity {
|
||||
mBinding.bt9.setOnClickListener(view1 -> add(mBinding.icv, "9"));
|
||||
}
|
||||
|
||||
private void hideSystemUI() {
|
||||
// Enables regular immersive mode.
|
||||
// For "lean back" mode, remove SYSTEM_UI_FLAG_IMMERSIVE.
|
||||
// Or for "sticky immersive," replace it with SYSTEM_UI_FLAG_IMMERSIVE_STICKY
|
||||
View decorView = getWindow().getDecorView();
|
||||
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_IMMERSIVE
|
||||
// Set the content to appear under the system bars so that the
|
||||
// content doesn't resize when the system bars hide and show.
|
||||
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|
||||
// | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
||||
// Hide the nav bar and status bar
|
||||
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN);
|
||||
}
|
||||
|
||||
private void checkPasswd() {
|
||||
String content = mBinding.icv.getInputContent();
|
||||
if (TextUtils.isEmpty(content) || content.length() != 6) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.xwad.os.activity;
|
||||
package com.xwad.os.activity.addicon;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.DisplayMetrics;
|
||||
@@ -11,6 +11,7 @@ import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import com.xwad.os.R;
|
||||
import com.xwad.os.adapter.AddAppAdapter;
|
||||
import com.xwad.os.base.BaseDataBindingActivity;
|
||||
import com.xwad.os.base.mvvm.BaseMvvmActivity;
|
||||
import com.xwad.os.bean.DesktopIcon;
|
||||
import com.xwad.os.databinding.ActivityAddIconBinding;
|
||||
import com.xwad.os.manager.AppManager;
|
||||
@@ -20,27 +21,26 @@ import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Set;
|
||||
|
||||
public class AddIconActivity extends BaseDataBindingActivity {
|
||||
|
||||
private ActivityAddIconBinding mBinding;
|
||||
public class AddIconActivity extends BaseMvvmActivity<AddIconViewModel, ActivityAddIconBinding> {
|
||||
|
||||
private AddAppAdapter mAddAppAdapter;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_add_icon;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initDataBinding() {
|
||||
mBinding = DataBindingUtil.setContentView(this, R.layout.activity_add_icon);
|
||||
mViewModel.setCtx(this);
|
||||
mViewModel.setLifecycle(getLifecycleSubject());
|
||||
mViewModel.setVDBinding(mViewDataBinding);
|
||||
mViewDataBinding.setClick(new BtnClick());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initView() {
|
||||
mBinding.ivBack.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
finish();
|
||||
}
|
||||
});
|
||||
|
||||
mBinding.recyclerView.setLayoutManager(new GridLayoutManager(this, 6));
|
||||
mViewDataBinding.recyclerView.setLayoutManager(new GridLayoutManager(this, 6));
|
||||
HashMap<String, Integer> stringIntegerHashMap = new HashMap<>();
|
||||
WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
|
||||
DisplayMetrics dm = new DisplayMetrics();
|
||||
@@ -50,9 +50,9 @@ public class AddIconActivity extends BaseDataBindingActivity {
|
||||
stringIntegerHashMap.put(RecyclerViewSpacesItemDecoration.BOTTOM_DECORATION, (int) (density * 1));//底部间距
|
||||
stringIntegerHashMap.put(RecyclerViewSpacesItemDecoration.LEFT_DECORATION, (int) (density * 20));//左间距
|
||||
stringIntegerHashMap.put(RecyclerViewSpacesItemDecoration.RIGHT_DECORATION, (int) (density * 20));//右间距
|
||||
mBinding.recyclerView.addItemDecoration(new RecyclerViewSpacesItemDecoration(stringIntegerHashMap));
|
||||
mViewDataBinding.recyclerView.addItemDecoration(new RecyclerViewSpacesItemDecoration(stringIntegerHashMap));
|
||||
mAddAppAdapter = new AddAppAdapter();
|
||||
mBinding.recyclerView.setAdapter(mAddAppAdapter);
|
||||
mViewDataBinding.recyclerView.setAdapter(mAddAppAdapter);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -62,6 +62,13 @@ public class AddIconActivity extends BaseDataBindingActivity {
|
||||
Set<String> appList = AppManager.getInstance().getFilterAppset();
|
||||
mAddAppAdapter.setPackageSet(appList);
|
||||
|
||||
mBinding.tvAppsize.setText(String.format(getString(R.string.app_size), desktopIcons.size()));
|
||||
mViewDataBinding.tvAppsize.setText(String.format(getString(R.string.app_size), desktopIcons.size()));
|
||||
}
|
||||
|
||||
|
||||
public class BtnClick {
|
||||
public void exit(View view) {
|
||||
finish();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.xwad.os.activity.addicon;
|
||||
|
||||
import com.trello.rxlifecycle4.android.ActivityEvent;
|
||||
import com.xwad.os.base.mvvm.BaseViewModel;
|
||||
import com.xwad.os.databinding.ActivityAddIconBinding;
|
||||
|
||||
public class AddIconViewModel extends BaseViewModel<ActivityAddIconBinding, ActivityEvent> {
|
||||
|
||||
@Override
|
||||
public ActivityAddIconBinding getVDBinding() {
|
||||
return binding;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,7 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.os.BatteryManager;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
@@ -45,6 +46,7 @@ import com.xwad.os.databinding.ActivityHomeBinding;
|
||||
import com.xwad.os.dialog.PermissionsDialog;
|
||||
import com.xwad.os.dialog.PrivacyPolicyDialog;
|
||||
import com.xwad.os.fragment.ai.AiFragment;
|
||||
import com.xwad.os.fragment.app.AppFragment;
|
||||
import com.xwad.os.fragment.chinese.ChineseFragment;
|
||||
import com.xwad.os.fragment.complex.ComplexFragment;
|
||||
import com.xwad.os.fragment.english.EnglishFragment;
|
||||
@@ -74,6 +76,9 @@ import org.greenrobot.eventbus.ThreadMode;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import me.jessyan.autosize.AutoSizeCompat;
|
||||
import me.jessyan.autosize.AutoSizeConfig;
|
||||
|
||||
public class HomeActivity extends BaseMvvmActivity<HomeViewModel, ActivityHomeBinding> implements RemoteManager.ConnectedListener {
|
||||
private static final String TAG = "HomeActivity";
|
||||
|
||||
@@ -98,6 +103,15 @@ public class HomeActivity extends BaseMvvmActivity<HomeViewModel, ActivityHomeBi
|
||||
return R.layout.activity_home;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Resources getResources() {
|
||||
//需要升级到 v1.1.2 及以上版本才能使用 AutoSizeCompat
|
||||
int width = AutoSizeConfig.getInstance().getScreenWidth();
|
||||
int height = AutoSizeConfig.getInstance().getScreenHeight();
|
||||
AutoSizeCompat.autoConvertDensity(super.getResources(), 624, width > height);
|
||||
return super.getResources();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initDataBinding() {
|
||||
mViewModel.setCtx(this);
|
||||
@@ -251,7 +265,7 @@ public class HomeActivity extends BaseMvvmActivity<HomeViewModel, ActivityHomeBi
|
||||
// if ("小学".equals(Util.checkGrade(SPUtils.getGrade()))) {
|
||||
fragments.add(new SztzFragment());
|
||||
// }
|
||||
fragments.add(new SafeFragment());
|
||||
fragments.add(new AppFragment());
|
||||
|
||||
tabBeanLists.add(new TabBean("我的", R.drawable.icon_tab_wd, R.drawable.icon_tab_wd_pre));
|
||||
tabBeanLists.add(new TabBean("AI+学习", R.drawable.icon_tab_aixx, R.drawable.icon_tab_aixx_pre));
|
||||
|
||||
@@ -53,25 +53,27 @@ public class AddAppAdapter extends RecyclerView.Adapter<AddAppAdapter.AppHolder>
|
||||
holder.iv_select.setImageDrawable(mContext.getDrawable(R.drawable.icon_unselect));
|
||||
}
|
||||
}
|
||||
holder.iv_icon.setImageDrawable(desktopIcon.getIcon());
|
||||
|
||||
Log.e(TAG, "getView: " + pkg);
|
||||
int i = IconUtils.appClassNameList.indexOf(pkg);
|
||||
if (i != -1) {
|
||||
String val = IconUtils.appIconList.get(i);
|
||||
int resID = mContext.getResources().getIdentifier(val, "drawable", BuildConfig.APPLICATION_ID);
|
||||
if (resID == 0) {
|
||||
Log.e(TAG, "getView: not found src : " + pkg);
|
||||
holder.iv_icon.setImageBitmap(BitmapUtils.getIconBitmap(mContext, desktopIcon.getIcon()));
|
||||
} else {
|
||||
holder.iv_icon.setImageDrawable(mContext.getResources().getDrawable(resID));
|
||||
}
|
||||
} else {
|
||||
if (AppManager.ADD_NAME.equals(pkg)) {
|
||||
holder.iv_icon.setImageDrawable(desktopIcon.getIcon());
|
||||
} else {
|
||||
holder.iv_icon.setImageBitmap(BitmapUtils.getIconBitmap(mContext, desktopIcon.getIcon()));
|
||||
}
|
||||
}
|
||||
|
||||
// int i = IconUtils.appClassNameList.indexOf(pkg);
|
||||
// if (i != -1) {
|
||||
// String val = IconUtils.appIconList.get(i);
|
||||
// int resID = mContext.getResources().getIdentifier(val, "drawable", BuildConfig.APPLICATION_ID);
|
||||
// if (resID == 0) {
|
||||
// Log.e(TAG, "getView: not found src : " + pkg);
|
||||
// holder.iv_icon.setImageBitmap(BitmapUtils.getIconBitmap(mContext, desktopIcon.getIcon()));
|
||||
// } else {
|
||||
// holder.iv_icon.setImageDrawable(mContext.getResources().getDrawable(resID));
|
||||
// }
|
||||
// } else {
|
||||
// if (AppManager.ADD_NAME.equals(pkg)) {
|
||||
// holder.iv_icon.setImageDrawable(desktopIcon.getIcon());
|
||||
// } else {
|
||||
// holder.iv_icon.setImageBitmap(BitmapUtils.getIconBitmap(mContext, desktopIcon.getIcon()));
|
||||
// }
|
||||
// }
|
||||
holder.root.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
|
||||
@@ -33,6 +33,8 @@ import com.xwad.os.utils.Utils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import me.jessyan.autosize.AutoSizeCompat;
|
||||
|
||||
public class AppAdapter extends RecyclerView.Adapter<AppAdapter.AppHolder> {
|
||||
private static final String TAG = "AppAdapter";
|
||||
|
||||
@@ -44,40 +46,44 @@ public class AppAdapter extends RecyclerView.Adapter<AppAdapter.AppHolder> {
|
||||
@Override
|
||||
public AppHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
mContext = parent.getContext();
|
||||
AutoSizeCompat.autoConvertDensityOfGlobal(mContext.getResources());
|
||||
return new AppHolder(LayoutInflater.from(mContext).inflate(R.layout.item_app, parent, false));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull AppHolder holder, int position) {
|
||||
AutoSizeCompat.autoConvertDensityOfGlobal(mContext.getResources());
|
||||
DesktopIcon desktopIcon = desktopIcons.get(position);
|
||||
String lable = desktopIcon.getLable();
|
||||
holder.tv_appname.setText(lable);
|
||||
holder.iv_icon.setImageDrawable(desktopIcon.getIcon());
|
||||
String pkg = desktopIcon.getPackageName();
|
||||
Log.e(TAG, "getView: " + pkg);
|
||||
int i = IconUtils.appClassNameList.indexOf(pkg);
|
||||
if (i != -1) {
|
||||
String val = IconUtils.appIconList.get(i);
|
||||
int resID = mContext.getResources().getIdentifier(val, "drawable", BuildConfig.APPLICATION_ID);
|
||||
if (resID == 0) {
|
||||
Log.e(TAG, "getView: not found src : " + pkg);
|
||||
holder.iv_icon.setImageBitmap(BitmapUtils.getIconBitmap(mContext, desktopIcon.getIcon()));
|
||||
} else {
|
||||
holder.iv_icon.setImageDrawable(mContext.getResources().getDrawable(resID));
|
||||
}
|
||||
} else {
|
||||
switch (pkg) {
|
||||
case AppManager.ADD_NAME:
|
||||
case AppManager.UPDATE_NAME:
|
||||
case AppManager.MANUAL_NAME:
|
||||
case AppManager.SERVICE_NAME:
|
||||
holder.iv_icon.setImageDrawable(desktopIcon.getIcon());
|
||||
break;
|
||||
default:
|
||||
holder.iv_icon.setImageBitmap(BitmapUtils.getIconBitmap(mContext, desktopIcon.getIcon()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
holder.iv_icon.setImageDrawable(desktopIcon.getIcon());
|
||||
|
||||
// int i = IconUtils.appClassNameList.indexOf(pkg);
|
||||
// if (i != -1) {
|
||||
// String val = IconUtils.appIconList.get(i);
|
||||
// int resID = mContext.getResources().getIdentifier(val, "drawable", BuildConfig.APPLICATION_ID);
|
||||
// if (resID == 0) {
|
||||
// Log.e(TAG, "getView: not found src : " + pkg);
|
||||
// holder.iv_icon.setImageBitmap(BitmapUtils.getIconBitmap(mContext, desktopIcon.getIcon()));
|
||||
// } else {
|
||||
// holder.iv_icon.setImageDrawable(mContext.getResources().getDrawable(resID));
|
||||
// }
|
||||
// } else {
|
||||
// switch (pkg) {
|
||||
// case AppManager.ADD_NAME:
|
||||
// case AppManager.UPDATE_NAME:
|
||||
// case AppManager.MANUAL_NAME:
|
||||
// case AppManager.SERVICE_NAME:
|
||||
// holder.iv_icon.setImageDrawable(desktopIcon.getIcon());
|
||||
// break;
|
||||
// default:
|
||||
// holder.iv_icon.setImageBitmap(BitmapUtils.getIconBitmap(mContext, desktopIcon.getIcon()));
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
holder.root.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
|
||||
@@ -96,7 +96,7 @@ public class AppFragment extends BaseMvvmFragment<AppViewModel, FragmentAppBindi
|
||||
|
||||
@Override
|
||||
protected void initView(Bundle bundle) {
|
||||
mViewDataBinding.rvApp.setLayoutManager(new GridLayoutManager(mContext, 6));
|
||||
mViewDataBinding.rvApp.setLayoutManager(new GridLayoutManager(mContext, 7));
|
||||
HashMap<String, Integer> stringIntegerHashMap = new HashMap<>();
|
||||
WindowManager wm = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
|
||||
DisplayMetrics dm = new DisplayMetrics();
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.xwad.os.bean.DesktopIcon;
|
||||
import com.xwad.os.databinding.FragmentAppBinding;
|
||||
import com.xwad.os.manager.AppManager;
|
||||
import com.xwad.os.utils.ApkUtils;
|
||||
import com.xwad.os.utils.OpenApkUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -31,25 +32,25 @@ public class AppViewModel extends BaseViewModel<FragmentAppBinding, FragmentEven
|
||||
public void getInstalledApp() {
|
||||
ArrayList<DesktopIcon> desktopIcons = AppManager.getInstance().getFilterAppList();
|
||||
|
||||
DesktopIcon appstoreDesktopIcon = new DesktopIcon();
|
||||
appstoreDesktopIcon.setLable(ApkUtils.getAppName(getCtx(), "com.uiui.zyappstore"));
|
||||
appstoreDesktopIcon.setPackageName(AppManager.APPSTORE_PACKAGE_NAME);
|
||||
appstoreDesktopIcon.setClassName(AppManager.APPSTORE_CLASS_NAME);
|
||||
appstoreDesktopIcon.setLable("应用市场");
|
||||
Drawable appstoreDrawable;
|
||||
if (ApkUtils.isAvailable(getCtx(), AppManager.APPSTORE_PACKAGE_NAME)) {
|
||||
appstoreDrawable = ApkUtils.getAppDrawable(getCtx(), "com.uiui.zyappstore");
|
||||
} else {
|
||||
appstoreDrawable = getCtx().getDrawable(R.drawable.com_android_appstore);
|
||||
}
|
||||
appstoreDesktopIcon.setIcon(appstoreDrawable);
|
||||
desktopIcons.add(desktopIcons.size(), appstoreDesktopIcon);
|
||||
// DesktopIcon appstoreDesktopIcon = new DesktopIcon();
|
||||
// appstoreDesktopIcon.setLable(ApkUtils.getAppName(getCtx(), "com.uiui.zyappstore"));
|
||||
// appstoreDesktopIcon.setPackageName(AppManager.APPSTORE_PACKAGE_NAME);
|
||||
// appstoreDesktopIcon.setClassName(AppManager.APPSTORE_CLASS_NAME);
|
||||
// appstoreDesktopIcon.setLable("应用市场");
|
||||
// Drawable appstoreDrawable;
|
||||
// if (ApkUtils.isAvailable(getCtx(), AppManager.APPSTORE_PACKAGE_NAME)) {
|
||||
// appstoreDrawable = ApkUtils.getAppDrawable(getCtx(), "com.uiui.zyappstore");
|
||||
// } else {
|
||||
// appstoreDrawable = getCtx().getDrawable(R.drawable.com_android_appstore);
|
||||
// }
|
||||
// appstoreDesktopIcon.setIcon(appstoreDrawable);
|
||||
// desktopIcons.add(desktopIcons.size(), appstoreDesktopIcon);
|
||||
|
||||
DesktopIcon updateDesktopIcon = new DesktopIcon();
|
||||
updateDesktopIcon.setLable("应用更新");
|
||||
updateDesktopIcon.setPackageName(AppManager.UPDATE_NAME);
|
||||
updateDesktopIcon.setIcon(getCtx().getDrawable(R.drawable.icon_update));
|
||||
desktopIcons.add(desktopIcons.size(), updateDesktopIcon);
|
||||
// DesktopIcon updateDesktopIcon = new DesktopIcon();
|
||||
// updateDesktopIcon.setLable("应用更新");
|
||||
// updateDesktopIcon.setPackageName(AppManager.UPDATE_NAME);
|
||||
// updateDesktopIcon.setIcon(getCtx().getDrawable(R.drawable.icon_update));
|
||||
// desktopIcons.add(desktopIcons.size(), updateDesktopIcon);
|
||||
|
||||
// DesktopIcon manualIcon = new DesktopIcon();
|
||||
// manualIcon.setLable("使用手册");
|
||||
@@ -57,26 +58,26 @@ public class AppViewModel extends BaseViewModel<FragmentAppBinding, FragmentEven
|
||||
// manualIcon.setIcon(getCtx().getDrawable(R.drawable.icon_manual));
|
||||
// desktopIcons.add(desktopIcons.size(), manualIcon);
|
||||
|
||||
DesktopIcon browserIcon = new DesktopIcon();
|
||||
browserIcon.setIcon(getCtx().getDrawable(R.drawable.uiui_zybrowser));
|
||||
browserIcon.setLable("浏览器");
|
||||
browserIcon.setPackageName(AppManager.BROWSER_PACKAGE_NAME);
|
||||
browserIcon.setClassName(AppManager.BROWSER_CLASS_NAME);
|
||||
desktopIcons.add(browserIcon);
|
||||
// DesktopIcon browserIcon = new DesktopIcon();
|
||||
// browserIcon.setIcon(getCtx().getDrawable(R.drawable.uiui_zybrowser));
|
||||
// browserIcon.setLable("浏览器");
|
||||
// browserIcon.setPackageName(AppManager.BROWSER_PACKAGE_NAME);
|
||||
// browserIcon.setClassName(AppManager.BROWSER_CLASS_NAME);
|
||||
// desktopIcons.add(browserIcon);
|
||||
|
||||
DesktopIcon serviceIcon = new DesktopIcon();
|
||||
serviceIcon.setIcon(getCtx().getDrawable(R.drawable.service_icon));
|
||||
serviceIcon.setLable("联系客服");
|
||||
serviceIcon.setPackageName(AppManager.SERVICE_NAME);
|
||||
desktopIcons.add(serviceIcon);
|
||||
// DesktopIcon serviceIcon = new DesktopIcon();
|
||||
// serviceIcon.setIcon(getCtx().getDrawable(R.drawable.service_icon));
|
||||
// serviceIcon.setLable("联系客服");
|
||||
// serviceIcon.setPackageName(AppManager.SERVICE_NAME);
|
||||
// desktopIcons.add(serviceIcon);
|
||||
|
||||
if (ApkUtils.isAvailable(getCtx(), "com.jxw.zwpg")) {
|
||||
DesktopIcon zwpgIcon = new DesktopIcon();
|
||||
zwpgIcon.setIcon(getCtx().getDrawable(R.drawable.zwpg_icon));
|
||||
zwpgIcon.setLable("作文批改");
|
||||
zwpgIcon.setPackageName("com.jxw.zwpg");
|
||||
desktopIcons.add(zwpgIcon);
|
||||
}
|
||||
// if (ApkUtils.isAvailable(getCtx(), "com.jxw.zwpg")) {
|
||||
// DesktopIcon zwpgIcon = new DesktopIcon();
|
||||
// zwpgIcon.setIcon(getCtx().getDrawable(R.drawable.zwpg_icon));
|
||||
// zwpgIcon.setLable("作文批改");
|
||||
// zwpgIcon.setPackageName("com.jxw.zwpg");
|
||||
// desktopIcons.add(zwpgIcon);
|
||||
// }
|
||||
|
||||
// if (ApkUtils.isAvailable(getCtx(), "com.jxw.gb.zwpg")) {
|
||||
// DesktopIcon zwpgIcon = new DesktopIcon();
|
||||
@@ -86,25 +87,49 @@ public class AppViewModel extends BaseViewModel<FragmentAppBinding, FragmentEven
|
||||
// desktopIcons.add(zwpgIcon);
|
||||
// }
|
||||
|
||||
if (ApkUtils.isAvailable(getCtx(), "com.jxw.huiben")) {
|
||||
DesktopIcon zwpgIcon = new DesktopIcon();
|
||||
zwpgIcon.setIcon(getCtx().getDrawable(R.drawable.zhidu_icon));
|
||||
zwpgIcon.setLable("AR指读");
|
||||
zwpgIcon.setPackageName("com.jxw.huiben");
|
||||
desktopIcons.add(zwpgIcon);
|
||||
}
|
||||
// if (ApkUtils.isAvailable(getCtx(), "com.jxw.huiben")) {
|
||||
// DesktopIcon zwpgIcon = new DesktopIcon();
|
||||
// zwpgIcon.setIcon(getCtx().getDrawable(R.drawable.zhidu_icon));
|
||||
// zwpgIcon.setLable("AR指读");
|
||||
// zwpgIcon.setPackageName("com.jxw.huiben");
|
||||
// desktopIcons.add(zwpgIcon);
|
||||
// }
|
||||
|
||||
DesktopIcon exitIcon = new DesktopIcon();
|
||||
exitIcon.setLable("退出桌面");
|
||||
exitIcon.setPackageName(AppManager.DESKTOP_EXIT);
|
||||
exitIcon.setIcon(getCtx().getDrawable(R.drawable.exit_icon));
|
||||
desktopIcons.add(desktopIcons.size(), exitIcon);
|
||||
// DesktopIcon exitIcon = new DesktopIcon();
|
||||
// exitIcon.setLable("退出桌面");
|
||||
// exitIcon.setPackageName(AppManager.DESKTOP_EXIT);
|
||||
// exitIcon.setIcon(getCtx().getDrawable(R.drawable.exit_icon));
|
||||
// desktopIcons.add(desktopIcons.size(), exitIcon);
|
||||
|
||||
DesktopIcon desktopIcon = new DesktopIcon();
|
||||
desktopIcon.setLable("添加应用");
|
||||
desktopIcon.setPackageName(AppManager.ADD_NAME);
|
||||
desktopIcon.setIcon(getCtx().getDrawable(R.drawable.icon_add));
|
||||
desktopIcons.add(desktopIcons.size(), desktopIcon);
|
||||
DesktopIcon clockIcon = new DesktopIcon();
|
||||
clockIcon.setLable("时钟");
|
||||
clockIcon.setPackageName(OpenApkUtils.getInstance().getDeskClockPackageName());
|
||||
clockIcon.setIcon(ApkUtils.getAppDrawable(getCtx(), OpenApkUtils.getInstance().getDeskClockPackageName()));
|
||||
desktopIcons.add(clockIcon);
|
||||
|
||||
DesktopIcon calcIcon = new DesktopIcon();
|
||||
calcIcon.setLable("计算器");
|
||||
calcIcon.setPackageName(OpenApkUtils.getInstance().getCalculatorPackageName());
|
||||
calcIcon.setIcon(ApkUtils.getAppDrawable(getCtx(), OpenApkUtils.getInstance().getCalculatorPackageName()));
|
||||
desktopIcons.add(calcIcon);
|
||||
|
||||
DesktopIcon cameraIcon = new DesktopIcon();
|
||||
cameraIcon.setLable("相机");
|
||||
cameraIcon.setPackageName(OpenApkUtils.getInstance().getCameraPackageName());
|
||||
cameraIcon.setIcon(ApkUtils.getAppDrawable(getCtx(), OpenApkUtils.getInstance().getCameraPackageName()));
|
||||
desktopIcons.add(cameraIcon);
|
||||
|
||||
DesktopIcon galleryIcon = new DesktopIcon();
|
||||
galleryIcon.setLable("图库");
|
||||
galleryIcon.setPackageName(OpenApkUtils.getInstance().getGalleryPackageName());
|
||||
galleryIcon.setIcon(ApkUtils.getAppDrawable(getCtx(), OpenApkUtils.getInstance().getGalleryPackageName()));
|
||||
desktopIcons.add(galleryIcon);
|
||||
|
||||
DesktopIcon AddAppIcon = new DesktopIcon();
|
||||
AddAppIcon.setLable("添加应用");
|
||||
AddAppIcon.setPackageName(AppManager.ADD_NAME);
|
||||
AddAppIcon.setIcon(getCtx().getDrawable(R.drawable.icon_add));
|
||||
desktopIcons.add(desktopIcons.size(), AddAppIcon);
|
||||
|
||||
mDesktopIconListData.setValue(desktopIcons);
|
||||
}
|
||||
|
||||
@@ -1,17 +1,18 @@
|
||||
package com.xwad.os.fragment.complex;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.fragment.app.FragmentPagerAdapter;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.viewpager2.adapter.FragmentStateAdapter;
|
||||
import androidx.viewpager2.widget.ViewPager2;
|
||||
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
@@ -30,7 +31,6 @@ import com.xwad.os.jxw.util.Util;
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.ArrayList;
|
||||
@@ -44,7 +44,7 @@ import java.util.List;
|
||||
public class ComplexFragment extends BaseMvvmFragment<ComplexViewModel, FragmentComplexBinding> {
|
||||
private static final String TAG = "ComplexFragment";
|
||||
|
||||
private Activity mContext;
|
||||
private FragmentActivity mContext;
|
||||
|
||||
private MyAdapter adapter;
|
||||
private TabTbxAdapter tabTbxAdapter;
|
||||
@@ -116,12 +116,21 @@ public class ComplexFragment extends BaseMvvmFragment<ComplexViewModel, Fragment
|
||||
}
|
||||
|
||||
mViewDataBinding.subjectViewPager.setOffscreenPageLimit(10);
|
||||
mViewDataBinding.subjectViewPager.setUserInputEnabled(false);
|
||||
mViewDataBinding.subjectViewPager.setOrientation(ViewPager2.ORIENTATION_VERTICAL);
|
||||
mViewDataBinding.subjectViewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
|
||||
@Override
|
||||
public void onPageSelected(int position) {
|
||||
mViewDataBinding.rvTitle.smoothScrollToPosition(position);
|
||||
}
|
||||
});
|
||||
|
||||
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext());
|
||||
linearLayoutManager.setOrientation(RecyclerView.VERTICAL);
|
||||
mViewDataBinding.rvTitle.setLayoutManager(linearLayoutManager);
|
||||
|
||||
tabTbxAdapter = new TabTbxAdapter(tabBeanList);
|
||||
adapter = new MyAdapter(getChildFragmentManager());
|
||||
adapter = new MyAdapter(mContext);
|
||||
|
||||
initViews();
|
||||
}
|
||||
@@ -218,26 +227,26 @@ public class ComplexFragment extends BaseMvvmFragment<ComplexViewModel, Fragment
|
||||
}
|
||||
|
||||
|
||||
public class MyAdapter extends FragmentPagerAdapter {
|
||||
MyAdapter(FragmentManager fragmentManager) {
|
||||
super(fragmentManager);
|
||||
public class MyAdapter extends FragmentStateAdapter {
|
||||
MyAdapter(FragmentActivity fragmentActivity) {
|
||||
super(fragmentActivity);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@NonNull
|
||||
@Override
|
||||
public Fragment getItem(int i) {
|
||||
return mFragment.get(i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCount() {
|
||||
return mFragment.size();
|
||||
public Fragment createFragment(int position) {
|
||||
return mFragment.get(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getItemId(int i) {
|
||||
return (mFragment.get(i)).hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return mFragment == null ? 0 : mFragment.size();
|
||||
}
|
||||
}
|
||||
|
||||
public class TabTbxAdapter extends BaseQuickAdapter<TabBean, BaseViewHolder> {
|
||||
@@ -279,11 +288,10 @@ public class ComplexFragment extends BaseMvvmFragment<ComplexViewModel, Fragment
|
||||
}
|
||||
textView.setText(tabBean.getTab_Title());
|
||||
baseViewHolder.itemView.setOnClickListener(new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
setChoosePosition(baseViewHolder.getAdapterPosition());
|
||||
mViewDataBinding.subjectViewPager.setCurrentItem(baseViewHolder.getAdapterPosition());
|
||||
mViewDataBinding.subjectViewPager.setCurrentItem(baseViewHolder.getAdapterPosition(), false);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.ViewTreeObserver;
|
||||
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
@@ -126,6 +127,14 @@ public class MineFragment extends BaseMvvmFragment<MineViewModel, FragmentMineBi
|
||||
|
||||
setName();
|
||||
|
||||
// mViewDataBinding.ivXwcd.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
|
||||
// @Override
|
||||
// public void onGlobalLayout() {
|
||||
// Log.e(TAG, "onGlobalLayout: getWidth = " + mViewDataBinding.ivXwcd.getWidth());
|
||||
// Log.e(TAG, "onGlobalLayout: getHeight = " + mViewDataBinding.ivXwcd.getHeight());
|
||||
// }
|
||||
// });
|
||||
|
||||
// mViewDataBinding.gridViewId.setLayoutManager(new GridLayoutManager(mContext, 8));
|
||||
// zhMenuAdapter = new ZhMenuAdapter(mContext, mlistAppInfo);
|
||||
// mViewDataBinding.gridViewId.setAdapter(zhMenuAdapter);
|
||||
@@ -337,31 +346,6 @@ public class MineFragment extends BaseMvvmFragment<MineViewModel, FragmentMineBi
|
||||
}
|
||||
}
|
||||
|
||||
private List<ComponentName> getAllLauncherApps(Context context) {
|
||||
PackageManager packageManager = context.getPackageManager();
|
||||
|
||||
// 构建用于查询桌面应用的Intent
|
||||
Intent intent = new Intent(Intent.ACTION_MAIN);
|
||||
intent.addCategory(Intent.CATEGORY_HOME);
|
||||
|
||||
// 查询所有可以处理该Intent的Activity
|
||||
List<ResolveInfo> resolveInfoList = packageManager.queryIntentActivities(intent, PackageManager.MATCH_ALL);
|
||||
|
||||
List<ComponentName> launcherPackageList = resolveInfoList.stream().filter(new Predicate<ResolveInfo>() {
|
||||
@Override
|
||||
public boolean test(ResolveInfo resolveInfo) {
|
||||
return !BuildConfig.APPLICATION_ID.equals(resolveInfo.activityInfo.packageName);
|
||||
}
|
||||
}).map(new Function<ResolveInfo, ComponentName>() {
|
||||
@Override
|
||||
public ComponentName apply(ResolveInfo resolveInfo) {
|
||||
return resolveInfo.getComponentInfo().getComponentName();
|
||||
}
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
return launcherPackageList;
|
||||
}
|
||||
|
||||
public class BtnClick {
|
||||
public void toLigin(View view) {
|
||||
startActivity(new Intent(mContext, UserActivity.class));
|
||||
@@ -379,7 +363,6 @@ public class MineFragment extends BaseMvvmFragment<MineViewModel, FragmentMineBi
|
||||
}
|
||||
|
||||
public void exit(View view) {
|
||||
Log.e(TAG, "exit: " + getAllLauncherApps(mContext));
|
||||
startActivity(new Intent(mContext, ExitActivity.class));
|
||||
// OpenApkUtils.getInstance().openJxwApp(mContext, "com.hihonor.android.launcher,com.hihonor.android.launcher.unihome.UniHomeLauncher,,,退出桌面");
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.tencent.mmkv.MMKV;
|
||||
import com.xwad.os.R;
|
||||
import com.xwad.os.adapter.AppAdapter;
|
||||
import com.xwad.os.base.mvvm.fragment.BaseMvvmFragment;
|
||||
import com.xwad.os.bean.jxw.AppInfo;
|
||||
import com.xwad.os.config.CommonConfig;
|
||||
@@ -54,17 +55,16 @@ import java.util.List;
|
||||
public class SafeFragment extends BaseMvvmFragment<SafeViewModel, FragmentSafeBinding> {
|
||||
private static final String TAG = "SafeFragment";
|
||||
|
||||
private Activity mContext;
|
||||
|
||||
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
|
||||
|
||||
private Activity mContext;
|
||||
private AppInfo addAppinfo;
|
||||
private ZhMenuAdapter zhMenuAdapter;
|
||||
private List<AppInfo> mlistAppInfo = new ArrayList<>();
|
||||
private Handler mHandler = new Handler();
|
||||
public String file_name = "app_list_6.0";
|
||||
int len = 0;
|
||||
|
||||
private PackageManager mPackageManager;
|
||||
|
||||
// TODO: Rename parameter arguments, choose names that match
|
||||
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
|
||||
@@ -113,6 +113,8 @@ public class SafeFragment extends BaseMvvmFragment<SafeViewModel, FragmentSafeBi
|
||||
|
||||
@Override
|
||||
protected void initView(Bundle bundle) {
|
||||
mPackageManager = mContext.getPackageManager();
|
||||
|
||||
if (!EventBus.getDefault().isRegistered(this)) {
|
||||
EventBus.getDefault().register(this);
|
||||
}
|
||||
@@ -239,10 +241,14 @@ public class SafeFragment extends BaseMvvmFragment<SafeViewModel, FragmentSafeBi
|
||||
return;
|
||||
}
|
||||
}
|
||||
PackageManager packageManager = mContext.getPackageManager();
|
||||
try {
|
||||
ApplicationInfo applicationInfo = packageManager.getApplicationInfo(stringExtra, PackageManager.GET_META_DATA);
|
||||
AppInfo build = new AppInfo.Builder().appLabel((String) packageManager.getApplicationLabel(applicationInfo)).pkgName(stringExtra).appIcon(packageManager.getApplicationIcon(applicationInfo)).build();
|
||||
ApplicationInfo applicationInfo = mPackageManager.getApplicationInfo(stringExtra, PackageManager.GET_META_DATA);
|
||||
AppInfo build = new AppInfo.Builder()
|
||||
.appLabel((String) mPackageManager.getApplicationLabel(applicationInfo))
|
||||
.pkgName(stringExtra)
|
||||
.appIcon(mPackageManager.getApplicationIcon(applicationInfo))
|
||||
.build();
|
||||
|
||||
mlistAppInfo.remove(addAppinfo);
|
||||
mlistAppInfo.add(build);
|
||||
mlistAppInfo.add(addAppinfo);
|
||||
@@ -257,7 +263,7 @@ public class SafeFragment extends BaseMvvmFragment<SafeViewModel, FragmentSafeBi
|
||||
|
||||
private void writeAppDate(String str) {
|
||||
try {
|
||||
FileOutputStream fileOutputStream = new FileOutputStream(mContext.getFileStreamPath("app_list_6.0"), true);
|
||||
FileOutputStream fileOutputStream = new FileOutputStream(mContext.getFileStreamPath(file_name), true);
|
||||
fileOutputStream.write((str + "\n").getBytes());
|
||||
fileOutputStream.flush();
|
||||
fileOutputStream.close();
|
||||
@@ -305,7 +311,9 @@ public class SafeFragment extends BaseMvvmFragment<SafeViewModel, FragmentSafeBi
|
||||
mlistAppInfo.add(build11);
|
||||
mlistAppInfo.add(build12);
|
||||
mlistAppInfo.add(build13);
|
||||
|
||||
getAppData();
|
||||
Log.e(TAG, "initAppData: " + mlistAppInfo);
|
||||
mHandler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
@@ -322,13 +330,12 @@ public class SafeFragment extends BaseMvvmFragment<SafeViewModel, FragmentSafeBi
|
||||
}
|
||||
try {
|
||||
BufferedReader bufferedReader = new BufferedReader(new FileReader(fileStreamPath));
|
||||
PackageManager packageManager = mContext.getPackageManager();
|
||||
while (true) {
|
||||
String readLine = bufferedReader.readLine();
|
||||
if (readLine != null) {
|
||||
try {
|
||||
ApplicationInfo applicationInfo = packageManager.getApplicationInfo(readLine, PackageManager.GET_META_DATA);
|
||||
mlistAppInfo.add(new AppInfo.Builder().appLabel((String) packageManager.getApplicationLabel(applicationInfo)).pkgName(readLine).appIcon(packageManager.getApplicationIcon(applicationInfo)).build());
|
||||
ApplicationInfo applicationInfo = mPackageManager.getApplicationInfo(readLine, PackageManager.GET_META_DATA);
|
||||
mlistAppInfo.add(new AppInfo.Builder().appLabel((String) mPackageManager.getApplicationLabel(applicationInfo)).pkgName(readLine).appIcon(mPackageManager.getApplicationIcon(applicationInfo)).build());
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
@@ -269,6 +269,10 @@ public class OpenApkUtils {
|
||||
Toaster.show("应用未安装");
|
||||
return;
|
||||
}
|
||||
if (TextUtils.isEmpty(className)) {
|
||||
openApp(packageName);
|
||||
return;
|
||||
}
|
||||
if (isCloudLessonMod(packageName)) {
|
||||
if ("cn.wps.note".equals(packageName)) {
|
||||
ApkUtils.openPackage(mContext, packageName);
|
||||
|
||||
Reference in New Issue
Block a user