diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 4a2c9119b745c..27601ba6221a4 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -6292,7 +6292,9 @@ ul.
- Cannot access camera from this device
+ Can’t access the phone’s camera from your %1$s
+
+ Can’t access the tablet’s camera from your %1$s
System language
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 b05a7dbe83d14..b43400255865e 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 9f252d744144d..96400c1414ec7 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);
}
}
}