version:1.2.3

fix:修复绑定状态刷新不及时
update:主页图标修改
This commit is contained in:
2023-04-10 14:45:24 +08:00
parent 8b98116d87
commit eef000be87
21 changed files with 243 additions and 56 deletions

View File

@@ -198,19 +198,20 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
cl_0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
OpenApkUtils.getInstance().openApp("com.uiui.zyappstore");
OpenApkUtils.getInstance().openApp("com.uiui.zyappstore", "com.uiui.zyappstore.activity.MainActivity");
}
});
cl_1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
OpenApkUtils.getInstance().openApp("com.uiui.zybrowser");
OpenApkUtils.getInstance().openApp("com.uiui.zybrowser", "com.uiui.zybrowser.activity.main.MainActivity");
}
});
cl_2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
OpenApkUtils.getInstance().openApp("com.safe.uiui");
// OpenApkUtils.getInstance().openApp("com.android.documentsui");
OpenApkUtils.getInstance().openApp("com.uiui.zy", "com.uiui.zy.activity.main.MainActivity");
}
});
cl_3.setOnClickListener(new View.OnClickListener() {

View File

@@ -1,7 +1,12 @@
package com.uiui.zyos.activity.more;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.View;
import android.view.WindowManager;
import android.widget.ImageView;
@@ -14,6 +19,7 @@ import com.uiui.zyos.R;
import com.uiui.zyos.adapter.AppAdapter;
import com.uiui.zyos.base.BaseActivity;
import com.uiui.zyos.bean.DesktopIcon;
import com.uiui.zyos.fragment.user.UserFragment;
import com.uiui.zyos.view.RecyclerViewSpacesItemDecoration;
import java.util.HashMap;
@@ -71,12 +77,50 @@ public class MoreAppActivity extends BaseActivity implements MoreContact.MoreVie
@Override
public void initData() {
registerAppChangedReceiver();
mPresenter.getInstalledApp();
}
@Override
protected void onDestroy() {
super.onDestroy();
if (mAppChangedReceiver != null) {
unregisterReceiver(mAppChangedReceiver);
}
}
@Override
public void setDesktopIcons(List<DesktopIcon> desktopIcons) {
mAppAdapter.setDesktopIcons(desktopIcons);
tv_appsize.setText(String.format(getString(R.string.app_size),desktopIcons.size()));
tv_appsize.setText(String.format(getString(R.string.app_size), desktopIcons.size()));
}
private AppChangedReceiver mAppChangedReceiver;
private void registerAppChangedReceiver() {
if (mAppChangedReceiver == null) {
mAppChangedReceiver = new AppChangedReceiver();
}
IntentFilter filter = new IntentFilter();
filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
filter.addAction(Intent.ACTION_PACKAGE_ADDED);
filter.addAction(Intent.ACTION_PACKAGE_CHANGED);
filter.addAction(Intent.ACTION_PACKAGE_REPLACED);
filter.addAction(Intent.ACTION_PACKAGE_REMOVED);
filter.addDataScheme("package");
registerReceiver(mAppChangedReceiver, filter);
}
class AppChangedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
Log.e("AppChangedReceiver", "onReceive: " + action);
if (TextUtils.isEmpty(action)) {
return;
}
mPresenter.getInstalledApp();
}
}
}

View File

@@ -0,0 +1,28 @@
package com.uiui.zyos.bean;
import androidx.annotation.NonNull;
import com.google.gson.Gson;
import com.google.gson.JsonParser;
import java.io.Serializable;
public class ScreenPassword implements Serializable {
private static final long serialVersionUID = 4417211558962408699L;
String pwd;
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
@NonNull
@Override
public String toString() {
return JsonParser.parseString(new Gson().toJson(this)).getAsJsonObject().toString();
}
}

View File

@@ -8,6 +8,8 @@ public class CommonConfig {
public static final String isLogined = "isLogined";
public static final String AES_KEY = "xqdep8exnafpef3d";
public static final String LOCK_SCREEN_PASSWORD ="Iflytek_lockScreenPasswordKey";
public static final String DEFAULT_PASSWORD = "0728";
/*是否激活接口请求缓存*/
public static final String ACTIVATIONBEAN_KEY = "IFLYTEK_UIUI_ACTIVATIONBEAN_KEY";
@@ -27,5 +29,4 @@ public class CommonConfig {
public static final String MAP_ERROR_KEY = "map_error_key";
public static final String SETTING_OTHER_APPINSTALLER_KEY = "setting_other_appInstaller";
}

View File

@@ -231,19 +231,19 @@ public class MainFragment extends BaseFragment implements MainContact.MainView {
cl_0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
OpenApkUtils.getInstance().openApp("com.uiui.zyappstore");
OpenApkUtils.getInstance().openApp("com.uiui.zyappstore","com.uiui.zyappstore.activity.MainActivity");
}
});
cl_1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
OpenApkUtils.getInstance().openApp("com.uiui.zybrowser");
OpenApkUtils.getInstance().openApp("com.uiui.zybrowser","com.uiui.zybrowser.activity.main.MainActivity");
}
});
cl_2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
OpenApkUtils.getInstance().openApp("com.safe.uiui");
OpenApkUtils.getInstance().openApp("com.android.documentsui");
}
});
cl_3.setOnClickListener(new View.OnClickListener() {

View File

@@ -10,6 +10,7 @@ import android.provider.Settings;
import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -34,9 +35,11 @@ import com.uiui.zyos.bean.BaseResponse;
import com.uiui.zyos.bean.DesktopIcon;
import com.uiui.zyos.bean.SnInfo;
import com.uiui.zyos.config.CommonConfig;
import com.uiui.zyos.dialog.PasswordDialog;
import com.uiui.zyos.manager.RemoteManager;
import com.uiui.zyos.utils.ApkUtils;
import com.uiui.zyos.utils.TimeUtils;
import com.uiui.zyos.utils.ToastUtil;
import com.uiui.zyos.view.RecyclerViewSpacesItemDecoration;
import java.util.ArrayList;
@@ -184,8 +187,8 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
private void initView() {
Log.e(TAG, "initView: ");
tv_notification.requestFocus();
tv_activated.setOnClickListener(view -> ApkUtils.openPackage(mContext, RemoteManager.SN_PACKAGE_NAME));
iv_avatar.setOnClickListener(view -> ApkUtils.openPackage(mContext, RemoteManager.SN_PACKAGE_NAME));
tv_activated.setOnClickListener(view -> ApkUtils.openPackage(mContext, "com.uiui.zy", "com.uiui.zy.activity.main.MainActivity"));
iv_avatar.setOnClickListener(view -> ApkUtils.openPackage(mContext, "com.uiui.zy", "com.uiui.zy.activity.main.MainActivity"));
registerOwnReceiver();
String name = mMMKV.decodeString("USERINFO_NAME", "");
if (TextUtils.isEmpty(name)) {
@@ -210,18 +213,16 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
tv_exit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
RemoteManager.getInstance().setDefaultDesktop(ApkUtils.ANDROID_LAUNCHER3_PACKAGE_NAME);
if (!ApkUtils.openPackage(mContext, ApkUtils.ANDROID_LAUNCHER3_PACKAGE_NAME)) {
ApkUtils.gotoLauncher(mContext);
}
mContext.finish();
System.exit(0);
Intent intent = new Intent("Receiver_Refresh_Password_Action");
intent.setPackage("com.uiui.zy");
mContext.sendBroadcast(intent);
showPassword();
}
});
tv_activation.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ApkUtils.openPackage(mContext, RemoteManager.SN_PACKAGE_NAME);
ApkUtils.openPackage(mContext, "com.uiui.zy", "com.uiui.zy.activity.main.MainActivity");
}
});
String avatar = mMMKV.decodeString("USERINFO_AVATAR", "");
@@ -250,8 +251,43 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
rv_app.setAdapter(mAppAdapter);
}
private void setButtonVisibility(){
private void showPassword() {
PasswordDialog passwordDialog = new PasswordDialog(mContext);
passwordDialog.setTitle("退出智慧课堂");
passwordDialog.setOnClickBottomListener(new PasswordDialog.OnClickBottomListener() {
@Override
public void onPositiveClick() {
String password = Settings.Global.getString(mContext.getContentResolver(), CommonConfig.LOCK_SCREEN_PASSWORD);
if (TextUtils.isEmpty(password)) {
password = CommonConfig.DEFAULT_PASSWORD;
}
if (password.equals(passwordDialog.getPassword())) {
RemoteManager.getInstance().setDefaultDesktop(ApkUtils.ANDROID_LAUNCHER3_PACKAGE_NAME);
if (!ApkUtils.openPackage(mContext, ApkUtils.ANDROID_LAUNCHER3_PACKAGE_NAME)) {
ApkUtils.gotoLauncher(mContext);
}
passwordDialog.dismiss();
mContext.finish();
System.exit(0);
} else {
ToastUtil.show("密码错误");
}
}
@Override
public void onNegtiveClick() {
passwordDialog.dismiss();
}
});
passwordDialog.show();
passwordDialog.getWindow().setGravity(Gravity.CENTER);
passwordDialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
passwordDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
}
private void setButtonVisibility() {
int is_activation = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0);
Log.e(TAG, "setButtonVisibility: " + is_activation);
if (is_activation != 1) {
tv_exit.setVisibility(View.VISIBLE);
tv_activation.setVisibility(View.VISIBLE);
@@ -273,6 +309,7 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
if (isVisibleToUser && isViewInitiated) {
mPresenter.getInstalledApp();
mPresenter.getSnInfo();
setButtonVisibility();
}
}
@@ -280,6 +317,7 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
public void onResume() {
super.onResume();
Log.e(TAG, "onResume: ");
setButtonVisibility();
}
@Override
@@ -370,6 +408,7 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
registerTimeReceiver();
registerRefreshReceiver();
registerUpdateDesktopReceiver();
registerAppChangedReceiver();
}
private void unregisterOwnReceiver() {
@@ -382,6 +421,9 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
if (updateDesktopReceiver != null) {
mContext.unregisterReceiver(updateDesktopReceiver);
}
if (mAppChangedReceiver != null) {
mContext.unregisterReceiver(mAppChangedReceiver);
}
}
@@ -473,4 +515,34 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
}
}
}
private AppChangedReceiver mAppChangedReceiver;
private void registerAppChangedReceiver() {
if (mAppChangedReceiver == null) {
mAppChangedReceiver = new AppChangedReceiver();
}
IntentFilter filter = new IntentFilter();
filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
filter.addAction(Intent.ACTION_PACKAGE_ADDED);
filter.addAction(Intent.ACTION_PACKAGE_CHANGED);
filter.addAction(Intent.ACTION_PACKAGE_REPLACED);
filter.addAction(Intent.ACTION_PACKAGE_REMOVED);
filter.addDataScheme("package");
mContext.registerReceiver(mAppChangedReceiver, filter);
}
class AppChangedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
Log.e("AppChangedReceiver", "onReceive: " + action);
if (TextUtils.isEmpty(action)) {
return;
}
mPresenter.getInstalledApp();
}
}
}

View File

@@ -41,7 +41,7 @@ public class JxwPackageConfig {
public static final String JXW_PIANPANG_CLASS_NAME = "com.example.viewpageindicator.MainActivity";
/*笔顺规则*/
public static final String JXW_BISHUN_PACKAGE_NAME = "com.jxw.bishunguize";
public static final String JXW_BISHUN_CLASS_NAME = "com.example.viewpageindicator.MainActivityNew";
public static final String JXW_BISHUN_CLASS_NAME = "com.example.viewpageindicator.MainActivity";
/*四则运算*/
public static final String JXW_ARITHMETIC_PACKAGE_NAME = "com.jxw.jxwcalculator";
public static final String JXW_ARITHMETIC_CLASS_NAME = "com.jxw.jxwcalculator.LancherActivity";
@@ -60,9 +60,10 @@ public class JxwPackageConfig {
public static final String JXW_ORAL_TEST_PACKAGE_NAME = "com.jxw.singsound";
public static final String JXW_ORAL_TEST_CLASS_NAME = "com.jxw.singsound.ui.SplashActivity";
/*实验室分学科调用*/
public static final String JXW_LABORATORY_PACKAGE_NAME = "com.jxw.yuwenxiezuo";
public static final String JXW_LABORATORY_CLASS_NAME = "com.jxw.yuwenxiezuo.SYSActivity";
public static final String JXW_writing_CLASS_NAME = "com.jxw.yuwenxiezuo.MainActivity";
public static final String JXW_LABORATORY_PACKAGE_NAME = "com.jxw.laboratory";
public static final String JXW_LABORATORY_CLASS_NAME = "com.jxw.laboratory.SYSActivity";
public static final String JXW_WRITING_PACKAGE_NAME = "com.jxw.yuwenxiezuo";
public static final String JXW_WRITING_CLASS_NAME = "com.jxw.yuwenxiezuo.MainActivity";
/*名师风采*/
public static final String JXW_TEACHER_PACKAGE_NAME = "com.jxw.teacher.video";
public static final String JXW_TEACHER_CLASS_NAME = "com.jxw.teacher.activity.MainActivity";

View File

@@ -71,10 +71,20 @@ public class ApkUtils {
this.add("com.uiui.sn");
this.add("com.uiui.appstore");
this.add("com.uiui.browser");
this.add("com.uiui.videoplayer");
this.add("com.teclast.zyos");
this.add("com.teclast.zy");
this.add("com.teclast.zyappstore");
this.add("com.teclast.zybrowser");
this.add("com.lft.turn");
this.add("com.huawei.wallet");
this.add("com.huawei.music");
this.add("com.huawei.educenter");
this.add("com.huawei.fastapp");
this.add("com.huawei.himovie");
this.add("com.mainbo.homeschool");
this.add("com.huawei.gamebox");
}};
private static HashSet<String> excludeClassName = new HashSet<String>() {{
@@ -214,9 +224,9 @@ public class ApkUtils {
// resolveInfos.add(resolveInfo);
// }
// } else {
if (allowPackages.contains(pkg) && !excludePackageName.contains(pkg)) {
resolveInfos.add(resolveInfo);
}
if (allowPackages.contains(pkg) && !excludePackageName.contains(pkg)) {
resolveInfos.add(resolveInfo);
}
// }
}
}
@@ -252,6 +262,13 @@ public class ApkUtils {
desktopIcons.add(DesktopIcon.creatDesktopIcon(context, applicationInfo));
}
}
// DesktopIcon infoIcon = new DesktopIcon();
// infoIcon.setIcon(context.getDrawable(R.drawable.com_uiui_sn));
// infoIcon.setLable("我的设备");
// infoIcon.setPackageName("com.uiui.zy");
// infoIcon.setClassName("com.uiui.zy.activity.main.MainActivity");
// infoIcon.setPosition(0);
// desktopIcons.add(0, infoIcon);
return desktopIcons;
}

View File

@@ -7,7 +7,7 @@ import java.util.List;
public class IconUtils {
public static List<String> appClassNameList = new ArrayList<String>() {{
this.add("com.uiui.sn");//设信息
this.add("com.uiui.sn");//设信息
this.add("com.uiui.appstore");//应用市场
this.add("com.uiui.weather");//天气
this.add("com.android.browser");//浏览器

View File

@@ -55,7 +55,7 @@ public class OpenApkUtils {
private boolean checkActivation() {
int is_activation = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0);
if (is_activation != 1) {
ApkUtils.openPackage(mContext, "com.uiui.zy");
ApkUtils.openPackage(mContext, "com.uiui.zy", "com.uiui.zy.activity.main.MainActivity");
ToastUtil.show("请激活设备后使用");
}
return is_activation == 1;
@@ -137,7 +137,7 @@ public class OpenApkUtils {
ApkUtils.openPackage(mContext, packageName);
sendRuningApp(packageName);
} else {
ToastUtil.show("网课模式只允许使用指定应用");
ToastUtil.show("专注模式只允许使用指定应用");
}
}
@@ -150,7 +150,7 @@ public class OpenApkUtils {
ApkUtils.openPackage(mContext, packageName, className);
sendRuningApp(packageName);
} else {
ToastUtil.show("网课模式只允许使用指定应用");
ToastUtil.show("专注模式只允许使用指定应用");
}
}
@@ -165,7 +165,7 @@ public class OpenApkUtils {
sendRuningApp(packageName);
}
} else {
ToastUtil.show("网课模式只允许使用指定应用");
ToastUtil.show("专注模式只允许使用指定应用");
}
}
@@ -180,7 +180,7 @@ public class OpenApkUtils {
sendRuningApp(packageName);
}
} else {
ToastUtil.show("网课模式只允许使用指定应用");
ToastUtil.show("专注模式只允许使用指定应用");
}
}
@@ -195,7 +195,7 @@ public class OpenApkUtils {
sendRuningApp(packageName);
}
} else {
ToastUtil.show("网课模式只允许使用指定应用");
ToastUtil.show("专注模式只允许使用指定应用");
}
}
@@ -210,7 +210,7 @@ public class OpenApkUtils {
sendRuningApp(packageName);
}
} else {
ToastUtil.show("网课模式只允许使用指定应用");
ToastUtil.show("专注模式只允许使用指定应用");
}
}
@@ -225,7 +225,7 @@ public class OpenApkUtils {
sendRuningApp(packageName);
}
} else {
ToastUtil.show("网课模式只允许使用指定应用");
ToastUtil.show("专注模式只允许使用指定应用");
}
}
@@ -240,7 +240,7 @@ public class OpenApkUtils {
sendRuningApp(packageName);
}
} else {
ToastUtil.show("网课模式只允许使用指定应用");
ToastUtil.show("专注模式只允许使用指定应用");
}
}
@@ -251,7 +251,7 @@ public class OpenApkUtils {
if (isCloudLessonMod(packageName)) {
openApp(packageName, className);
} else {
ToastUtil.show("网课模式只允许使用指定应用");
ToastUtil.show("专注模式只允许使用指定应用");
}
}
@@ -266,7 +266,7 @@ public class OpenApkUtils {
sendRuningApp(packageName);
}
} else {
ToastUtil.show("网课模式只允许使用指定应用");
ToastUtil.show("专注模式只允许使用指定应用");
}
}
@@ -281,7 +281,7 @@ public class OpenApkUtils {
sendRuningApp(packageName);
}
} else {
ToastUtil.show("网课模式只允许使用指定应用");
ToastUtil.show("专注模式只允许使用指定应用");
}
}
@@ -311,14 +311,14 @@ public class OpenApkUtils {
if (!checkActivation()) {
return;
}
String packageName = JxwPackageConfig.JXW_LABORATORY_PACKAGE_NAME;
String className = JxwPackageConfig.JXW_writing_CLASS_NAME;
String packageName = JxwPackageConfig.JXW_WRITING_PACKAGE_NAME;
String className = JxwPackageConfig.JXW_WRITING_CLASS_NAME;
if (isCloudLessonMod(packageName)) {
if (openPackageWithArgs(packageName, className, "StartArgs", "小学")) {
sendRuningApp(packageName);
}
} else {
ToastUtil.show("网课模式只允许使用指定应用");
ToastUtil.show("专注模式只允许使用指定应用");
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@@ -125,7 +125,7 @@
android:layout_marginEnd="@dimen/dp_4"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@drawable/com_android_clean"
android:src="@drawable/com_uiui_sn"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -134,7 +134,7 @@
android:id="@+id/tv_appname2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="平板管家"
android:text="我的设备"
android:textColor="@color/white"
android:textSize="@dimen/sp_7"
app:layout_constraintEnd_toEndOf="@+id/iv_icon2"

View File

@@ -125,7 +125,7 @@
android:layout_marginEnd="@dimen/dp_4"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@drawable/com_android_clean"
android:src="@drawable/com_mediatek_filemanager"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -134,7 +134,7 @@
android:id="@+id/tv_appname2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="平板管家"
android:text="文件"
android:textColor="@color/white"
android:textSize="@dimen/sp_7"
app:layout_constraintEnd_toEndOf="@+id/iv_icon2"

View File

@@ -126,7 +126,7 @@
android:layout_marginEnd="@dimen/dp_4"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@drawable/com_android_clean"
android:src="@drawable/com_uiui_sn"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -135,7 +135,7 @@
android:id="@+id/tv_appname2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="平板管家"
android:text="我的设备"
android:textColor="@color/white"
android:textSize="@dimen/sp_7"
app:layout_constraintEnd_toEndOf="@+id/iv_icon2"

View File

@@ -51,7 +51,7 @@
android:textSize="@dimen/sp_18"
android:textStyle="bold"
android:visibility="visible"
tools:text="退出关怀系统" />
tools:text="退出智慧课堂" />
</LinearLayout>
<EditText

View File

@@ -1,5 +1,5 @@
<resources>
<string name="app_name">学习桌面</string>
<string name="app_name">智慧课堂</string>
<string name="privacy_agreement"><u>隐私协议</u></string>
<string name="privacy_agreement_title">服务协议和隐私政策</string>