version:1.5

fix:
update:基本功能对接完成
This commit is contained in:
2023-03-02 16:01:07 +08:00
parent 2772685f0e
commit f79567f303
93 changed files with 5813 additions and 187 deletions

View File

@@ -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<Fragment> 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() {

View File

@@ -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<AppAdapter.AppHolder> {
private static final String TAG = AppAdapter.class.getSimpleName();
private Context mContext;
private List<DesktopIcon> desktopIcons;
@@ -38,13 +43,27 @@ public class AppAdapter extends RecyclerView.Adapter<AppAdapter.AppHolder> {
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());
}
}
});
}

View File

@@ -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();
}
}

View File

@@ -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();
}
}

View File

@@ -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);

View File

@@ -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();

View File

@@ -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);
}
});
}

View File

@@ -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() {

View File

@@ -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() {

View File

@@ -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) {

View File

@@ -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");
}
});
}
}

View File

@@ -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);
}

View File

@@ -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();
}
}
}
}

View File

@@ -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";
}

View File

@@ -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();
}
}
}

View File

@@ -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<String> excludeClassName = new HashSet<String>() {{

View File

@@ -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;
}
}
}

View File

@@ -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<String> appClassNameList = new ArrayList<String>() {{
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<String> appIconList = new ArrayList<String>() {{
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<String> appIconList2 = new ArrayList<String>() {{
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());
}
}

View File

@@ -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("网课模式只允许使用指定应用");
}
}
}