version:1.3.5

fix:
update:增加学习资源下载,修复退出桌面再进入卡顿,增加语音助手
This commit is contained in:
2023-04-23 11:08:44 +08:00
parent eef000be87
commit 3346ffca88
29 changed files with 982 additions and 109 deletions

View File

@@ -66,6 +66,7 @@
<activity
android:name=".activity.main.MainActivity"
android:clearTaskOnLaunch="true"
android:configChanges="orientation|screenSize|smallestScreenSize|keyboard|keyboardHidden|navigation|touchscreen"
android:enabled="true"
android:excludeFromRecents="true"
android:launchMode="singleTask"
@@ -73,7 +74,6 @@
android:resumeWhilePausing="true"
android:screenOrientation="userLandscape"
android:stateNotNeeded="true"
android:configChanges="orientation|screenSize|smallestScreenSize|keyboard|keyboardHidden|navigation|touchscreen"
android:windowSoftInputMode="adjustPan">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -96,6 +96,10 @@
<activity
android:name=".activity.more.MoreAppActivity"
android:launchMode="singleTask" />
<activity
android:name=".activity.ScreenLockActivity"
android:configChanges="keyboardHidden"
android:launchMode="singleTask" />
<receiver
android:name=".receiver.BootReceiver"
@@ -218,7 +222,8 @@
<intent-filter>
<action android:name="android.intent.action" />
</intent-filter>
</activity> <!-- 【必须】 信鸽receiver广播接收 -->
</activity>
<!-- 【必须】 信鸽receiver广播接收 -->
<receiver
android:name="com.tencent.android.tpush.XGPushReceiver"
android:exported="false"

View File

@@ -23,4 +23,6 @@ interface IGetInfoInterface {
void setDefaultLauncher(String pkg);
//获取应用使用时长
String getAppUsedStatistics();
//获取应用市场app
List<String> getAdminApp();
}

View File

@@ -0,0 +1,169 @@
package com.uiui.zyos.activity;
import android.content.Context;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.Nullable;
import com.tuo.customview.VerificationCodeView;
import com.uiui.zyos.R;
import com.uiui.zyos.base.BaseActivity;
import com.uiui.zyos.config.CommonConfig;
import com.uiui.zyos.manager.RemoteManager;
import com.uiui.zyos.utils.ApkUtils;
import butterknife.BindView;
import butterknife.ButterKnife;
public class ScreenLockActivity extends BaseActivity {
private static final String TAG = ScreenLockActivity.class.getSimpleName();
@BindView(R.id.bt_0)
Button bt0;
@BindView(R.id.bt_1)
Button bt1;
@BindView(R.id.bt_2)
Button bt2;
@BindView(R.id.bt_3)
Button bt3;
@BindView(R.id.bt_4)
Button bt4;
@BindView(R.id.bt_5)
Button bt5;
@BindView(R.id.bt_6)
Button bt6;
@BindView(R.id.bt_7)
Button bt7;
@BindView(R.id.bt_8)
Button bt8;
@BindView(R.id.bt_9)
Button bt9;
@BindView(R.id.bt_del)
Button bt_del;
@BindView(R.id.bt_confirm)
Button bt_confirm;
@BindView(R.id.textView)
TextView textView;
@BindView(R.id.tv_hint)
TextView tv_hint;
@BindView(R.id.ll_keyboard)
LinearLayout ll_keyboard;
@BindView(R.id.icv)
VerificationCodeView codeView;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
}
@Override
public int getLayoutId() {
return R.layout.activity_screen_lock;
}
@Override
public void initView() {
ButterKnife.bind(this);
InputMethodManager imm = (InputMethodManager) ScreenLockActivity.this.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(codeView.getWindowToken(), 0);
codeView.getEditText().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ll_keyboard.setVisibility(View.VISIBLE);
}
});
codeView.setInputCompleteListener(new VerificationCodeView.InputCompleteListener() {
@Override
public void inputComplete() {
}
@Override
public void deleteContent() {
}
});
bt_del.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
tv_hint.setText("");
codeView.clearInputContent();
}
});
bt_confirm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String content = codeView.getInputContent();
if (TextUtils.isEmpty(content)) {
return;
}
Log.e(TAG, "inputComplete: " + content);
String password = Settings.Global.getString(getContentResolver(), CommonConfig.DEFAULT_PASSWORD);
if ((!TextUtils.isEmpty(content) && !TextUtils.isEmpty(password))) {
if (password.equals(content)) {
exitDesktop();
} else {
tv_hint.setText("密码错误");
}
} else if (CommonConfig.DEFAULT_PASSWORD.equals(content)) {
exitDesktop();
} else {
// ToastUtil.show("密码错误");
tv_hint.setText("密码错误");
}
}
});
bt0.setOnClickListener(view1 -> add(codeView, "0"));
bt1.setOnClickListener(view1 -> add(codeView, "1"));
bt2.setOnClickListener(view1 -> add(codeView, "2"));
bt3.setOnClickListener(view1 -> add(codeView, "3"));
bt4.setOnClickListener(view1 -> add(codeView, "4"));
bt5.setOnClickListener(view1 -> add(codeView, "5"));
bt6.setOnClickListener(view1 -> add(codeView, "6"));
bt7.setOnClickListener(view1 -> add(codeView, "7"));
bt8.setOnClickListener(view1 -> add(codeView, "8"));
bt9.setOnClickListener(view1 -> add(codeView, "9"));
}
@Override
public void initData() {
}
private void add(VerificationCodeView codeView, String text) {
Log.e(TAG, "add: text = " + text);
String oldText = codeView.getEditText().getText().toString();
Log.e(TAG, "add: " + oldText);
codeView.getEditText().setText(text);
}
private void exitDesktop() {
RemoteManager.getInstance().setDefaultDesktop(ApkUtils.ANDROID_LAUNCHER3_PACKAGE_NAME);
if (Build.VERSION.SDK_INT> Build.VERSION_CODES.Q) {
if (!ApkUtils.openPackage(this, ApkUtils.ANDROID_LAUNCHER3_PACKAGE_NAME, ApkUtils.ANDROID_LAUNCHER3_Quickstep_CLASS_NAME)) {
ApkUtils.gotoLauncher(this);
}
}else {
if (!ApkUtils.openPackage(this, ApkUtils.ANDROID_LAUNCHER3_PACKAGE_NAME, ApkUtils.ANDROID_LAUNCHER3_CLASS_NAME)) {
ApkUtils.gotoLauncher(this);
}
}
this.finish();
System.exit(0);
}
}

View File

@@ -21,6 +21,7 @@ import android.view.KeyEvent;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.TranslateAnimation;
import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.ConstraintLayout;
@@ -43,6 +44,7 @@ import com.uiui.zyos.fragment.user.UserFragment;
import com.uiui.zyos.jxw.JxwPackageConfig;
import com.uiui.zyos.manager.RemoteManager;
import com.uiui.zyos.service.NotificationService;
import com.uiui.zyos.utils.ApkUtils;
import com.uiui.zyos.utils.HomeWatcher;
import com.uiui.zyos.utils.OpenApkUtils;
import com.uiui.zyos.utils.ToastUtil;
@@ -85,6 +87,8 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
@BindView(R.id.cl_7)
ConstraintLayout cl_7;
@BindView(R.id.iv_robot)
ImageView iv_robot;
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
@@ -127,9 +131,8 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
mFragments.add(mSubjectFragment);
mBaseFragmentPagerAdapter = new BaseFragmentPagerAdapter(mFragmentManager, mFragments);
mViewPager.setAdapter(mBaseFragmentPagerAdapter);
mViewPager.setOffscreenPageLimit(2);
mViewPager.setOffscreenPageLimit(4);
mViewPager.setCurrentItem(defaultCurrent);
scaleCircleNavigator = new ScaleCircleNavigator(this);
@@ -194,7 +197,12 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
mViewPager.setCurrentItem(defaultCurrent);
mMagicIndicator.onPageSelected(defaultCurrent);
}
iv_robot.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_VOICE_PACKAGE_NAME, JxwPackageConfig.JXW_VOICE_CLASS_NAME);
}
});
cl_0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@@ -255,7 +263,12 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
@Override
public void onConnected() {
Log.e(TAG, "onConnected: ");
RemoteManager.getInstance().setDefaultDesktop(BuildConfig.APPLICATION_ID);
int is_activation = Settings.Global.getInt(getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0);
if (is_activation == 0) {
RemoteManager.getInstance().setDefaultDesktop(ApkUtils.ANDROID_LAUNCHER3_PACKAGE_NAME);
} else {
RemoteManager.getInstance().setDefaultDesktop(BuildConfig.APPLICATION_ID);
}
}
public static void toggleNotificationListenerService(Context context) {
@@ -366,7 +379,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
@Override
protected void onSaveInstanceState(@NonNull Bundle outState) {
super.onSaveInstanceState(outState);
// super.onSaveInstanceState(outState);
Log.e(TAG, "onSaveInstanceState: ");
Log.e(TAG, "onSaveInstanceState: " + System.currentTimeMillis());
}

View File

@@ -44,6 +44,8 @@ public class BaseApplication extends Application {
}
private void init() {
if (BuildConfig.DEBUG) {
}
if (SystemUtils.isMainProcessName(this, android.os.Process.myPid())) {
String rootDir = MMKV.initialize(this);
Log.e(TAG, "mmkv root: " + rootDir);

View File

@@ -28,7 +28,8 @@ public class SnInfo implements Serializable {
String mobile;
String avatar;
long binding_time;
long study_time;
String study_time_ranking;
/*
*3 商用——企业用户
@@ -193,6 +194,22 @@ public class SnInfo implements Serializable {
this.type_id = type_id;
}
public Long getStudy_time() {
return study_time;
}
public void setStudy_time(long study_time) {
this.study_time = study_time;
}
public String getStudy_time_ranking() {
return study_time_ranking;
}
public void setStudy_time_ranking(String study_time_ranking) {
this.study_time_ranking = study_time_ranking;
}
@NonNull
@Override
public String toString() {

View File

@@ -9,7 +9,7 @@ public class CommonConfig {
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 DEFAULT_PASSWORD = "666666";
/*是否激活接口请求缓存*/
public static final String ACTIVATIONBEAN_KEY = "IFLYTEK_UIUI_ACTIVATIONBEAN_KEY";
@@ -29,4 +29,6 @@ public class CommonConfig {
public static final String MAP_ERROR_KEY = "map_error_key";
public static final String SETTING_OTHER_APPINSTALLER_KEY = "setting_other_appInstaller";
/*应用市场的app列表*/
public final static String ADMIN_APP_LIST = "only_admin_app_list";
}

View File

@@ -44,7 +44,7 @@ public class SubjectFragment extends BaseFragment {
@BindView(R.id.viewPager)
ViewPager mViewPager;
private String[] title = new String[]{"精准学", "语文", "数学", "英语", "物理", "化学", "生物", "综合",};
private String[] title = new String[]{"AI精准学", "语文", "数学", "英语", "物理", "化学", "生物", "综合",};
private View rootView;
private FragmentActivity mContext;
@@ -75,6 +75,8 @@ public class SubjectFragment extends BaseFragment {
public SubjectFragment() {
// Required empty public constructor
Log.e(TAG, "SubjectFragment: ");
long time = System.currentTimeMillis();
Log.e(TAG, "SubjectFragment: start " + time);
mFragments = new ArrayList<>();
mPrecisionFragment = new PrecisionFragment();
mChineseFragment = new ChineseFragment();
@@ -92,6 +94,7 @@ public class SubjectFragment extends BaseFragment {
mFragments.add(mChemicalFragment);
mFragments.add(mBiologyFragment);
mFragments.add(mComplexFragment);
Log.e(TAG, "SubjectFragment: end = " + (System.currentTimeMillis() - time));
}
/**
@@ -167,11 +170,15 @@ public class SubjectFragment extends BaseFragment {
}
private void initView() {
long time = System.currentTimeMillis();
Log.e(TAG, "initView: start " + time);
mFragmentManager = getChildFragmentManager();
mBaseFragmentPagerAdapter = new BaseFragmentPagerAdapter(mFragmentManager, mFragments);
mViewPager.setAdapter(mBaseFragmentPagerAdapter);
mViewPager.setOffscreenPageLimit(8);
mViewPager.setOffscreenPageLimit(10);
mViewPager.setOnPageChangeListener(mListener);
main_sliding_tab_layout.setViewPager(mViewPager, title);
Log.e(TAG, "initView: end = " + (System.currentTimeMillis() - time));
}
}

View File

@@ -28,6 +28,7 @@ import com.bumptech.glide.Glide;
import com.shehuan.niv.NiceImageView;
import com.tencent.mmkv.MMKV;
import com.uiui.zyos.R;
import com.uiui.zyos.activity.ScreenLockActivity;
import com.uiui.zyos.activity.more.MoreAppActivity;
import com.uiui.zyos.adapter.AppAdapter;
import com.uiui.zyos.base.BaseFragment;
@@ -36,8 +37,11 @@ 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.dialog.SingleDialog;
import com.uiui.zyos.jxw.JxwPackageConfig;
import com.uiui.zyos.manager.RemoteManager;
import com.uiui.zyos.utils.ApkUtils;
import com.uiui.zyos.utils.OpenApkUtils;
import com.uiui.zyos.utils.TimeUtils;
import com.uiui.zyos.utils.ToastUtil;
import com.uiui.zyos.view.RecyclerViewSpacesItemDecoration;
@@ -76,6 +80,8 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
TextView tv_percent;
@BindView(R.id.tv_activated)
TextView tv_activated;
@BindView(R.id.tv_activated2)
TextView tv_activated2;
@BindView(R.id.tv_duration)
TextView tv_duration;
@BindView(R.id.cl_activation)
@@ -187,7 +193,16 @@ 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, "com.uiui.zy", "com.uiui.zy.activity.main.MainActivity"));
tv_activated2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_LAUNCHER_PACKAGE_NAME, JxwPackageConfig.JXW_LAUNCHER_UPDATE_CLASS_NAME);
}
});
tv_activated.setOnClickListener(view -> {
// ApkUtils.openPackage(mContext, "com.uiui.zy", "com.uiui.zy.activity.main.MainActivity");
OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_LAUNCHER_PACKAGE_NAME, JxwPackageConfig.JXW_LAUNCHER_UPDATE_CLASS_NAME);
});
iv_avatar.setOnClickListener(view -> ApkUtils.openPackage(mContext, "com.uiui.zy", "com.uiui.zy.activity.main.MainActivity"));
registerOwnReceiver();
String name = mMMKV.decodeString("USERINFO_NAME", "");
@@ -216,7 +231,13 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
Intent intent = new Intent("Receiver_Refresh_Password_Action");
intent.setPackage("com.uiui.zy");
mContext.sendBroadcast(intent);
showPassword();
int is_activation = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0);
if (is_activation == 1) {
showPassword();
} else {
exitDesktop();
}
}
});
tv_activation.setOnClickListener(new View.OnClickListener() {
@@ -251,38 +272,58 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
rv_app.setAdapter(mAppAdapter);
}
private void showPassword() {
PasswordDialog passwordDialog = new PasswordDialog(mContext);
passwordDialog.setTitle("退出智慧课堂");
passwordDialog.setOnClickBottomListener(new PasswordDialog.OnClickBottomListener() {
private void showSingleDialog() {
SingleDialog singleDialog = new SingleDialog(mContext);
singleDialog.setTitle("温馨提示");
singleDialog.setMessage("退出请绑定小程序后设置退出密码");
singleDialog.setOnClickBottomListener(new SingleDialog.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();
singleDialog.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);
singleDialog.show();
singleDialog.getWindow().setGravity(Gravity.CENTER);
singleDialog.setCancelable(true);
}
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())) {
// passwordDialog.dismiss();
// exitDesktop();
// } 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);
startActivity(new Intent(mContext, ScreenLockActivity.class));
}
private void exitDesktop() {
RemoteManager.getInstance().setDefaultDesktop(ApkUtils.ANDROID_LAUNCHER3_PACKAGE_NAME);
if (!ApkUtils.openPackage(mContext, ApkUtils.ANDROID_LAUNCHER3_PACKAGE_NAME, ApkUtils.ANDROID_LAUNCHER3_CLASS_NAME)) {
ApkUtils.gotoLauncher(mContext);
}
mContext.finish();
System.exit(0);
}
private void setButtonVisibility() {
@@ -292,7 +333,7 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
tv_exit.setVisibility(View.VISIBLE);
tv_activation.setVisibility(View.VISIBLE);
} else {
int isReturnAndroid = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_RETURN_ANDROID_KEY, 0);
int isReturnAndroid = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_RETURN_ANDROID_KEY, 1);
if (isReturnAndroid == 0) {
tv_exit.setVisibility(View.INVISIBLE);
} else {
@@ -347,6 +388,9 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
} else {
tv_grade.setText(grade);
}
tv_percent.setText(snInfo.getStudy_time_ranking() + "%");
tv_duration.setText(String.format(getString(R.string.today_study_time), TimeUtils.formatTime(snInfo.getStudy_time())));
cl_nodata.setVisibility(View.GONE);
cl_usedata.setVisibility(View.VISIBLE);
cl_activation.setVisibility(View.GONE);
@@ -375,6 +419,7 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
default:
}
}
setButtonVisibility();
mPresenter.getQrCode();
}
@@ -401,7 +446,7 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
public void setAppUsedStatistics(long time) {
Log.e(TAG, "setAppUsedStatistics: " + time);
String useTime = TimeUtils.formatTime(time);
tv_duration.setText(String.format(getString(R.string.today_study_time), useTime));
// tv_duration.setText(String.format(getString(R.string.today_study_time), useTime));
}
private void registerOwnReceiver() {

View File

@@ -4,6 +4,7 @@ public class JxwPackageConfig {
/*注册桌面*/
public static final String JXW_LAUNCHER_PACKAGE_NAME = "com.jxw.launcher";
public static final String JXW_LAUNCHER_CLASS_NAME = "com.jht.engine.platsign.PlatformService";
public static final String JXW_LAUNCHER_UPDATE_CLASS_NAME = "com.jxw.engine.platsign.UpdateActivity";
/*同步视频*/
public static final String JXW_VIDEO_PACKAGE_NAME = "com.jxw.newyouer.video";
public static final String JXW_VIDEO_CLASS_NAME = "com.jxw.newyouer.activity.ExecellentActivity";
@@ -83,5 +84,7 @@ public class JxwPackageConfig {
/*连词成句*/
public static final String JXW_Conjunctions_PACKAGE_NAME = "com.jxw.liancichengju";
public static final String JXW_Conjunctions_CLASS_NAME = "com.jxw.liancichengju.MainActivity";
/*智能语音*/
public static final String JXW_VOICE_PACKAGE_NAME = "com.iflytek.cyber.iot.show.core";
public static final String JXW_VOICE_CLASS_NAME = "com.iflytek.cyber.iot.show.core.EvsLauncherActivity";
}

View File

@@ -46,6 +46,8 @@ public class RemoteManager {
public static final String SN_PACKAGE_NAME = "com.uiui.zy";
private static final String SN_SERVICE_NAME = "com.uiui.zy.service.RemoteService";
private static final String SN_KEY = "sn_serial_key";
private RemoteManager(Context context) {
if (context == null) {
throw new RuntimeException("Context is NULL");
@@ -62,10 +64,20 @@ public class RemoteManager {
}
getLocation();
try {
Log.e(TAG, "onServiceConnected: macaddr = " + mGetInfoInterface.getSerial());
String sn = mGetInfoInterface.getSerial();
mMMKV.encode(SN_KEY, sn);
Log.e(TAG, "onServiceConnected: sn = " + sn);
} catch (RemoteException e) {
e.printStackTrace();
}
try {
List<String> pkgs = mGetInfoInterface.getAdminApp();
Log.e(TAG, "onServiceConnected: pkgs = " + pkgs);
mMMKV.encode(CommonConfig.ADMIN_APP_LIST, new HashSet<>(pkgs));
} catch (RemoteException e) {
e.printStackTrace();
}
Log.e(TAG, "onServiceConnected: " + getSerial());
aliyunPushInit();
}
@@ -190,7 +202,7 @@ public class RemoteManager {
} else {
bindInfoService();
}
return "";
return mMMKV.decodeString(SN_KEY, "");
}
public void getLocation() {
@@ -298,11 +310,27 @@ public class RemoteManager {
}
public void setDefaultDesktop(String pkg) {
try {
mGetInfoInterface.setDefaultLauncher(pkg);
} catch (RemoteException e) {
Log.e(TAG, "setDefaultDesktop: " + e.getMessage());
e.printStackTrace();
if (mGetInfoInterface != null) {
try {
mGetInfoInterface.setDefaultLauncher(pkg);
} catch (RemoteException e) {
Log.e(TAG, "setDefaultDesktop: " + e.getMessage());
e.printStackTrace();
}
}
}
public List<String> getAdminApp() {
if (mGetInfoInterface != null) {
try {
List<String> pkgs = mGetInfoInterface.getAdminApp();
return pkgs;
} catch (RemoteException e) {
Log.e(TAG, "setDefaultDesktop: " + e.getMessage());
e.printStackTrace();
}
}
Set<String> packages = mMMKV.decodeStringSet(CommonConfig.ADMIN_APP_LIST, new HashSet<>());
return new ArrayList<>(packages);
}
}

View File

@@ -21,6 +21,7 @@ import com.uiui.zyos.BuildConfig;
import com.uiui.zyos.R;
import com.uiui.zyos.bean.DesktopIcon;
import com.uiui.zyos.config.CommonConfig;
import com.uiui.zyos.manager.RemoteManager;
import com.uiui.zyos.receiver.InstallResultReceiver;
import java.io.File;
@@ -93,26 +94,27 @@ public class ApkUtils {
private static HashSet<String> showPackageName = new HashSet<String>() {{
this.add("com.android.dialer");
this.add("com.android.gallery3d");
this.add("com.android.settings");
// this.add("com.android.gallery3d");
// this.add("com.android.settings");
this.add("com.android.messaging");
this.add("com.android.camera2");
this.add("com.mediatek.camera");
this.add("com.android.mms");
this.add("com.uiui.city");
this.add("com.android.fmradio");
this.add("com.android.documentsui");
// this.add("com.uiui.city");
// this.add("com.android.fmradio");
// this.add("com.android.documentsui");
this.add("com.android.calculator2");
this.add("cn.wps.moffice_eng");
this.add("com.baidu.searchbox.lite");
this.add("com.ss.android.article.video");
this.add("com.ss.android.ugc.aweme");
this.add("com.smile.gifmaker");
this.add("com.kuaikan.comic");
this.add("com.jxw.launcher");
this.add("com.tencent.android.qqdownloader");
this.add("com.alldocube.store");
this.add("com.android.calendar");
// this.add("cn.wps.moffice_eng");
// this.add("com.baidu.searchbox.lite");
// this.add("com.ss.android.article.video");
// this.add("com.ss.android.ugc.aweme");
// this.add("com.smile.gifmaker");
// this.add("com.kuaikan.comic");
// this.add("com.jxw.launcher");
// this.add("com.tencent.android.qqdownloader");
// this.add("com.alldocube.store");
// this.add("com.android.calendar");
this.add("com.mediatek.camera");
this.add("com.uiui.zybrowser");
}};
private static HashSet<String> allHintPackage = new HashSet<String>() {{
this.add("com.android.uiuios");
@@ -120,6 +122,7 @@ public class ApkUtils {
public static final String ANDROID_LAUNCHER3_PACKAGE_NAME = "com.android.launcher3";
public static final String ANDROID_LAUNCHER3_CLASS_NAME = "com.android.launcher3.Launcher";
public static final String ANDROID_LAUNCHER3_Quickstep_CLASS_NAME = "com.android.launcher3.uioverrides.QuickstepLauncher";
private static String TAG = ApkUtils.class.getSimpleName();
@@ -198,7 +201,7 @@ public class ApkUtils {
Set<String> allowPackages = new HashSet();
for (ResolveInfo resolveInfo : resolveinfoList) {
Log.i(TAG, "queryFilterAppInfo: " + resolveInfo.activityInfo.packageName);
Log.i(TAG, "queryFilterAppInfo: " + resolveInfo.activityInfo.name);
Log.i(TAG, "queryFilterAppInfo: class: " + resolveInfo.activityInfo.name);
allowPackages.add(resolveInfo.activityInfo.packageName);
}
String appListString = Settings.System.getString(context.getContentResolver(), "only_jgy_shortcut_list");
@@ -206,26 +209,34 @@ public class ApkUtils {
if (!TextUtils.isEmpty(appListString)) {
packageList = new ArrayList<>(Arrays.asList(appListString.split(",")));
}
int setting_other_appInstaller = Settings.Global.getInt(context.getContentResolver(), CommonConfig.SETTING_OTHER_APPINSTALLER_KEY, 1);
List<String> adminApp = RemoteManager.getInstance().getAdminApp();
Log.i(TAG, "queryFilterAppInfo: adminapp = " + adminApp);
for (ResolveInfo resolveInfo : resolveinfoList) {
String pkg = resolveInfo.activityInfo.packageName;
if (appIsDisable(context, pkg)) {
Log.e(TAG, "queryFilterAppInfo: disable = " + pkg);
continue;
}
if (isSystemApp(context, pkg))//通过flag排除系统应用会将电话、短信也排除掉
{
// if (showPackageName.contains(pkg)) {
// resolveInfos.add(resolveInfo);
// }
if (showPackageName.contains(pkg)) {
resolveInfos.add(resolveInfo);
}
} else {
// int setting_other_appInstaller = Settings.Global.getInt(context.getContentResolver(), CommonConfig.SETTING_OTHER_APPINSTALLER_KEY, 1);
// if (setting_other_appInstaller == 0) {//不显示自己安装的
// if (packageList.contains(pkg)) {
// resolveInfos.add(resolveInfo);
// }
// } else {
if (allowPackages.contains(pkg) && !excludePackageName.contains(pkg)) {
resolveInfos.add(resolveInfo);
if (adminApp.contains(pkg)) {
resolveInfos.add(resolveInfo);
} else if (showPackageName.contains(pkg)) {
resolveInfos.add(resolveInfo);
}
}
// }
}
@@ -378,6 +389,7 @@ public class ApkUtils {
context.startActivity(intent);
} catch (Exception e) {
Log.e(TAG, "openPackage: " + e.getMessage());
return false;
}
return true;
}
@@ -592,9 +604,19 @@ public class ApkUtils {
}
public static void gotoLauncher(Context context) {
Intent i = new Intent(Intent.ACTION_MAIN);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //android123提示如果是服务里调用必须加入new task标识
i.addCategory(Intent.CATEGORY_HOME);
context.startActivity(i);
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.Q) {
Intent homeIntent = new Intent(Intent.ACTION_MAIN);
homeIntent.setPackage("com.android.launcher3");
homeIntent.addCategory(Intent.CATEGORY_HOME);
homeIntent.addCategory(Intent.CATEGORY_DEFAULT);
homeIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(homeIntent);
} else {
Intent i = new Intent(Intent.ACTION_MAIN);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //android123提示如果是服务里调用必须加入new task标识
i.addCategory(Intent.CATEGORY_HOME);
i.addCategory(Intent.CATEGORY_DEFAULT);
context.startActivity(i);
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 内部颜色 -->
<solid android:color="@color/white" />
<!-- 圆角的幅度 -->
<corners android:radius="12dp" />
<padding
android:bottom="4dp"
android:left="4dp"
android:right="4dp"
android:top="4dp" />
</shape>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#F2F2F2" />
<!-- 大小 -->
<size
android:width="25dp"
android:height="25dp" /><!-- 宽度和高度 -->
<corners android:radius="12dp" />
<stroke
android:width="1dp"
android:color="#A6D8EB" />
</shape>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#F2F2F2" />
<!-- 大小 -->
<size
android:width="25dp"
android:height="25dp" /><!-- 宽度和高度 -->
<corners android:radius="12dp" />
<stroke
android:width="1dp"
android:color="#C7C7CD" />
</shape>

View File

@@ -30,6 +30,18 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<ImageView
android:id="@+id/iv_robot"
android:layout_width="@dimen/dp_32"
android:layout_height="@dimen/dp_32"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:layout_marginEnd="@dimen/dp_8"
android:src="@drawable/robot"
app:layout_constraintBottom_toBottomOf="@+id/constraintLayout2"
app:layout_constraintEnd_toStartOf="@+id/constraintLayout2"
app:layout_constraintTop_toBottomOf="@+id/magicIndicator" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout2"
android:layout_width="wrap_content"
@@ -84,6 +96,7 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_1"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="match_parent">
@@ -144,6 +157,7 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_3"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="match_parent">
@@ -174,6 +188,7 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_4"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="match_parent">
@@ -204,6 +219,7 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_5"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="match_parent">

View File

@@ -0,0 +1,226 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/float_window_color">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="退出系统"
android:textStyle="bold"
android:textColor="@color/white"
android:textSize="@dimen/sp_15"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.065" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_16"
android:maxLines="1"
android:singleLine="true"
android:textColor="@color/white"
android:textSize="@dimen/sp_14"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView" />
<com.tuo.customview.VerificationCodeView
android:id="@+id/icv"
android:layout_width="wrap_content"
android:layout_height="@dimen/sp_32"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/dp_16"
app:icv_et_bg_focus="@drawable/shape_icv_et_bg_focus1"
app:icv_et_bg_normal="@drawable/shape_icv_et_bg_normal1"
app:icv_et_divider_drawable="@drawable/shape_divider_identifying"
app:icv_et_number="6"
app:icv_et_pwd_radius="10dp"
app:icv_et_text_color="#000000"
app:icv_et_width="@dimen/sp_32"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView4" />
<TextView
android:id="@+id/tv_hint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_16"
android:text=""
android:textColor="@color/white"
android:textSize="@dimen/sp_12"
app:layout_constraintEnd_toEndOf="@+id/icv"
app:layout_constraintStart_toStartOf="@+id/icv"
app:layout_constraintTop_toBottomOf="@+id/icv" />
<LinearLayout
android:id="@+id/ll_keyboard"
android:layout_width="@dimen/dp_200"
android:layout_height="@dimen/dp_160"
android:orientation="vertical"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_hint">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal">
<Button
android:id="@+id/bt_1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/dp_2"
android:layout_weight="1"
android:background="@drawable/shape_bt_bg"
android:text="1"
android:textSize="@dimen/sp_14" />
<Button
android:id="@+id/bt_2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/dp_2"
android:layout_weight="1"
android:background="@drawable/shape_bt_bg"
android:text="2"
android:textSize="@dimen/sp_14" />
<Button
android:id="@+id/bt_3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/dp_2"
android:layout_weight="1"
android:background="@drawable/shape_bt_bg"
android:text="3"
android:textSize="@dimen/sp_14" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal">
<Button
android:id="@+id/bt_4"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/dp_2"
android:layout_weight="1"
android:background="@drawable/shape_bt_bg"
android:text="4"
android:textSize="@dimen/sp_14" />
<Button
android:id="@+id/bt_5"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/dp_2"
android:layout_weight="1"
android:background="@drawable/shape_bt_bg"
android:text="5"
android:textSize="@dimen/sp_14" />
<Button
android:id="@+id/bt_6"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/dp_2"
android:layout_weight="1"
android:background="@drawable/shape_bt_bg"
android:text="6"
android:textSize="@dimen/sp_14" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal">
<Button
android:id="@+id/bt_7"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/dp_2"
android:layout_weight="1"
android:background="@drawable/shape_bt_bg"
android:text="7"
android:textSize="@dimen/sp_14" />
<Button
android:id="@+id/bt_8"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/dp_2"
android:layout_weight="1"
android:background="@drawable/shape_bt_bg"
android:text="8"
android:textSize="@dimen/sp_14" />
<Button
android:id="@+id/bt_9"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/dp_2"
android:layout_weight="1"
android:background="@drawable/shape_bt_bg"
android:text="9"
android:textSize="@dimen/sp_14" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal">
<Button
android:id="@+id/bt_0"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="@dimen/dp_2"
android:layout_weight="1"
android:background="@drawable/shape_bt_bg"
android:text="0"
android:textSize="@dimen/sp_14" />
<Button
android:id="@+id/bt_del"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="@dimen/dp_2"
android:layout_weight="1"
android:background="@drawable/shape_bt_bg"
android:text="清除"
android:textSize="@dimen/sp_14" />
<Button
android:id="@+id/bt_confirm"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="@dimen/dp_2"
android:layout_weight="1"
android:background="@drawable/shape_bt_bg"
android:text="确认"
android:textSize="@dimen/sp_14" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -53,7 +53,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_8"
android:maxLines="1"
android:text="精准学"
android:text="AI精准学"
android:textColor="@color/white"
android:textSize="@dimen/sp_16"
app:layout_constraintBottom_toBottomOf="parent"

View File

@@ -12,10 +12,11 @@
<com.flyco.tablayout.SlidingTabLayout
android:id="@+id/main_sliding_tab_layout"
android:layout_width="@dimen/dp_420"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_24"
android:layout_marginStart="@dimen/dp_8"
android:layout_marginTop="@dimen/dp_2"
android:layout_marginEnd="@dimen/dp_64"
android:visibility="visible"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"

View File

@@ -145,6 +145,20 @@
android:layout_height="match_parent"
android:visibility="visible">
<TextView
android:id="@+id/tv_activated2"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_8"
android:layout_marginEnd="@dimen/dp_8"
android:background="@drawable/activation_bg"
android:gravity="center"
android:text="学习资源下载"
android:textColor="@color/white"
android:textSize="@dimen/sp_6"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/imageView12"
android:layout_width="@dimen/dp_68"
@@ -175,12 +189,12 @@
android:layout_height="wrap_content"
android:background="@drawable/bt_checkupdate_selector"
android:paddingStart="@dimen/dp_8"
android:paddingTop="@dimen/dp_2"
android:paddingTop="@dimen/dp_4"
android:paddingEnd="@dimen/dp_8"
android:paddingBottom="@dimen/dp_2"
android:paddingBottom="@dimen/dp_4"
android:text="点击激活学习系统"
android:textColor="@color/white"
android:textSize="@dimen/sp_12"
android:textSize="@dimen/sp_8"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -201,7 +215,7 @@
android:layout_marginEnd="@dimen/dp_8"
android:background="@drawable/activation_bg"
android:gravity="center"
android:text="设备已激活"
android:text="学习资源下载"
android:textColor="@color/white"
android:textSize="@dimen/sp_8"
app:layout_constraintEnd_toEndOf="parent"
@@ -251,7 +265,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_8"
android:maxLines="1"
android:text="@string/today_study_time"
tools:text="@string/today_study_time"
android:textColor="@color/white"
android:textSize="@dimen/sp_8"
app:layout_constraintEnd_toEndOf="parent"
@@ -286,7 +300,7 @@
android:maxLines="1"
android:text="2月14日 星期二"
android:textColor="@color/white"
android:textSize="@dimen/sp_12"
android:textSize="@dimen/sp_10"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -366,6 +380,7 @@
android:id="@+id/iv_device_qrcode"
android:layout_width="@dimen/dp_88"
android:layout_height="@dimen/dp_88"
android:src="@color/white"
android:layout_marginStart="@dimen/dp_16"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
@@ -416,8 +431,8 @@
<ImageView
android:id="@+id/imageView13"
android:layout_width="@dimen/dp_16"
android:layout_height="@dimen/dp_16"
android:layout_width="@dimen/dp_12"
android:layout_height="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_8"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
@@ -429,10 +444,10 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_8"
android:layout_marginEnd="@dimen/dp_4"
android:text="更多应用"
android:textColor="@color/white"
android:textSize="@dimen/sp_12"
android:textSize="@dimen/sp_10"
app:layout_constraintBottom_toBottomOf="@+id/imageView13"
app:layout_constraintEnd_toStartOf="@+id/imageView13"
app:layout_constraintTop_toTopOf="@+id/imageView13" />

View File

@@ -0,0 +1,226 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/float_window_color">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="退出系统"
android:textColor="@color/white"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.219" />
<TextView
android:id="@+id/textView4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_40"
android:layout_marginTop="@dimen/dp_16"
android:layout_marginEnd="@dimen/dp_40"
android:gravity="center"
android:maxLines="2"
android:textColor="@color/white"
android:textSize="@dimen/sp_14"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView" />
<com.tuo.customview.VerificationCodeView
android:id="@+id/icv"
android:layout_width="wrap_content"
android:layout_height="@dimen/sp_32"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/dp_16"
app:icv_et_bg_focus="@drawable/shape_icv_et_bg_focus1"
app:icv_et_bg_normal="@drawable/shape_icv_et_bg_normal1"
app:icv_et_divider_drawable="@drawable/shape_divider_identifying"
app:icv_et_number="6"
app:icv_et_pwd_radius="10dp"
app:icv_et_text_color="#000000"
app:icv_et_width="@dimen/sp_32"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView4" />
<TextView
android:id="@+id/tv_hint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_16"
android:text=""
android:textColor="@color/white"
android:textSize="@dimen/sp_12"
app:layout_constraintEnd_toEndOf="@+id/icv"
app:layout_constraintStart_toStartOf="@+id/icv"
app:layout_constraintTop_toBottomOf="@+id/icv" />
<LinearLayout
android:id="@+id/ll_keyboard"
android:layout_width="@dimen/dp_200"
android:layout_height="@dimen/dp_200"
android:layout_marginBottom="@dimen/dp_32"
android:orientation="vertical"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal">
<Button
android:id="@+id/bt_1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/dp_2"
android:layout_weight="1"
android:background="@drawable/shape_bt_bg"
android:text="1"
android:textSize="@dimen/sp_14" />
<Button
android:id="@+id/bt_2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/dp_2"
android:layout_weight="1"
android:background="@drawable/shape_bt_bg"
android:text="2"
android:textSize="@dimen/sp_14" />
<Button
android:id="@+id/bt_3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/dp_2"
android:layout_weight="1"
android:background="@drawable/shape_bt_bg"
android:text="3"
android:textSize="@dimen/sp_14" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal">
<Button
android:id="@+id/bt_4"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/dp_2"
android:layout_weight="1"
android:background="@drawable/shape_bt_bg"
android:text="4"
android:textSize="@dimen/sp_14" />
<Button
android:id="@+id/bt_5"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/dp_2"
android:layout_weight="1"
android:background="@drawable/shape_bt_bg"
android:text="5"
android:textSize="@dimen/sp_14" />
<Button
android:id="@+id/bt_6"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/dp_2"
android:layout_weight="1"
android:background="@drawable/shape_bt_bg"
android:text="6"
android:textSize="@dimen/sp_14" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal">
<Button
android:id="@+id/bt_7"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/dp_2"
android:layout_weight="1"
android:background="@drawable/shape_bt_bg"
android:text="7"
android:textSize="@dimen/sp_14" />
<Button
android:id="@+id/bt_8"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/dp_2"
android:layout_weight="1"
android:background="@drawable/shape_bt_bg"
android:text="8"
android:textSize="@dimen/sp_14" />
<Button
android:id="@+id/bt_9"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/dp_2"
android:layout_weight="1"
android:background="@drawable/shape_bt_bg"
android:text="9"
android:textSize="@dimen/sp_14" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal">
<Button
android:id="@+id/bt_0"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="@dimen/dp_2"
android:layout_weight="1"
android:background="@drawable/shape_bt_bg"
android:text="0"
android:textSize="@dimen/sp_14" />
<Button
android:id="@+id/bt_del"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="@dimen/dp_2"
android:layout_weight="1"
android:background="@drawable/shape_bt_bg"
android:text="清除"
android:textSize="@dimen/sp_14" />
<Button
android:id="@+id/bt_confirm"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="@dimen/dp_2"
android:layout_weight="1"
android:background="@drawable/shape_bt_bg"
android:text="确认"
android:textSize="@dimen/sp_14" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -30,6 +30,18 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<ImageView
android:id="@+id/iv_robot"
android:layout_width="@dimen/dp_32"
android:layout_height="@dimen/dp_32"
android:layout_marginEnd="@dimen/dp_8"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@drawable/robot"
app:layout_constraintBottom_toBottomOf="@+id/constraintLayout2"
app:layout_constraintEnd_toStartOf="@+id/constraintLayout2"
app:layout_constraintTop_toBottomOf="@+id/magicIndicator" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout2"
android:layout_width="wrap_content"
@@ -43,10 +55,10 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="@dimen/dp_4"
android:layout_marginTop="@dimen/dp_4"
android:layout_marginEnd="@dimen/dp_4"
android:layout_marginBottom="@dimen/dp_2"
android:layout_marginStart="@dimen/dp_4"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@@ -86,7 +98,8 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_1"
android:layout_width="wrap_content"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:visibility="gone">
<ImageView
android:id="@+id/iv_icon1"
@@ -146,7 +159,8 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_3"
android:layout_width="wrap_content"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:visibility="gone">
<ImageView
android:id="@+id/iv_icon3"
@@ -176,7 +190,8 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_4"
android:layout_width="wrap_content"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:visibility="gone">
<ImageView
android:id="@+id/iv_icon4"
@@ -206,7 +221,8 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_5"
android:layout_width="wrap_content"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:visibility="gone">
<ImageView
android:id="@+id/iv_icon5"

View File

@@ -53,7 +53,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_6"
android:maxLines="1"
android:text="精准学"
android:text="AI精准学"
android:textColor="@color/white"
android:textSize="@dimen/sp_12"
app:layout_constraintBottom_toBottomOf="parent"

View File

@@ -12,10 +12,11 @@
<com.flyco.tablayout.SlidingTabLayout
android:id="@+id/main_sliding_tab_layout"
android:layout_width="@dimen/dp_380"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_24"
android:layout_marginStart="@dimen/dp_8"
android:layout_marginTop="@dimen/dp_2"
android:layout_marginEnd="@dimen/dp_64"
android:visibility="visible"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"

View File

@@ -144,6 +144,20 @@
android:layout_height="match_parent"
android:visibility="visible">
<TextView
android:id="@+id/tv_activated2"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_8"
android:layout_marginEnd="@dimen/dp_8"
android:background="@drawable/activation_bg"
android:gravity="center"
android:text="学习资源下载"
android:textColor="@color/white"
android:textSize="@dimen/sp_5"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/imageView12"
android:layout_width="@dimen/dp_54"
@@ -180,7 +194,7 @@
android:paddingBottom="@dimen/dp_2"
android:text="点击激活学习系统"
android:textColor="@color/white"
android:textSize="@dimen/sp_9"
android:textSize="@dimen/sp_8"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -201,7 +215,7 @@
android:layout_marginEnd="@dimen/dp_8"
android:background="@drawable/activation_bg"
android:gravity="center"
android:text="设备已激活"
android:text="学习资源下载"
android:textColor="@color/white"
android:textSize="@dimen/sp_8"
app:layout_constraintEnd_toEndOf="parent"
@@ -314,7 +328,7 @@
android:layout_marginTop="@dimen/dp_16"
android:text="激活系统后,绑定设备"
android:textColor="@color/white"
android:textSize="@dimen/sp_8"
android:textSize="@dimen/sp_7"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_date1" />
@@ -369,6 +383,7 @@
android:layout_marginStart="@dimen/dp_12"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@color/white"
app:corner_radius="@dimen/dp_6"
app:layout_constraintStart_toEndOf="@+id/iv_progress"
app:layout_constraintTop_toTopOf="@+id/iv_applet_qrcode" />
@@ -416,8 +431,8 @@
<ImageView
android:id="@+id/imageView13"
android:layout_width="@dimen/dp_8"
android:layout_height="@dimen/dp_8"
android:layout_width="@dimen/dp_6"
android:layout_height="@dimen/dp_6"
android:layout_marginEnd="@dimen/dp_8"
android:adjustViewBounds="true"
android:scaleType="centerCrop"

View File

@@ -7,8 +7,8 @@
android:orientation="vertical">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="@dimen/dp_300"
android:layout_height="@dimen/dp_200"
android:layout_width="@dimen/dp_280"
android:layout_height="@dimen/dp_180"
android:layout_centerInParent="true"
android:background="@drawable/bg_dialog"
android:minWidth="@dimen/dp_240"
@@ -19,7 +19,6 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="wrap_content"
@@ -48,12 +47,10 @@
android:layout_gravity="center"
android:gravity="center_vertical"
android:textColor="@color/black"
android:textSize="@dimen/sp_18"
android:textSize="@dimen/sp_16"
android:textStyle="bold"
android:visibility="visible"
tools:text="消息提示" />
</LinearLayout>
<TextView

View File

@@ -35,4 +35,6 @@
<color name="percent_color">#E5B67B</color>
<color name="activation_color">#1F2135</color>
<color name="default_text_color">#6d888e</color>
<color name="float_window_color">#E5000000</color>
</resources>