version:2.0.3

bugfixes:
update:改为横屏,增加隐私协议
This commit is contained in:
2025-05-28 15:40:46 +08:00
parent 5a2552c3b4
commit 7ba6544143
64 changed files with 388 additions and 8800 deletions

View File

@@ -1,62 +0,0 @@
package com.uiui.zyos.activity;
import android.content.Intent;
import android.widget.TextView;
import com.uiui.zyos.R;
import com.uiui.zyos.base.mvp.BaseMvpActivity;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
public class PolicyActivity extends BaseMvpActivity {
private TextView textView;
@Override
public int getLayoutId() {
return R.layout.activity_policy;
}
@Override
public void initView() {
textView = findViewById(R.id.textView);
Intent intent = getIntent();
if (intent == null) {
finish();
} else {
int rawText = intent.getIntExtra("content", 0);
if (rawText == 0) {
finish();
} else {
try {
//获取文件中的内容
InputStream inputStream = getResources().openRawResource(rawText);
//将文件中的字节转换为字符
InputStreamReader isReader = new InputStreamReader(inputStream, "UTF-8");
//使用bufferReader去读取字符
BufferedReader reader = new BufferedReader(isReader);
StringBuilder stringBuilder = new StringBuilder();
try {
String out;
while ((out = reader.readLine()) != null) {
stringBuilder.append(out).append("\n");
}
textView.setText(stringBuilder);
} catch (IOException e) {
e.printStackTrace();
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
}
@Override
public void initData() {
}
}

View File

@@ -0,0 +1,91 @@
package com.uiui.zyos.activity.privacy;
import android.content.Intent;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import com.uiui.zyos.R;
import com.uiui.zyos.base.mvvm.BaseMvvmActivity;
import com.uiui.zyos.databinding.ActivityPrivacyaBinding;
public class PrivacyActivity extends BaseMvvmActivity<PrivacyViewModel, ActivityPrivacyaBinding> {
private static final String TAG = "PrivacyActivity";
@Override
public boolean setNightMode() {
return true;
}
@Override
public boolean setfitWindow() {
return true;
}
@Override
protected int getLayoutId() {
return R.layout.activity_privacya;
}
@Override
protected void initDataBinding() {
mViewModel.setCtx(this);
mViewModel.setVDBinding(mViewDataBinding);
mViewModel.setLifecycle(getLifecycleSubject());
mViewDataBinding.setClick(new BtnClick());
}
@Override
protected void initView() {
WebSettings settings = mViewDataBinding.webView.getSettings();
// settings.setUseWideViewPort(true);
settings.setJavaScriptEnabled(true);
settings.setAllowFileAccess(true);
settings.setAllowContentAccess(true);
settings.setAllowFileAccessFromFileURLs(true);
settings.setAllowUniversalAccessFromFileURLs(true);
settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
mViewDataBinding.webView.setWebViewClient(new WebViewClient());
mViewDataBinding.webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
super.onProgressChanged(view, newProgress);
if (newProgress == 100) {
mViewDataBinding.progressBar.setVisibility(View.GONE);
} else {
mViewDataBinding.progressBar.setVisibility(View.VISIBLE);
mViewDataBinding.progressBar.setMax(100);
mViewDataBinding.progressBar.setProgress(newProgress);
}
}
});
Intent intent = getIntent();
int contentType = intent.getIntExtra("ContentType", 1);
switch (contentType) {
default:
case 1:
mViewDataBinding.tvTitle.setText("用户协议");
mViewDataBinding.webView.loadUrl("https://www.uiuios.com/agreement.html?section=2-1");
break;
case 2:
mViewDataBinding.tvTitle.setText("隐私政策");
mViewDataBinding.webView.loadUrl("https://www.uiuios.com/agreement.html?section=2-2");
break;
}
}
@Override
protected void initData() {
}
public class BtnClick {
public void exit(View view) {
finish();
}
}
}

View File

@@ -0,0 +1,19 @@
package com.uiui.zyos.activity.privacy;
import com.trello.rxlifecycle4.android.ActivityEvent;
import com.uiui.zyos.base.mvvm.BaseViewModel;
import com.uiui.zyos.databinding.ActivityPrivacyaBinding;
public class PrivacyViewModel extends BaseViewModel<ActivityPrivacyaBinding, ActivityEvent> {
@Override
public ActivityPrivacyaBinding getVDBinding() {
return binding;
}
@Override
public void onDestroy() {
}
}

View File

@@ -97,6 +97,15 @@ public class AppAdapter extends RecyclerView.Adapter<AppAdapter.AppHolder> {
case AppManager.SERVICE_NAME:
mContext.startActivity(new Intent(mContext, ServiceActivity.class));
break;
case "com.jxw.zwpg":
OpenApkUtils.getInstance().openZuowenpigai6();
break;
case "com.jxw.gb.zwpg":
OpenApkUtils.getInstance().openZuowenpigai();
break;
case "com.jxw.huiben":
OpenApkUtils.getInstance().openARHuiben();
break;
default:
int settingOtherAppInstaller = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.SETTING_OTHER_APPINSTALLER_KEY, 1);
if (settingOtherAppInstaller == 0 && !ApkUtils.isSystemApp(mContext, desktopIcon.getPackageName())) {

View File

@@ -18,7 +18,7 @@ import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import com.uiui.zyos.R;
import com.uiui.zyos.activity.PolicyActivity;
import com.uiui.zyos.activity.privacy.PrivacyActivity;
public class PrivacyPolicyDialog extends AlertDialog {
private Context mContext;
@@ -64,8 +64,8 @@ public class PrivacyPolicyDialog extends AlertDialog {
spannableString.setSpan(new ClickableSpan() {
@Override
public void onClick(@NonNull View widget) {
Intent intent = new Intent(mContext, PolicyActivity.class);
intent.putExtra("content", R.raw.privacy_policy);
Intent intent = new Intent(mContext, PrivacyActivity.class);
intent.putExtra("ContentType", 1);
mContext.startActivity(intent);
}
}, 89, 95, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
@@ -73,8 +73,8 @@ public class PrivacyPolicyDialog extends AlertDialog {
spannableString.setSpan(new ClickableSpan() {
@Override
public void onClick(@NonNull View widget) {
Intent intent = new Intent(mContext, PolicyActivity.class);
intent.putExtra("content", R.raw.user_agreement);
Intent intent = new Intent(mContext, PrivacyActivity.class);
intent.putExtra("ContentType", 2);
mContext.startActivity(intent);
}
}, 96, 102, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

View File

@@ -61,6 +61,30 @@ public class AppViewModel extends BaseViewModel<FragmentAppBinding, FragmentEven
serviceIcon.setPackageName(AppManager.SERVICE_NAME);
desktopIcons.add(serviceIcon);
if (ApkUtils.isAvailable(getCtx(), "com.jxw.zwpg")) {
DesktopIcon zwpgIcon = new DesktopIcon();
zwpgIcon.setIcon(getCtx().getDrawable(R.drawable.zwpg_icon));
zwpgIcon.setLable("作文批改");
zwpgIcon.setPackageName("com.jxw.zwpg");
desktopIcons.add(zwpgIcon);
}
// if (ApkUtils.isAvailable(getCtx(), "com.jxw.gb.zwpg")) {
// DesktopIcon zwpgIcon = new DesktopIcon();
// zwpgIcon.setIcon(getCtx().getDrawable(R.drawable.zwpg_icon));
// zwpgIcon.setLable("作文批改");
// zwpgIcon.setPackageName("com.jxw.gb.zwpg");
// desktopIcons.add(zwpgIcon);
// }
if (ApkUtils.isAvailable(getCtx(), "com.jxw.huiben")) {
DesktopIcon zwpgIcon = new DesktopIcon();
zwpgIcon.setIcon(getCtx().getDrawable(R.drawable.zhidu_icon));
zwpgIcon.setLable("AR指读");
zwpgIcon.setPackageName("com.jxw.huiben");
desktopIcons.add(zwpgIcon);
}
DesktopIcon desktopIcon = new DesktopIcon();
desktopIcon.setLable("添加应用");
desktopIcon.setPackageName(AppManager.ADD_NAME);

View File

@@ -173,6 +173,7 @@ public class PrecisionFragment extends BaseMvvmFragment<PrecisionViewModel, Frag
public void openPrecisionHome(View view) {
if (OpenApkUtils.getInstance().isNewAiApp()) {
OpenApkUtils.getInstance().openAiPrecision(0, "");
// OpenApkUtils.getInstance().openARHuiben();
} else {
OpenApkUtils.getInstance().openPrecision("1");
}

View File

@@ -95,20 +95,6 @@ public class SubjectFragment extends BaseDataBindingFragment<FragmentSubjectBind
// }
// });
mPrecisionFragment = new PrecisionFragment();
mPrecisionFragment.setUserVisibleHintCallback(new PrecisionFragment.UserVisibleHintCallback() {
@Override
public void onUserVisibleHint() {
if (mViewDataBinding.viewPager != null) {
mViewDataBinding.viewPager.postDelayed(new Runnable() {
@Override
public void run() {
mViewDataBinding.viewPager.setOffscreenPageLimit(10);
}
}, 1234);
Log.e(TAG, "setUserVisibleHint: setOffscreenPageLimit");
}
}
});
mChineseFragment = new ChineseFragment();
mMathFragment = new MathFragment();
mEnglishFragment = new EnglishFragment();
@@ -188,6 +174,7 @@ public class SubjectFragment extends BaseDataBindingFragment<FragmentSubjectBind
mViewDataBinding.mainSlidingTabLayout.setViewPager(mViewDataBinding.viewPager, mTitleWithoutScience);
}
Log.e(TAG, "initView: end = " + (System.currentTimeMillis() - time));
mViewDataBinding.viewPager.setOffscreenPageLimit(10);
}
@Override

View File

@@ -102,5 +102,12 @@ public class JxwPackageConfig {
/*学情管理*/
public static final String JXW_USAGEDATE_NAME = "com.jxw.usagedate";
public static final String JXW_USAGEDATE_CLASS = "com.jxw.usagedate.ui.MainActivity";
/*AR指读/AR绘本*/
public static final String JXW_HUIBEN_NAME = "com.jxw.huiben";
public static final String JXW_HUIBEN_CLASS = "com.jxw.huiben.activity.SplashActivity";
/*作文批改*/
public static final String JXW_ZWPG_NAME = "com.jxw.gb.zwpg";
public static final String JXW_ZWPG_CLASS = "com.jxw.gb.zwpg.ui.activity.MainActivity";
public static final String JXW_ZWPG_NAME_6 = "com.jxw.zwpg";
public static final String JXW_ZWPG_CLASS_6 = "com.jxw.zwpg.MainActivity";
}

View File

@@ -178,6 +178,8 @@ public class OpenApkUtils {
this.add("com.jxw.examsystem");
this.add("com.jxw.game");
this.add("com.jxw.gb.zwpg");
this.add("com.jxw.huiben");
this.add("com.jxw.zwpg");
this.add("com.jxw.handwrite");
this.add("com.jxw.jinfangyici");
this.add("com.jxw.jxwbook");
@@ -580,4 +582,29 @@ public class OpenApkUtils {
}
}
public void openARHuiben() {
Intent intent = new Intent();
intent.setClassName(JxwPackageConfig.JXW_HUIBEN_NAME, JxwPackageConfig.JXW_HUIBEN_CLASS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
intent.putExtra("StartArgs", "keben");
mContext.startActivity(intent);
}
public void openZuowenpigai() {
Intent intent = new Intent();
intent.setClassName(JxwPackageConfig.JXW_ZWPG_NAME, JxwPackageConfig.JXW_ZWPG_CLASS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
mContext.startActivity(intent);
}
public void openZuowenpigai6() {
Intent intent = new Intent();
intent.setClassName(JxwPackageConfig.JXW_ZWPG_NAME_6, JxwPackageConfig.JXW_ZWPG_CLASS_6);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
mContext.startActivity(intent);
}
}