version:3.1

fix:
update:过滤邮件和应用宝
This commit is contained in:
2022-03-09 16:16:12 +08:00
parent e33b21142f
commit 8d8271901b
4 changed files with 43 additions and 17 deletions

View File

@@ -66,8 +66,8 @@ android {
defaultConfig { defaultConfig {
minSdkVersion 26 minSdkVersion 26
targetSdkVersion 28 targetSdkVersion 28
versionCode 21 versionCode 22
versionName "3.0" versionName "3.1"
ndk { ndk {
//选择要添加的对应 cpu 类型的 .so 库。 //选择要添加的对应 cpu 类型的 .so 库。
abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
@@ -310,17 +310,17 @@ dependencies {
//OkHttp //OkHttp
implementation 'com.squareup.okhttp3:okhttp:4.9.1' implementation 'com.squareup.okhttp3:okhttp:4.9.1'
//RxJava和Retrofit //RxJava和Retrofit
implementation 'io.reactivex.rxjava2:rxjava:2.2.12' implementation 'io.reactivex.rxjava2:rxjava:2.2.21'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1' implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.5.0' implementation 'com.squareup.retrofit2:adapter-rxjava2:2.9.0'
//gson //gson
implementation 'com.google.code.gson:gson:2.8.7' implementation 'com.google.code.gson:gson:2.9.0'
//mmkv //mmkv
implementation 'com.tencent:mmkv-static:1.2.10' implementation 'com.tencent:mmkv-static:1.2.12'
//腾讯移动推送 TPNS //腾讯移动推送 TPNS
implementation 'com.tencent.tpns:tpns:1.2.2.0-release' implementation 'com.tencent.tpns:tpns:1.3.2.0-release'
//极光推送 //极光推送
// implementation 'cn.jiguang.sdk:jpush:3.8.6' // 此处以JPush 3.8.6 版本为例。 // implementation 'cn.jiguang.sdk:jpush:3.8.6' // 此处以JPush 3.8.6 版本为例。
// implementation 'cn.jiguang.sdk:jcore:2.6.0' // 此处以JCore 2.6.0 版本为例。 // implementation 'cn.jiguang.sdk:jcore:2.6.0' // 此处以JCore 2.6.0 版本为例。
@@ -328,7 +328,7 @@ dependencies {
implementation 'me.laoyuyu.aria:core:3.8.16' implementation 'me.laoyuyu.aria:core:3.8.16'
annotationProcessor 'me.laoyuyu.aria:compiler:3.8.16' annotationProcessor 'me.laoyuyu.aria:compiler:3.8.16'
//工具类 //工具类
implementation 'com.blankj:utilcodex:1.30.6' implementation 'com.blankj:utilcodex:1.31.0'
} }
preBuild { preBuild {

View File

@@ -317,12 +317,20 @@ public class LauncherModel extends BroadcastReceiver
} }
} }
/**
* 更新日历图标
* @param user
*/
void changedData(UserHandle user) { void changedData(UserHandle user) {
final String calendar = "com.android.calendar"; final String calendar = "com.android.calendar";
enqueueModelUpdateTask( enqueueModelUpdateTask(
new PackageUpdatedTask(PackageUpdatedTask.OP_UPDATE, user, calendar)); new PackageUpdatedTask(PackageUpdatedTask.OP_UPDATE, user, calendar));
} }
/**
* 更新时钟图标
* @param user
*/
void changedTime(UserHandle user) { void changedTime(UserHandle user) {
final String deskclock = "com.android.deskclock"; final String deskclock = "com.android.deskclock";
enqueueModelUpdateTask( enqueueModelUpdateTask(

View File

@@ -263,10 +263,13 @@ public class LoaderTask implements Runnable {
this.add("com.android.email"); this.add("com.android.email");
}}; }};
/**
* 系统应用只显示这几个
*/
public static HashSet<String> showApp = new HashSet<String>() {{ public static HashSet<String> showApp = new HashSet<String>() {{
// this.add(BuildConfig.APPLICATION_ID); // this.add(BuildConfig.APPLICATION_ID);
//aoleyun //aoleyun
this.add("com.aoleyun.sn"); // this.add("com.aoleyun.sn");
this.add("com.aoleyun.appstore"); this.add("com.aoleyun.appstore");
this.add("com.aoleyun.postern"); this.add("com.aoleyun.postern");
this.add("com.aoleyun.browser"); this.add("com.aoleyun.browser");
@@ -303,26 +306,35 @@ public class LoaderTask implements Runnable {
ArrayList<Pair<ItemInfo, Object>> installQueue = new ArrayList<>(); ArrayList<Pair<ItemInfo, Object>> installQueue = new ArrayList<>();
final List<UserHandle> profiles = mUserManager.getUserProfiles(); final List<UserHandle> profiles = mUserManager.getUserProfiles();
String whiteList = Settings.System.getString(context.getContentResolver(), "only_jgy_shortcut_list"); String whiteList = Settings.System.getString(context.getContentResolver(), "only_jgy_shortcut_list");
Log.e("verifyApplications", "whiteList: " + whiteList);
for (UserHandle user : profiles) { for (UserHandle user : profiles) {
final List<LauncherActivityInfo> apps = mLauncherApps.getActivityList(null, user); final List<LauncherActivityInfo> apps = mLauncherApps.getActivityList(null, user);
ArrayList<InstallShortcutReceiver.PendingInstallShortcutInfo> added = new ArrayList<InstallShortcutReceiver.PendingInstallShortcutInfo>(); ArrayList<InstallShortcutReceiver.PendingInstallShortcutInfo> added = new ArrayList<InstallShortcutReceiver.PendingInstallShortcutInfo>();
synchronized (this) { synchronized (this) {
for (LauncherActivityInfo app : apps) { for (LauncherActivityInfo app : apps) {
Log.e("verifyApplications", "AllAPP: " + app.getApplicationInfo().packageName);
if (BuildConfig.APPLICATION_ID.equals(app.getApplicationInfo().packageName)) if (BuildConfig.APPLICATION_ID.equals(app.getApplicationInfo().packageName))
continue; continue;
Log.e(TAG, "verifyApplications: " + app.getApplicationInfo().packageName);
/*系统应用*/ /*系统应用*/
if ((app.getApplicationFlags() & ApplicationInfo.FLAG_SYSTEM) == 1) { if ((app.getApplicationFlags() & ApplicationInfo.FLAG_SYSTEM) == 1) {
if (!showApp.contains(app.getApplicationInfo().packageName)) { if (!showApp.contains(app.getApplicationInfo().packageName)) {
Log.e("verifyApplications", "skip1: " + app.getApplicationInfo().packageName);
continue; continue;
} }
} else { } else {
if (TextUtils.isEmpty(whiteList)) { if (TextUtils.isEmpty(whiteList)) {
if (!showApp.contains(app.getApplicationInfo().packageName)) {
Log.e("verifyApplications", "skip2: " + app.getApplicationInfo().packageName);
continue; continue;
}
} else if (!whiteList.contains(app.getApplicationInfo().packageName)) { } else if (!whiteList.contains(app.getApplicationInfo().packageName)) {
if (!showApp.contains(app.getApplicationInfo().packageName)) {
Log.e("verifyApplications", "skip3: " + app.getApplicationInfo().packageName);
continue; continue;
} }
} }
}
Log.e("verifyApplications", "AddApp: " + app.getApplicationInfo().packageName);
InstallShortcutReceiver.PendingInstallShortcutInfo pendingInstallShortcutInfo = new InstallShortcutReceiver.PendingInstallShortcutInfo(app, context); InstallShortcutReceiver.PendingInstallShortcutInfo pendingInstallShortcutInfo = new InstallShortcutReceiver.PendingInstallShortcutInfo(app, context);
added.add(pendingInstallShortcutInfo); added.add(pendingInstallShortcutInfo);
installQueue.add(pendingInstallShortcutInfo.getItemInfo()); installQueue.add(pendingInstallShortcutInfo.getItemInfo());

View File

@@ -63,7 +63,7 @@ import java.util.List;
*/ */
public class PackageUpdatedTask extends BaseModelUpdateTask { public class PackageUpdatedTask extends BaseModelUpdateTask {
private static final boolean DEBUG = false; private static final boolean DEBUG = true;
private static final String TAG = "PackageUpdatedTask"; private static final String TAG = "PackageUpdatedTask";
public static final int OP_NONE = 0; public static final int OP_NONE = 0;
@@ -85,6 +85,11 @@ public class PackageUpdatedTask extends BaseModelUpdateTask {
mPackages = packages; mPackages = packages;
} }
HashSet<String> hideAppList = new HashSet<String>() {{
this.add("com.tencent.android.qqdownloader");
this.add("com.android.email");
}};
@Override @Override
public void execute(LauncherAppState app, BgDataModel dataModel, AllAppsList appsList) { public void execute(LauncherAppState app, BgDataModel dataModel, AllAppsList appsList) {
final Context context = app.getContext(); final Context context = app.getContext();
@@ -98,7 +103,8 @@ public class PackageUpdatedTask extends BaseModelUpdateTask {
switch (mOp) { switch (mOp) {
case OP_ADD: { case OP_ADD: {
for (int i = 0; i < N; i++) { for (int i = 0; i < N; i++) {
if (DEBUG) Log.d(TAG, "mAllAppsList.addPackage " + packages[i]); if (DEBUG) Log.e(TAG, "mAllAppsList.addPackage " + packages[i]);
if (hideAppList.contains(packages[i])) continue;
iconCache.updateIconsForPkg(packages[i], mUser); iconCache.updateIconsForPkg(packages[i], mUser);
if (FeatureFlags.LAUNCHER3_PROMISE_APPS_IN_ALL_APPS) { if (FeatureFlags.LAUNCHER3_PROMISE_APPS_IN_ALL_APPS) {
appsList.removePackage(packages[i], Process.myUserHandle()); appsList.removePackage(packages[i], Process.myUserHandle());
@@ -115,7 +121,7 @@ public class PackageUpdatedTask extends BaseModelUpdateTask {
} }
case OP_UPDATE: case OP_UPDATE:
for (int i = 0; i < N; i++) { for (int i = 0; i < N; i++) {
if (DEBUG) Log.d(TAG, "mAllAppsList.updatePackage " + packages[i]); if (DEBUG) Log.e(TAG, "mAllAppsList.updatePackage " + packages[i]);
iconCache.updateIconsForPkg(packages[i], mUser); iconCache.updateIconsForPkg(packages[i], mUser);
appsList.updatePackage(context, packages[i], mUser); appsList.updatePackage(context, packages[i], mUser);
app.getWidgetCache().removePackage(packages[i], mUser); app.getWidgetCache().removePackage(packages[i], mUser);
@@ -131,7 +137,7 @@ public class PackageUpdatedTask extends BaseModelUpdateTask {
} }
case OP_UNAVAILABLE: case OP_UNAVAILABLE:
for (int i = 0; i < N; i++) { for (int i = 0; i < N; i++) {
if (DEBUG) Log.d(TAG, "mAllAppsList.removePackage " + packages[i]); if (DEBUG) Log.e(TAG, "mAllAppsList.removePackage " + packages[i]);
appsList.removePackage(packages[i], mUser); appsList.removePackage(packages[i], mUser);
app.getWidgetCache().removePackage(packages[i], mUser); app.getWidgetCache().removePackage(packages[i], mUser);
} }
@@ -142,7 +148,7 @@ public class PackageUpdatedTask extends BaseModelUpdateTask {
flagOp = mOp == OP_SUSPEND ? flagOp = mOp == OP_SUSPEND ?
FlagOp.addFlag(WorkspaceItemInfo.FLAG_DISABLED_SUSPENDED) : FlagOp.addFlag(WorkspaceItemInfo.FLAG_DISABLED_SUSPENDED) :
FlagOp.removeFlag(WorkspaceItemInfo.FLAG_DISABLED_SUSPENDED); FlagOp.removeFlag(WorkspaceItemInfo.FLAG_DISABLED_SUSPENDED);
if (DEBUG) Log.d(TAG, "mAllAppsList.(un)suspend " + N); if (DEBUG) Log.e(TAG, "mAllAppsList.(un)suspend " + N);
appsList.updateDisabledFlags(matcher, flagOp); appsList.updateDisabledFlags(matcher, flagOp);
break; break;
case OP_USER_AVAILABILITY_CHANGE: case OP_USER_AVAILABILITY_CHANGE: