version:1.0.0

fix:
update:增加autosize
This commit is contained in:
2025-11-24 23:04:14 +08:00
parent 2478295bbd
commit 5ae6a6ebe9
112 changed files with 1359 additions and 24638 deletions

View File

@@ -24,6 +24,7 @@ import androidx.fragment.app.FragmentManager;
import androidx.lifecycle.Observer;
import androidx.viewpager.widget.ViewPager;
import com.handuan.os.fragment.app.AppFragment;
import com.hjq.permissions.OnPermissionCallback;
import com.hjq.permissions.Permission;
import com.hjq.permissions.XXPermissions;
@@ -64,7 +65,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
private String[] mAllTitle = new String[]{"精准学", "语文", "数学", "英语", "物理", "化学", "生物", "综合"};
private String[] mAllTitle = new String[]{"精准学", "语文", "数学", "英语", "物理", "化学", "生物", "综合", "应用",};
private PrecisionFragment mPrecisionFragment;
private ChineseFragment mChineseFragment;
@@ -75,7 +76,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
private ChemicalFragment mChemicalFragment;
private BiologyFragment mBiologyFragment;
private ComplexFragment mComplexFragment;
private AppFragment mAppFragment;
private List<Fragment> mFragments;
private FragmentManager mFragmentManager;
@@ -107,8 +108,6 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
public void initView() {
Log.e(TAG, "initView: getSerial = " + LenovoCsdkUtil.getInstance().getSerial());
// mViewDataBinding.ivIcon2.setImageDrawable(ApkUtils.getAppDrawable(MainActivity.this, "com.uiui.zy", R.drawable.com_uiui_sn));
mViewDataBinding.tvAppname2.setText(ApkUtils.getAppName(MainActivity.this, "com.uiui.zy", "设备守护"));
// OpenApkUtils.getInstance().openWordLecture();
// OpenApkUtils.getInstance().openExamSprint();
@@ -159,6 +158,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
mChemicalFragment = new ChemicalFragment();
mBiologyFragment = new BiologyFragment();
mComplexFragment = new ComplexFragment();
mAppFragment = new AppFragment();
mFragments.add(mPrecisionFragment);
mFragments.add(mChineseFragment);
@@ -168,6 +168,8 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
mFragments.add(mChemicalFragment);
mFragments.add(mBiologyFragment);
mFragments.add(mComplexFragment);
mFragments.add(mAppFragment);
Log.e(TAG, "SubjectFragment: end = " + (System.currentTimeMillis() - time));
long time2 = System.currentTimeMillis();
@@ -176,7 +178,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
mBaseFragmentPagerAdapter = new BaseFragmentPagerAdapter(mFragmentManager, mFragments);
mViewDataBinding.viewPager.setAdapter(mBaseFragmentPagerAdapter);
mViewDataBinding.viewPager.setOnPageChangeListener(mListener);
mViewDataBinding.mainSlidingTabLayout.setViewPager(mViewDataBinding.viewPager, mAllTitle);
mViewDataBinding.mainSlidingTabLayout.setViewPager(mViewDataBinding.viewPager, mAllTitle);
Log.e(TAG, "initView: end = " + (System.currentTimeMillis() - time2));
mViewDataBinding.viewPager.setOffscreenPageLimit(10);
@@ -212,8 +214,8 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
mViewModel.mSystemSettingsMutableLiveData.observe(this, new Observer<SystemSettings>() {
@Override
public void onChanged(SystemSettings systemSettings) {
int voice_assistant = systemSettings.getVoice_assistant();
mViewDataBinding.ivRobot.setVisibility(voice_assistant == 1 ? View.VISIBLE : View.GONE);
// int voice_assistant = systemSettings.getVoice_assistant();
// mViewDataBinding.ivRobot.setVisibility(voice_assistant == 1 ? View.VISIBLE : View.GONE);
}
});
}
@@ -253,9 +255,12 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == KeyEvent.ACTION_DOWN) {
lazyExit();
return true;
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
return false;
} else if (KeyEvent.KEYCODE_HOME == keyCode) {
Log.e(TAG, "onKeyDown: keyCode = " + keyCode);
//写要执行的动作或者任务
android.os.Process.killProcess(android.os.Process.myPid());
}
return super.onKeyDown(keyCode, event);
}
@@ -718,8 +723,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
String action = intent.getAction();
Log.e(TAG, "onReceive: " + action);
if (VOICE_ASSISTANT_REFRESH_KEY.equals(action)) {
int voice_assistant = intent.getIntExtra("voice_assistant", 0);
mViewDataBinding.ivRobot.setVisibility(voice_assistant == 1 ? View.VISIBLE : View.GONE);
}
}
}

View File

@@ -1,14 +1,22 @@
package com.handuan.os.base;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import androidx.annotation.CallSuper;
import androidx.annotation.Nullable;
import androidx.core.graphics.Insets;
import androidx.core.view.OnApplyWindowInsetsListener;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import com.handuan.os.R;
import com.handuan.os.base.rx.BaseRxActivity;
import com.zackratos.ultimatebarx.ultimatebarx.java.UltimateBarX;
import me.jessyan.autosize.AutoSizeCompat;
public abstract class BaseTransparentActivity extends BaseRxActivity {
public BaseTransparentActivity() {
@@ -34,6 +42,15 @@ public abstract class BaseTransparentActivity extends BaseRxActivity {
.apply();
}
/**
* 修补autozie RecyclerView item大小不一致
*/
@Override
protected void onResume() {
super.onResume();
AutoSizeCompat.autoConvertDensityOfGlobal(getResources());
}
/**
* 设置布局
*/
@@ -54,4 +71,21 @@ public abstract class BaseTransparentActivity extends BaseRxActivity {
public boolean setfitWindow() {
return false;
}
/**
* @param view android 15 edge-to-edge会覆盖导航栏
*/
public void addNavigationBarBottomPadding(View view) {
UltimateBarX.addNavigationBarBottomPadding(view);
if (Build.VERSION.SDK_INT >= 35) {
ViewCompat.setOnApplyWindowInsetsListener(view, new OnApplyWindowInsetsListener() {
@Override
public WindowInsetsCompat onApplyWindowInsets(View v, WindowInsetsCompat insets) {
Insets systemInsets = insets.getInsets(WindowInsetsCompat.Type.navigationBars());
v.setPadding(0, 0, 0, systemInsets.bottom);
return insets;
}
});
}
}
}