Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fc93d732 authored by Wale Ogunwale's avatar Wale Ogunwale
Browse files

Revert "Restore preferred activity filter if it not inside"

This reverts commit da90fd98.

Reason for revert:

1-18 13:33:52.927  2356  2356 E System  : ******************************************
11-18 13:33:52.927  2356  2356 E System  : ************ Failure starting system services
11-18 13:33:52.927  2356  2356 E System  : java.lang.ArrayIndexOutOfBoundsException: length=2; index=2
11-18 13:33:52.927  2356  2356 E System  : 	at com.android.server.pm.PreferredComponent.sameSet(PreferredComponent.java:266)
11-18 13:33:52.927  2356  2356 E System  : 	at com.android.server.pm.PreferredIntentResolver.shouldAddPreferredActivity(PreferredIntentResolver.java:63)
11-18 13:33:52.927  2356  2356 E System  : 	at com.android.server.pm.Settings.readPreferredActivitiesLPw(Settings.java:1315)
11-18 13:33:52.927  2356  2356 E System  : 	at com.android.server.pm.Settings.readPackageRestrictionsLPr(Settings.java:1686)
11-18 13:33:52.927  2356  2356 E System  : 	at com.android.server.pm.Settings.readLPw(Settings.java:3032)
11-18 13:33:52.927  2356  2356 E System  : 	at com.android.server.pm.PackageManagerService.<init>(PackageManagerService.java:3185)
11-18 13:33:52.927  2356  2356 E System  : 	at com.android.server.pm.PackageManagerService.main(PackageManagerService.java:2781)
11-18 13:33:52.927  2356  2356 E System  : 	at com.android.server.SystemServer.startBootstrapServices(SystemServer.java:970)
11-18 13:33:52.927  2356  2356 E System  : 	at com.android.server.SystemServer.run(SystemServer.java:704)
11-18 13:33:52.927  2356  2356 E System  : 	at com.android.server.SystemServer.main(SystemServer.java:444)
11-18 13:33:52.927  2356  2356 E System  : 	at java.lang.reflect.Method.invoke(Native Method)
11-18 13:33:52.927  2356  2356 E System  : 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
11-18 13:33:52.927  2356  2356 E System  : 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:946)
11-18 13:33:52.927  2356  2356 D SystemServerTiming: StartPackageManagerService took to complete: 158ms
11-18 13:33:52.927  2356  2356 E Zygote  : System zygote died with fatal exception
11-18 13:33:52.927  2356  2356 E Zygote  : java.lang.ArrayIndexOutOfBoundsException: length=2; index=2
11-18 13:33:52.927  2356  2356 E Zygote  : 	at com.android.server.pm.PreferredComponent.sameSet(PreferredComponent.java:266)
11-18 13:33:52.927  2356  2356 E Zygote  : 	at com.android.server.pm.PreferredIntentResolver.shouldAddPreferredActivity(PreferredIntentResolver.java:63)
11-18 13:33:52.927  2356  2356 E Zygote  : 	at com.android.server.pm.Settings.readPreferredActivitiesLPw(Settings.java:1315)
11-18 13:33:52.927  2356  2356 E Zygote  : 	at com.android.server.pm.Settings.readPackageRestrictionsLPr(Settings.java:1686)
11-18 13:33:52.927  2356  2356 E Zygote  : 	at com.android.server.pm.Settings.readLPw(Settings.java:3032)
11-18 13:33:52.927  2356  2356 E Zygote  : 	at com.android.server.pm.PackageManagerService.<init>(PackageManagerService.java:3185)
11-18 13:33:52.927  2356  2356 E Zygote  : 	at com.android.server.pm.PackageManagerService.main(PackageManagerService.java:2781)
11-18 13:33:52.927  2356  2356 E Zygote  : 	at com.android.server.SystemServer.startBootstrapServices(SystemServer.java:970)
11-18 13:33:52.927  2356  2356 E Zygote  : 	at com.android.server.SystemServer.run(SystemServer.java:704)
11-18 13:33:52.927  2356  2356 E Zygote  : 	at com.android.server.SystemServer.main(SystemServer.java:444)
11-18 13:33:52.927  2356  2356 E Zygote  : 	at java.lang.reflect.Method.invoke(Native Method)
11-18 13:33:52.927  2356  2356 E Zygote  : 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
11-18 13:33:52.927  2356  2356 E Zygote  : 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:946)
11-18 13:33:52.927  2356  2356 D AndroidRuntime: Shutting down VM
11-18 13:33:52.927  2356  2356 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: main
11-18 13:33:52.927  2356  2356 E AndroidRuntime: java.lang.ArrayIndexOutOfBoundsException: length=2; index=2
11-18 13:33:52.927  2356  2356 E AndroidRuntime: 	at com.android.server.pm.PreferredComponent.sameSet(PreferredComponent.java:266)
11-18 13:33:52.927  2356  2356 E AndroidRuntime: 	at com.android.server.pm.PreferredIntentResolver.shouldAddPreferredActivity(PreferredIntentResolver.java:63)
11-18 13:33:52.927  2356  2356 E AndroidRuntime: 	at com.android.server.pm.Settings.readPreferredActivitiesLPw(Settings.java:1315)
11-18 13:33:52.927  2356  2356 E AndroidRuntime: 	at com.android.server.pm.Settings.readPackageRestrictionsLPr(Settings.java:1686)
11-18 13:33:52.927  2356  2356 E AndroidRuntime: 	at com.android.server.pm.Settings.readLPw(Settings.java:3032)
11-18 13:33:52.927  2356  2356 E AndroidRuntime: 	at com.android.server.pm.PackageManagerService.<init>(PackageManagerService.java:3185)
11-18 13:33:52.927  2356  2356 E AndroidRuntime: 	at com.android.server.pm.PackageManagerService.main(PackageManagerService.java:2781)
11-18 13:33:52.927  2356  2356 E AndroidRuntime: 	at com.android.server.SystemServer.startBootstrapServices(SystemServer.java:970)
11-18 13:33:52.927  2356  2356 E AndroidRuntime: 	at com.android.server.SystemServer.run(SystemServer.java:704)
11-18 13:33:52.927  2356  2356 E AndroidRuntime: 	at com.android.server.SystemServer.main(SystemServer.java:444)
11-18 13:33:52.927  2356  2356 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
11-18 13:33:52.927  2356  2356 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
11-18 13:33:52.927  2356  2356 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:946)
11-18 13:33:52.928  2356  2356 E AndroidRuntime: Error reporting crash
11-18 13:33:52.928  2356  2356 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke interface method 'void android.app.IActivityManager.handleApplicationCrash(android.os.IBinder, android.app.ApplicationErrorReport$ParcelableCrashInfo)' on a null object reference
11-18 13:33:52.928  2356  2356 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$KillApplicationHandler.uncaughtException(RuntimeInit.java:156)
11-18 13:33:52.928  2356  2356 E AndroidRuntime: 	at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1073)
11-18 13:33:52.928  2356  2356 E AndroidRuntime: 	at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1068)
11-18 13:33:52.928  2356  2356 E AndroidRuntime: 	at java.lang.Thread.dispatchUncaughtException(Thread.java:2191)

Change-Id: I9c018f52c16dc6cf1a160db58e08fbeb42803af6
parent da90fd98
Loading
Loading
Loading
Loading
+0 −37
Original line number Diff line number Diff line
@@ -254,43 +254,6 @@ public class PreferredComponent {
        return numMatch == NS;
    }

    public boolean sameSet(PreferredComponent pc) {
        if (mSetPackages == null || pc == null || pc.mSetPackages == null
                || !sameComponent(pc.mComponent)) {
            return false;
        }
        final int otherPackageCount = pc.mSetPackages.length;
        final int packageCount = mSetPackages.length;
        int numMatch = 0;
        for (int i = 0; i < otherPackageCount; i++) {
            boolean good = false;
            for (int j = 0; j < packageCount; j++) {
                if (mSetPackages[j].equals(pc.mSetPackages[j])
                        && mSetClasses[j].equals(pc.mSetClasses[j])) {
                    numMatch++;
                    good = true;
                    break;
                }
            }
            if (!good) {
                return false;
            }
        }
        return numMatch == packageCount;
    }

    /** Returns true if the preferred component represents the provided ComponentName. */
    private boolean sameComponent(ComponentName comp) {
        if (mComponent == null || comp == null) {
            return false;
        }
        if (mComponent.getPackageName().equals(comp.getPackageName())
                && mComponent.getClassName().equals(comp.getClassName())) {
            return true;
        }
        return false;
    }

    public boolean isSuperset(List<ResolveInfo> query, boolean excludeSetupWizardPackage) {
        if (mSetPackages == null) {
            return query == null;
+0 −21
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@ import android.content.IntentFilter;
import java.io.PrintWriter;

import com.android.server.IntentResolver;
import java.util.ArrayList;

public class PreferredIntentResolver
        extends IntentResolver<PreferredActivity, PreferredActivity> {
@@ -46,24 +45,4 @@ public class PreferredIntentResolver
    protected IntentFilter getIntentFilter(@NonNull PreferredActivity input) {
        return input;
    }

    public boolean shouldAddPreferredActivity(PreferredActivity pa) {
        ArrayList<PreferredActivity> pal = findFilters(pa);
        if (pal == null || pal.isEmpty()) {
            return true;
        }
        if (!pa.mPref.mAlways) {
            return false;
        }
        final int activityCount = pal.size();
        for (int i = 0; i < activityCount; i++) {
            PreferredActivity cur = pal.get(i);
            if (cur.mPref.mAlways
                    && cur.mPref.mMatch == (pa.mPref.mMatch & IntentFilter.MATCH_CATEGORY_MASK)
                    && cur.mPref.sameSet(pa.mPref)) {
                return false;
            }
        }
        return true;
    }
}
+2 −1
Original line number Diff line number Diff line
@@ -1410,7 +1410,8 @@ public final class Settings {
                PreferredActivity pa = new PreferredActivity(parser);
                if (pa.mPref.getParseError() == null) {
                    final PreferredIntentResolver resolver = editPreferredActivitiesLPw(userId);
                    if (resolver.shouldAddPreferredActivity(pa)) {
                    ArrayList<PreferredActivity> pal = resolver.findFilters(pa);
                    if (pal == null || pal.size() == 0 || pa.mPref.mAlways) {
                        resolver.addFilter(pa);
                    }
                } else {