[CDM] Check for system calling UID when backing up and restoring data

Bug: 370962373
Test: Manual test on POC
Flag: EXEMPT bugfix
(cherry picked from commit 692cddfb32abae6c77b00c4850fd36b7eaaf8c70)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:191638ababfc5b03d63264b8932c5903f18543ba)
Merged-In: I307940b7194dd17eacbbfb8be5c92ac21e688c65
Change-Id: I307940b7194dd17eacbbfb8be5c92ac21e688c65
diff --git a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java
index 57eadf6..de060bd 100644
--- a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java
+++ b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java
@@ -724,11 +724,17 @@
 
         @Override
         public byte[] getBackupPayload(int userId) {
+            if (getCallingUid() != SYSTEM_UID) {
+                throw new SecurityException("Caller must be system");
+            }
             return mBackupRestoreProcessor.getBackupPayload(userId);
         }
 
         @Override
         public void applyRestoredPayload(byte[] payload, int userId) {
+            if (getCallingUid() != SYSTEM_UID) {
+                throw new SecurityException("Caller must be system");
+            }
             mBackupRestoreProcessor.applyRestoredPayload(payload, userId);
         }