Merge "Adding Resolver Activity to the list of whitelisted apps."
diff --git a/car_product/sepolicy/public/carservice_app.te b/car_product/sepolicy/public/carservice_app.te
index 7825a86..fd276b6 100644
--- a/car_product/sepolicy/public/carservice_app.te
+++ b/car_product/sepolicy/public/carservice_app.te
@@ -1,3 +1,2 @@
 # Domain to run Car Service (com.android.car)
 type carservice_app, domain, coredomain;
-type carservice_app_tmpfs, file_type;
diff --git a/car_product/sepolicy/test/kitchensink_app.te b/car_product/sepolicy/test/kitchensink_app.te
index eef426a..8bd5a68 100644
--- a/car_product/sepolicy/test/kitchensink_app.te
+++ b/car_product/sepolicy/test/kitchensink_app.te
@@ -1,6 +1,5 @@
 # Domain to run EmbeddedKitchenSink app (for test-purpose)
 type kitchensink_app, domain;
-type kitchensink_app_tmpfs, file_type;
 app_domain(kitchensink_app);
 
 # Allow Car Service to be the client of Vehicle HAL
diff --git a/evs/app/WindowSurface.cpp b/evs/app/WindowSurface.cpp
index 04e7ac4..dbd245b 100644
--- a/evs/app/WindowSurface.cpp
+++ b/evs/app/WindowSurface.cpp
@@ -34,8 +34,12 @@
     }
 
     // Get main display parameters.
-    sp<IBinder> mainDpy = SurfaceComposerClient::getBuiltInDisplay(
-            ISurfaceComposer::eDisplayIdMain);
+    sp<IBinder> mainDpy = SurfaceComposerClient::getInternalDisplayToken();
+    if (mainDpy == nullptr) {
+        fprintf(stderr, "ERROR: no internal display\n");
+        return;
+    }
+
     DisplayInfo mainDpyInfo;
     err = SurfaceComposerClient::getDisplayInfo(mainDpy, &mainDpyInfo);
     if (err != NO_ERROR) {
diff --git a/evs/sampleDriver/GlWrapper.cpp b/evs/sampleDriver/GlWrapper.cpp
index fbd36a2..84e06df 100644
--- a/evs/sampleDriver/GlWrapper.cpp
+++ b/evs/sampleDriver/GlWrapper.cpp
@@ -207,8 +207,12 @@
     }
 
     // Get main display parameters.
-    sp <IBinder> mainDpy = SurfaceComposerClient::getBuiltInDisplay(
-            ISurfaceComposer::eDisplayIdMain);
+    sp<IBinder> mainDpy = SurfaceComposerClient::getInternalDisplayToken();
+    if (mainDpy == nullptr) {
+        ALOGE("ERROR: no internal display");
+        return false;
+    }
+
     DisplayInfo mainDpyInfo;
     err = SurfaceComposerClient::getDisplayInfo(mainDpy, &mainDpyInfo);
     if (err != NO_ERROR) {
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/connectivity/ConnectivityFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/connectivity/ConnectivityFragment.java
index 8f15042..23565ed 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/connectivity/ConnectivityFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/connectivity/ConnectivityFragment.java
@@ -542,16 +542,20 @@
     private void startTethering() {
         mTetheringStatus.setText("starting...");
 
-        mConnectivityManager.startTethering(ConnectivityManager.TETHERING_WIFI, false,
+        ConnectivityManager.OnStartTetheringCallback cb =
                 new ConnectivityManager.OnStartTetheringCallback() {
-                public void onTetheringStarted() {
-                    mTetheringStatus.setText("started");
-                }
+            public void onTetheringStarted() {
+                WifiConfiguration config = mWifiManager.getWifiApConfiguration();
+                mTetheringStatus.setText("started ("
+                        + config.SSID + "/" + config.preSharedKey + ")");
+            }
 
-                public void onTetheringFailed() {
-                    mTetheringStatus.setText("failed");
-                }
-            });
+            public void onTetheringFailed() {
+                mTetheringStatus.setText("failed");
+            }
+        };
+
+        mConnectivityManager.startTethering(ConnectivityManager.TETHERING_WIFI, false, cb);
     }
 
     private void stopTethering() {
@@ -572,7 +576,7 @@
             mLocalOnlyStatus.setText("location enabled; starting...");
         }
 
-        mWifiManager.startLocalOnlyHotspot(new WifiManager.LocalOnlyHotspotCallback() {
+        WifiManager.LocalOnlyHotspotCallback cb = new WifiManager.LocalOnlyHotspotCallback() {
             public void onStarted(WifiManager.LocalOnlyHotspotReservation reservation) {
                 mLocalOnlyReservation = reservation;
                 WifiConfiguration config = reservation.getWifiConfiguration();
@@ -587,7 +591,13 @@
             public void onFailed(int reason) {
                 mLocalOnlyStatus.setText("failed " + reason);
             };
-        }, null);
+        };
+
+        try {
+            mWifiManager.startLocalOnlyHotspot(cb, null);
+        } catch (IllegalStateException ex) {
+            mLocalOnlyStatus.setText(ex.getMessage());
+        }
     }
 
     private void stopLocalOnly() {