Attempt to make waitForIdleHandler reliable.
am: 572f1a3185

Change-Id: Id7e23c3a2c885ff239efa577a8d366d3df6ca9a2
diff --git a/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java b/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java
index 9ffa40b..c6bf4c5 100644
--- a/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java
+++ b/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java
@@ -27,7 +27,7 @@
 import android.os.UserHandle;
 import android.telephony.TelephonyManager;
 import android.util.Slog;
-import com.android.internal.annotations.VisibleForTesting;
+
 import com.android.internal.R;
 
 import static android.net.NetworkCapabilities.*;
@@ -37,8 +37,7 @@
 
     public static enum NotificationType { SIGN_IN, NO_INTERNET, LOST_INTERNET, NETWORK_SWITCH };
 
-    @VisibleForTesting
-    static final String NOTIFICATION_ID = "Connectivity.Notification";
+    private static final String NOTIFICATION_ID = "Connectivity.Notification";
 
     private static final String TAG = NetworkNotificationManager.class.getSimpleName();
     private static final boolean DBG = true;
diff --git a/tests/net/java/com/android/server/connectivity/IpConnectivityMetricsTest.java b/tests/net/java/com/android/server/connectivity/IpConnectivityMetricsTest.java
index aa491bb..14b5cbe 100644
--- a/tests/net/java/com/android/server/connectivity/IpConnectivityMetricsTest.java
+++ b/tests/net/java/com/android/server/connectivity/IpConnectivityMetricsTest.java
@@ -19,7 +19,6 @@
 import android.content.Context;
 import android.net.ConnectivityMetricsEvent;
 import android.net.IIpConnectivityMetrics;
-import android.net.metrics.ApfProgramEvent;
 import android.net.metrics.ApfStats;
 import android.net.metrics.DefaultNetworkEvent;
 import android.net.metrics.DhcpClientEvent;
@@ -113,27 +112,6 @@
         assertEquals("", output3);
     }
 
-    public void testRateLimiting() {
-        final IpConnectivityLog logger = new IpConnectivityLog(mService.impl);
-        final ApfProgramEvent ev = new ApfProgramEvent(0, 0, 0, 0, 0);
-        final long fakeTimestamp = 1;
-
-        int attempt = 100; // More than burst quota, but less than buffer size.
-        for (int i = 0; i < attempt; i++) {
-            logger.log(ev);
-        }
-
-        String output1 = getdump("flush");
-        assertFalse("".equals(output1));
-
-        for (int i = 0; i < attempt; i++) {
-            assertFalse("expected event to be dropped", logger.log(fakeTimestamp, ev));
-        }
-
-        String output2 = getdump("flush");
-        assertEquals("", output2);
-    }
-
     public void testEndToEndLogging() {
         IpConnectivityLog logger = new IpConnectivityLog(mService.impl);
 
diff --git a/tests/net/java/com/android/server/connectivity/NetworkNotificationManagerTest.java b/tests/net/java/com/android/server/connectivity/NetworkNotificationManagerTest.java
deleted file mode 100644
index 813e928..0000000
--- a/tests/net/java/com/android/server/connectivity/NetworkNotificationManagerTest.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.server.connectivity;
-
-import android.app.Notification;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
-import android.content.res.Resources;
-import android.net.NetworkCapabilities;
-import android.net.NetworkInfo;
-import android.telephony.TelephonyManager;
-import android.test.suitebuilder.annotation.SmallTest;
-import com.android.server.connectivity.NetworkNotificationManager.NotificationType;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-import junit.framework.TestCase;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.MockitoAnnotations;
-
-import static com.android.server.connectivity.NetworkNotificationManager.NotificationType.*;
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.anyInt;
-import static org.mockito.Mockito.eq;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-public class NetworkNotificationManagerTest extends TestCase {
-
-    static final String NOTIFICATION_ID = NetworkNotificationManager.NOTIFICATION_ID;
-
-    static final NetworkCapabilities CELL_CAPABILITIES = new NetworkCapabilities();
-    static final NetworkCapabilities WIFI_CAPABILITIES = new NetworkCapabilities();
-    static {
-        CELL_CAPABILITIES.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR);
-        CELL_CAPABILITIES.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET);
-
-        WIFI_CAPABILITIES.addTransportType(NetworkCapabilities.TRANSPORT_WIFI);
-        WIFI_CAPABILITIES.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET);
-    }
-
-    @Mock Context mCtx;
-    @Mock Resources mResources;
-    @Mock PackageManager mPm;
-    @Mock TelephonyManager mTelephonyManager;
-    @Mock NotificationManager mNotificationManager;
-    @Mock NetworkAgentInfo mWifiNai;
-    @Mock NetworkAgentInfo mCellNai;
-    @Mock NetworkInfo mNetworkInfo;
-    ArgumentCaptor<Notification> mCaptor;
-
-    NetworkNotificationManager mManager;
-
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mCaptor = ArgumentCaptor.forClass(Notification.class);
-        mWifiNai.networkCapabilities = WIFI_CAPABILITIES;
-        mWifiNai.networkInfo = mNetworkInfo;
-        mCellNai.networkCapabilities = CELL_CAPABILITIES;
-        mCellNai.networkInfo = mNetworkInfo;
-        when(mCtx.getResources()).thenReturn(mResources);
-        when(mCtx.getPackageManager()).thenReturn(mPm);
-        when(mCtx.getApplicationInfo()).thenReturn(new ApplicationInfo());
-        when(mResources.getColor(anyInt(), any())).thenReturn(0xFF607D8B);
-
-        mManager = new NetworkNotificationManager(mCtx, mTelephonyManager, mNotificationManager);
-    }
-
-    @SmallTest
-    public void testNotificationsShownAndCleared() {
-        final int NETWORK_ID_BASE = 100;
-        List<NotificationType> types = Arrays.asList(NotificationType.values());
-        List<Integer> ids = new ArrayList<>(types.size());
-        for (int i = 0; i < ids.size(); i++) {
-            ids.add(NETWORK_ID_BASE + i);
-        }
-        Collections.shuffle(ids);
-        Collections.shuffle(types);
-
-        for (int i = 0; i < ids.size(); i++) {
-            mManager.showNotification(ids.get(i), types.get(i), mWifiNai, mCellNai, null, false);
-        }
-
-        Collections.shuffle(ids);
-        for (int i = 0; i < ids.size(); i++) {
-            mManager.clearNotification(ids.get(i));
-        }
-
-        for (int i = 0; i < ids.size(); i++) {
-            final int expectedId = NETWORK_ID_BASE + i;
-            verify(mNotificationManager, times(1))
-                    .notifyAsUser(eq(NOTIFICATION_ID), eq(expectedId), any(), any());
-            verify(mNotificationManager, times(1))
-                    .cancelAsUser(eq(NOTIFICATION_ID), eq(expectedId), any());
-        }
-    }
-
-    @SmallTest
-    public void testNoInternetNotificationsNotShownForCellular() {
-        mManager.showNotification(100, NO_INTERNET, mCellNai, mWifiNai, null, false);
-        mManager.showNotification(101, LOST_INTERNET, mCellNai, mWifiNai, null, false);
-
-        verify(mNotificationManager, never()).notifyAsUser(any(), anyInt(), any(), any());
-
-        mManager.showNotification(102, NO_INTERNET, mWifiNai, mCellNai, null, false);
-
-        verify(mNotificationManager, times(1))
-                .notifyAsUser(eq(NOTIFICATION_ID), eq(102), any(), any());
-    }
-
-    @SmallTest
-    public void testNotificationsNotShownIfNoInternetCapability() {
-        mWifiNai.networkCapabilities = new NetworkCapabilities();
-        mWifiNai.networkCapabilities .addTransportType(NetworkCapabilities.TRANSPORT_WIFI);
-        mManager.showNotification(102, NO_INTERNET, mWifiNai, mCellNai, null, false);
-        mManager.showNotification(103, LOST_INTERNET, mWifiNai, mCellNai, null, false);
-        mManager.showNotification(104, NETWORK_SWITCH, mWifiNai, mCellNai, null, false);
-
-        verify(mNotificationManager, never()).notifyAsUser(any(), anyInt(), any(), any());
-    }
-}