Home > DeveloperSection > Forums > Android UserManager.isUserAGoat() use case
Samuel Fernandes
Samuel Fernandes

Total Post:154

Points:1082
Posted on    April-23-2015 4:47 AM

 Android Android  Java 
Ratings:


 1 Reply(s)
 542  View(s)
Rate this:
I was looking at the new APIs introduced in Android 4.2. While looking at the UserManager class I came across the following method:
public boolean isUserAGoat ()

Used to determine whether the user making this call is subject to teleportations.

Returns whether the user making this call is a goat.


How and when should this be used?


Mayank Tripathi
Mayank Tripathi

Total Post:397

Points:3117
Posted on    April-23-2015 7:35 AM

From their source, the method used to return false until it was changed in API 21.

/**
 * Used to determine whether the user making this call is subject to
 * teleportations.
 * @return whether the user making this call is a goat 
 */
public boolean isUserAGoat() {
    return false;
}
It looks like the method has no real use for us as developers. Someone has previously stated that it might be an Easter egg.


Edit:

In API 21 the implementation was changed to check if there is an installed app with the package com.coffeestainstudios.goatsimulator

/**
 * Used to determine whether the user making this call is subject to
 * teleportations.
 *
 * <p>As of {@link android.os.Build.VERSION_CODES#LOLLIPOP}, this method can
 * now automatically identify goats using advanced goat recognition technology.</p>
 *
 * @return Returns true if the user making this call is a goat.
 */
public boolean isUserAGoat() {
    return mContext.getPackageManager()
            .isPackageAvailable("com.coffeestainstudios.goatsimulator");
}
Here is the updated source link : https://android.googlesource.com/platform/frameworks/base/+/android-5.0.0_r6/core/java/android/os/UserManager.java 

Modified On Apr-23-2015 07:43:04 AM

Don't want to miss updates? Please click the below button!

Follow MindStick