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

Unverified Commit da270f9f authored by Tommy Webb's avatar Tommy Webb Committed by Michael Bestas
Browse files

DynamicDenylistManager shall not exist

Remove DynamicDenylistManager to avoid its conflicting behavior
with our firewall. This stops the resetting of firewall policies
on boot and for other reasons. The user is in control of these
policies and doesn't need them to be unexpectedly reset.

Issue: calyxos#2211
Test: Manual: Turn off Background network access for any app. Then,
in Firewall, turn off another toggle like Wi-Fi. Reboot, and check
the toggles. Background network access and Wi-Fi should still be off.
Change-Id: Ie62ddfa3a893c9adf5d4fd0c8670235a5a51e03f
parent c0725de2
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -53,7 +53,6 @@ import androidx.preference.PreferenceCategory;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.deviceinfo.StorageWizardMoveConfirm;
import com.android.settings.fuelgauge.datasaver.DynamicDenylistManager;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.applications.ApplicationsState.Callbacks;
@@ -360,8 +359,6 @@ public class AppStorageSettings extends AppInfoWithHeader
        mButtonsPref.setButton1Enabled(false);
        // Invoke uninstall or clear user data based on sysPackage
        String packageName = mAppEntry.info.packageName;
        DynamicDenylistManager.getInstance(getContext())
                .resetDenylistIfNeeded(packageName, /* force= */ false);
        Log.i(TAG, "Clearing user data for package : " + packageName);
        if (mClearDataObserver == null) {
            mClearDataObserver = new ClearUserDataObserver();
+0 −3
Original line number Diff line number Diff line
@@ -39,7 +39,6 @@ import androidx.appcompat.app.AlertDialog;

import com.android.settings.R;
import com.android.settings.fuelgauge.BatteryOptimizeUtils;
import com.android.settings.fuelgauge.datasaver.DynamicDenylistManager;

import java.util.Arrays;
import java.util.List;
@@ -156,8 +155,6 @@ public class ResetAppsHelper implements DialogInterface.OnClickListener,
            }
            mAom.resetAllModes();
            BatteryOptimizeUtils.resetAppOptimizationMode(mContext, mIPm, mAom);
            DynamicDenylistManager.getInstance(mContext)
                    .resetDenylistIfNeeded(/* packageName= */ null, /* force= */ true);
            final int[] restrictedUids = mNpm.getUidsWithPolicy(POLICY_REJECT_METERED_BACKGROUND);
            final int currentUserId = ActivityManager.getCurrentUser();
            for (int uid : restrictedUids) {
+0 −1
Original line number Diff line number Diff line
@@ -49,7 +49,6 @@ import com.android.settings.R;
import com.android.settings.applications.AppInfoBase;
import com.android.settings.datausage.lib.AppDataUsageDetailsRepository;
import com.android.settings.datausage.lib.NetworkTemplates;
import com.android.settings.fuelgauge.datasaver.DynamicDenylistManager;
import com.android.settings.network.SubscriptionUtil;
import com.android.settings.widget.EntityHeaderController;
import com.android.settingslib.AppItem;
+1 −5
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ import android.content.Context;
import android.net.NetworkPolicyManager;
import android.util.SparseIntArray;

import com.android.settings.fuelgauge.datasaver.DynamicDenylistManager;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.utils.ThreadUtils;
@@ -40,7 +39,6 @@ public class DataSaverBackend {
    private final MetricsFeatureProvider mMetricsFeatureProvider;

    private final NetworkPolicyManager mPolicyManager;
    private final DynamicDenylistManager mDynamicDenylistManager;
    private final ArrayList<Listener> mListeners = new ArrayList<>();
    private SparseIntArray mUidPolicies = new SparseIntArray();
    private boolean mAllowlistInitialized;
@@ -52,7 +50,6 @@ public class DataSaverBackend {
        mContext = context.getApplicationContext();
        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
        mPolicyManager = NetworkPolicyManager.from(mContext);
        mDynamicDenylistManager = DynamicDenylistManager.getInstance(mContext);
    }

    public void addListener(Listener listener) {
@@ -132,8 +129,7 @@ public class DataSaverBackend {

    public boolean isDenylisted(int uid) {
        loadDenylist();
        return mUidPolicies.get(uid, POLICY_NONE) == POLICY_REJECT_METERED_BACKGROUND
                && mDynamicDenylistManager.isInManualDenylist(uid);
        return mUidPolicies.get(uid, POLICY_NONE) == POLICY_REJECT_METERED_BACKGROUND;
    }

    private void loadDenylist() {
+0 −2
Original line number Diff line number Diff line
@@ -26,7 +26,6 @@ import android.util.Log;
import androidx.annotation.VisibleForTesting;

import com.android.settings.fuelgauge.batterysaver.BatterySaverScheduleRadioButtonsController;
import com.android.settings.fuelgauge.datasaver.DynamicDenylistManager;
import com.android.settingslib.fuelgauge.BatterySaverUtils;

import java.util.List;
@@ -51,7 +50,6 @@ public final class BatterySettingsMigrateChecker extends BroadcastReceiver {
        context = context.getApplicationContext();
        verifySaverConfiguration(context);
        verifyBatteryOptimizeModes(context);
        DynamicDenylistManager.getInstance(context).onBootComplete();
    }

    /** Avoid users set important apps into the unexpected battery optimize modes */
Loading