Search in sources :

Example 16 with Reference

use of android.net.ConnectivityMetricsEvent.Reference in project android_frameworks_base by crdroidandroid.

the class MetricsLoggerServiceTest method logAndDumpConcurrently.

public void logAndDumpConcurrently() throws Exception {
    final CountDownLatch latch = new CountDownLatch((int) N_EVENTS);
    final FileDescriptor fd = new FileOutputStream("/dev/null").getFD();
    for (ConnectivityMetricsEvent ev : EVENTS) {
        new Thread() {

            public void run() {
                mService.mBinder.logEvent(ev);
                latch.countDown();
            }
        }.start();
    }
    new Thread() {

        public void run() {
            while (latch.getCount() > 0) {
                mService.mBinder.dump(fd, new String[] { "--all" });
            }
        }
    }.start();
    latch.await(100, TimeUnit.MILLISECONDS);
    Reference r = new Reference(0);
    ConnectivityMetricsEvent[] got = mService.mBinder.getEvents(r);
    Arrays.sort(got, new EventComparator());
    assertArrayEquals(EVENTS, got);
    assertEquals(N_EVENTS, r.getValue());
}
Also used : Reference(android.net.ConnectivityMetricsEvent.Reference) FileOutputStream(java.io.FileOutputStream) ConnectivityMetricsEvent(android.net.ConnectivityMetricsEvent) CountDownLatch(java.util.concurrent.CountDownLatch) FileDescriptor(java.io.FileDescriptor)

Example 17 with Reference

use of android.net.ConnectivityMetricsEvent.Reference in project android_frameworks_base by crdroidandroid.

the class MetricsLoggerServiceTest method testLogOneByOne.

public void testLogOneByOne() throws Exception {
    for (ConnectivityMetricsEvent ev : EVENTS) {
        mService.mBinder.logEvent(ev);
    }
    Reference r = new Reference(0);
    assertArrayEquals(EVENTS, mService.mBinder.getEvents(r));
    assertEquals(N_EVENTS, r.getValue());
    assertArrayEquals(NO_EVENTS, mService.mBinder.getEvents(r));
    assertEquals(N_EVENTS, r.getValue());
}
Also used : Reference(android.net.ConnectivityMetricsEvent.Reference) ConnectivityMetricsEvent(android.net.ConnectivityMetricsEvent)

Example 18 with Reference

use of android.net.ConnectivityMetricsEvent.Reference in project android_frameworks_base by crdroidandroid.

the class MetricsLoggerServiceTest method testLogAndGetEvents.

public void testLogAndGetEvents() throws Exception {
    mService.mBinder.logEvents(EVENTS);
    Reference r = new Reference(0);
    assertArrayEquals(EVENTS, mService.mBinder.getEvents(r));
    assertEquals(N_EVENTS, r.getValue());
    assertArrayEquals(NO_EVENTS, mService.mBinder.getEvents(r));
    assertEquals(N_EVENTS, r.getValue());
}
Also used : Reference(android.net.ConnectivityMetricsEvent.Reference)

Aggregations

Reference (android.net.ConnectivityMetricsEvent.Reference)18 ConnectivityMetricsEvent (android.net.ConnectivityMetricsEvent)6 FileDescriptor (java.io.FileDescriptor)3 FileOutputStream (java.io.FileOutputStream)3 CountDownLatch (java.util.concurrent.CountDownLatch)3