From 1f6e0b89b2ca870525132385e46d2bd8eb1d1ef0 Mon Sep 17 00:00:00 2001 From: Amith Yamasani Date: Fri, 15 May 2020 12:27:08 -0700 Subject: [PATCH] Fix for goat detection code Since as of R, apps can no longer query other apps by default, deprecate the isUserAGoat API's undocumented behavior and always return false. Fixes: 156543788 Test: atest CtsMultiUserTestCases Change-Id: I9743d87b762aabb01dc010ba6d5a6c01643a1f92 --- core/java/android/os/UserManager.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java index 25bf430434224..4832e564dbcf0 100644 --- a/core/java/android/os/UserManager.java +++ b/core/java/android/os/UserManager.java @@ -1729,9 +1729,15 @@ public class UserManager { *

As of {@link android.os.Build.VERSION_CODES#LOLLIPOP}, this method can * now automatically identify goats using advanced goat recognition technology.

* - * @return Returns true if the user making this call is a goat. + *

As of {@link android.os.Build.VERSION_CODES#R}, this method always returns + * {@code false} in order to protect goat privacy.

+ * + * @return Returns whether the user making this call is a goat. */ public boolean isUserAGoat() { + if (mContext.getApplicationInfo().targetSdkVersion >= Build.VERSION_CODES.R) { + return false; + } return mContext.getPackageManager() .isPackageAvailable("com.coffeestainstudios.goatsimulator"); }