diff --git a/app/build.gradle b/app/build.gradle
index f7ad324..629e976 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -16,8 +16,8 @@ android {
applicationId "com.uiui.zyos"
minSdkVersion 24
targetSdkVersion 29
- versionCode 3
- versionName "1.2"
+ versionCode 6
+ versionName "1.5"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 0316179..1b71f1f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -90,6 +90,7 @@
android:excludeFromRecents="true"
android:screenOrientation="portrait"
android:theme="@style/activity_styles" />
+
+
+
-
-
+
-
-
+ android:exported="false" />
-
-
-
+
-
-
+ android:value="AZZXANJF4HBD" />
-
+ android:value="333816243" />
+
\ No newline at end of file
diff --git a/app/src/main/aidl/com/uiui/zysn/IGetInfoInterface.aidl b/app/src/main/aidl/com/uiui/zysn/IGetInfoInterface.aidl
index 209048a..c4cad25 100644
--- a/app/src/main/aidl/com/uiui/zysn/IGetInfoInterface.aidl
+++ b/app/src/main/aidl/com/uiui/zysn/IGetInfoInterface.aidl
@@ -17,4 +17,8 @@ interface IGetInfoInterface {
String getMapResult();
//获取mac作为sn
String getPushMac();
+ //是否激活
+ boolean SnIsActivation();
+ //设置为默认桌面
+ void setDefaultLauncher(String pkg);
}
diff --git a/app/src/main/java/com/uiui/zyos/activity/main/MainActivity.java b/app/src/main/java/com/uiui/zyos/activity/main/MainActivity.java
index 1b631c4..5aa542f 100644
--- a/app/src/main/java/com/uiui/zyos/activity/main/MainActivity.java
+++ b/app/src/main/java/com/uiui/zyos/activity/main/MainActivity.java
@@ -1,5 +1,6 @@
package com.uiui.zyos.activity.main;
+import android.app.role.RoleManager;
import android.content.ActivityNotFoundException;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
@@ -9,7 +10,10 @@ import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.graphics.Color;
+import android.os.Build;
import android.os.Bundle;
+import android.os.Process;
+import android.os.UserHandle;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
@@ -28,12 +32,12 @@ import com.hjq.permissions.OnPermissionCallback;
import com.hjq.permissions.Permission;
import com.hjq.permissions.XXPermissions;
import com.tencent.mmkv.MMKV;
+import com.uiui.zyos.BuildConfig;
import com.uiui.zyos.R;
import com.uiui.zyos.base.BaseActivity;
import com.uiui.zyos.base.viewpager.BaseFragmentPagerAdapter;
import com.uiui.zyos.config.CommonConfig;
import com.uiui.zyos.dialog.PrivacyPolicyDialog;
-import com.uiui.zyos.fragment.main.MainFragment;
import com.uiui.zyos.fragment.subject.SubjectFragment;
import com.uiui.zyos.fragment.user.UserFragment;
import com.uiui.zyos.jxw.JxwPackageConfig;
@@ -48,6 +52,8 @@ import net.lucode.hackware.magicindicator.MagicIndicator;
import java.util.ArrayList;
import java.util.List;
+import java.util.concurrent.Executor;
+import java.util.function.Consumer;
import butterknife.BindView;
import butterknife.ButterKnife;
@@ -82,7 +88,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
private MainAPresenter mPresenter;
- private HomeWatcher mHomeWatcher;
+// private HomeWatcher mHomeWatcher;
private ScaleCircleNavigator scaleCircleNavigator;
@@ -90,7 +96,6 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
private BaseFragmentPagerAdapter mBaseFragmentPagerAdapter;
private List mFragments;
- private MainFragment mMainFragment;
private UserFragment mUserFragment;
private SubjectFragment mSubjectFragment;
private int defaultCurrent = 1;
@@ -111,7 +116,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
mFragmentManager = getSupportFragmentManager();
mFragments = new ArrayList<>();
- mUserFragment =new UserFragment();
+ mUserFragment = new UserFragment();
mSubjectFragment = new SubjectFragment();
mFragments.add(mUserFragment);
mFragments.add(mSubjectFragment);
@@ -138,31 +143,36 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
mSubjectFragment.setPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+ Log.e("mSubjectFragment", "onPageScrolled: position = " + position + " positionOffset = " + positionOffset + " positionOffsetPixels = " + positionOffsetPixels);
mMagicIndicator.onPageScrolled(position + 1, positionOffset, positionOffsetPixels);
}
@Override
public void onPageSelected(int position) {
+ Log.e("mSubjectFragment", "onPageSelected: position = " + position);
mMagicIndicator.onPageSelected(position + 1);
}
@Override
public void onPageScrollStateChanged(int state) {
- mMagicIndicator.onPageScrollStateChanged(state + 1);
+ Log.e("mSubjectFragment", "onPageSelected: state = " + state);
+ mMagicIndicator.onPageScrollStateChanged(state);
}
});
mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
-// Log.e(TAG, "onPageScrolled: position = " + position + " positionOffset = " + positionOffset + " positionOffsetPixels = " + positionOffsetPixels);
- if (position <= 1) {
- mMagicIndicator.onPageScrolled(position, positionOffset, positionOffsetPixels);
+ Log.e("mViewPager", "onPageScrolled: position = " + position + " positionOffset = " + positionOffset + " positionOffsetPixels = " + positionOffsetPixels);
+ if (!(position == 1 && positionOffsetPixels == 0)) {
+ if (position <= 1) {
+ mMagicIndicator.onPageScrolled(position, positionOffset, positionOffsetPixels);
+ }
}
}
@Override
public void onPageSelected(int position) {
- Log.e(TAG, "onPageSelected: position = " + position);
+ Log.e("mViewPager", "onPageSelected: position = " + position);
if (position <= 1) {
mMagicIndicator.onPageSelected(position);
}
@@ -170,14 +180,14 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
@Override
public void onPageScrollStateChanged(int state) {
- Log.e(TAG, "onPageSelected: state = " + state);
- if (state <= 1) {
- mMagicIndicator.onPageScrollStateChanged(state);
- }
+ Log.e("mViewPager", "onPageSelected: state = " + state);
+ mMagicIndicator.onPageScrollStateChanged(state);
}
});
+
if (mFragments.size() > 1) {
mViewPager.setCurrentItem(defaultCurrent);
+ mMagicIndicator.onPageSelected(defaultCurrent);
}
cl_0.setOnClickListener(new View.OnClickListener() {
@@ -226,7 +236,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
cl_7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_dictionary_PACKAGE_NAME, JxwPackageConfig.JXW_dictionary_CLASS_NAME);
+ OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_DICTIONARY_PACKAGE_NAME, JxwPackageConfig.JXW_DICTIONARY_CLASS_NAME);
}
});
@@ -235,7 +245,12 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
@Override
public void initData() {
registmNewAppReceiver();
- registerUpdateDesktopReceiver();
+ RemoteManager.setListener(new RemoteManager.ConnectedListener() {
+ @Override
+ public void onConnected() {
+ RemoteManager.getInstance().setDefaultDesktop();
+ }
+ });
}
@Override
@@ -373,15 +388,13 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
protected void onDestroy() {
super.onDestroy();
mPresenter.detachView();
- if (mHomeWatcher != null) {
- mHomeWatcher.stopWatch();// 在销毁时停止监听,不然会报错的。
- }
+// if (mHomeWatcher != null) {
+// mHomeWatcher.stopWatch();// 在销毁时停止监听,不然会报错的。
+// }
if (mNewAppReceiver != null) {
unregisterReceiver(mNewAppReceiver);
}
- if (updateDesktopReceiver != null) {
- unregisterReceiver(updateDesktopReceiver);
- }
+
}
@Override
@@ -423,7 +436,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
// ToastUtil.show("请授予\"" + getString(R.string.app_name) + "\"使用通知权");
// gotoNotificationAccessSetting(this);
// }
- addHomeWatcher();
+// addHomeWatcher();
}
private void showPolicyDialog() {
@@ -446,25 +459,25 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
privacyPolicyDialog.show();
}
- private void addHomeWatcher() {
- if (mHomeWatcher == null) {
- mHomeWatcher = new HomeWatcher(this);
- }
- mHomeWatcher.setOnHomePressedListener(new HomeWatcher.OnHomePressedListener() {
- @Override
- public void onHomePressed() {
- //按了HOME键
- Log.e(TAG, "onHomePressed: ");
- }
-
- @Override
- public void onHomeLongPressed() {
- Log.e(TAG, "onHomeLongPressed: ");
- //长按HOME键
- }
- });
- mHomeWatcher.startWatch();
- }
+// private void addHomeWatcher() {
+// if (mHomeWatcher == null) {
+// mHomeWatcher = new HomeWatcher(this);
+// }
+// mHomeWatcher.setOnHomePressedListener(new HomeWatcher.OnHomePressedListener() {
+// @Override
+// public void onHomePressed() {
+// //按了HOME键
+// Log.e(TAG, "onHomePressed: ");
+// }
+//
+// @Override
+// public void onHomeLongPressed() {
+// Log.e(TAG, "onHomeLongPressed: ");
+// //长按HOME键
+// }
+// });
+// mHomeWatcher.startWatch();
+// }
private static final String ENABLED_NOTIFICATION_LISTENERS = "enabled_notification_listeners";
@@ -537,27 +550,6 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
}
}
- private UpdateDesktopReceiver updateDesktopReceiver;
-
- private void registerUpdateDesktopReceiver() {
- if (updateDesktopReceiver == null) {
- updateDesktopReceiver = new UpdateDesktopReceiver();
- }
- IntentFilter filter = new IntentFilter();
- filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
- filter.addAction("UPDATE_DESKTOP_ICON");
- registerReceiver(updateDesktopReceiver, filter);
- }
-
- class UpdateDesktopReceiver extends BroadcastReceiver {
-
- @Override
- public void onReceive(Context context, Intent intent) {
- Log.e(TAG, "onReceive: " + intent.getAction());
- }
- }
-
-
@Override
public void sendAPPUsageFinish() {
diff --git a/app/src/main/java/com/uiui/zyos/adapter/AppAdapter.java b/app/src/main/java/com/uiui/zyos/adapter/AppAdapter.java
index f786bca..bd44b7a 100644
--- a/app/src/main/java/com/uiui/zyos/adapter/AppAdapter.java
+++ b/app/src/main/java/com/uiui/zyos/adapter/AppAdapter.java
@@ -2,6 +2,7 @@ package com.uiui.zyos.adapter;
import android.content.Context;
import android.graphics.drawable.Drawable;
+import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -16,12 +17,16 @@ import com.uiui.zyos.R;
import com.uiui.zyos.bean.DesktopIcon;
import com.uiui.zyos.utils.ApkUtils;
import com.uiui.zyos.utils.AppUsedTimeUtils;
+import com.uiui.zyos.utils.BitmapUtils;
+import com.uiui.zyos.utils.IconUtils;
import com.uiui.zyos.utils.OpenApkUtils;
import java.util.ArrayList;
import java.util.List;
public class AppAdapter extends RecyclerView.Adapter {
+ private static final String TAG = AppAdapter.class.getSimpleName();
+
private Context mContext;
private List desktopIcons;
@@ -38,13 +43,27 @@ public class AppAdapter extends RecyclerView.Adapter {
DesktopIcon desktopIcon = desktopIcons.get(position);
String lable = desktopIcon.getLable();
holder.tv_appname.setText(lable);
- Drawable icon = desktopIcon.getIcon();
- holder.iv_icon.setImageDrawable(icon);
+ 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", "com.uiui.zyos");
+ 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 {
+ holder.iv_icon.setImageBitmap(BitmapUtils.getIconBitmap(mContext, desktopIcon.getIcon()));
+ }
holder.root.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
OpenApkUtils.getInstance().openApp(desktopIcon.getPackageName(), desktopIcon.getClassName());
- }
+ }
});
}
diff --git a/app/src/main/java/com/uiui/zyos/dialog/ChineseDialog.java b/app/src/main/java/com/uiui/zyos/dialog/ChineseDialog.java
new file mode 100644
index 0000000..eac8513
--- /dev/null
+++ b/app/src/main/java/com/uiui/zyos/dialog/ChineseDialog.java
@@ -0,0 +1,60 @@
+package com.uiui.zyos.dialog;
+
+import android.content.Context;
+import android.os.Bundle;
+
+import androidx.annotation.NonNull;
+import androidx.appcompat.app.AlertDialog;
+import androidx.constraintlayout.widget.ConstraintLayout;
+
+import com.uiui.zyos.R;
+
+public class ChineseDialog extends AlertDialog {
+ private Context mContext;
+ private OnClickListener mOnClickListener;
+
+ private ConstraintLayout cl_pinyin;
+ private ConstraintLayout cl_stroke;
+
+ public ChineseDialog(@NonNull Context context) {
+ super(context, R.style.CustomDialog);
+ this.mContext = context;
+ }
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.dialog_chinese);
+ cl_pinyin = findViewById(R.id.cl_pinyin);
+ cl_stroke = findViewById(R.id.cl_stroke);
+ cl_pinyin.setOnClickListener(view -> {
+ if (mOnClickListener!=null) {
+ mOnClickListener.onClickListener1();
+ }
+ });
+ cl_stroke.setOnClickListener(view -> {
+ if (mOnClickListener!=null) {
+ mOnClickListener.onClickListener2();
+ }
+ });
+ }
+
+ @Override
+ public void show() {
+ super.show();
+ }
+
+ @Override
+ public void dismiss() {
+ super.dismiss();
+ }
+
+ public void setOnClickListener(OnClickListener onClickListener){
+ this.mOnClickListener = onClickListener;
+ }
+
+ public interface OnClickListener{
+ void onClickListener1();
+ void onClickListener2();
+ }
+}
diff --git a/app/src/main/java/com/uiui/zyos/dialog/EnglishBasicsDialog.java b/app/src/main/java/com/uiui/zyos/dialog/EnglishBasicsDialog.java
new file mode 100644
index 0000000..a913008
--- /dev/null
+++ b/app/src/main/java/com/uiui/zyos/dialog/EnglishBasicsDialog.java
@@ -0,0 +1,111 @@
+package com.uiui.zyos.dialog;
+
+import android.content.Context;
+import android.os.Bundle;
+
+import androidx.annotation.NonNull;
+import androidx.appcompat.app.AlertDialog;
+import androidx.constraintlayout.widget.ConstraintLayout;
+
+import com.uiui.zyos.R;
+
+public class EnglishBasicsDialog extends AlertDialog {
+ private Context mContext;
+ private OnClickListener mOnClickListener;
+
+ private ConstraintLayout cl_pinyin;
+ private ConstraintLayout cl_stroke;
+ private ConstraintLayout cl_radicals;
+
+ private ConstraintLayout cl_grammar;
+ private ConstraintLayout cl_alphabet;
+ private ConstraintLayout cl_sentence;
+ private ConstraintLayout cl_patterns;
+ private ConstraintLayout cl_writing;
+ public EnglishBasicsDialog(@NonNull Context context) {
+ super(context, R.style.CustomDialog);
+ this.mContext = context;
+ }
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.dialog_english_basics);
+ cl_pinyin = findViewById(R.id.cl_pinyin);
+ cl_stroke = findViewById(R.id.cl_stroke);
+ cl_radicals = findViewById(R.id.cl_radicals);
+ cl_grammar = findViewById(R.id.cl_grammar);
+ cl_alphabet = findViewById(R.id.cl_alphabet);
+ cl_sentence = findViewById(R.id.cl_sentence);
+ cl_patterns = findViewById(R.id.cl_patterns);
+ cl_writing = findViewById(R.id.cl_writing);
+
+ cl_pinyin.setOnClickListener(view -> {
+ if (mOnClickListener!=null) {
+ mOnClickListener.onClickListener1();
+ }
+ });
+ cl_stroke.setOnClickListener(view -> {
+ if (mOnClickListener!=null) {
+ mOnClickListener.onClickListener2();
+ }
+ });
+ cl_radicals.setOnClickListener(view -> {
+ if (mOnClickListener!=null) {
+ mOnClickListener.onClickListener3();
+ }
+ });
+ cl_grammar.setOnClickListener(view -> {
+ if (mOnClickListener!=null) {
+ mOnClickListener.onClickListener4();
+ }
+ });
+
+ cl_alphabet.setOnClickListener(view -> {
+ if (mOnClickListener!=null) {
+ mOnClickListener.onClickListener5();
+ }
+ });
+ cl_sentence.setOnClickListener(view -> {
+ if (mOnClickListener!=null) {
+ mOnClickListener.onClickListener6();
+ }
+ });
+ cl_patterns.setOnClickListener(view -> {
+ if (mOnClickListener!=null) {
+ mOnClickListener.onClickListener7();
+ }
+ });
+ cl_writing.setOnClickListener(view -> {
+ if (mOnClickListener!=null) {
+ mOnClickListener.onClickListener8();
+ }
+ });
+ }
+
+ @Override
+ public void show() {
+ super.show();
+ }
+
+ @Override
+ public void dismiss() {
+ super.dismiss();
+ }
+
+ public void setOnClickListener(OnClickListener onClickListener){
+ this.mOnClickListener = onClickListener;
+ }
+
+ public interface OnClickListener{
+ void onClickListener1();
+ void onClickListener2();
+ void onClickListener3();
+ void onClickListener4();
+ void onClickListener5();
+ void onClickListener6();
+ void onClickListener7();
+ void onClickListener8();
+
+ }
+}
diff --git a/app/src/main/java/com/uiui/zyos/dialog/FoundationDialog.java b/app/src/main/java/com/uiui/zyos/dialog/FoundationDialog.java
index 623e71d..f144a02 100644
--- a/app/src/main/java/com/uiui/zyos/dialog/FoundationDialog.java
+++ b/app/src/main/java/com/uiui/zyos/dialog/FoundationDialog.java
@@ -26,7 +26,7 @@ public class FoundationDialog extends AlertDialog {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setContentView(R.layout.foundation_dialog);
+ setContentView(R.layout.dialog_foundation);
cl_pinyin = findViewById(R.id.cl_pinyin);
cl_stroke = findViewById(R.id.cl_stroke);
cl_radicals = findViewById(R.id.cl_radicals);
diff --git a/app/src/main/java/com/uiui/zyos/fragment/chinese/ChineseFragment.java b/app/src/main/java/com/uiui/zyos/fragment/chinese/ChineseFragment.java
index 086e08f..5eef4aa 100644
--- a/app/src/main/java/com/uiui/zyos/fragment/chinese/ChineseFragment.java
+++ b/app/src/main/java/com/uiui/zyos/fragment/chinese/ChineseFragment.java
@@ -22,6 +22,7 @@ import androidx.fragment.app.Fragment;
import com.blankj.utilcode.util.NetworkUtils;
import com.uiui.zyos.R;
import com.uiui.zyos.base.BaseFragment;
+import com.uiui.zyos.dialog.ChineseDialog;
import com.uiui.zyos.dialog.FoundationDialog;
import com.uiui.zyos.jxw.JxwPackageConfig;
import com.uiui.zyos.manager.RemoteManager;
@@ -52,10 +53,17 @@ public class ChineseFragment extends BaseFragment implements ChineseContact.Chin
ConstraintLayout cl_composition;
@BindView(R.id.cl_read)
ConstraintLayout cl_read;
- @BindView(R.id.cl_rhetoric)
- ConstraintLayout cl_rhetoric;
+ @BindView(R.id.cl_character)
+ ConstraintLayout cl_character;
@BindView(R.id.cl_classical)
ConstraintLayout cl_classical;
+ @BindView(R.id.cl_rhetoric)
+ ConstraintLayout cl_rhetoric;
+ @BindView(R.id.cl_treasure)
+ ConstraintLayout cl_treasure;
+ @BindView(R.id.cl_punctuation)
+ ConstraintLayout cl_punctuation;
+
@BindView(R.id.iv_dictation)
ImageView iv_dictation;
@BindView(R.id.iv_character)
@@ -63,6 +71,7 @@ public class ChineseFragment extends BaseFragment implements ChineseContact.Chin
@BindView(R.id.iv_foundation)
ImageView iv_foundation;
+
private View rootView;// 设置为全局的
private Activity mContext;
private ChinesePresenter mChinesePresenter;
@@ -185,25 +194,39 @@ public class ChineseFragment extends BaseFragment implements ChineseContact.Chin
cl_near_antonyms.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_NEAR_ANTONYMS_PACKAGE_NAME,JxwPackageConfig.JXW_NEAR_ANTONYMS_CLASS_NAME);
+ OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_NEAR_ANTONYMS_PACKAGE_NAME, JxwPackageConfig.JXW_NEAR_ANTONYMS_CLASS_NAME);
}
});
cl_composition.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- OpenApkUtils.getInstance().openComposition();
+// OpenApkUtils.getInstance().openComposition();
+ ChineseDialog chineseDialog = new ChineseDialog(mContext);
+ chineseDialog.setOnClickListener(new ChineseDialog.OnClickListener() {
+ @Override
+ public void onClickListener1() {
+ OpenApkUtils.getInstance().openSolidifiedData("f:/ansystem/固化数据/小学阅读指导.JXW");
+ }
+
+ @Override
+ public void onClickListener2() {
+ OpenApkUtils.getInstance().openChineseWriting();
+ }
+ });
+ chineseDialog.show();
}
});
cl_read.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_READING_PACKAGE_NAME,JxwPackageConfig.JXW_READING_CLASS_NAME);
+ OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_READING_PACKAGE_NAME, JxwPackageConfig.JXW_READING_CLASS_NAME);
}
});
- cl_rhetoric.setOnClickListener(new View.OnClickListener() {
+ cl_character.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- OpenApkUtils.getInstance().openSolidifiedData("d:/同步学习/语文|e:JWFD");
+ OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_CHARACTER_PACKAGE_NAME, JxwPackageConfig.JXW_CHARACTER_CLASS_NAME);
+// OpenApkUtils.getInstance().openSolidifiedData("d:/同步学习/语文|e:JWFD");
}
});
cl_classical.setOnClickListener(new View.OnClickListener() {
@@ -212,6 +235,25 @@ public class ChineseFragment extends BaseFragment implements ChineseContact.Chin
OpenApkUtils.getInstance().openSolidifiedData("f:/ansystem/固化数据/中学文言文.JXW");
}
});
+ cl_rhetoric.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ OpenApkUtils.getInstance().openSolidifiedData("f:/ansystem/固化数据/中学修辞方法.JXW");
+ }
+ });
+ cl_treasure.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ OpenApkUtils.getInstance().openSolidifiedData("f:/ansystem/固化数据/小学中华宝典.JXW");
+ }
+ });
+ cl_punctuation.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ OpenApkUtils.getInstance().openSolidifiedData("f:/ansystem/固化数据/中学标点符号.JXW");
+ }
+ });
+
iv_dictation.setOnClickListener(new View.OnClickListener() {
@Override
@@ -222,7 +264,7 @@ public class ChineseFragment extends BaseFragment implements ChineseContact.Chin
iv_character.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_CHARACTER_PACKAGE_NAME,JxwPackageConfig.JXW_CHARACTER_CLASS_NAME);
+ OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_CHARACTER_PACKAGE_NAME, JxwPackageConfig.JXW_CHARACTER_CLASS_NAME);
}
});
iv_foundation.setOnClickListener(new View.OnClickListener() {
@@ -232,23 +274,23 @@ public class ChineseFragment extends BaseFragment implements ChineseContact.Chin
foundationDialog.setOnClickListener(new FoundationDialog.OnClickListener() {
@Override
public void onClickListener1() {
- OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_PINYIN_PACKAGE_NAME,JxwPackageConfig.JXW_PINYIN_CLASS_NAME);
+ OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_PINYIN_PACKAGE_NAME, JxwPackageConfig.JXW_PINYIN_CLASS_NAME);
}
@Override
public void onClickListener2() {
- OpenApkUtils.getInstance().openAppWithoutArgs( JxwPackageConfig.JXW_BIHUA_PACKAGE_NAME, JxwPackageConfig.JXW_BIHUA_CLASS_NAME);
+ OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_BIHUA_PACKAGE_NAME, JxwPackageConfig.JXW_BIHUA_CLASS_NAME);
}
@Override
public void onClickListener3() {
- OpenApkUtils.getInstance().openAppWithoutArgs( JxwPackageConfig.JXW_PIANPANG_PACKAGE_NAME, JxwPackageConfig.JXW_PIANPANG_CLASS_NAME);
+ OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_PIANPANG_PACKAGE_NAME, JxwPackageConfig.JXW_PIANPANG_CLASS_NAME);
}
@Override
public void onClickListener4() {
- OpenApkUtils.getInstance().openAppWithoutArgs( JxwPackageConfig.JXW_BISHUN_PACKAGE_NAME, JxwPackageConfig.JXW_BISHUN_CLASS_NAME);
+ OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_BISHUN_PACKAGE_NAME, JxwPackageConfig.JXW_BISHUN_CLASS_NAME);
}
});
foundationDialog.show();
diff --git a/app/src/main/java/com/uiui/zyos/fragment/complex/ComplexFragment.java b/app/src/main/java/com/uiui/zyos/fragment/complex/ComplexFragment.java
index 8a45962..323175e 100644
--- a/app/src/main/java/com/uiui/zyos/fragment/complex/ComplexFragment.java
+++ b/app/src/main/java/com/uiui/zyos/fragment/complex/ComplexFragment.java
@@ -177,7 +177,7 @@ public class ComplexFragment extends BaseFragment {
iv_famous_teacher.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_teacher_PACKAGE_NAME, JxwPackageConfig.JXW_teacher_CLASS_NAME);
+ OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_TEACHER_PACKAGE_NAME, JxwPackageConfig.JXW_TEACHER_CLASS_NAME);
}
});
}
diff --git a/app/src/main/java/com/uiui/zyos/fragment/english/EnglishFragment.java b/app/src/main/java/com/uiui/zyos/fragment/english/EnglishFragment.java
index 9319366..73a50a8 100644
--- a/app/src/main/java/com/uiui/zyos/fragment/english/EnglishFragment.java
+++ b/app/src/main/java/com/uiui/zyos/fragment/english/EnglishFragment.java
@@ -13,6 +13,7 @@ import android.widget.ImageView;
import com.uiui.zyos.R;
import com.uiui.zyos.base.BaseFragment;
+import com.uiui.zyos.dialog.EnglishBasicsDialog;
import com.uiui.zyos.jxw.JxwPackageConfig;
import com.uiui.zyos.utils.OpenApkUtils;
@@ -57,7 +58,7 @@ public class EnglishFragment extends BaseFragment {
public EnglishFragment() {
// Required empty public constructor
- Log.e(TAG, "EnglishFragment: " );
+ Log.e(TAG, "EnglishFragment: ");
}
/**
@@ -118,7 +119,7 @@ public class EnglishFragment extends BaseFragment {
rootView = null;
}
- private void initView(){
+ private void initView() {
imageView5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@@ -134,25 +135,69 @@ public class EnglishFragment extends BaseFragment {
imageView7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_SOUNDMARK_PACKAGE_NAME,JxwPackageConfig.JXW_SOUNDMARK_CLASS_NAME);
+// OpenApkUtils.getInstance().openSolidifiedData("f:/ansystem/固化数据/小学英语词汇.JXW");
+// OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_SOUNDMARK_PACKAGE_NAME,JxwPackageConfig.JXW_SOUNDMARK_CLASS_NAME);
+ EnglishBasicsDialog englishBasicsDialog = new EnglishBasicsDialog(mContext);
+ englishBasicsDialog.setOnClickListener(new EnglishBasicsDialog.OnClickListener() {
+ @Override
+ public void onClickListener1() {
+ OpenApkUtils.getInstance().openSolidifiedData("f:/ansystem/固化数据/小学英语词汇.JXW");
+ }
+
+ @Override
+ public void onClickListener2() {
+ OpenApkUtils.getInstance().openLetter();
+ }
+
+ @Override
+ public void onClickListener3() {
+ OpenApkUtils.getInstance().openSolidifiedData("f:/ansystem/固化数据/中学基础语音.JXW");
+ }
+
+ @Override
+ public void onClickListener4() {
+ OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_GRAMMAR_PACKAGE_NAME, JxwPackageConfig.JXW_Grammar_CLASS_NAME);
+ }
+
+ @Override
+ public void onClickListener5() {
+ OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_SOUNDMARK_PACKAGE_NAME, JxwPackageConfig.JXW_SOUNDMARK_CLASS_NAME);
+ }
+
+ @Override
+ public void onClickListener6() {
+ OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_Conjunctions_PACKAGE_NAME, JxwPackageConfig.JXW_Conjunctions_CLASS_NAME);
+ }
+
+ @Override
+ public void onClickListener7() {
+ OpenApkUtils.getInstance().openSolidifiedData("f:/ansystem/固化数据/英语句型.JXW");
+ }
+
+ @Override
+ public void onClickListener8() {
+ OpenApkUtils.getInstance().openSolidifiedData("f:/ansystem/固化数据/小学英语写作.JXW");
+ }
+ });
+ englishBasicsDialog.show();
}
});
imageView8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_TRANSLATE_PACKAGE_NAME,JxwPackageConfig.JXW_TRANSLATE_CLASS_NAME);
+ OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_TRANSLATE_PACKAGE_NAME, JxwPackageConfig.JXW_TRANSLATE_CLASS_NAME);
}
});
imageView9.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_MEMORIZE_WORDS_PACKAGE_NAME,JxwPackageConfig.JXW_MEMORIZE_WORDS_CLASS_NAME);
+ OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_MEMORIZE_WORDS_PACKAGE_NAME, JxwPackageConfig.JXW_WUWEI_WORDS_CLASS_NAME);
}
});
imageView10.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_ORAL_TEST_PACKAGE_NAME,JxwPackageConfig.JXW_ORAL_TEST_CLASS_NAME);
+ OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_ORAL_TEST_PACKAGE_NAME, JxwPackageConfig.JXW_ORAL_TEST_CLASS_NAME);
}
});
imageView11.setOnClickListener(new View.OnClickListener() {
diff --git a/app/src/main/java/com/uiui/zyos/fragment/main/MainFragment.java b/app/src/main/java/com/uiui/zyos/fragment/main/MainFragment.java
index 21ec8f7..2f73e7e 100644
--- a/app/src/main/java/com/uiui/zyos/fragment/main/MainFragment.java
+++ b/app/src/main/java/com/uiui/zyos/fragment/main/MainFragment.java
@@ -249,7 +249,9 @@ public class MainFragment extends BaseFragment implements MainContact.MainView {
cl_3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- OpenApkUtils.getInstance().openApp("com.android.camera");
+// OpenApkUtils.getInstance().openApp("com.android.camera");
+ Intent intent = new Intent(Intent.ACTION_CAMERA_BUTTON);
+ startActivity(intent);
}
});
cl_4.setOnClickListener(new View.OnClickListener() {
@@ -262,7 +264,9 @@ public class MainFragment extends BaseFragment implements MainContact.MainView {
cl_5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- OpenApkUtils.getInstance().openApp("com.android.gallery3d.app");
+// OpenApkUtils.getInstance().openApp("com.android.gallery3d.app");
+ Intent intent = new Intent(Intent.CATEGORY_APP_GALLERY);
+ startActivity(intent);
}
});
cl_6.setOnClickListener(new View.OnClickListener() {
diff --git a/app/src/main/java/com/uiui/zyos/fragment/math/MathFragment.java b/app/src/main/java/com/uiui/zyos/fragment/math/MathFragment.java
index 8bf5d5b..392cc91 100644
--- a/app/src/main/java/com/uiui/zyos/fragment/math/MathFragment.java
+++ b/app/src/main/java/com/uiui/zyos/fragment/math/MathFragment.java
@@ -38,10 +38,18 @@ public class MathFragment extends BaseFragment {
ConstraintLayout cl_composition;
@BindView(R.id.cl_read)
ConstraintLayout cl_read;
- @BindView(R.id.cl_rhetoric)
+ @BindView(R.id.cl_character)
ConstraintLayout cl_rhetoric;
@BindView(R.id.cl_classical)
ConstraintLayout cl_classical;
+
+ @BindView(R.id.cl_encyclopedia)
+ ConstraintLayout cl_encyclopedia;
+ @BindView(R.id.cl_number)
+ ConstraintLayout cl_number;
+ @BindView(R.id.cl_formula)
+ ConstraintLayout cl_formula;
+
@BindView(R.id.iv_precision_learning)
ImageView iv_precision_learning;
@@ -165,6 +173,26 @@ public class MathFragment extends BaseFragment {
OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_ARITHMETIC_PACKAGE_NAME,JxwPackageConfig.JXW_ARITHMETIC_CLASS_NAME);
}
});
+
+ cl_encyclopedia.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ OpenApkUtils.getInstance().openSolidifiedData("f:/ansystem/固化数据/中学公式大全.JXW");
+ }
+ });
+ cl_number.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ OpenApkUtils.getInstance().openAppWithoutArgs(JxwPackageConfig.JXW_KNOW_MATHEMATICS_PACKAGE_NAME,JxwPackageConfig.JXW_KNOW_MATHEMATICS_CLASS_NAME);
+ }
+ });
+ cl_formula.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ OpenApkUtils.getInstance().openSolidifiedData("f:/ansystem/固化数据/小学数学公式.JXW");
+ }
+ });
+
iv_precision_learning.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
diff --git a/app/src/main/java/com/uiui/zyos/fragment/precision/PrecisionFragment.java b/app/src/main/java/com/uiui/zyos/fragment/precision/PrecisionFragment.java
new file mode 100644
index 0000000..d3fe79a
--- /dev/null
+++ b/app/src/main/java/com/uiui/zyos/fragment/precision/PrecisionFragment.java
@@ -0,0 +1,148 @@
+package com.uiui.zyos.fragment.precision;
+
+import android.app.Activity;
+import android.media.Image;
+import android.os.Bundle;
+
+import androidx.fragment.app.Fragment;
+
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+
+import com.uiui.zyos.R;
+import com.uiui.zyos.base.BaseFragment;
+import com.uiui.zyos.fragment.chinese.ChinesePresenter;
+import com.uiui.zyos.utils.OpenApkUtils;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+
+/**
+ * A simple {@link Fragment} subclass.
+ * Use the {@link PrecisionFragment#newInstance} factory method to
+ * create an instance of this fragment.
+ */
+public class PrecisionFragment extends BaseFragment {
+ private static final String TAG = PrecisionFragment.class.getSimpleName();
+
+ @BindView(R.id.iv_bunk)
+ ImageView iv_bunk;
+ @BindView(R.id.iv_paper)
+ ImageView iv_paper;
+ @BindView(R.id.iv_test)
+ ImageView iv_test;
+ @BindView(R.id.iv_book)
+ ImageView iv_book;
+ @BindView(R.id.iv_favorites)
+ ImageView iv_favorites;
+
+ private View rootView;// 设置为全局的
+ private Activity mContext;
+
+
+ // TODO: Rename parameter arguments, choose names that match
+ // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
+ private static final String ARG_PARAM1 = "param1";
+ private static final String ARG_PARAM2 = "param2";
+
+ // TODO: Rename and change types of parameters
+ private String mParam1;
+ private String mParam2;
+
+ public PrecisionFragment() {
+ // Required empty public constructor
+ }
+
+ /**
+ * Use this factory method to create a new instance of
+ * this fragment using the provided parameters.
+ *
+ * @param param1 Parameter 1.
+ * @param param2 Parameter 2.
+ * @return A new instance of fragment PrecisionFragment.
+ */
+ // TODO: Rename and change types and number of parameters
+ public static PrecisionFragment newInstance(String param1, String param2) {
+ PrecisionFragment fragment = new PrecisionFragment();
+ Bundle args = new Bundle();
+ args.putString(ARG_PARAM1, param1);
+ args.putString(ARG_PARAM2, param2);
+ fragment.setArguments(args);
+ return fragment;
+ }
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ if (getArguments() != null) {
+ mParam1 = getArguments().getString(ARG_PARAM1);
+ mParam2 = getArguments().getString(ARG_PARAM2);
+ }
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ // Inflate the layout for this fragment
+ Log.e(TAG, "onCreateView: ");
+ if (null != rootView) {
+ ViewGroup parent = (ViewGroup) rootView.getParent();
+ if (null != parent) {
+ parent.removeView(rootView);
+ }
+ } else { // 如ongoing果rootView为空 ,就实例化该视图
+ rootView = inflater.inflate(R.layout.fragment_precision, container, false);
+ mContext = (Activity) rootView.getContext();
+ ButterKnife.bind(this, rootView);
+ initView();
+ }
+ return rootView;
+ }
+
+ @Override
+ public void fetchData() {
+
+ }
+
+ @Override
+ public void onDestroyView() {
+ super.onDestroyView();
+ rootView = null;
+ }
+
+ private void initView() {
+ iv_bunk.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ OpenApkUtils.getInstance().openPrecision("1");
+ }
+ });
+ iv_paper.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ OpenApkUtils.getInstance().openPrecision("3");
+ }
+ });
+ iv_test.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ OpenApkUtils.getInstance().openPrecision("2");
+ }
+ });
+ iv_book.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ OpenApkUtils.getInstance().openPrecision("4");
+ }
+ });
+ iv_favorites.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ OpenApkUtils.getInstance().openPrecision("5");
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/uiui/zyos/fragment/subject/SubjectFragment.java b/app/src/main/java/com/uiui/zyos/fragment/subject/SubjectFragment.java
index fffd3c0..8793097 100644
--- a/app/src/main/java/com/uiui/zyos/fragment/subject/SubjectFragment.java
+++ b/app/src/main/java/com/uiui/zyos/fragment/subject/SubjectFragment.java
@@ -23,6 +23,7 @@ import com.uiui.zyos.fragment.complex.ComplexFragment;
import com.uiui.zyos.fragment.english.EnglishFragment;
import com.uiui.zyos.fragment.math.MathFragment;
import com.uiui.zyos.fragment.physics.PhysicsFragment;
+import com.uiui.zyos.fragment.precision.PrecisionFragment;
import java.util.ArrayList;
import java.util.List;
@@ -43,10 +44,11 @@ public class SubjectFragment extends BaseFragment {
@BindView(R.id.viewPager)
ViewPager mViewPager;
- private String[] title = new String[]{"语文", "数学", "英语", "物理", "化学", "生物", "综合",};
+ private String[] title = new String[]{"精准学", "语文", "数学", "英语", "物理", "化学", "生物", "综合",};
private View rootView;
private FragmentActivity mContext;
+ private PrecisionFragment mPrecisionFragment;
private ChineseFragment mChineseFragment;
private MathFragment mMathFragment;
private EnglishFragment mEnglishFragment;
@@ -74,13 +76,15 @@ public class SubjectFragment extends BaseFragment {
// Required empty public constructor
Log.e(TAG, "SubjectFragment: ");
mFragments = new ArrayList<>();
- mChineseFragment =new ChineseFragment();
+ mPrecisionFragment = new PrecisionFragment();
+ mChineseFragment = new ChineseFragment();
mMathFragment = new MathFragment();
- mEnglishFragment =new EnglishFragment();
- mPhysicsFragment= new PhysicsFragment();
- mChemicalFragment =new ChemicalFragment();
- mBiologyFragment =new BiologyFragment();
- mComplexFragment=new ComplexFragment();
+ mEnglishFragment = new EnglishFragment();
+ mPhysicsFragment = new PhysicsFragment();
+ mChemicalFragment = new ChemicalFragment();
+ mBiologyFragment = new BiologyFragment();
+ mComplexFragment = new ComplexFragment();
+ mFragments.add(mPrecisionFragment);
mFragments.add(mChineseFragment);
mFragments.add(mMathFragment);
mFragments.add(mEnglishFragment);
@@ -166,7 +170,7 @@ public class SubjectFragment extends BaseFragment {
mFragmentManager = getChildFragmentManager();
mBaseFragmentPagerAdapter = new BaseFragmentPagerAdapter(mFragmentManager, mFragments);
mViewPager.setAdapter(mBaseFragmentPagerAdapter);
- mViewPager.setOffscreenPageLimit(7);
+ mViewPager.setOffscreenPageLimit(8);
mViewPager.setOnPageChangeListener(mListener);
main_sliding_tab_layout.setViewPager(mViewPager, title);
}
diff --git a/app/src/main/java/com/uiui/zyos/fragment/user/UserFragment.java b/app/src/main/java/com/uiui/zyos/fragment/user/UserFragment.java
index ee5be5e..20bf621 100644
--- a/app/src/main/java/com/uiui/zyos/fragment/user/UserFragment.java
+++ b/app/src/main/java/com/uiui/zyos/fragment/user/UserFragment.java
@@ -297,8 +297,10 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
Log.e(TAG, "setInstalledApp: " + desktopIcons);
if (desktopIcons == null || desktopIcons.size() == 0) {
iv_nodata.setVisibility(View.VISIBLE);
+ rv_app.setVisibility(View.INVISIBLE);
} else {
iv_nodata.setVisibility(View.GONE);
+ rv_app.setVisibility(View.VISIBLE);
mAppAdapter.setDesktopIcons(desktopIcons);
}
}
@@ -306,6 +308,7 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
private void registerOwnReceiver() {
registerTimeReceiver();
registerRefreshReceiver();
+ registerUpdateDesktopReceiver();
}
private void unregisterOwnReceiver() {
@@ -315,6 +318,9 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
if (mRefreshReceiver != null) {
mContext.unregisterReceiver(mRefreshReceiver);
}
+ if (updateDesktopReceiver != null) {
+ mContext.unregisterReceiver(updateDesktopReceiver);
+ }
}
@@ -338,7 +344,7 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
- Log.e(TAG, "TimeChangedReceiver:" + action);
+ Log.e("TimeChangedReceiver", "onReceive:" + action);
switch (action) {
case Intent.ACTION_DATE_CHANGED:
@@ -370,11 +376,39 @@ public class UserFragment extends BaseFragment implements UserContact.UserView {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
- Log.e(TAG, "TimeChangedReceiver:" + action);
+ Log.e("RefreshReceiver", "onReceive: " + action);
if (ACTION_REFRESH_BINDING_STATUS.equals(action)) {
mPresenter.getSnInfo();
}
}
}
+ private UpdateDesktopReceiver updateDesktopReceiver;
+
+ private static final String UPDATE_DESKTOP_ICON_ACTION ="UPDATE_DESKTOP_ICON";
+
+ private void registerUpdateDesktopReceiver() {
+ if (updateDesktopReceiver == null) {
+ updateDesktopReceiver = new UpdateDesktopReceiver();
+ }
+ IntentFilter filter = new IntentFilter();
+ filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
+ filter.addAction(UPDATE_DESKTOP_ICON_ACTION);
+ mContext.registerReceiver(updateDesktopReceiver, filter);
+ }
+
+ class UpdateDesktopReceiver extends BroadcastReceiver {
+
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ String action = intent.getAction();
+ Log.e("UpdateDesktopReceiver", "onReceive: " + action);
+ if (TextUtils.isEmpty(action)){
+ return;
+ }
+ if (UPDATE_DESKTOP_ICON_ACTION.equals(action)){
+ mPresenter.getInstalledApp();
+ }
+ }
+ }
}
diff --git a/app/src/main/java/com/uiui/zyos/jxw/JxwPackageConfig.java b/app/src/main/java/com/uiui/zyos/jxw/JxwPackageConfig.java
index d67becc..115b68f 100644
--- a/app/src/main/java/com/uiui/zyos/jxw/JxwPackageConfig.java
+++ b/app/src/main/java/com/uiui/zyos/jxw/JxwPackageConfig.java
@@ -54,16 +54,33 @@ public class JxwPackageConfig {
/*背单词*/
public static final String JXW_MEMORIZE_WORDS_PACKAGE_NAME = "com.jxw.wuweijidanci";
public static final String JXW_MEMORIZE_WORDS_CLASS_NAME = "com.jxw.wuweijidanci.ReciteWordActivity";
+ /*五维记单词*/
+ public static final String JXW_WUWEI_WORDS_CLASS_NAME = "com.jxw.wuweijidanci.MainActivity";
/*口语评测*/
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_teacher_PACKAGE_NAME = "com.jxw.teacher.video";
- public static final String JXW_teacher_CLASS_NAME = "com.jxw.teacher.activity.MainActivity";
+ 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_TEACHER_PACKAGE_NAME = "com.jxw.teacher.video";
+ public static final String JXW_TEACHER_CLASS_NAME = "com.jxw.teacher.activity.MainActivity";
/*学王词典*/
- public static final String JXW_dictionary_PACKAGE_NAME = "com.jxw.zncd";
- public static final String JXW_dictionary_CLASS_NAME = "com.jxw.zncd.MainActivity";
-}
+ public static final String JXW_DICTIONARY_PACKAGE_NAME = "com.jxw.zncd";
+ public static final String JXW_DICTIONARY_CLASS_NAME = "com.jxw.zncd.MainActivity";
+
+ /*认识数学*/
+ public static final String JXW_KNOW_MATHEMATICS_PACKAGE_NAME = "com.jxw.studydigital";
+ public static final String JXW_KNOW_MATHEMATICS_CLASS_NAME = "com.jxw.studydigital.StuDydigitalActivity";
+ /*字母学习*/
+ public static final String JXW_LETTER_PACKAGE_NAME = "com.jxw.mskt.video";
+ public static final String JXW_LETTER_CLASS_NAME = "com.jxw.mskt.video.VideoTopicActivity";
+ /*薄冰语法*/
+ public static final String JXW_GRAMMAR_PACKAGE_NAME = "com.jxw.online_study";
+ public static final String JXW_Grammar_CLASS_NAME = "com.jxw.online_study.activity.BobingGrammarActivity";
+ /*连词成句*/
+ public static final String JXW_Conjunctions_PACKAGE_NAME = "com.jxw.liancichengju";
+ public static final String JXW_Conjunctions_CLASS_NAME = "com.jxw.liancichengju.MainActivity";
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/uiui/zyos/manager/RemoteManager.java b/app/src/main/java/com/uiui/zyos/manager/RemoteManager.java
index 095e3ce..052a8ad 100644
--- a/app/src/main/java/com/uiui/zyos/manager/RemoteManager.java
+++ b/app/src/main/java/com/uiui/zyos/manager/RemoteManager.java
@@ -7,6 +7,7 @@ import android.content.Intent;
import android.content.ServiceConnection;
import android.os.IBinder;
import android.os.RemoteException;
+import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
@@ -270,4 +271,24 @@ public class RemoteManager {
return mapBean.getLongitude() + "," + mapBean.getLatitude();
}
}
+
+ public boolean getSnIsActivation() {
+ try {
+ return mGetInfoInterface.SnIsActivation();
+ } catch (RemoteException e) {
+ e.printStackTrace();
+ Log.e(TAG, "getSnIsActivation: " + e.getMessage());
+ int is_activation = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0);
+ return is_activation == 1;
+ }
+ }
+
+ public void setDefaultDesktop() {
+ try {
+ mGetInfoInterface.setDefaultLauncher(BuildConfig.APPLICATION_ID);
+ } catch (RemoteException e) {
+ Log.e(TAG, "setDefaultDesktop: " + e.getMessage());
+ e.printStackTrace();
+ }
+ }
}
diff --git a/app/src/main/java/com/uiui/zyos/utils/ApkUtils.java b/app/src/main/java/com/uiui/zyos/utils/ApkUtils.java
index 5f2a068..921685b 100644
--- a/app/src/main/java/com/uiui/zyos/utils/ApkUtils.java
+++ b/app/src/main/java/com/uiui/zyos/utils/ApkUtils.java
@@ -63,6 +63,7 @@ public class ApkUtils {
this.add("com.joytv.live");
this.add("com.iflytek.speechcloud");
this.add("com.safe.uiui");
+ this.add("com.uiui.aios");
}};
private static HashSet excludeClassName = new HashSet() {{
diff --git a/app/src/main/java/com/uiui/zyos/utils/BitmapUtils.java b/app/src/main/java/com/uiui/zyos/utils/BitmapUtils.java
new file mode 100644
index 0000000..6ce1589
--- /dev/null
+++ b/app/src/main/java/com/uiui/zyos/utils/BitmapUtils.java
@@ -0,0 +1,72 @@
+package com.uiui.zyos.utils;
+
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.graphics.Canvas;
+import android.graphics.PixelFormat;
+import android.graphics.drawable.AdaptiveIconDrawable;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.Drawable;
+import android.os.Build;
+
+import java.io.ByteArrayOutputStream;
+
+public class BitmapUtils {
+ public static Bitmap Bytes2Bimap(byte[] b) {
+ if (b.length != 0) {
+ return BitmapFactory.decodeByteArray(b, 0, b.length);
+ } else {
+ return null;
+ }
+ }
+
+ public static byte[] Bitmap2Bytes(Bitmap bitmap) {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
+ byte[] data = baos.toByteArray();
+ return data;
+ }
+
+ /**
+ * Drawable转换成一个Bitmap
+ *
+ * @param drawable drawable对象
+ * @return
+ */
+ public static final Bitmap drawableToBitmap(Drawable drawable) {
+ Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(),
+ drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565);
+ Canvas canvas = new Canvas(bitmap);
+ drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
+ drawable.draw(canvas);
+ return bitmap;
+ }
+
+
+ public static Bitmap drawableToBitamp(Drawable drawable) {
+ Bitmap bitmap;
+ BitmapDrawable bd = (BitmapDrawable) drawable;
+ bitmap = bd.getBitmap();
+ return bitmap;
+ }
+
+ public static Bitmap getIconBitmap(Context context, Drawable drawable) {
+ try {
+ if (drawable == null) {
+ return null;
+ }
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && drawable instanceof AdaptiveIconDrawable) {
+ Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
+ Canvas canvas = new Canvas(bitmap);
+ drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
+ drawable.draw(canvas);
+ return Utils.getRoundedBitmap(bitmap, context);
+ } else {
+ return Utils.getRoundedBitmap(((BitmapDrawable) drawable).getBitmap(), context);
+ }
+ } catch (Exception e) {
+ return null;
+ }
+ }
+}
diff --git a/app/src/main/java/com/uiui/zyos/utils/IconUtils.java b/app/src/main/java/com/uiui/zyos/utils/IconUtils.java
new file mode 100644
index 0000000..c4e50d9
--- /dev/null
+++ b/app/src/main/java/com/uiui/zyos/utils/IconUtils.java
@@ -0,0 +1,128 @@
+package com.uiui.zyos.utils;
+
+import android.util.Log;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class IconUtils {
+ public static List appClassNameList = new ArrayList() {{
+ this.add("com.uiui.sn");//设别信息
+ this.add("com.uiui.appstore");//应用市场
+ this.add("com.uiui.weather");//天气
+ this.add("com.android.browser");//浏览器
+ this.add("com.uiui.browser");//浏览器
+ this.add("com.aoleyun.browser");//浏览器
+ this.add("com.android.calculator2");//计算器
+ this.add("com.android.calendar");//日历
+ this.add("com.android.camera");//相机
+ this.add("com.mediatek.camera");//相机
+ this.add("com.android.camera2");//相机
+ this.add("com.android.contacts");//通讯录
+ this.add("com.android.deskclock");//时钟
+ this.add("com.android.dialer");//电话
+ this.add("com.android.dialer");//电话
+ this.add("com.android.gallery3d");//图库
+ this.add("com.android.mms");//信息
+ this.add("com.android.mms.ui");//信息
+ this.add("com.android.messaging");//信息
+ this.add("com.android.music");//音乐
+ this.add("com.android.providers.downloads.ui");//下载
+ this.add("com.android.quicksearchbox");//搜索
+ this.add("com.android.settings");//设置
+ this.add("com.android.soundrecorder");//录音机
+ this.add("com.android.stk.StkMain");//sim卡
+ this.add("com.android.stk");//sim卡
+ this.add("com.android.vdieo");//视频
+ this.add("com.mediatek.filemanager");//文件管理
+ this.add("com.android.documentsui");//下载
+ this.add("com.mediatek.fmradio");//收音机
+ this.add("com.android.fmradio");//收音机
+ this.add("com.android.email");//电子邮件
+// this.add("com.ss.android.ugc.aweme");//抖音
+// this.add("com.ss.android.article.news");//头条
+// this.add("com.tencent.mm");//微信
+ }};
+
+ public static List appIconList = new ArrayList() {{
+ this.add("com_uiui_sn");
+ this.add("com_android_appstore");
+ this.add("com_uiui_weather");
+ this.add("com_android_browser");
+ this.add("com_android_browser");
+ this.add("com_android_browser");
+ this.add("com_android_calculator2");
+ this.add("com_android_calendar");
+ this.add("com_android_camera");
+ this.add("com_android_camera");
+ this.add("com_android_camera");
+ this.add("com_android_contacts");
+ this.add("com_android_deskclock");
+ this.add("com_android_dialer");
+ this.add("com_android_dialer");
+ this.add("com_android_gallery3d_app");
+ this.add("com_android_mms_ui");
+ this.add("com_android_mms_ui");
+ this.add("com_android_mms_ui");
+ this.add("com_android_music");
+ this.add("com_android_providers_downloads_ui");
+ this.add("com_android_quicksearchbox");
+ this.add("com_android_settings");
+ this.add("com_android_soundrecorder");
+ this.add("com_android_stk_stkmain");
+ this.add("com_android_stk_stkmain");
+ this.add("com_android_vdieo");
+ this.add("com_mediatek_filemanager");
+ this.add("com_mediatek_filemanager");
+ this.add("com_mediatek_fmradio");
+ this.add("com_mediatek_fmradio");//收音机
+ this.add("com_android_email");
+// this.add("com_android_aweme2");
+// this.add("com_android_news2");
+// this.add("com_tencent_mm2");
+ }};
+
+ public static List appIconList2 = new ArrayList() {{
+ this.add("com_uiui_sn2");
+ this.add("com_android_appstore2");
+ this.add("com_uiui_weather2");
+ this.add("com_android_browser2");
+ this.add("com_android_browser2");
+ this.add("com_android_browser2");
+ this.add("com_android_calculator2");
+ this.add("com_android_calendar");
+ this.add("com_android_camera2");
+ this.add("com_android_camera2");
+ this.add("com_android_camera2");
+ this.add("com_android_contacts");
+ this.add("com_android_deskclock");
+ this.add("com_android_dialer2");
+ this.add("com_android_dialer2");
+ this.add("com_android_gallery3d_app2");
+ this.add("com_android_mms_ui2");
+ this.add("com_android_mms_ui2");
+ this.add("com_android_mms_ui2");
+ this.add("com_android_music");
+ this.add("com_android_providers_downloads_ui");
+ this.add("com_android_quicksearchbox");
+ this.add("com_android_settings2");
+ this.add("com_android_soundrecorder");
+ this.add("com_android_stk_stkmain");
+ this.add("com_android_stk_stkmain");
+ this.add("com_android_vdieo");
+ this.add("com_mediatek_filemanager");
+ this.add("com_mediatek_filemanager");
+ this.add("com_mediatek_fmradio");
+ this.add("com_mediatek_fmradio");//收音机
+ this.add("com_android_email");
+ this.add("com_android_aweme2");
+ this.add("com_android_news2");
+ this.add("com_tencent_mm2");
+ }};
+
+ static {
+ Log.e("IconUtils", "appClassNameList size: " + appClassNameList.size());
+ Log.e("IconUtils", "appIconList size: " + appIconList.size());
+ Log.e("IconUtils", "appIconList2 size: " + appIconList2.size());
+ }
+}
diff --git a/app/src/main/java/com/uiui/zyos/utils/OpenApkUtils.java b/app/src/main/java/com/uiui/zyos/utils/OpenApkUtils.java
index fd40b0c..6e2427c 100644
--- a/app/src/main/java/com/uiui/zyos/utils/OpenApkUtils.java
+++ b/app/src/main/java/com/uiui/zyos/utils/OpenApkUtils.java
@@ -5,6 +5,7 @@ import android.content.ComponentName;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
+import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
@@ -23,18 +24,18 @@ public class OpenApkUtils {
@SuppressLint("StaticFieldLeak")
private static OpenApkUtils sInstance;
private Context mContext;
- private ContentResolver resolver;
+ private ContentResolver mResolver;
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
private LessonJson mLessonJson;
- TimeUtils.ContralTime mContralTime;
+ private TimeUtils.ContralTime mContralTime;
private OpenApkUtils(Context context) {
if (context == null) {
throw new RuntimeException("Context is NULL");
}
this.mContext = context;
- this.resolver = context.getContentResolver();
+ this.mResolver = context.getContentResolver();
refresh();
}
@@ -51,6 +52,15 @@ public class OpenApkUtils {
return sInstance;
}
+ 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.zysn");
+ ToastUtil.show("请激活设备后使用");
+ }
+ return is_activation == 1;
+ }
+
public boolean openPackageWithArgs(String packageName, String className, String name, String args) {
if (!ApkUtils.isAvailable(mContext, packageName)) {
ToastUtil.show("应用未安装");
@@ -88,7 +98,13 @@ public class OpenApkUtils {
}
}
+ /**
+ * @param pkg
+ * @return true为能打开
+ */
public boolean isCloudLessonMod(String pkg) {
+ if (mLessonJson==null)
+ return true;
if (mLessonJson.getIs_lesson() == 1) {
if (mContralTime == null) {
return false;
@@ -140,6 +156,9 @@ public class OpenApkUtils {
public void openSyncVideo(String args) {
+ if (!checkActivation()) {
+ return;
+ }
String packageName = JxwPackageConfig.JXW_VIDEO_PACKAGE_NAME;
if (isCloudLessonMod(packageName)) {
if (openPackageWithArgs(packageName, JxwPackageConfig.JXW_VIDEO_CLASS_NAME, "StartArgs", args)) {
@@ -151,6 +170,9 @@ public class OpenApkUtils {
}
public void openSynchronousTutoring(String args) {
+ if (!checkActivation()) {
+ return;
+ }
String packageName = JxwPackageConfig.JXW_TUTORING_PACKAGE_NAME;
String className = JxwPackageConfig.JXW_TUTORING_CLASS_NAME;
if (isCloudLessonMod(packageName)) {
@@ -163,6 +185,9 @@ public class OpenApkUtils {
}
public void openSolidifiedData(String args) {
+ if (!checkActivation()) {
+ return;
+ }
String packageName = JxwPackageConfig.JXW_TUTORING_PACKAGE_NAME;
String className = JxwPackageConfig.JXW_RHETORIC_CLASS_NAME;
if (isCloudLessonMod(packageName)) {
@@ -175,6 +200,9 @@ public class OpenApkUtils {
}
public void openComposition() {
+ if (!checkActivation()) {
+ return;
+ }
String packageName = JxwPackageConfig.JXW_VIDEO_PACKAGE_NAME;
String className = JxwPackageConfig.JXW_COMPOSITION_CLASS_NAME;
if (isCloudLessonMod(packageName)) {
@@ -187,6 +215,9 @@ public class OpenApkUtils {
}
public void openQuality() {
+ if (!checkActivation()) {
+ return;
+ }
String packageName = JxwPackageConfig.JXW_VIDEO_PACKAGE_NAME;
String className = JxwPackageConfig.JXW_Quality_CLASS_NAME;
if (isCloudLessonMod(packageName)) {
@@ -199,6 +230,9 @@ public class OpenApkUtils {
}
public void openPrecision(String args) {
+ if (!checkActivation()) {
+ return;
+ }
String packageName = JxwPackageConfig.JXW_PRECISION_PACKAGE_NAME;
String className = JxwPackageConfig.JXW_PRECISION_CLASS_NAME;
if (isCloudLessonMod(packageName)) {
@@ -211,6 +245,9 @@ public class OpenApkUtils {
}
public void openAppWithoutArgs(String packageName, String className) {
+ if (!checkActivation()) {
+ return;
+ }
if (isCloudLessonMod(packageName)) {
openApp(packageName, className);
} else {
@@ -219,8 +256,11 @@ public class OpenApkUtils {
}
public void openLaboratory(String args) {
- String packageName = JxwPackageConfig.JXW_laboratory_PACKAGE_NAME;
- String className = JxwPackageConfig.JXW_laboratory_CLASS_NAME;
+ if (!checkActivation()) {
+ return;
+ }
+ String packageName = JxwPackageConfig.JXW_LABORATORY_PACKAGE_NAME;
+ String className = JxwPackageConfig.JXW_LABORATORY_CLASS_NAME;
if (isCloudLessonMod(packageName)) {
if (openPackageWithArgs(packageName, className, "StartArgs", args)) {
sendRuningApp(packageName);
@@ -229,4 +269,57 @@ public class OpenApkUtils {
ToastUtil.show("网课模式只允许使用指定应用");
}
}
+
+ public void openLetter() {
+ if (!checkActivation()) {
+ return;
+ }
+ String packageName = JxwPackageConfig.JXW_LETTER_PACKAGE_NAME;
+ String className = JxwPackageConfig.JXW_LETTER_CLASS_NAME;
+ if (isCloudLessonMod(packageName)) {
+ if (openLetterApp(packageName, className)) {
+ sendRuningApp(packageName);
+ }
+ } else {
+ ToastUtil.show("网课模式只允许使用指定应用");
+ }
+ }
+
+ public boolean openLetterApp(String packageName, String className) {
+ if (!ApkUtils.isAvailable(mContext, packageName)) {
+ ToastUtil.show("应用未安装");
+ return false;
+ }
+ ComponentName cn = new ComponentName(packageName, className);
+ Intent intent = new Intent();
+ intent.setComponent(cn);
+ intent.putExtra("isTopic", true);
+ intent.putExtra("isYYGJ", true);
+ intent.putExtra("url", "http://api4.jiumentongbu.com/api/jwfd/baseapp/url?filePath=专区数据/英语广角/幼儿启蒙/ABC字母/menu.json");
+ intent.addCategory(Intent.CATEGORY_LAUNCHER);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
+ try {
+ mContext.startActivity(intent);
+ return true;
+ } catch (Exception e) {
+ Log.e(TAG, "openPackageWithArgs: " + e.getMessage());
+ }
+ return false;
+ }
+
+ public void openChineseWriting() {
+ if (!checkActivation()) {
+ return;
+ }
+ String packageName = JxwPackageConfig.JXW_LABORATORY_PACKAGE_NAME;
+ String className = JxwPackageConfig.JXW_writing_CLASS_NAME;
+ if (isCloudLessonMod(packageName)) {
+ if (openPackageWithArgs(packageName, className, "StartArgs", "小学")) {
+ sendRuningApp(packageName);
+ }
+ } else {
+ ToastUtil.show("网课模式只允许使用指定应用");
+ }
+ }
+
}
diff --git a/app/src/main/res/drawable-hdpi/close_icon.png b/app/src/main/res/drawable-hdpi/close_icon.png
new file mode 100644
index 0000000..b372d35
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/close_icon.png differ
diff --git a/app/src/main/res/drawable-hdpi/com_android_browser.png b/app/src/main/res/drawable-hdpi/com_android_browser.png
index c569613..e4d1383 100644
Binary files a/app/src/main/res/drawable-hdpi/com_android_browser.png and b/app/src/main/res/drawable-hdpi/com_android_browser.png differ
diff --git a/app/src/main/res/drawable-hdpi/com_android_calculator2.png b/app/src/main/res/drawable-hdpi/com_android_calculator2.png
new file mode 100644
index 0000000..31402e7
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/com_android_calculator2.png differ
diff --git a/app/src/main/res/drawable-hdpi/com_android_calendar.png b/app/src/main/res/drawable-hdpi/com_android_calendar.png
new file mode 100644
index 0000000..0065e28
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/com_android_calendar.png differ
diff --git a/app/src/main/res/drawable-hdpi/com_android_contacts.png b/app/src/main/res/drawable-hdpi/com_android_contacts.png
new file mode 100644
index 0000000..b204ea0
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/com_android_contacts.png differ
diff --git a/app/src/main/res/drawable-hdpi/com_android_deskclock.png b/app/src/main/res/drawable-hdpi/com_android_deskclock.png
new file mode 100644
index 0000000..81bf96f
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/com_android_deskclock.png differ
diff --git a/app/src/main/res/drawable-hdpi/com_android_dialer.png b/app/src/main/res/drawable-hdpi/com_android_dialer.png
new file mode 100644
index 0000000..5bf5306
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/com_android_dialer.png differ
diff --git a/app/src/main/res/drawable-hdpi/com_android_email.png b/app/src/main/res/drawable-hdpi/com_android_email.png
new file mode 100644
index 0000000..2eb7a70
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/com_android_email.png differ
diff --git a/app/src/main/res/drawable-hdpi/com_android_mms_ui.png b/app/src/main/res/drawable-hdpi/com_android_mms_ui.png
new file mode 100644
index 0000000..1ac19f2
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/com_android_mms_ui.png differ
diff --git a/app/src/main/res/drawable-hdpi/com_android_music.png b/app/src/main/res/drawable-hdpi/com_android_music.png
new file mode 100644
index 0000000..d0b55a9
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/com_android_music.png differ
diff --git a/app/src/main/res/drawable-hdpi/com_android_providers_downloads_ui.png b/app/src/main/res/drawable-hdpi/com_android_providers_downloads_ui.png
new file mode 100644
index 0000000..55cd1e9
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/com_android_providers_downloads_ui.png differ
diff --git a/app/src/main/res/drawable-hdpi/com_android_quicksearchbox.png b/app/src/main/res/drawable-hdpi/com_android_quicksearchbox.png
new file mode 100644
index 0000000..fd8b051
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/com_android_quicksearchbox.png differ
diff --git a/app/src/main/res/drawable-hdpi/com_android_soundrecorder.png b/app/src/main/res/drawable-hdpi/com_android_soundrecorder.png
new file mode 100644
index 0000000..538075f
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/com_android_soundrecorder.png differ
diff --git a/app/src/main/res/drawable-hdpi/com_android_stk_stkmain.png b/app/src/main/res/drawable-hdpi/com_android_stk_stkmain.png
new file mode 100644
index 0000000..1af7e9e
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/com_android_stk_stkmain.png differ
diff --git a/app/src/main/res/drawable-hdpi/com_android_vdieo.png b/app/src/main/res/drawable-hdpi/com_android_vdieo.png
new file mode 100644
index 0000000..a031a22
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/com_android_vdieo.png differ
diff --git a/app/src/main/res/drawable-hdpi/com_mediatek_filemanager.png b/app/src/main/res/drawable-hdpi/com_mediatek_filemanager.png
new file mode 100644
index 0000000..2c5128a
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/com_mediatek_filemanager.png differ
diff --git a/app/src/main/res/drawable-hdpi/com_mediatek_fmradio.png b/app/src/main/res/drawable-hdpi/com_mediatek_fmradio.png
new file mode 100644
index 0000000..f62afdf
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/com_mediatek_fmradio.png differ
diff --git a/app/src/main/res/drawable-hdpi/com_uiui_sn.png b/app/src/main/res/drawable-hdpi/com_uiui_sn.png
new file mode 100644
index 0000000..d4d1d10
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/com_uiui_sn.png differ
diff --git a/app/src/main/res/drawable-hdpi/icon_dict.png b/app/src/main/res/drawable-hdpi/icon_dict.png
index e83d067..4712872 100644
Binary files a/app/src/main/res/drawable-hdpi/icon_dict.png and b/app/src/main/res/drawable-hdpi/icon_dict.png differ
diff --git a/app/src/main/res/drawable-hdpi/icon_video.png b/app/src/main/res/drawable-hdpi/icon_video.png
index c34aa91..ed90955 100644
Binary files a/app/src/main/res/drawable-hdpi/icon_video.png and b/app/src/main/res/drawable-hdpi/icon_video.png differ
diff --git a/app/src/main/res/drawable-xhdpi/chinese_character.png b/app/src/main/res/drawable-xhdpi/chinese_character.png
new file mode 100644
index 0000000..0c438f2
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/chinese_character.png differ
diff --git a/app/src/main/res/drawable-xhdpi/chinese_punctuation.png b/app/src/main/res/drawable-xhdpi/chinese_punctuation.png
new file mode 100644
index 0000000..a564952
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/chinese_punctuation.png differ
diff --git a/app/src/main/res/drawable-xhdpi/chinese_reading_improvement.png b/app/src/main/res/drawable-xhdpi/chinese_reading_improvement.png
new file mode 100644
index 0000000..f3d65aa
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/chinese_reading_improvement.png differ
diff --git a/app/src/main/res/drawable-xhdpi/chinese_rhetoric.png b/app/src/main/res/drawable-xhdpi/chinese_rhetoric.png
index 0c438f2..5fc19b7 100644
Binary files a/app/src/main/res/drawable-xhdpi/chinese_rhetoric.png and b/app/src/main/res/drawable-xhdpi/chinese_rhetoric.png differ
diff --git a/app/src/main/res/drawable-xhdpi/chinese_treasure.png b/app/src/main/res/drawable-xhdpi/chinese_treasure.png
new file mode 100644
index 0000000..b26c989
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/chinese_treasure.png differ
diff --git a/app/src/main/res/drawable-xhdpi/chinese_writing.png b/app/src/main/res/drawable-xhdpi/chinese_writing.png
new file mode 100644
index 0000000..96abe86
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/chinese_writing.png differ
diff --git a/app/src/main/res/drawable-xhdpi/endlish_jcxx_ywzm.png b/app/src/main/res/drawable-xhdpi/endlish_jcxx_ywzm.png
new file mode 100644
index 0000000..dd36c29
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/endlish_jcxx_ywzm.png differ
diff --git a/app/src/main/res/drawable-xhdpi/english_ice_grammar.png b/app/src/main/res/drawable-xhdpi/english_ice_grammar.png
new file mode 100644
index 0000000..f2e1259
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/english_ice_grammar.png differ
diff --git a/app/src/main/res/drawable-xhdpi/english_into_sentence.png b/app/src/main/res/drawable-xhdpi/english_into_sentence.png
new file mode 100644
index 0000000..418c326
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/english_into_sentence.png differ
diff --git a/app/src/main/res/drawable-xhdpi/english_jcxx_yych.png b/app/src/main/res/drawable-xhdpi/english_jcxx_yych.png
new file mode 100644
index 0000000..3f12eea
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/english_jcxx_yych.png differ
diff --git a/app/src/main/res/drawable-xhdpi/english_jcyy_jcyy.png b/app/src/main/res/drawable-xhdpi/english_jcyy_jcyy.png
new file mode 100644
index 0000000..1bd2ff0
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/english_jcyy_jcyy.png differ
diff --git a/app/src/main/res/drawable-xhdpi/english_listen_read.png b/app/src/main/res/drawable-xhdpi/english_listen_read.png
index 013d22f..01774f9 100644
Binary files a/app/src/main/res/drawable-xhdpi/english_listen_read.png and b/app/src/main/res/drawable-xhdpi/english_listen_read.png differ
diff --git a/app/src/main/res/drawable-xhdpi/english_phonetic_alphabet.png b/app/src/main/res/drawable-xhdpi/english_phonetic_alphabet.png
new file mode 100644
index 0000000..6cfa528
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/english_phonetic_alphabet.png differ
diff --git a/app/src/main/res/drawable-xhdpi/english_precision_learning.png b/app/src/main/res/drawable-xhdpi/english_precision_learning.png
index 703c5f4..a848c7f 100644
Binary files a/app/src/main/res/drawable-xhdpi/english_precision_learning.png and b/app/src/main/res/drawable-xhdpi/english_precision_learning.png differ
diff --git a/app/src/main/res/drawable-xhdpi/english_sentence_patterns.png b/app/src/main/res/drawable-xhdpi/english_sentence_patterns.png
new file mode 100644
index 0000000..01c01d4
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/english_sentence_patterns.png differ
diff --git a/app/src/main/res/drawable-xhdpi/english_writing.png b/app/src/main/res/drawable-xhdpi/english_writing.png
new file mode 100644
index 0000000..402d97a
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/english_writing.png differ
diff --git a/app/src/main/res/drawable-xhdpi/main_background.png b/app/src/main/res/drawable-xhdpi/main_background.png
index 47115ac..9206d96 100644
Binary files a/app/src/main/res/drawable-xhdpi/main_background.png and b/app/src/main/res/drawable-xhdpi/main_background.png differ
diff --git a/app/src/main/res/drawable-xhdpi/math_encyclopedia.png b/app/src/main/res/drawable-xhdpi/math_encyclopedia.png
new file mode 100644
index 0000000..c01e8c5
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/math_encyclopedia.png differ
diff --git a/app/src/main/res/drawable-xhdpi/math_formula.png b/app/src/main/res/drawable-xhdpi/math_formula.png
new file mode 100644
index 0000000..695b82d
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/math_formula.png differ
diff --git a/app/src/main/res/drawable-xhdpi/math_number.png b/app/src/main/res/drawable-xhdpi/math_number.png
new file mode 100644
index 0000000..7b5e821
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/math_number.png differ
diff --git a/app/src/main/res/drawable-xhdpi/precision_box.png b/app/src/main/res/drawable-xhdpi/precision_box.png
new file mode 100644
index 0000000..7740287
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/precision_box.png differ
diff --git a/app/src/main/res/drawable-xhdpi/precision_favorites.png b/app/src/main/res/drawable-xhdpi/precision_favorites.png
new file mode 100644
index 0000000..2d4e304
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/precision_favorites.png differ
diff --git a/app/src/main/res/drawable-xhdpi/precision_question_bank.png b/app/src/main/res/drawable-xhdpi/precision_question_bank.png
new file mode 100644
index 0000000..98a2c57
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/precision_question_bank.png differ
diff --git a/app/src/main/res/drawable-xhdpi/precision_stage_test.png b/app/src/main/res/drawable-xhdpi/precision_stage_test.png
new file mode 100644
index 0000000..91c3c31
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/precision_stage_test.png differ
diff --git a/app/src/main/res/drawable-xhdpi/precision_test_paper.png b/app/src/main/res/drawable-xhdpi/precision_test_paper.png
new file mode 100644
index 0000000..f5f2bca
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/precision_test_paper.png differ
diff --git a/app/src/main/res/drawable-xhdpi/precision_wrong_book.png b/app/src/main/res/drawable-xhdpi/precision_wrong_book.png
new file mode 100644
index 0000000..c70b81d
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/precision_wrong_book.png differ
diff --git a/app/src/main/res/layout-land/activity_main.xml b/app/src/main/res/layout-land/activity_main.xml
index ab3d79f..1eafadc 100644
--- a/app/src/main/res/layout-land/activity_main.xml
+++ b/app/src/main/res/layout-land/activity_main.xml
@@ -4,6 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:background="@drawable/main_background"
tools:context=".activity.main.MainActivity">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-land/dialog_english_basics.xml b/app/src/main/res/layout-land/dialog_english_basics.xml
new file mode 100644
index 0000000..e4b5aae
--- /dev/null
+++ b/app/src/main/res/layout-land/dialog_english_basics.xml
@@ -0,0 +1,357 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-land/foundation_dialog.xml b/app/src/main/res/layout-land/dialog_foundation.xml
similarity index 100%
rename from app/src/main/res/layout-land/foundation_dialog.xml
rename to app/src/main/res/layout-land/dialog_foundation.xml
diff --git a/app/src/main/res/layout-land/fragment_chinese.xml b/app/src/main/res/layout-land/fragment_chinese.xml
index cc436e8..f5da555 100644
--- a/app/src/main/res/layout-land/fragment_chinese.xml
+++ b/app/src/main/res/layout-land/fragment_chinese.xml
@@ -110,6 +110,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_4"
android:text="查看更多…"
+ android:visibility="gone"
android:textColor="@color/black"
android:textSize="@dimen/sp_7"
app:layout_constraintEnd_toEndOf="parent"
@@ -118,7 +119,8 @@
@@ -316,7 +318,7 @@
android:layout_height="@dimen/dp_32"
android:adjustViewBounds="true"
android:scaleType="centerInside"
- android:src="@drawable/chinese_rhetoric"
+ android:src="@drawable/chinese_character"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -324,9 +326,9 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout-land/fragment_math.xml b/app/src/main/res/layout-land/fragment_math.xml
index d8af1da..a851ffd 100644
--- a/app/src/main/res/layout-land/fragment_math.xml
+++ b/app/src/main/res/layout-land/fragment_math.xml
@@ -94,8 +94,8 @@
@@ -302,8 +302,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="数学基础"
- android:textColor="@color/black"
- android:textSize="@dimen/sp_9"
+ android:textColor="@color/default_text_color"
+ android:textSize="@dimen/sp_7"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -341,8 +341,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="四则运算"
- android:textColor="@color/black"
- android:textSize="@dimen/sp_9"
+ android:textColor="@color/default_text_color"
+ android:textSize="@dimen/sp_7"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -351,8 +351,133 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout-land/fragment_precision.xml b/app/src/main/res/layout-land/fragment_precision.xml
new file mode 100644
index 0000000..3131f53
--- /dev/null
+++ b/app/src/main/res/layout-land/fragment_precision.xml
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-land/fragment_subject.xml b/app/src/main/res/layout-land/fragment_subject.xml
index 3123dfe..3f9b01f 100644
--- a/app/src/main/res/layout-land/fragment_subject.xml
+++ b/app/src/main/res/layout-land/fragment_subject.xml
@@ -12,8 +12,9 @@
-
-
-
\ No newline at end of file
+ android:layout_height="match_parent">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-port/dialog_chinese.xml b/app/src/main/res/layout-port/dialog_chinese.xml
new file mode 100644
index 0000000..6727563
--- /dev/null
+++ b/app/src/main/res/layout-port/dialog_chinese.xml
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-port/dialog_english_basics.xml b/app/src/main/res/layout-port/dialog_english_basics.xml
new file mode 100644
index 0000000..e4b5aae
--- /dev/null
+++ b/app/src/main/res/layout-port/dialog_english_basics.xml
@@ -0,0 +1,357 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-port/dialog_foundation.xml b/app/src/main/res/layout-port/dialog_foundation.xml
new file mode 100644
index 0000000..1a70e82
--- /dev/null
+++ b/app/src/main/res/layout-port/dialog_foundation.xml
@@ -0,0 +1,192 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-port/fragment_biology.xml b/app/src/main/res/layout-port/fragment_biology.xml
new file mode 100644
index 0000000..d458f33
--- /dev/null
+++ b/app/src/main/res/layout-port/fragment_biology.xml
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-port/fragment_chemical.xml b/app/src/main/res/layout-port/fragment_chemical.xml
new file mode 100644
index 0000000..e9c0380
--- /dev/null
+++ b/app/src/main/res/layout-port/fragment_chemical.xml
@@ -0,0 +1,136 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-port/fragment_chinese.xml b/app/src/main/res/layout-port/fragment_chinese.xml
new file mode 100644
index 0000000..f5da555
--- /dev/null
+++ b/app/src/main/res/layout-port/fragment_chinese.xml
@@ -0,0 +1,557 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-port/fragment_complex.xml b/app/src/main/res/layout-port/fragment_complex.xml
new file mode 100644
index 0000000..77a03a8
--- /dev/null
+++ b/app/src/main/res/layout-port/fragment_complex.xml
@@ -0,0 +1,517 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-port/fragment_english.xml b/app/src/main/res/layout-port/fragment_english.xml
new file mode 100644
index 0000000..31cf328
--- /dev/null
+++ b/app/src/main/res/layout-port/fragment_english.xml
@@ -0,0 +1,158 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-port/fragment_main.xml b/app/src/main/res/layout-port/fragment_main.xml
new file mode 100644
index 0000000..21fed49
--- /dev/null
+++ b/app/src/main/res/layout-port/fragment_main.xml
@@ -0,0 +1,297 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-port/fragment_math.xml b/app/src/main/res/layout-port/fragment_math.xml
new file mode 100644
index 0000000..a851ffd
--- /dev/null
+++ b/app/src/main/res/layout-port/fragment_math.xml
@@ -0,0 +1,510 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-port/fragment_physics.xml b/app/src/main/res/layout-port/fragment_physics.xml
new file mode 100644
index 0000000..f4b99df
--- /dev/null
+++ b/app/src/main/res/layout-port/fragment_physics.xml
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-port/fragment_precision.xml b/app/src/main/res/layout-port/fragment_precision.xml
new file mode 100644
index 0000000..3131f53
--- /dev/null
+++ b/app/src/main/res/layout-port/fragment_precision.xml
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-port/fragment_subject.xml b/app/src/main/res/layout-port/fragment_subject.xml
new file mode 100644
index 0000000..3f9b01f
--- /dev/null
+++ b/app/src/main/res/layout-port/fragment_subject.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-port/fragment_user.xml b/app/src/main/res/layout-port/fragment_user.xml
new file mode 100644
index 0000000..ce3fa4d
--- /dev/null
+++ b/app/src/main/res/layout-port/fragment_user.xml
@@ -0,0 +1,409 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/foundation_dialog.xml b/app/src/main/res/layout/foundation_dialog.xml
deleted file mode 100644
index 61ebc12..0000000
--- a/app/src/main/res/layout/foundation_dialog.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index af87c91..926cdbe 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -30,8 +30,9 @@
#f4bea3
#858585
- #1F2133
+ #1AFFFFFF
#E5B67B
#1F2135
+ #6d888e