From 2e971a362a3bd88553ebb1839389a4074864578b Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Tue, 4 Aug 2020 15:59:30 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=89=8B=E5=8A=A8?= =?UTF-8?q?=E5=85=B3=E9=97=AD=E6=B6=88=E6=81=AF=E5=BC=B9=E7=AA=97=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E6=96=B0=E5=A2=9E=E6=B6=88=E6=81=AF=E6=95=B0=E9=87=8F?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index b7ecc22157..9147a8f2b7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -73,7 +73,7 @@ MOGO_MODULE_ONLINECAR_VERSION=1.0.3.2 # v2x MOGO_MODULE_V2X_VERSION=1.1.534 # 推送 -MOGO_MODULE_PUSH_VERSION=1.1.6.1 +MOGO_MODULE_PUSH_VERSION=1.1.6.2 MOGO_MODULE_PUSH_BASE_VERSION=1.1.5.5 MOGO_MODULE_PUSH_NOOP_VERSION=1.1.5.6 # 广告资源位 From dfb73724d63dc2b7b97bbeac1f355865965505f4 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Wed, 5 Aug 2020 12:26:59 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=96=B9=E5=BC=8F=E8=BF=87=E6=BB=A4=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E5=88=97=E8=A1=A8=EF=BC=9A/storage/emulated/0/MOGO/pa?= =?UTF-8?q?ckagesFilterList.txt=20=E6=A0=BC=E5=BC=8F=EF=BC=9A=E6=AF=8F?= =?UTF-8?q?=E4=B8=80=E8=A1=8C=E4=BB=A3=E8=A1=A8=E4=B8=80=E4=B8=AA=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E8=BF=87=E6=BB=A4=E7=9A=84=E5=8C=85=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/module/apps/AppFilterImpl.java | 37 +++++++++++++++++++ .../com/mogo/module/apps/model/AppsModel.java | 11 +++++- 2 files changed, 46 insertions(+), 2 deletions(-) diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppFilterImpl.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppFilterImpl.java index 78e4320bbd..50f07e1d11 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppFilterImpl.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppFilterImpl.java @@ -3,9 +3,15 @@ package com.mogo.module.apps; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; +import android.text.TextUtils; import com.mogo.module.common.utils.CarSeries; +import com.mogo.utils.FileUtils; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -21,6 +27,8 @@ public class AppFilterImpl implements AppFilter { private final Context mContext; private List< String > mFilterPackages; + private static String sExternalPath = "/storage/emulated/0/MOGO/packagesFilterList.txt"; + private static List< String > sExternalConfigPackages = new ArrayList<>(); public AppFilterImpl( Context context ) { mContext = context; @@ -42,6 +50,9 @@ public class AppFilterImpl implements AppFilter { // if ( isSystemApp( packageInfo ) ) { // return true; // } + if ( isInExternalFilter( packageInfo ) ) { + return true; + } if ( isFilterPackages( packageInfo ) ) { return true; } @@ -63,4 +74,30 @@ public class AppFilterImpl implements AppFilter { return mContext.getPackageManager().getLaunchIntentForPackage( packageInfo.packageName ) == null; } + private boolean isInExternalFilter( PackageInfo packageInfo ) { + return sExternalConfigPackages.contains( packageInfo.packageName ); + } + + public static void loadExternalFilterPackagesList() throws Exception { + sExternalConfigPackages.clear(); + File file = new File( sExternalPath ); + if ( !file.exists() || file.length() == 0 ) { + return; + } + FileInputStream fis = new FileInputStream( file ); + InputStreamReader isr = new InputStreamReader( fis ); + BufferedReader br = new BufferedReader( isr ); + String line = ""; + while ( ( line = br.readLine() ) != null ) { + line = line.trim(); + if ( TextUtils.isEmpty( line ) ) { + continue; + } + sExternalConfigPackages.add( line ); + } + br.close(); + isr.close(); + fis.close(); + } + } diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/AppsModel.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/AppsModel.java index 61c55a981d..4463a9e69c 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/AppsModel.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/AppsModel.java @@ -1,10 +1,8 @@ package com.mogo.module.apps.model; import android.content.Context; -import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; import android.graphics.drawable.Drawable; import android.text.TextUtils; @@ -12,6 +10,7 @@ import com.mogo.module.apps.AppFilter; import com.mogo.module.apps.AppFilterImpl; import com.mogo.module.apps.AppsConst; import com.mogo.module.apps.AppsListChangedLiveData; +import com.mogo.utils.logger.Logger; import java.util.ArrayList; import java.util.HashMap; @@ -26,6 +25,8 @@ import java.util.concurrent.atomic.AtomicBoolean; * 加载并保存 app 列表 */ public class AppsModel { + + private static final String TAG = "AppsModel"; private static volatile AppsModel sInstance; private Context mContext; @@ -72,6 +73,12 @@ public class AppsModel { if ( mAppFilter == null ) { mAppFilter = new AppFilterImpl( mContext ); } + try { + AppFilterImpl.loadExternalFilterPackagesList(); + } catch ( Exception e ) { + Logger.e( TAG, e, "error." ); + e.printStackTrace(); + } final PackageManager packageManager = mContext.getPackageManager(); List< PackageInfo > packages = packageManager.getInstalledPackages( 0 ); int counter = 0; From ae00e748bef33e7a15ccea928be1f47bb87d6f69 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Wed, 5 Aug 2020 16:18:43 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E4=B8=BA=EF=BC=9A/system/etc/packagesFilterList.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mogo/module/apps/AppFilterImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppFilterImpl.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppFilterImpl.java index 50f07e1d11..570acc5cdc 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppFilterImpl.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppFilterImpl.java @@ -27,7 +27,7 @@ public class AppFilterImpl implements AppFilter { private final Context mContext; private List< String > mFilterPackages; - private static String sExternalPath = "/storage/emulated/0/MOGO/packagesFilterList.txt"; + private static String sExternalPath = "/system/etc/packagesFilterList.txt"; private static List< String > sExternalConfigPackages = new ArrayList<>(); public AppFilterImpl( Context context ) {