Search in sources :

Example 1 with LayoutEditorState

use of com.google.wireless.android.sdk.stats.LayoutEditorState in project android by JetBrains.

the class NlUsageTrackerManagerTest method testBasicLogging.

public void testBasicLogging() {
    UsageTracker usageTracker = mock(UsageTracker.class);
    LinkedList<AndroidStudioEvent> logCalls = new LinkedList<>();
    doAnswer(invocation -> {
        logCalls.add(((AndroidStudioEvent.Builder) invocation.getArguments()[0]).build());
        return null;
    }).when(usageTracker).log(any());
    DesignSurface surface = mock(DesignSurface.class);
    when(surface.getLayoutType()).thenReturn(NlLayoutType.LAYOUT);
    when(surface.getScreenMode()).thenReturn(DesignSurface.ScreenMode.BOTH);
    when(surface.getScale()).thenReturn(0.50);
    Configuration configuration = getConfigurationMock();
    when(surface.getConfiguration()).thenReturn(configuration);
    NlUsageTracker tracker = new NlUsageTrackerManager(SYNC_EXECUTOR, surface, usageTracker);
    tracker.logAction(LayoutEditorEvent.LayoutEditorEventType.API_LEVEL_CHANGE);
    assertEquals(1, logCalls.size());
    AndroidStudioEvent studioEvent = logCalls.getFirst();
    assertEquals(AndroidStudioEvent.EventCategory.LAYOUT_EDITOR, studioEvent.getCategory());
    assertEquals(AndroidStudioEvent.EventKind.LAYOUT_EDITOR_EVENT, studioEvent.getKind());
    assertEquals(LayoutEditorEvent.LayoutEditorEventType.API_LEVEL_CHANGE, studioEvent.getLayoutEditorEvent().getType());
    // Verify state
    LayoutEditorState state = studioEvent.getLayoutEditorEvent().getState();
    assertEquals(LayoutEditorState.Type.LAYOUT, state.getType());
    assertEquals(LayoutEditorState.Surfaces.BOTH, state.getSurfaces());
    assertEquals(50, state.getConfigZoomLevel());
    assertEquals("mock", state.getConfigApiLevel());
    assertEquals(LayoutEditorState.Orientation.PORTRAIT, state.getConfigOrientation());
    logCalls.clear();
    tracker.logAction(LayoutEditorEvent.LayoutEditorEventType.RESTORE_ERROR_PANEL);
    assertEquals(1, logCalls.size());
    studioEvent = logCalls.getFirst();
    assertEquals(LayoutEditorEvent.LayoutEditorEventType.RESTORE_ERROR_PANEL, studioEvent.getLayoutEditorEvent().getType());
}
Also used : UsageTracker(com.android.tools.analytics.UsageTracker) DesignSurface(com.android.tools.idea.uibuilder.surface.DesignSurface) Configuration(com.android.tools.idea.configurations.Configuration) AndroidStudioEvent(com.google.wireless.android.sdk.stats.AndroidStudioEvent) LinkedList(java.util.LinkedList) LayoutEditorState(com.google.wireless.android.sdk.stats.LayoutEditorState)

Aggregations

UsageTracker (com.android.tools.analytics.UsageTracker)1 Configuration (com.android.tools.idea.configurations.Configuration)1 DesignSurface (com.android.tools.idea.uibuilder.surface.DesignSurface)1 AndroidStudioEvent (com.google.wireless.android.sdk.stats.AndroidStudioEvent)1 LayoutEditorState (com.google.wireless.android.sdk.stats.LayoutEditorState)1 LinkedList (java.util.LinkedList)1