Caching result of call to ActivityManager.isRunningInTestHarness()

It's likely not a big issue as it's retrieved from SystemProperties but
because it's just for changing test behaviour and happens every time QS
is fully open - let's cache it.

Bug: 295643272
Test: Just caching value which maaaybe improves performance metrics
Change-Id: I4b0f513a7a674a18ea74be02d1137ebc5eeec2f0
diff --git a/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java b/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java
index ddd9463..1843823 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java
@@ -78,6 +78,14 @@
     private int mMinRows = 1;
     private int mMaxColumns = TileLayout.NO_MAX_COLUMNS;
 
+    /**
+     * it's fine to read this value when class is initialized because SysUI is always restarted
+     * when running tests in test harness, see SysUiTestIsolationRule. This check is done quite
+     * often - with every shade open action - so we don't want to potentially make it less
+     * performant only for test use case
+     */
+    private boolean mRunningInTestHarness = ActivityManager.isRunningInTestHarness();
+
     public PagedTileLayout(Context context, AttributeSet attrs) {
         super(context, attrs);
         mScroller = new Scroller(context, SCROLL_CUBIC);
@@ -590,11 +598,11 @@
     private boolean shouldNotRunAnimation(Set<String> tilesToReveal) {
         boolean noAnimationNeeded = tilesToReveal.isEmpty() || mPages.size() < 2;
         boolean scrollingInProgress = getScrollX() != 0 || !beginFakeDrag();
-        // isRunningInTestHarness() to disable animation in functional testing as it caused
+        // checking mRunningInTestHarness to disable animation in functional testing as it caused
         // flakiness and is not needed there. Alternative solutions were more complex and would
         // still be either potentially flaky or modify internal data.
         // For more info see b/253493927 and b/293234595
-        return noAnimationNeeded || scrollingInProgress || ActivityManager.isRunningInTestHarness();
+        return noAnimationNeeded || scrollingInProgress || mRunningInTestHarness;
     }
 
     private int sanitizePageAction(int action) {