Merge changes I9953dcec,I5bc7034e into rvc-dev
* changes:
Handles invalid requests to open EVS display
Add a command line option for the buffer format
diff --git a/evs/apps/default/Android.bp b/evs/apps/default/Android.bp
index 7fd60ef..df6fd0d 100644
--- a/evs/apps/default/Android.bp
+++ b/evs/apps/default/Android.bp
@@ -63,10 +63,6 @@
"LabeledChecker.png",
],
- strip: {
- keep_symbols: true,
- },
-
init_rc: ["evs_app.rc"],
cflags: ["-DLOG_TAG=\"EvsApp\""] + [
diff --git a/evs/apps/demo_app_evs_support_lib/Android.bp b/evs/apps/demo_app_evs_support_lib/Android.bp
index 5380a4a..ae0073a 100644
--- a/evs/apps/demo_app_evs_support_lib/Android.bp
+++ b/evs/apps/demo_app_evs_support_lib/Android.bp
@@ -30,10 +30,6 @@
include_dirs: ["packages/services/Car/evs/support_library"],
- strip: {
- keep_symbols: true,
- },
-
init_rc: ["evs_app_support_lib.rc"],
cflags: ["-DLOG_TAG=\"EvsAppSupportLib\""] + [
diff --git a/evs/manager/1.0/Android.bp b/evs/manager/1.0/Android.bp
index 260e0b7..82bcdd8 100644
--- a/evs/manager/1.0/Android.bp
+++ b/evs/manager/1.0/Android.bp
@@ -39,10 +39,6 @@
init_rc: ["android.automotive.evs.manager@1.0.rc"],
- strip: {
- keep_symbols: true,
- },
-
cflags: ["-DLOG_TAG=\"EvsManagerV1_0\""] + [
"-DGL_GLEXT_PROTOTYPES",
"-DEGL_EGLEXT_PROTOTYPES",
diff --git a/evs/manager/1.1/Android.bp b/evs/manager/1.1/Android.bp
index 694aa06..86f77e5 100644
--- a/evs/manager/1.1/Android.bp
+++ b/evs/manager/1.1/Android.bp
@@ -45,10 +45,6 @@
init_rc: ["android.automotive.evs.manager@1.1.rc"],
- strip: {
- keep_symbols: true,
- },
-
cflags: ["-DLOG_TAG=\"EvsManagerV1_1\""] + [
"-DGL_GLEXT_PROTOTYPES",
"-DEGL_EGLEXT_PROTOTYPES",
diff --git a/evs/sampleDriver/Android.bp b/evs/sampleDriver/Android.bp
index 1722200..1bee713 100644
--- a/evs/sampleDriver/Android.bp
+++ b/evs/sampleDriver/Android.bp
@@ -58,10 +58,6 @@
init_rc: ["android.hardware.automotive.evs@1.1-sample.rc"],
- strip: {
- keep_symbols: true,
- },
-
cflags: ["-DLOG_TAG=\"EvsSampleDriver\""] + [
"-DGL_GLEXT_PROTOTYPES",
"-DEGL_EGLEXT_PROTOTYPES",
diff --git a/evs/support_library/Android.bp b/evs/support_library/Android.bp
index 6556404..8b77a5d 100644
--- a/evs/support_library/Android.bp
+++ b/evs/support_library/Android.bp
@@ -56,10 +56,6 @@
"camera_config.json",
],
- strip: {
- keep_symbols: true,
- },
-
cflags: ["-DLOG_TAG=\"libevssupport\""] + [
"-DGL_GLEXT_PROTOTYPES",
"-DEGL_EGLEXT_PROTOTYPES",
diff --git a/service/src/com/android/car/vms/VmsBrokerService.java b/service/src/com/android/car/vms/VmsBrokerService.java
index aed7e69..b2dbaa1 100644
--- a/service/src/com/android/car/vms/VmsBrokerService.java
+++ b/service/src/com/android/car/vms/VmsBrokerService.java
@@ -53,6 +53,7 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
+import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -111,7 +112,17 @@
@Override
public void dump(PrintWriter writer) {
- // TODO(b/149125079): Implement dumpsys
+ writer.println("*" + TAG + "*");
+ synchronized (mLock) {
+ writer.println("mAvailableLayers: " + mAvailableLayers.getAvailableLayers());
+ writer.println();
+ writer.println("mSubscriptionState: " + mSubscriptionState);
+ writer.println();
+ writer.println("mClientMap:");
+ mClientMap.values().stream()
+ .sorted(Comparator.comparingInt(VmsClientInfo::getUid))
+ .forEach(client -> client.dump(writer, " "));
+ }
}
@Override
diff --git a/service/src/com/android/car/vms/VmsClientInfo.java b/service/src/com/android/car/vms/VmsClientInfo.java
index b1ad912..d64b6b7 100644
--- a/service/src/com/android/car/vms/VmsClientInfo.java
+++ b/service/src/com/android/car/vms/VmsClientInfo.java
@@ -28,6 +28,7 @@
import com.android.internal.annotations.GuardedBy;
+import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -180,6 +181,52 @@
}
}
+ void dump(PrintWriter writer, String indent) {
+ synchronized (mLock) {
+ String prefix = indent;
+ writer.println(prefix + "VmsClient [" + mPackageName + "]");
+
+ prefix = indent + " ";
+ writer.println(prefix + "UID: " + mUid);
+ writer.println(prefix + "Legacy Client: " + mLegacyClient);
+ writer.println(prefix + "Monitoring: " + mMonitoringEnabled);
+
+ if (mProviderIds.size() > 0) {
+ writer.println(prefix + "Offerings:");
+ for (int i = 0; i < mProviderIds.size(); i++) {
+ prefix = indent + " ";
+ int providerId = mProviderIds.keyAt(i);
+ writer.println(prefix + "Provider [" + providerId + "]");
+
+ for (VmsLayerDependency layerOffering : mOfferings.get(
+ providerId, Collections.emptySet())) {
+ prefix = indent + " ";
+ writer.println(prefix + layerOffering.getLayer());
+ if (!layerOffering.getDependencies().isEmpty()) {
+ prefix = indent + " ";
+ writer.println(prefix + "Dependencies: "
+ + layerOffering.getDependencies());
+ }
+ }
+ }
+ }
+
+ if (!mLayerSubscriptions.isEmpty() || !mLayerAndProviderSubscriptions.isEmpty()) {
+ prefix = indent + " ";
+ writer.println(prefix + "Subscriptions:");
+
+ prefix = indent + " ";
+ for (VmsLayer layer : mLayerSubscriptions) {
+ writer.println(prefix + layer);
+ }
+ for (Map.Entry<VmsLayer, Set<Integer>> layerEntry :
+ mLayerAndProviderSubscriptions.entrySet()) {
+ writer.println(prefix + layerEntry.getKey() + ": " + layerEntry.getValue());
+ }
+ }
+ }
+ }
+
private static <K, V> Map<K, Set<V>> deepCopy(Map<K, Set<V>> original) {
return original.entrySet().stream().collect(Collectors.toMap(
Map.Entry::getKey,
diff --git a/tests/android_car_api_test/src/android/car/apitest/CarActivityViewDisplayIdTest.java b/tests/android_car_api_test/src/android/car/apitest/CarActivityViewDisplayIdTest.java
index 93f2530..ee6dbbb 100644
--- a/tests/android_car_api_test/src/android/car/apitest/CarActivityViewDisplayIdTest.java
+++ b/tests/android_car_api_test/src/android/car/apitest/CarActivityViewDisplayIdTest.java
@@ -24,7 +24,6 @@
import static org.junit.Assume.assumeTrue;
import static org.testng.Assert.assertThrows;
-import androidx.test.filters.FlakyTest;
import androidx.test.filters.MediumTest;
import org.junit.Test;
@@ -42,7 +41,6 @@
private static final int NONEXISTENT_DISPLAY_ID = Integer.MAX_VALUE;
@Test
- @FlakyTest
public void testSingleActivityView() throws Exception {
ActivityViewTestActivity activity = startActivityViewTestActivity(DEFAULT_DISPLAY);
activity.waitForActivityViewReady();
@@ -65,7 +63,6 @@
}
@Test
- @FlakyTest
public void testDoubleActivityView() throws Exception {
ActivityViewTestActivity activity1 = startActivityViewTestActivity(DEFAULT_DISPLAY);
activity1.waitForActivityViewReady();
@@ -100,7 +97,6 @@
}
@Test
- @FlakyTest
public void testThrowsExceptionOnReportingNonExistingDisplay() throws Exception {
ActivityViewTestActivity activity = startActivityViewTestActivity(DEFAULT_DISPLAY);
activity.waitForActivityViewReady();
@@ -125,7 +121,6 @@
// TODO(b/143353546): Make the following tests not to rely on CarLauncher.
@Test
- @FlakyTest
public void testThrowsExceptionOnReportingNonOwningDisplay() throws Exception {
int displayIdOfCarLauncher = waitForActivityViewDisplayReady(CAR_LAUNCHER_PKG_NAME);
assumeTrue(INVALID_DISPLAY != displayIdOfCarLauncher);