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());
- }
-}