Snap for 10503246 from c18cfb1ed51330dfff35a6486f1912f8373f94ba to udc-d1-release

Change-Id: I5c193ddc280b52568250722cb8eaf6c0ef655090
diff --git a/tests/src/android/cts/statsd/validation/ProcStatsValidationTests.java b/tests/src/android/cts/statsd/validation/ProcStatsValidationTests.java
index 5b42aa9..b5baa36 100644
--- a/tests/src/android/cts/statsd/validation/ProcStatsValidationTests.java
+++ b/tests/src/android/cts/statsd/validation/ProcStatsValidationTests.java
@@ -30,6 +30,7 @@
 import com.android.os.StatsLog.DimensionsValue;
 import com.android.os.StatsLog.ValueBucketInfo;
 import com.android.os.StatsLog.ValueMetricData;
+import com.android.tradefed.device.ITestDevice;
 import com.android.tradefed.log.LogUtil;
 
 import java.util.List;
@@ -44,6 +45,10 @@
     private static final int EXTRA_WAIT_TIME_MS = 1_000; // as buffer when proc state changing.
 
     public void testProcessStatePssValue() throws Exception {
+        if(isPssProfilingDisabled())  {
+            LogUtil.CLog.i("testProcessStatePssValue is ignored when PSS profiling is disabled");
+            return;
+        }
         final String fileName = "PROCSTATSQ_PROCS_STATE_PSS_VALUE.pbtxt";
         StatsdConfig config = createValidationUtil().getConfig(fileName);
         LogUtil.CLog.d("Updating the following config:\n" + config.toString());
@@ -303,4 +308,13 @@
         assertThat(rssAvgStatsd).isEqualTo(rssAvgProcstats);
         */
     }
+
+    private boolean isPssProfilingDisabled() throws Exception {
+        ITestDevice device = getDevice();
+        final String disablePssProfilingKey = "disable_app_profiler_pss_profiling";
+        final String stringToCompare = " " + disablePssProfilingKey + "=true";
+
+        final String dumpsys = device.executeShellCommand("dumpsys activity settings");
+        return (dumpsys.contains(stringToCompare));
+    }
 }