diff options
| author | Phil Nguyen <philnguyen@google.com> | 2021-08-19 12:48:35 -0700 |
|---|---|---|
| committer | Android Build Prod User <android-build-prod@system.gserviceaccount.com> | 2021-08-24 23:28:27 +0000 |
| commit | 4ec3dee3dc81a6d6b8282be78ffc86872554da01 (patch) | |
| tree | 6e271f3e726cfab8ef187c25e9a7b270c23672e7 /profilers-ui/src/com | |
| parent | 19b2f29b1b1df9873a5fc31ac4bfb15be09b28a0 (diff) | |
| download | platform_tools_adt_idea-4ec3dee3dc81a6d6b8282be78ffc86872554da01.tar.gz platform_tools_adt_idea-4ec3dee3dc81a6d6b8282be78ffc86872554da01.tar.bz2 platform_tools_adt_idea-4ec3dee3dc81a6d6b8282be78ffc86872554da01.zip | |
Generalize StateChart's renderer
This CL allows arbitrary rendering of state-chart value within its
rectangle, casting existing configurations (e.g. bar, with/without
text) as special cases. The old color-provider and text-converter
parameters are now just convenient common configurations.
Even though this change removes the mutable field `renderingMode`,
it does not takes away the ability to dynamically decide to render
text. That's up to the custom renderer to decide. Getting ride of
this parameter only affects manual visual tests, not production code.
Fixes: 197269744
Test: new, existing, updated existing visual tests
Change-Id: I004810e3077f55cc96653ed620d30227ca1ca080
Diffstat (limited to 'profilers-ui/src/com')
5 files changed, 3 insertions, 11 deletions
diff --git a/profilers-ui/src/com/android/tools/profilers/cpu/AndroidFrameEventTrackRenderer.kt b/profilers-ui/src/com/android/tools/profilers/cpu/AndroidFrameEventTrackRenderer.kt index 2bfdb10cab3..00b4dea10d8 100644 --- a/profilers-ui/src/com/android/tools/profilers/cpu/AndroidFrameEventTrackRenderer.kt +++ b/profilers-ui/src/com/android/tools/profilers/cpu/AndroidFrameEventTrackRenderer.kt @@ -32,11 +32,8 @@ import javax.swing.JComponent * Track renderer for the a frame lifecycle track representing Android frames in a specific rendering phase. */ class AndroidFrameEventTrackRenderer : TrackRenderer<AndroidFrameEventTrackModel> { - override fun render(trackModel: TrackModel<AndroidFrameEventTrackModel, *>): JComponent { - return StateChart(trackModel.dataModel, AndroidFrameEventColorProvider(), AndroidFrameEventTextProvider()).apply { - renderMode = StateChart.RenderMode.TEXT - } - } + override fun render(trackModel: TrackModel<AndroidFrameEventTrackModel, *>) = + StateChart(trackModel.dataModel, AndroidFrameEventColorProvider(), AndroidFrameEventTextProvider()) } private class AndroidFrameEventColorProvider : StateChartColorProvider<AndroidFrameEvent>() { diff --git a/profilers-ui/src/com/android/tools/profilers/cpu/CpuCoreTrackRenderer.java b/profilers-ui/src/com/android/tools/profilers/cpu/CpuCoreTrackRenderer.java index 3a56ac4d271..4a55ea59f22 100644 --- a/profilers-ui/src/com/android/tools/profilers/cpu/CpuCoreTrackRenderer.java +++ b/profilers-ui/src/com/android/tools/profilers/cpu/CpuCoreTrackRenderer.java @@ -39,7 +39,6 @@ public class CpuCoreTrackRenderer implements TrackRenderer<CpuCoreTrackModel> { CpuCoreTrackModel dataModel = trackModel.getDataModel(); StateChart<CpuThreadSliceInfo> stateChart = new StateChart<>(dataModel.getStateChartModel(), new CpuCoreColorProvider(), CpuThreadInfo::getName); - stateChart.setRenderMode(StateChart.RenderMode.TEXT); stateChart.setOpaque(true); return stateChart; } diff --git a/profilers-ui/src/com/android/tools/profilers/cpu/CpuFramesCellRenderer.java b/profilers-ui/src/com/android/tools/profilers/cpu/CpuFramesCellRenderer.java index f71838e44ae..9bf4a94d893 100644 --- a/profilers-ui/src/com/android/tools/profilers/cpu/CpuFramesCellRenderer.java +++ b/profilers-ui/src/com/android/tools/profilers/cpu/CpuFramesCellRenderer.java @@ -159,7 +159,6 @@ public class CpuFramesCellRenderer extends CpuCellRenderer<CpuFramesModel.FrameS return ""; } }); - stateChart.setRenderMode(StateChart.RenderMode.TEXT); CpuCellRenderer.StateChartData<SystemTraceFrame> data = new CpuCellRenderer.StateChartData<>(stateChart, model); stateChart.setHeightGap(0.0f); // Default config sets this to 0.5f; myStateCharts.put(model.hashCode(), data); diff --git a/profilers-ui/src/com/android/tools/profilers/cpu/CpuKernelCellRenderer.java b/profilers-ui/src/com/android/tools/profilers/cpu/CpuKernelCellRenderer.java index 92f0c1a6a53..0d197d9ef23 100644 --- a/profilers-ui/src/com/android/tools/profilers/cpu/CpuKernelCellRenderer.java +++ b/profilers-ui/src/com/android/tools/profilers/cpu/CpuKernelCellRenderer.java @@ -163,7 +163,6 @@ public class CpuKernelCellRenderer extends CpuCellRenderer<CpuKernelModel.CpuSta } } }, (threadInfo) -> threadInfo.getName()); - stateChart.setRenderMode(StateChart.RenderMode.TEXT); CpuCellRenderer.StateChartData<CpuThreadSliceInfo> data = new CpuCellRenderer.StateChartData<>(stateChart, model); stateChart.setHeightGap(0.0f); // Default config sets this to 0.5f; myStateCharts.put(cpuId, data); diff --git a/profilers-ui/src/com/android/tools/profilers/cpu/FramesTrackRenderer.java b/profilers-ui/src/com/android/tools/profilers/cpu/FramesTrackRenderer.java index 30087e00954..276e0f1943b 100644 --- a/profilers-ui/src/com/android/tools/profilers/cpu/FramesTrackRenderer.java +++ b/profilers-ui/src/com/android/tools/profilers/cpu/FramesTrackRenderer.java @@ -36,10 +36,8 @@ public class FramesTrackRenderer implements TrackRenderer<CpuFramesModel.FrameSt @NotNull @Override public JComponent render(@NotNull TrackModel<CpuFramesModel.FrameState, ?> trackModel) { - StateChart<SystemTraceFrame> stateChart = new StateChart<>( + return new StateChart<>( trackModel.getDataModel().getModel(), new FrameColorProvider(), new FrameTextConverter()); - stateChart.setRenderMode(StateChart.RenderMode.TEXT); - return stateChart; } private static class FrameColorProvider extends StateChartColorProvider<SystemTraceFrame> { |
