From 631820696433cf2ed7a8cfc71985aa66cfdb3362 Mon Sep 17 00:00:00 2001 From: Sergey Malenkov Date: Thu, 26 Jul 2018 22:03:14 +0300 Subject: [PATCH] Move AnimatedIcon to public API --- .../tree/RunDashboardAnimatorImpl.java | 22 +++------------- .../src/com/intellij/ui/AnimatedIcon.java | 0 .../intellij/util/ui/AsyncProcessIcon.java | 26 +++---------------- .../cvsSupport2/cvsBrowser/LoadingNode.java | 13 ++-------- 4 files changed, 10 insertions(+), 51 deletions(-) rename platform/{platform-impl => platform-api}/src/com/intellij/ui/AnimatedIcon.java (100%) diff --git a/platform/lang-impl/src/com/intellij/execution/dashboard/tree/RunDashboardAnimatorImpl.java b/platform/lang-impl/src/com/intellij/execution/dashboard/tree/RunDashboardAnimatorImpl.java index 75d622da7b22..b97fb55a4ae7 100644 --- a/platform/lang-impl/src/com/intellij/execution/dashboard/tree/RunDashboardAnimatorImpl.java +++ b/platform/lang-impl/src/com/intellij/execution/dashboard/tree/RunDashboardAnimatorImpl.java @@ -17,13 +17,12 @@ package com.intellij.execution.dashboard.tree; import com.intellij.execution.dashboard.RunDashboardAnimator; import com.intellij.execution.dashboard.RunDashboardNode; -import com.intellij.icons.AllIcons; import com.intellij.ide.util.treeView.AbstractTreeBuilder; import com.intellij.openapi.Disposable; import com.intellij.openapi.util.Disposer; +import com.intellij.ui.AnimatedIcon; import com.intellij.util.Alarm; import com.intellij.util.containers.ContainerUtil; -import com.intellij.util.ui.AsyncProcessIcon; import org.jetbrains.annotations.NotNull; import javax.swing.*; @@ -36,11 +35,9 @@ import java.util.Set; * @author Konstantin Aleev */ public class RunDashboardAnimatorImpl implements RunDashboardAnimator, Runnable, Disposable { - private static final int FRAMES_COUNT = AsyncProcessIcon.COUNT; - private static final int MOVIE_TIME = AsyncProcessIcon.CYCLE_LENGTH; - private static final int FRAME_TIME = MOVIE_TIME / FRAMES_COUNT; - - public static final Icon[] FRAMES = new Icon[FRAMES_COUNT]; + public static final Icon[] FRAMES = AnimatedIcon.Default.ICONS.toArray(new Icon[0]); + private static final int FRAME_TIME = AnimatedIcon.Default.DELAY; + private static final int MOVIE_TIME = FRAME_TIME * FRAMES.length; private long myLastInvocationTime = -1; @@ -53,17 +50,6 @@ public class RunDashboardAnimatorImpl implements RunDashboardAnimator, Runnable, init(builder); } - static { - FRAMES[0] = AllIcons.Process.Step_1; - FRAMES[1] = AllIcons.Process.Step_2; - FRAMES[2] = AllIcons.Process.Step_3; - FRAMES[3] = AllIcons.Process.Step_4; - FRAMES[4] = AllIcons.Process.Step_5; - FRAMES[5] = AllIcons.Process.Step_6; - FRAMES[6] = AllIcons.Process.Step_7; - FRAMES[7] = AllIcons.Process.Step_8; - } - public static int getCurrentFrameIndex() { return (int)((System.currentTimeMillis() % MOVIE_TIME) / FRAME_TIME); } diff --git a/platform/platform-impl/src/com/intellij/ui/AnimatedIcon.java b/platform/platform-api/src/com/intellij/ui/AnimatedIcon.java similarity index 100% rename from platform/platform-impl/src/com/intellij/ui/AnimatedIcon.java rename to platform/platform-api/src/com/intellij/ui/AnimatedIcon.java diff --git a/platform/platform-api/src/com/intellij/util/ui/AsyncProcessIcon.java b/platform/platform-api/src/com/intellij/util/ui/AsyncProcessIcon.java index d0e638c80e3d..1b3daeb27d98 100644 --- a/platform/platform-api/src/com/intellij/util/ui/AsyncProcessIcon.java +++ b/platform/platform-api/src/com/intellij/util/ui/AsyncProcessIcon.java @@ -24,19 +24,10 @@ import javax.swing.*; import java.awt.*; public class AsyncProcessIcon extends AnimatedIcon { - public static final int COUNT = 8; - public static final int CYCLE_LENGTH = 1040; + private static final Icon[] SMALL_ICONS = com.intellij.ui.AnimatedIcon.Default.ICONS.toArray(new Icon[0]); - private static final Icon[] SMALL_ICONS = { - AllIcons.Process.Step_1, - AllIcons.Process.Step_2, - AllIcons.Process.Step_3, - AllIcons.Process.Step_4, - AllIcons.Process.Step_5, - AllIcons.Process.Step_6, - AllIcons.Process.Step_7, - AllIcons.Process.Step_8 - }; + public static final int COUNT = SMALL_ICONS.length; + public static final int CYCLE_LENGTH = com.intellij.ui.AnimatedIcon.Default.DELAY * SMALL_ICONS.length; public AsyncProcessIcon(@NonNls String name) { this(name, SMALL_ICONS, AllIcons.Process.Step_passive); @@ -74,16 +65,7 @@ public class AsyncProcessIcon extends AnimatedIcon { } public static class Big extends AsyncProcessIcon { - private static final Icon[] BIG_ICONS = { - AllIcons.Process.Big.Step_1, - AllIcons.Process.Big.Step_2, - AllIcons.Process.Big.Step_3, - AllIcons.Process.Big.Step_4, - AllIcons.Process.Big.Step_5, - AllIcons.Process.Big.Step_6, - AllIcons.Process.Big.Step_7, - AllIcons.Process.Big.Step_8 - }; + private static final Icon[] BIG_ICONS = com.intellij.ui.AnimatedIcon.Default.ICONS.toArray(new Icon[0]); public Big(@NonNls final String name) { super(name, BIG_ICONS, AllIcons.Process.Big.Step_passive); diff --git a/plugins/cvs/cvs-plugin/src/com/intellij/cvsSupport2/cvsBrowser/LoadingNode.java b/plugins/cvs/cvs-plugin/src/com/intellij/cvsSupport2/cvsBrowser/LoadingNode.java index 31e84b8d87d5..4c8c29ce22e4 100644 --- a/plugins/cvs/cvs-plugin/src/com/intellij/cvsSupport2/cvsBrowser/LoadingNode.java +++ b/plugins/cvs/cvs-plugin/src/com/intellij/cvsSupport2/cvsBrowser/LoadingNode.java @@ -17,7 +17,7 @@ package com.intellij.cvsSupport2.cvsBrowser; import com.intellij.CommonBundle; import com.intellij.cvsSupport2.ui.CvsTabbedWindow; -import com.intellij.icons.AllIcons; +import com.intellij.ui.AnimatedIcon; import com.intellij.util.Alarm; import javax.swing.*; @@ -35,16 +35,7 @@ class LoadingNode extends DefaultMutableTreeNode { private final String myText = CommonBundle.getLoadingTreeNodeText(); private int myPeriod = 0; - private final Icon[] myIcons = new Icon[] { - AllIcons.Process.Step_1, - AllIcons.Process.Step_2, - AllIcons.Process.Step_3, - AllIcons.Process.Step_4, - AllIcons.Process.Step_5, - AllIcons.Process.Step_6, - AllIcons.Process.Step_7, - AllIcons.Process.Step_8 - }; + private final Icon[] myIcons = AnimatedIcon.Default.ICONS.toArray(new Icon[0]); private volatile boolean stopped = false; private Runnable myPeriodRequest; private final DefaultTreeModel myModel;