Loading startop/iorap/src/com/google/android/startop/iorap/AppLaunchEvent.java +11 −10 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ import com.android.server.wm.ActivityMetricsLaunchObserver.Temperature; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.reflect.InvocationTargetException; import java.util.Arrays; import java.util.Objects; /** Loading Loading @@ -162,8 +163,8 @@ public abstract class AppLaunchEvent implements Parcelable { @Override public boolean equals(Object other) { if (other instanceof BaseWithActivityRecordData) { return activityRecordSnapshot.equals( ((BaseWithActivityRecordData)other).activityRecordSnapshot) && return (Arrays.equals(activityRecordSnapshot, ((BaseWithActivityRecordData)other).activityRecordSnapshot)) && super.equals(other); } return false; Loading @@ -171,7 +172,7 @@ public abstract class AppLaunchEvent implements Parcelable { @Override protected String toStringBody() { return ", " + activityRecordSnapshot.toString(); return ", " + new String(activityRecordSnapshot); } @Override Loading Loading @@ -208,7 +209,7 @@ public abstract class AppLaunchEvent implements Parcelable { @Override protected String toStringBody() { return ", temperature=" + Integer.toString(temperature); return super.toStringBody() + ", temperature=" + Integer.toString(temperature); } @Override Loading @@ -235,7 +236,7 @@ public abstract class AppLaunchEvent implements Parcelable { @Override public boolean equals(Object other) { if (other instanceof ActivityLaunched) { if (other instanceof ActivityLaunchFinished) { return timestampNs == ((ActivityLaunchFinished)other).timestampNs && super.equals(other); } Loading @@ -244,7 +245,7 @@ public abstract class AppLaunchEvent implements Parcelable { @Override protected String toStringBody() { return ", timestampNs=" + Long.toString(timestampNs); return super.toStringBody() + ", timestampNs=" + Long.toString(timestampNs); } @Override Loading @@ -271,7 +272,7 @@ public abstract class AppLaunchEvent implements Parcelable { @Override public boolean equals(Object other) { if (other instanceof ActivityLaunchCancelled) { return Objects.equals(activityRecordSnapshot, return Arrays.equals(activityRecordSnapshot, ((ActivityLaunchCancelled)other).activityRecordSnapshot) && super.equals(other); } Loading @@ -280,7 +281,7 @@ public abstract class AppLaunchEvent implements Parcelable { @Override protected String toStringBody() { return ", " + activityRecordSnapshot.toString(); return super.toStringBody() + ", " + new String(activityRecordSnapshot); } @Override Loading Loading @@ -325,7 +326,7 @@ public abstract class AppLaunchEvent implements Parcelable { @Override protected String toStringBody() { return ", timestampNs=" + Long.toString(timestampNs); return super.toStringBody() + ", timestampNs=" + Long.toString(timestampNs); } @Override Loading startop/iorap/tests/src/com/google/android/startop/iorap/AppLaunchEventTest.kt 0 → 100644 +181 −0 Original line number Diff line number Diff line /* * Copyright (C) 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.google.android.startop.iorap import android.content.Intent; import android.net.Uri import android.os.Parcel import android.os.Parcelable import androidx.test.filters.SmallTest import com.google.android.startop.iorap.AppLaunchEvent; import com.google.android.startop.iorap.AppLaunchEvent.ActivityLaunched import com.google.android.startop.iorap.AppLaunchEvent.ActivityLaunchCancelled import com.google.android.startop.iorap.AppLaunchEvent.ActivityLaunchFinished import com.google.android.startop.iorap.AppLaunchEvent.IntentStarted; import com.google.android.startop.iorap.AppLaunchEvent.IntentFailed; import com.google.android.startop.iorap.AppLaunchEvent.ReportFullyDrawn import com.google.common.truth.Truth.assertThat import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.Parameterized /** * Basic unit tests to test all of the [AppLaunchEvent]s in [com.google.android.startop.iorap]. */ @SmallTest class AppLaunchEventTest { /** * Test for IntentStarted. */ @Test fun testIntentStarted() { var intent = Intent() val valid = IntentStarted(/* sequenceId= */2L, intent, /* timestampNs= */ 1L) val copy = IntentStarted(/* sequenceId= */2L, intent, /* timestampNs= */ 1L) val noneCopy1 = IntentStarted(/* sequenceId= */1L, intent, /* timestampNs= */ 1L) val noneCopy2 = IntentStarted(/* sequenceId= */2L, intent, /* timestampNs= */ 2L) val noneCopy3 = IntentStarted(/* sequenceId= */2L, Intent(), /* timestampNs= */ 1L) // equals(Object other) assertThat(valid).isEqualTo(copy) assertThat(valid).isNotEqualTo(noneCopy1) assertThat(valid).isNotEqualTo(noneCopy2) assertThat(valid).isNotEqualTo(noneCopy3) // test toString() val result = valid.toString() assertThat(result).isEqualTo("IntentStarted{sequenceId=2, intent=Intent { } , timestampNs=1}") } /** * Test for IntentFailed. */ @Test fun testIntentFailed() { val valid = IntentFailed(/* sequenceId= */2L) val copy = IntentFailed(/* sequenceId= */2L) val noneCopy = IntentFailed(/* sequenceId= */1L) // equals(Object other) assertThat(valid).isEqualTo(copy) assertThat(valid).isNotEqualTo(noneCopy) // test toString() val result = valid.toString() assertThat(result).isEqualTo("IntentFailed{sequenceId=2}") } /** * Test for ActivityLaunched. */ @Test fun testActivityLaunched() { //var activityRecord = val valid = ActivityLaunched(/* sequenceId= */2L, "test".toByteArray(), /* temperature= */ 0) val copy = ActivityLaunched(/* sequenceId= */2L, "test".toByteArray(), /* temperature= */ 0) val noneCopy1 = ActivityLaunched(/* sequenceId= */1L, "test".toByteArray(), /* temperature= */ 0) val noneCopy2 = ActivityLaunched(/* sequenceId= */1L, "test".toByteArray(), /* temperature= */ 1) val noneCopy3 = ActivityLaunched(/* sequenceId= */1L, "test1".toByteArray(), /* temperature= */ 0) // equals(Object other) assertThat(valid).isEqualTo(copy) assertThat(valid).isNotEqualTo(noneCopy1) assertThat(valid).isNotEqualTo(noneCopy2) assertThat(valid).isNotEqualTo(noneCopy3) // test toString() val result = valid.toString() assertThat(result).isEqualTo("ActivityLaunched{sequenceId=2, test, temperature=0}") } /** * Test for ActivityLaunchFinished. */ @Test fun testActivityLaunchFinished() { val valid = ActivityLaunchFinished(/* sequenceId= */2L, "test".toByteArray(), /* timestampNs= */ 1L) val copy = ActivityLaunchFinished(/* sequenceId= */2L, "test".toByteArray(), /* timestampNs= */ 1L) val noneCopy1 = ActivityLaunchFinished(/* sequenceId= */1L, "test".toByteArray(), /* timestampNs= */ 1L) val noneCopy2 = ActivityLaunchFinished(/* sequenceId= */1L, "test".toByteArray(), /* timestampNs= */ 2L) val noneCopy3 = ActivityLaunchFinished(/* sequenceId= */2L, "test1".toByteArray(), /* timestampNs= */ 1L) // equals(Object other) assertThat(valid).isEqualTo(copy) assertThat(valid).isNotEqualTo(noneCopy1) assertThat(valid).isNotEqualTo(noneCopy2) assertThat(valid).isNotEqualTo(noneCopy3) // test toString() val result = valid.toString() assertThat(result).isEqualTo("ActivityLaunchFinished{sequenceId=2, test, timestampNs=1}") } /** * Test for ActivityLaunchCancelled. */ @Test fun testActivityLaunchCancelled() { val valid = ActivityLaunchCancelled(/* sequenceId= */2L, "test".toByteArray()) val copy = ActivityLaunchCancelled(/* sequenceId= */2L, "test".toByteArray()) val noneCopy1 = ActivityLaunchCancelled(/* sequenceId= */1L, "test".toByteArray()) val noneCopy2 = ActivityLaunchCancelled(/* sequenceId= */2L, "test1".toByteArray()) // equals(Object other) assertThat(valid).isEqualTo(copy) assertThat(valid).isNotEqualTo(noneCopy1) assertThat(valid).isNotEqualTo(noneCopy2) // test toString() val result = valid.toString() assertThat(result).isEqualTo("ActivityLaunchCancelled{sequenceId=2, test}") } /** * Test for ReportFullyDrawn. */ @Test fun testReportFullyDrawn() { val valid = ReportFullyDrawn(/* sequenceId= */2L, "test".toByteArray(), /* timestampNs= */ 1L) val copy = ReportFullyDrawn(/* sequenceId= */2L, "test".toByteArray(), /* timestampNs= */ 1L) val noneCopy1 = ReportFullyDrawn(/* sequenceId= */1L, "test".toByteArray(), /* timestampNs= */ 1L) val noneCopy2 = ReportFullyDrawn(/* sequenceId= */1L, "test".toByteArray(), /* timestampNs= */ 1L) val noneCopy3 = ReportFullyDrawn(/* sequenceId= */2L, "test1".toByteArray(), /* timestampNs= */ 1L) // equals(Object other) assertThat(valid).isEqualTo(copy) assertThat(valid).isNotEqualTo(noneCopy1) assertThat(valid).isNotEqualTo(noneCopy2) assertThat(valid).isNotEqualTo(noneCopy3) // test toString() val result = valid.toString() assertThat(result).isEqualTo("ReportFullyDrawn{sequenceId=2, test, timestampNs=1}") } } Loading
startop/iorap/src/com/google/android/startop/iorap/AppLaunchEvent.java +11 −10 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ import com.android.server.wm.ActivityMetricsLaunchObserver.Temperature; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.reflect.InvocationTargetException; import java.util.Arrays; import java.util.Objects; /** Loading Loading @@ -162,8 +163,8 @@ public abstract class AppLaunchEvent implements Parcelable { @Override public boolean equals(Object other) { if (other instanceof BaseWithActivityRecordData) { return activityRecordSnapshot.equals( ((BaseWithActivityRecordData)other).activityRecordSnapshot) && return (Arrays.equals(activityRecordSnapshot, ((BaseWithActivityRecordData)other).activityRecordSnapshot)) && super.equals(other); } return false; Loading @@ -171,7 +172,7 @@ public abstract class AppLaunchEvent implements Parcelable { @Override protected String toStringBody() { return ", " + activityRecordSnapshot.toString(); return ", " + new String(activityRecordSnapshot); } @Override Loading Loading @@ -208,7 +209,7 @@ public abstract class AppLaunchEvent implements Parcelable { @Override protected String toStringBody() { return ", temperature=" + Integer.toString(temperature); return super.toStringBody() + ", temperature=" + Integer.toString(temperature); } @Override Loading @@ -235,7 +236,7 @@ public abstract class AppLaunchEvent implements Parcelable { @Override public boolean equals(Object other) { if (other instanceof ActivityLaunched) { if (other instanceof ActivityLaunchFinished) { return timestampNs == ((ActivityLaunchFinished)other).timestampNs && super.equals(other); } Loading @@ -244,7 +245,7 @@ public abstract class AppLaunchEvent implements Parcelable { @Override protected String toStringBody() { return ", timestampNs=" + Long.toString(timestampNs); return super.toStringBody() + ", timestampNs=" + Long.toString(timestampNs); } @Override Loading @@ -271,7 +272,7 @@ public abstract class AppLaunchEvent implements Parcelable { @Override public boolean equals(Object other) { if (other instanceof ActivityLaunchCancelled) { return Objects.equals(activityRecordSnapshot, return Arrays.equals(activityRecordSnapshot, ((ActivityLaunchCancelled)other).activityRecordSnapshot) && super.equals(other); } Loading @@ -280,7 +281,7 @@ public abstract class AppLaunchEvent implements Parcelable { @Override protected String toStringBody() { return ", " + activityRecordSnapshot.toString(); return super.toStringBody() + ", " + new String(activityRecordSnapshot); } @Override Loading Loading @@ -325,7 +326,7 @@ public abstract class AppLaunchEvent implements Parcelable { @Override protected String toStringBody() { return ", timestampNs=" + Long.toString(timestampNs); return super.toStringBody() + ", timestampNs=" + Long.toString(timestampNs); } @Override Loading
startop/iorap/tests/src/com/google/android/startop/iorap/AppLaunchEventTest.kt 0 → 100644 +181 −0 Original line number Diff line number Diff line /* * Copyright (C) 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.google.android.startop.iorap import android.content.Intent; import android.net.Uri import android.os.Parcel import android.os.Parcelable import androidx.test.filters.SmallTest import com.google.android.startop.iorap.AppLaunchEvent; import com.google.android.startop.iorap.AppLaunchEvent.ActivityLaunched import com.google.android.startop.iorap.AppLaunchEvent.ActivityLaunchCancelled import com.google.android.startop.iorap.AppLaunchEvent.ActivityLaunchFinished import com.google.android.startop.iorap.AppLaunchEvent.IntentStarted; import com.google.android.startop.iorap.AppLaunchEvent.IntentFailed; import com.google.android.startop.iorap.AppLaunchEvent.ReportFullyDrawn import com.google.common.truth.Truth.assertThat import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.Parameterized /** * Basic unit tests to test all of the [AppLaunchEvent]s in [com.google.android.startop.iorap]. */ @SmallTest class AppLaunchEventTest { /** * Test for IntentStarted. */ @Test fun testIntentStarted() { var intent = Intent() val valid = IntentStarted(/* sequenceId= */2L, intent, /* timestampNs= */ 1L) val copy = IntentStarted(/* sequenceId= */2L, intent, /* timestampNs= */ 1L) val noneCopy1 = IntentStarted(/* sequenceId= */1L, intent, /* timestampNs= */ 1L) val noneCopy2 = IntentStarted(/* sequenceId= */2L, intent, /* timestampNs= */ 2L) val noneCopy3 = IntentStarted(/* sequenceId= */2L, Intent(), /* timestampNs= */ 1L) // equals(Object other) assertThat(valid).isEqualTo(copy) assertThat(valid).isNotEqualTo(noneCopy1) assertThat(valid).isNotEqualTo(noneCopy2) assertThat(valid).isNotEqualTo(noneCopy3) // test toString() val result = valid.toString() assertThat(result).isEqualTo("IntentStarted{sequenceId=2, intent=Intent { } , timestampNs=1}") } /** * Test for IntentFailed. */ @Test fun testIntentFailed() { val valid = IntentFailed(/* sequenceId= */2L) val copy = IntentFailed(/* sequenceId= */2L) val noneCopy = IntentFailed(/* sequenceId= */1L) // equals(Object other) assertThat(valid).isEqualTo(copy) assertThat(valid).isNotEqualTo(noneCopy) // test toString() val result = valid.toString() assertThat(result).isEqualTo("IntentFailed{sequenceId=2}") } /** * Test for ActivityLaunched. */ @Test fun testActivityLaunched() { //var activityRecord = val valid = ActivityLaunched(/* sequenceId= */2L, "test".toByteArray(), /* temperature= */ 0) val copy = ActivityLaunched(/* sequenceId= */2L, "test".toByteArray(), /* temperature= */ 0) val noneCopy1 = ActivityLaunched(/* sequenceId= */1L, "test".toByteArray(), /* temperature= */ 0) val noneCopy2 = ActivityLaunched(/* sequenceId= */1L, "test".toByteArray(), /* temperature= */ 1) val noneCopy3 = ActivityLaunched(/* sequenceId= */1L, "test1".toByteArray(), /* temperature= */ 0) // equals(Object other) assertThat(valid).isEqualTo(copy) assertThat(valid).isNotEqualTo(noneCopy1) assertThat(valid).isNotEqualTo(noneCopy2) assertThat(valid).isNotEqualTo(noneCopy3) // test toString() val result = valid.toString() assertThat(result).isEqualTo("ActivityLaunched{sequenceId=2, test, temperature=0}") } /** * Test for ActivityLaunchFinished. */ @Test fun testActivityLaunchFinished() { val valid = ActivityLaunchFinished(/* sequenceId= */2L, "test".toByteArray(), /* timestampNs= */ 1L) val copy = ActivityLaunchFinished(/* sequenceId= */2L, "test".toByteArray(), /* timestampNs= */ 1L) val noneCopy1 = ActivityLaunchFinished(/* sequenceId= */1L, "test".toByteArray(), /* timestampNs= */ 1L) val noneCopy2 = ActivityLaunchFinished(/* sequenceId= */1L, "test".toByteArray(), /* timestampNs= */ 2L) val noneCopy3 = ActivityLaunchFinished(/* sequenceId= */2L, "test1".toByteArray(), /* timestampNs= */ 1L) // equals(Object other) assertThat(valid).isEqualTo(copy) assertThat(valid).isNotEqualTo(noneCopy1) assertThat(valid).isNotEqualTo(noneCopy2) assertThat(valid).isNotEqualTo(noneCopy3) // test toString() val result = valid.toString() assertThat(result).isEqualTo("ActivityLaunchFinished{sequenceId=2, test, timestampNs=1}") } /** * Test for ActivityLaunchCancelled. */ @Test fun testActivityLaunchCancelled() { val valid = ActivityLaunchCancelled(/* sequenceId= */2L, "test".toByteArray()) val copy = ActivityLaunchCancelled(/* sequenceId= */2L, "test".toByteArray()) val noneCopy1 = ActivityLaunchCancelled(/* sequenceId= */1L, "test".toByteArray()) val noneCopy2 = ActivityLaunchCancelled(/* sequenceId= */2L, "test1".toByteArray()) // equals(Object other) assertThat(valid).isEqualTo(copy) assertThat(valid).isNotEqualTo(noneCopy1) assertThat(valid).isNotEqualTo(noneCopy2) // test toString() val result = valid.toString() assertThat(result).isEqualTo("ActivityLaunchCancelled{sequenceId=2, test}") } /** * Test for ReportFullyDrawn. */ @Test fun testReportFullyDrawn() { val valid = ReportFullyDrawn(/* sequenceId= */2L, "test".toByteArray(), /* timestampNs= */ 1L) val copy = ReportFullyDrawn(/* sequenceId= */2L, "test".toByteArray(), /* timestampNs= */ 1L) val noneCopy1 = ReportFullyDrawn(/* sequenceId= */1L, "test".toByteArray(), /* timestampNs= */ 1L) val noneCopy2 = ReportFullyDrawn(/* sequenceId= */1L, "test".toByteArray(), /* timestampNs= */ 1L) val noneCopy3 = ReportFullyDrawn(/* sequenceId= */2L, "test1".toByteArray(), /* timestampNs= */ 1L) // equals(Object other) assertThat(valid).isEqualTo(copy) assertThat(valid).isNotEqualTo(noneCopy1) assertThat(valid).isNotEqualTo(noneCopy2) assertThat(valid).isNotEqualTo(noneCopy3) // test toString() val result = valid.toString() assertThat(result).isEqualTo("ReportFullyDrawn{sequenceId=2, test, timestampNs=1}") } }