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

Commit 281a17c9 authored by Lorenzo Colitti's avatar Lorenzo Colitti
Browse files

De-guava BroadcastInterceptingContext and move it to testutils.

Removing the static dependency on guava reduces test compile time
by about 20 seconds on a Z840, thus substantially speeding up the
compile/test cycle.

Make FutureIntent public instead of package-private because it is
used directly by NetworkPolicyManagementServiceTest, which as of
this CL is now in a different package.

Test: runtest frameworks-services -c com.android.server.ConnectivityServiceTest  # PASS
Test: runtest frameworks-services -c com.android.server.NetworkPolicyManagerServiceTest  # PASS
Test: runtest frameworks-services -c com.android.server.net.NetworkStatsServiceTest  # PASS
Test: runtest frameworks-services -c com.android.server.NetworkManagementServiceTest  # Already failing.
Bug: 31479480
Change-Id: Ifab32c9214e9caab71dbf93b3d3ca88df6f49636
parent 7df1a828
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -76,6 +76,7 @@ import android.util.Log;
import android.util.LogPrinter;

import com.android.internal.util.WakeupMessage;
import com.android.internal.util.test.BroadcastInterceptingContext;
import com.android.internal.util.test.FakeSettingsProvider;
import com.android.server.connectivity.NetworkAgentInfo;
import com.android.server.connectivity.NetworkMonitor;
+1 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.os.Binder;
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.LargeTest;
import com.android.server.net.BaseNetworkObserver;
import com.android.internal.util.test.BroadcastInterceptingContext;

import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
+2 −1
Original line number Diff line number Diff line
@@ -95,7 +95,8 @@ import android.text.format.Time;
import android.util.Log;
import android.util.TrustedTime;

import com.android.server.BroadcastInterceptingContext.FutureIntent;
import com.android.internal.util.test.BroadcastInterceptingContext;
import com.android.internal.util.test.BroadcastInterceptingContext.FutureIntent;
import com.android.server.net.NetworkPolicyManagerInternal;
import com.android.server.net.NetworkPolicyManagerService;

+1 −1
Original line number Diff line number Diff line
@@ -88,7 +88,7 @@ import android.test.AndroidTestCase;
import android.util.TrustedTime;

import com.android.internal.net.VpnInfo;
import com.android.server.BroadcastInterceptingContext;
import com.android.internal.util.test.BroadcastInterceptingContext;
import com.android.server.net.NetworkStatsService;
import com.android.server.net.NetworkStatsService.NetworkStatsSettings;
import com.android.server.net.NetworkStatsService.NetworkStatsSettings.Config;
+11 −6
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@
 * limitations under the License.
 */

package com.android.server;
package com.android.internal.util.test;

import android.content.BroadcastReceiver;
import android.content.Context;
@@ -25,13 +25,12 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.UserHandle;

import com.google.common.collect.Lists;
import com.google.common.util.concurrent.AbstractFuture;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import java.util.concurrent.FutureTask;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;

@@ -42,9 +41,15 @@ import java.util.concurrent.TimeoutException;
public class BroadcastInterceptingContext extends ContextWrapper {
    private static final String TAG = "WatchingContext";

    private final List<BroadcastInterceptor> mInterceptors = Lists.newArrayList();
    private final List<BroadcastInterceptor> mInterceptors = new ArrayList<>();

    public abstract class FutureIntent extends FutureTask<Intent> {
        public FutureIntent() {
            super(
                () -> { throw new IllegalStateException("Cannot happen"); }
            );
        }

    abstract class FutureIntent extends AbstractFuture<Intent> {
        public void assertNotReceived()
                throws InterruptedException, ExecutionException {
            assertNotReceived(5, TimeUnit.SECONDS);