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

Commit 9ca5201e authored by Jordan Silva's avatar Jordan Silva Committed by Automerger Merge Worker
Browse files

Merge "Revert "[BR07.2] Redirect data saver switch to ConnectivityManager""...

Merge "Revert "[BR07.2] Redirect data saver switch to ConnectivityManager"" into main am: 8de59702

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2799493



Change-Id: I1907d3099f80523f74b7ca25612d6b45f8150ed4
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 02b9a873 8de59702
Loading
Loading
Loading
Loading
+7 −16
Original line number Diff line number Diff line
@@ -74,7 +74,6 @@ import com.android.internal.app.IBatteryStats;
import com.android.internal.util.DumpUtils;
import com.android.internal.util.HexDump;
import com.android.modules.utils.build.SdkLevel;
import com.android.net.flags.Flags;
import com.android.net.module.util.NetdUtils;
import com.android.net.module.util.PermissionUtils;
import com.android.server.FgThread;
@@ -1060,25 +1059,17 @@ public class NetworkManagementService extends INetworkManagementService.Stub {
                Log.w(TAG, "setDataSaverMode(): already " + mDataSaverMode);
                return true;
            }
            Trace.traceBegin(Trace.TRACE_TAG_NETWORK, "setDataSaverModeEnabled");
            Trace.traceBegin(Trace.TRACE_TAG_NETWORK, "bandwidthEnableDataSaver");
            try {
                if (Flags.setDataSaverViaCm()) {
                    // setDataSaverEnabled throws if it fails to set data saver.
                    mContext.getSystemService(ConnectivityManager.class)
                            .setDataSaverEnabled(enable);
                    mDataSaverMode = enable;
                    return true;
                } else {
                final boolean changed = mNetdService.bandwidthEnableDataSaver(enable);
                if (changed) {
                    mDataSaverMode = enable;
                } else {
                        Log.e(TAG, "setDataSaverMode(" + enable + "): failed to set iptables");
                    Log.w(TAG, "setDataSaverMode(" + enable + "): netd command silently failed");
                }
                return changed;
                }
            } catch (RemoteException | IllegalStateException e) {
                Log.e(TAG, "setDataSaverMode(" + enable + "): failed with exception", e);
            } catch (RemoteException e) {
                Log.w(TAG, "setDataSaverMode(" + enable + "): netd command failed", e);
                return false;
            } finally {
                Trace.traceEnd(Trace.TRACE_TAG_NETWORK);
+2 −11
Original line number Diff line number Diff line
@@ -57,7 +57,6 @@ import android.util.ArrayMap;
import androidx.test.runner.AndroidJUnit4;

import com.android.internal.app.IBatteryStats;
import com.android.net.flags.Flags;

import org.junit.After;
import org.junit.Before;
@@ -264,11 +263,7 @@ public class NetworkManagementServiceTest {
        verify(mCm).addUidToMeteredNetworkDenyList(TEST_UID);

        mNMService.setDataSaverModeEnabled(true);
        if (Flags.setDataSaverViaCm()) {
            verify(mCm).setDataSaverEnabled(true);
        } else {
        verify(mNetdService).bandwidthEnableDataSaver(true);
        }

        mNMService.setUidOnMeteredNetworkDenylist(TEST_UID, false);
        assertTrue("Should be true since data saver is on and the uid is not allowlisted",
@@ -284,11 +279,7 @@ public class NetworkManagementServiceTest {
        mNMService.setUidOnMeteredNetworkAllowlist(TEST_UID, false);
        verify(mCm).removeUidFromMeteredNetworkAllowList(TEST_UID);
        mNMService.setDataSaverModeEnabled(false);
        if (Flags.setDataSaverViaCm()) {
            verify(mCm).setDataSaverEnabled(false);
        } else {
        verify(mNetdService).bandwidthEnableDataSaver(false);
        }
        assertFalse("Network should not be restricted when data saver is off",
                mNMService.isNetworkRestricted(TEST_UID));
    }