OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.net; | 5 package org.chromium.net; |
6 | 6 |
7 import android.annotation.SuppressLint; | 7 import android.annotation.SuppressLint; |
8 import android.content.Context; | 8 import android.content.Context; |
9 import android.content.Intent; | 9 import android.content.Intent; |
10 import android.net.ConnectivityManager; | 10 import android.net.ConnectivityManager; |
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
193 if (activeNetIds.length >= 1) { | 193 if (activeNetIds.length >= 1) { |
194 mLastNetIdSeen = activeNetIds[0]; | 194 mLastNetIdSeen = activeNetIds[0]; |
195 } else { | 195 } else { |
196 mLastNetIdSeen = NetId.INVALID; | 196 mLastNetIdSeen = NetId.INVALID; |
197 } | 197 } |
198 } | 198 } |
199 | 199 |
200 // Verify last notification was the expected one. | 200 // Verify last notification was the expected one. |
201 public void assertLastChange(ChangeType type, int netId) throws Exceptio
n { | 201 public void assertLastChange(ChangeType type, int netId) throws Exceptio
n { |
202 // Make sure notification processed. | 202 // Make sure notification processed. |
203 flushUiThreadTaskQueue(); | 203 NetworkChangeNotifierTestUtil.flushUiThreadTaskQueue(); |
204 assertEquals(type, mLastChangeSeen); | 204 assertEquals(type, mLastChangeSeen); |
205 assertEquals(netId, mLastNetIdSeen); | 205 assertEquals(netId, mLastNetIdSeen); |
206 mLastChangeSeen = ChangeType.NONE; | 206 mLastChangeSeen = ChangeType.NONE; |
207 mLastNetIdSeen = NetId.INVALID; | 207 mLastNetIdSeen = NetId.INVALID; |
208 } | 208 } |
209 } | 209 } |
210 | 210 |
211 // Network.Network(int netId) pointer. | 211 // Network.Network(int netId) pointer. |
212 private Constructor<Network> mNetworkConstructor; | 212 private Constructor<Network> mNetworkConstructor; |
213 private NetworkChangeNotifierAutoDetect mReceiver; | 213 private NetworkChangeNotifierAutoDetect mReceiver; |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
255 final NetworkChangeNotifierAutoDetect.NetworkState networkState = | 255 final NetworkChangeNotifierAutoDetect.NetworkState networkState = |
256 mReceiver.getCurrentNetworkState(); | 256 mReceiver.getCurrentNetworkState(); |
257 return mReceiver.getCurrentConnectionType(networkState); | 257 return mReceiver.getCurrentConnectionType(networkState); |
258 } | 258 } |
259 | 259 |
260 // Create Network object given a NetID. | 260 // Create Network object given a NetID. |
261 private Network netIdToNetwork(int netId) throws Exception { | 261 private Network netIdToNetwork(int netId) throws Exception { |
262 return mNetworkConstructor.newInstance(netId); | 262 return mNetworkConstructor.newInstance(netId); |
263 } | 263 } |
264 | 264 |
265 // Flush UI thread task queue. | |
266 private static void flushUiThreadTaskQueue() throws Exception { | |
267 FutureTask<Void> task = new FutureTask<Void>(new Runnable() { | |
268 public void run() {} | |
269 }, null); | |
270 ThreadUtils.postOnUiThread(task); | |
271 task.get(); | |
272 } | |
273 | |
274 @Override | 265 @Override |
275 protected void setUp() throws Exception { | 266 protected void setUp() throws Exception { |
276 super.setUp(); | 267 super.setUp(); |
277 LibraryLoader.get(LibraryProcessType.PROCESS_BROWSER) | 268 LibraryLoader.get(LibraryProcessType.PROCESS_BROWSER) |
278 .ensureInitialized(getInstrumentation().getTargetContext()); | 269 .ensureInitialized(getInstrumentation().getTargetContext()); |
279 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { | 270 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { |
280 // Find Network.Network(int netId) using reflection. | 271 // Find Network.Network(int netId) using reflection. |
281 mNetworkConstructor = Network.class.getConstructor(Integer.TYPE); | 272 mNetworkConstructor = Network.class.getConstructor(Integer.TYPE); |
282 } | 273 } |
283 ThreadUtils.postOnUiThread(new Runnable() { | 274 ThreadUtils.postOnUiThread(new Runnable() { |
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
608 // Simulate app backgrounding then foregrounding. | 599 // Simulate app backgrounding then foregrounding. |
609 assertTrue(ncn.isReceiverRegisteredForTesting()); | 600 assertTrue(ncn.isReceiverRegisteredForTesting()); |
610 policy.onApplicationStateChange(ApplicationState.HAS_PAUSED_ACTIVITIES); | 601 policy.onApplicationStateChange(ApplicationState.HAS_PAUSED_ACTIVITIES); |
611 assertFalse(ncn.isReceiverRegisteredForTesting()); | 602 assertFalse(ncn.isReceiverRegisteredForTesting()); |
612 policy.onApplicationStateChange(ApplicationState.HAS_RUNNING_ACTIVITIES)
; | 603 policy.onApplicationStateChange(ApplicationState.HAS_RUNNING_ACTIVITIES)
; |
613 assertTrue(ncn.isReceiverRegisteredForTesting()); | 604 assertTrue(ncn.isReceiverRegisteredForTesting()); |
614 // Verify network list purged. | 605 // Verify network list purged. |
615 observer.assertLastChange(ChangeType.PURGE_LIST, NetId.INVALID); | 606 observer.assertLastChange(ChangeType.PURGE_LIST, NetId.INVALID); |
616 } | 607 } |
617 } | 608 } |
OLD | NEW |