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

Commit 09902d6e authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Catch IllegalArgumentException when checking enable state of a package" into main

parents 28c3de2c 51008633
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -27,9 +27,10 @@ public interface PluginEnabler {
    int DISABLED_INVALID_VERSION = 2;
    int DISABLED_INVALID_VERSION = 2;
    int DISABLED_FROM_EXPLICIT_CRASH = 3;
    int DISABLED_FROM_EXPLICIT_CRASH = 3;
    int DISABLED_FROM_SYSTEM_CRASH = 4;
    int DISABLED_FROM_SYSTEM_CRASH = 4;
    int DISABLED_UNKNOWN = 100;


    @IntDef({ENABLED, DISABLED_MANUALLY, DISABLED_INVALID_VERSION, DISABLED_FROM_EXPLICIT_CRASH,
    @IntDef({ENABLED, DISABLED_MANUALLY, DISABLED_INVALID_VERSION, DISABLED_FROM_EXPLICIT_CRASH,
            DISABLED_FROM_SYSTEM_CRASH})
            DISABLED_FROM_SYSTEM_CRASH, DISABLED_UNKNOWN})
    @interface DisableReason {
    @interface DisableReason {
    }
    }


+10 −3
Original line number Original line Diff line number Diff line
@@ -18,6 +18,7 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager;
import android.util.Log;


import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.annotations.VisibleForTesting;
import com.android.systemui.shared.plugins.PluginEnabler;
import com.android.systemui.shared.plugins.PluginEnabler;
@@ -28,6 +29,7 @@ import javax.inject.Singleton;
/** */
/** */
@Singleton
@Singleton
public class PluginEnablerImpl implements PluginEnabler {
public class PluginEnablerImpl implements PluginEnabler {
    private static final String TAG = "PluginEnablerImpl";
    private static final String CRASH_DISABLED_PLUGINS_PREF_FILE = "auto_disabled_plugins_prefs";
    private static final String CRASH_DISABLED_PLUGINS_PREF_FILE = "auto_disabled_plugins_prefs";


    private final PackageManager mPm;
    private final PackageManager mPm;
@@ -64,8 +66,13 @@ public class PluginEnablerImpl implements PluginEnabler {


    @Override
    @Override
    public boolean isEnabled(ComponentName component) {
    public boolean isEnabled(ComponentName component) {
        try {
            return mPm.getComponentEnabledSetting(component)
            return mPm.getComponentEnabledSetting(component)
                    != PackageManager.COMPONENT_ENABLED_STATE_DISABLED;
                    != PackageManager.COMPONENT_ENABLED_STATE_DISABLED;
        } catch (IllegalArgumentException ex) {
            Log.e(TAG, "Package Manager Exception", ex);
            return false;
        }
    }
    }


    @Override
    @Override
@@ -73,6 +80,6 @@ public class PluginEnablerImpl implements PluginEnabler {
        if (isEnabled(componentName)) {
        if (isEnabled(componentName)) {
            return ENABLED;
            return ENABLED;
        }
        }
        return mAutoDisabledPrefs.getInt(componentName.flattenToString(), DISABLED_MANUALLY);
        return mAutoDisabledPrefs.getInt(componentName.flattenToString(), DISABLED_UNKNOWN);
    }
    }
}
}