use of com.android.tools.adtui.AnimatedTimeRange in project android by JetBrains.
the class NetworkProfilerVisualTest method createComponentsList.
@Override
protected List<Animatable> createComponentsList() {
long startTimeUs = myDataStore.getLatestTimeUs();
Range timeCurrentRangeUs = new Range(startTimeUs - RangeScrollbar.DEFAULT_VIEW_LENGTH_US, startTimeUs);
AnimatedTimeRange animatedTimeRange = new AnimatedTimeRange(timeCurrentRangeUs, 0);
EventDispatcher<ProfilerEventListener> dummyDispatcher = EventDispatcher.create(ProfilerEventListener.class);
mySegment = new NetworkSegment(timeCurrentRangeUs, myDataStore, dummyDispatcher);
myDetailedView = new NetworkDetailedView();
myDetailedView.setVisible(false);
generateNetworkCaptureData(startTimeUs);
myCaptureSegment = new NetworkCaptureSegment(timeCurrentRangeUs, new TestNetworkCaptureModel(), httpData -> myDetailedView.setVisible(true), dummyDispatcher);
myRadioSegment = new NetworkRadioSegment(timeCurrentRangeUs, myDataStore, dummyDispatcher);
List<Animatable> animatables = new ArrayList<>();
animatables.add(animatedTimeRange);
mySegment.createComponentsList(animatables);
myCaptureSegment.createComponentsList(animatables);
myRadioSegment.createComponentsList(animatables);
animatables.add(myCaptureSegment);
return animatables;
}
use of com.android.tools.adtui.AnimatedTimeRange in project android by JetBrains.
the class LineChartVisualTest method createComponentsList.
@Override
protected List<Animatable> createComponentsList() {
mRangedData = new ArrayList<>();
mData = new ArrayList<>();
long nowUs = TimeUnit.NANOSECONDS.toMicros(System.nanoTime());
Range timeGlobalRangeUs = new Range(nowUs, nowUs + TimeUnit.SECONDS.toMicros(60));
mLineChart = new LineChart();
mAnimatedTimeRange = new AnimatedTimeRange(timeGlobalRangeUs, 0);
List<Animatable> componentsList = new ArrayList<>();
mySelectionComponent = new SelectionComponent(new Range(0, 0), timeGlobalRangeUs);
myOverlayComponent = new OverlayComponent(mySelectionComponent);
// Add the scene components to the list
componentsList.add(mAnimatedTimeRange);
componentsList.add(mLineChart);
componentsList.add(mySelectionComponent);
Range yRange = new Range(0.0, 100.0);
for (int i = 0; i < 4; i++) {
if (i % 2 == 0) {
yRange = new Range(0.0, 100.0);
}
DefaultDataSeries<Long> series = new DefaultDataSeries<>();
RangedContinuousSeries ranged = new RangedContinuousSeries("Widgets", timeGlobalRangeUs, yRange, series);
mRangedData.add(ranged);
mData.add(series);
}
mLineChart.addLines(mRangedData);
mDurationData1 = new DefaultDataSeries<>();
mDurationData2 = new DefaultDataSeries<>();
RangedSeries<DefaultDurationData> series1 = new RangedSeries<>(timeGlobalRangeUs, mDurationData1);
RangedSeries<DefaultDurationData> series2 = new RangedSeries<>(timeGlobalRangeUs, mDurationData2);
mDurationRendererBlocking = new DurationDataRenderer.Builder(series1, Color.WHITE).setLabelColors(Color.DARK_GRAY, Color.GRAY, Color.lightGray, Color.WHITE).setIsBlocking(true).setIcon(UIManager.getIcon("Tree.leafIcon")).setLabelProvider(durationdata -> "Blocking").setClickHander(durationData -> mClickDisplayLabel.setText(durationData.toString())).build();
mDurationRendererAttached = new DurationDataRenderer.Builder(series2, Color.WHITE).setLabelColors(Color.DARK_GRAY, Color.GRAY, Color.lightGray, Color.WHITE).setIcon(UIManager.getIcon("Tree.leafIcon")).setLabelProvider(durationdata -> "Attached").setAttachLineSeries(mRangedData.get(0)).setClickHander(durationData -> mClickDisplayLabel.setText(durationData.toString())).build();
mLineChart.addCustomRenderer(mDurationRendererBlocking);
mLineChart.addCustomRenderer(mDurationRendererAttached);
myOverlayComponent.addDurationDataRenderer(mDurationRendererBlocking);
myOverlayComponent.addDurationDataRenderer(mDurationRendererAttached);
componentsList.add(mDurationRendererBlocking);
componentsList.add(mDurationRendererAttached);
componentsList.add(myOverlayComponent);
return componentsList;
}
use of com.android.tools.adtui.AnimatedTimeRange in project android by JetBrains.
the class StateChartVisualTest method createComponentsList.
@Override
protected List<Animatable> createComponentsList() {
long nowUs = TimeUnit.NANOSECONDS.toMicros(System.nanoTime());
mTimeGlobalRangeUs = new Range(nowUs, nowUs + TimeUnit.SECONDS.toMicros(60));
mAnimatedTimeRange = new AnimatedTimeRange(mTimeGlobalRangeUs, 0);
DefaultDataSeries<MockFruitState> networkSeries = new DefaultDataSeries<>();
DefaultDataSeries<MockStrengthState> radioSeries = new DefaultDataSeries<>();
RangedSeries<MockFruitState> networkData = new RangedSeries<>(mTimeGlobalRangeUs, networkSeries);
RangedSeries<MockStrengthState> radioData = new RangedSeries<>(mTimeGlobalRangeUs, radioSeries);
mNetworkStatusChart = new StateChart<>(getFruitStateColor());
mNetworkStatusChart.addSeries(networkData);
mNetworkDataEntries.add(networkSeries);
mRadioStateChart = new StateChart<>(getStrengthColor());
mRadioStateChart.addSeries(radioData);
mRadioDataEntries.add(radioSeries);
return Arrays.asList(mAnimatedTimeRange, mNetworkStatusChart, mRadioStateChart);
}
use of com.android.tools.adtui.AnimatedTimeRange in project android by JetBrains.
the class CpuProfilerVisualTest method createComponentsList.
@Override
protected List<Animatable> createComponentsList() {
long startTimeUs = mDataStore.getLatestTimeUs();
Range timeCurrentRangeUs = new Range(startTimeUs - RangeScrollbar.DEFAULT_VIEW_LENGTH_US, startTimeUs);
AnimatedTimeRange animatedTimeRange = new AnimatedTimeRange(timeCurrentRangeUs, 0);
//TODO Update test data for CpuUsageSegment to be exactly what it was.
EventDispatcher<ProfilerEventListener> dummyDispatcher = EventDispatcher.create(ProfilerEventListener.class);
mCPULevel2Segment = new CpuUsageSegment(timeCurrentRangeUs, mDataStore, dummyDispatcher);
mThreadsSegment = new ThreadsSegment(timeCurrentRangeUs, mDataStore, dummyDispatcher, (threads) -> {
// TODO: show L3 segment with the charts corresponding to threads selected.
// Hide any charts corresponding to unselected threads and hide L3 segment in case no threads are selected
});
List<Animatable> animatables = new ArrayList<>();
animatables.add(animatedTimeRange);
animatables.add(mThreadsSegment);
mCPULevel2Segment.createComponentsList(animatables);
mThreadsSegment.createComponentsList(animatables);
return animatables;
}
use of com.android.tools.adtui.AnimatedTimeRange in project android by JetBrains.
the class MemoryProfilerVisualTest method createComponentsList.
@Override
protected List<Animatable> createComponentsList() {
long startTimeUs = mDataStore.getLatestTimeUs();
Range timeCurrentRangeUs = new Range(startTimeUs - RangeScrollbar.DEFAULT_VIEW_LENGTH_US, startTimeUs);
AnimatedTimeRange animatedTimeRange = new AnimatedTimeRange(timeCurrentRangeUs, 0);
EventDispatcher<ProfilerEventListener> dummyDispatcher = EventDispatcher.create(ProfilerEventListener.class);
mSegment = new MemorySegment(timeCurrentRangeUs, mDataStore, dummyDispatcher);
mRoot = new MemoryInfoTreeNode("Root");
mDetailSegment = new MemoryDetailSegment(timeCurrentRangeUs, mRoot, dummyDispatcher);
List<Animatable> animatables = new ArrayList<>();
animatables.add(animatedTimeRange);
mSegment.createComponentsList(animatables);
mDetailSegment.createComponentsList(animatables);
// Simulate allocation data with stack frames.
mUpdateDataThread = new Thread() {
@Override
public void run() {
try {
while (true) {
updateTree(mRoot);
Thread.sleep(10);
}
} catch (InterruptedException e) {
}
}
};
mUpdateDataThread.start();
return animatables;
}
Aggregations