diff options
3 files changed, 21 insertions, 3 deletions
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index 4a2c9119b745..27601ba6221a 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -6292,7 +6292,9 @@ ul.</string> <!-- Strings for VirtualDeviceManager --> <!-- Error message indicating the camera cannot be accessed when running on a virtual device. [CHAR LIMIT=NONE] --> - <string name="vdm_camera_access_denied">Cannot access camera from this device</string> + <string name="vdm_camera_access_denied" product="default">Can’t access the phone’s camera from your <xliff:g id="device" example="Chromebook">%1$s</xliff:g></string> + <!-- Error message indicating the camera cannot be accessed when running on a virtual device. [CHAR LIMIT=NONE] --> + <string name="vdm_camera_access_denied" product="tablet">Can’t access the tablet’s camera from your <xliff:g id="device" example="Chromebook">%1$s</xliff:g></string> <!-- Title for preference of the system default locale. [CHAR LIMIT=50]--> <string name="system_locale_title">System language</string> diff --git a/services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java b/services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java index b05a7dbe83d1..b43400255865 100644 --- a/services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java +++ b/services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java @@ -173,6 +173,11 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub return flags; } + /** Returns the device display name. */ + CharSequence getDisplayName() { + return mAssociationInfo.getDisplayName(); + } + @Override // Binder call public int getAssociationId() { return mAssociationInfo.getId(); @@ -596,6 +601,13 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub * Shows a toast on virtual displays owned by this device which have a given uid running. */ void showToastWhereUidIsRunning(int uid, @StringRes int resId, @Toast.Duration int duration) { + showToastWhereUidIsRunning(uid, mContext.getString(resId), duration); + } + + /** + * Shows a toast on virtual displays owned by this device which have a given uid running. + */ + void showToastWhereUidIsRunning(int uid, String text, @Toast.Duration int duration) { synchronized (mVirtualDeviceLock) { DisplayManager displayManager = mContext.getSystemService(DisplayManager.class); final int size = mWindowPolicyControllers.size(); @@ -604,7 +616,7 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub int displayId = mWindowPolicyControllers.keyAt(i); Display display = displayManager.getDisplay(displayId); if (display != null && display.isValid()) { - Toast.makeText(mContext.createDisplayContext(display), resId, + Toast.makeText(mContext.createDisplayContext(display), text, duration).show(); } } diff --git a/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java b/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java index 9f252d744144..96400c1414ec 100644 --- a/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java +++ b/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java @@ -193,8 +193,12 @@ public class VirtualDeviceManagerService extends SystemService { synchronized (mVirtualDeviceManagerLock) { int size = mVirtualDevices.size(); for (int i = 0; i < size; i++) { + CharSequence deviceName = mVirtualDevices.valueAt(i).getDisplayName(); mVirtualDevices.valueAt(i).showToastWhereUidIsRunning(appUid, - com.android.internal.R.string.vdm_camera_access_denied, Toast.LENGTH_LONG); + getContext().getString( + com.android.internal.R.string.vdm_camera_access_denied, + deviceName), + Toast.LENGTH_LONG); } } } |