use of com.android.tools.adtui.Animatable 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.Animatable 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.Animatable in project android by JetBrains.
the class SelectionVisualTest method createComponentsList.
@Override
protected List<Animatable> createComponentsList() {
myRange = new Range(0, 1000);
mySelectionRange = new Range(100, 900);
mySelection = new SelectionComponent(mySelectionRange, myRange);
// Add the scene components to the list
List<Animatable> componentsList = new ArrayList<>();
componentsList.add(mySelection);
componentsList.add(frameLength -> {
myRangeMin.setText(String.valueOf(myRange.getMin()));
myRangeMax.setText(String.valueOf(myRange.getMax()));
mySelectionMin.setText(String.valueOf(mySelectionRange.getMin()));
mySelectionMax.setText(String.valueOf(mySelectionRange.getMax()));
});
return componentsList;
}
use of com.android.tools.adtui.Animatable 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.Animatable 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