version:1.0.7

update:
bugfixes:改为系统应用,删除无用类
This commit is contained in:
2024-07-31 11:55:19 +08:00
parent a8fcca9fb9
commit 1347b7c6dc
12 changed files with 67 additions and 198 deletions

View File

@@ -1,47 +0,0 @@
package com.xxpatx.os.activity;
import android.content.Intent;
import android.os.Handler;
import androidx.databinding.DataBindingUtil;
import com.xxpatx.os.R;
import com.xxpatx.os.activity.main.deprecated.OldMainActivity;
import com.xxpatx.os.activity.main.deprecated.PhoneMainActivity;
import com.xxpatx.os.base.BaseDataBindingActivity;
import com.xxpatx.os.utils.Utils;
public class SplashActivity extends BaseDataBindingActivity {
@Override
protected void initDataBinding() {
DataBindingUtil.setContentView(this, R.layout.activity_splash);
}
/**
* 初始化视图
*/
@Override
public void initView() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
if (Utils.isTablet(SplashActivity.this)) {
startActivity(new Intent(SplashActivity.this, OldMainActivity.class));
} else {
startActivity(new Intent(SplashActivity.this, PhoneMainActivity.class));
}
finish();
}
}, 3000);
}
/**
* 初始化数据
*/
@Override
public void initData() {
}
}

View File

@@ -235,8 +235,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
// | View.SYSTEM_UI_FLAG_FULLSCREEN
// | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
;
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
decorView.setSystemUiVisibility(uiOptions);
}

View File

@@ -1,35 +0,0 @@
package com.xxpatx.os.activity.main.deprecated;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import androidx.annotation.Nullable;
import androidx.databinding.DataBindingUtil;
import com.xxpatx.os.R;
import com.xxpatx.os.activity.main.MainActivity;
@Deprecated
public class OldMainActivity extends MainActivity {
private static final String TAG = "OldMainActivity";
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.e(TAG, "onCreate: ");
}
@Override
protected void initDataBinding() {
DataBindingUtil.setContentView(this, R.layout.activity_main_old);
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
Log.e(TAG, "onNewIntent: getAction = " + intent.getAction());
Log.e(TAG, "onNewIntent: getCategories = " + intent.getCategories());
Log.e(TAG, "onNewIntent: getFlags = " + intent.getFlags());
}
}

View File

@@ -1,51 +0,0 @@
package com.xxpatx.os.activity.main.deprecated;
import android.content.Intent;
import android.view.View;
import androidx.databinding.DataBindingUtil;
import com.xxpatx.os.R;
import com.xxpatx.os.activity.emergency.EmergencyActivity;
import com.xxpatx.os.activity.main.MainActivity;
import com.xxpatx.os.databinding.ActivityMainBinding;
import com.xxpatx.os.utils.ApkUtils;
@Deprecated
public class PhoneMainActivity extends MainActivity {
private static final String TAG = "PhoneMainActivity";
ActivityMainBinding mBinding;
@Override
protected void initDataBinding() {
mBinding = DataBindingUtil.setContentView(this, R.layout.activity_main);
mBinding.cl0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(Intent.ACTION_DIAL));
}
});
mBinding.cl1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ApkUtils.openPackage(PhoneMainActivity.this, "com.android.mms");
}
});
mBinding.cl2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ApkUtils.openPackage(PhoneMainActivity.this, "com.mediatek.camera");
}
});
mBinding.cl3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(PhoneMainActivity.this, EmergencyActivity.class));
}
});
}
}

View File

@@ -29,7 +29,6 @@ import com.xxpatx.os.BuildConfig;
import com.xxpatx.os.R;
import com.xxpatx.os.activity.screenlock.ScreenLockActivity;
import com.xxpatx.os.activity.dailyapp.DailyAppActivity;
import com.xxpatx.os.activity.main.deprecated.OldMainActivity;
import com.xxpatx.os.base.BaseFragment;
import com.xxpatx.os.bean.BaseResponse;
import com.xxpatx.os.bean.DesktopIcon;
@@ -362,7 +361,7 @@ public class AppListFragment extends BaseFragment {
if (!ShortcutUtils.getInstance().deleteShortcut(shortcutPkgInfo.getId(), shortcutPkgInfo.getPackageName())) {
Toaster.show("删除失败");
}
mContext.sendBroadcast(new Intent(OldMainActivity.ACTION_PACKAGE_HIDE));
// mContext.sendBroadcast(new Intent(OldMainActivity.ACTION_PACKAGE_HIDE));
shortcutDialog.dismiss();
}

View File

@@ -8,7 +8,6 @@ import android.content.pm.ResolveInfo;
import android.util.Log;
import com.tencent.mmkv.MMKV;
import com.xxpatx.os.activity.main.deprecated.OldMainActivity;
import com.xxpatx.os.bean.DailyAppBean;
import com.xxpatx.os.config.CommonConfig;
@@ -71,13 +70,13 @@ public class AppStatusManager {
public void addHidedApp(String pkg) {
this.hidedAppSet.add(pkg);
mMMKV.encode(APP_STATUS_MANAGER_KEY, hidedAppSet);
mContext.sendBroadcast(new Intent(OldMainActivity.ACTION_PACKAGE_HIDE));
// mContext.sendBroadcast(new Intent(OldMainActivity.ACTION_PACKAGE_HIDE));
}
public void removeHidedApp(String pkg) {
this.hidedAppSet.remove(pkg);
mMMKV.encode(APP_STATUS_MANAGER_KEY, hidedAppSet);
mContext.sendBroadcast(new Intent(OldMainActivity.ACTION_PACKAGE_HIDE));
// mContext.sendBroadcast(new Intent(OldMainActivity.ACTION_PACKAGE_HIDE));
}
public List<DailyAppBean> getPackageList() {

View File

@@ -1,5 +1,6 @@
package com.xxpatx.os.service.main;
import android.app.ActivityManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
@@ -20,6 +21,7 @@ import com.arialyy.annotations.Download;
import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.task.DownloadTask;
import com.blankj.utilcode.util.NetworkUtils;
import com.hjq.toast.Toaster;
import com.shehuan.niv.NiceImageView;
import com.tencent.mmkv.MMKV;
import com.xxpatx.os.BuildConfig;
@@ -41,6 +43,7 @@ import com.xxpatx.os.utils.ForegroundAppUtil;
import java.io.File;
import java.io.FileNotFoundException;
import java.lang.reflect.Method;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
@@ -600,6 +603,35 @@ public class MainService extends BaseRxService
isBallShown = true;
}
private void killBackgroundApp() {
List<String> pkgList = ApkUtils.queryFilterAppList(this);
for (String pkg : pkgList) {
if (pkg.equalsIgnoreCase(BuildConfig.APPLICATION_ID)
|| "com.xxpatx.sn".equals(pkg)
) {
continue;
}
killBackgroundProcesses(pkg);
}
Toaster.show(String.format(getString(R.string.clear_app_size), pkgList.size()));
}
private void killBackgroundProcesses(String packageName) {
Log.e(TAG, "killBackgroundProcesses: " + packageName);
ActivityManager activityManager;
try {
activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
activityManager.killBackgroundProcesses(packageName);
Method forceStopPackage = activityManager.getClass()
.getDeclaredMethod("forceStopPackage", String.class);
forceStopPackage.setAccessible(true);
forceStopPackage.invoke(activityManager, packageName);
} catch (Exception e) {
Log.e(TAG, "killBackgroundProcesses: " + e.getMessage());
e.printStackTrace();
}
}
private View setUpView() {
View view = LayoutInflater.from(this).inflate(R.layout.window_float_ball, null);
NiceImageView iv_ball = view.findViewById(R.id.iv_ball);
@@ -608,6 +640,7 @@ public class MainService extends BaseRxService
public void onClick(View v) {
Log.e("iv_ball", "onClick: ");
// closeToolWindow();
killBackgroundApp();
Intent intent = new Intent(MainService.this, MainActivity.class);
intent.setAction("android.intent.action.MAIN");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);