java - Правильные варианты использования для Android UserManager.isUserAGoat ()?




6 Answers

Из их source метод, используемый для возврата false до его изменения в 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;
}

Похоже, что этот метод не используется для нас как разработчиков. Кто-то ранее заявил, что это может быть пасхальное яйцо .

В API 21 была изменена реализация, чтобы проверить, есть ли установленное приложение с пакетом 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");
}

Вот ссылка источника

Я смотрел новые API, представленные в Android 4.2 . При взгляде на класс UserManager я натолкнулся на следующий метод:

public boolean isUserAGoat()

Используется для определения того, подлежит ли пользователю этот вызов телепортации.

Возвращает, является ли пользователь, выполняющий этот вызов, козой.

Как и когда это следует использовать?




Это, похоже, внутренняя шутка в Google. Он также отображается в диспетчере задач Google Chrome. У него нет никакой цели, кроме некоторых инженеров, которые считают это забавным. Какая цель сама по себе, если хотите.

  1. В Chrome откройте диспетчер задач с помощью Shift + Esc .
  2. Щелкните правой кнопкой мыши, чтобы добавить столбец Goats Teleported .
  3. Удивляться.

Существует даже огромный отчет об ошибке Chromium о слишком большом количестве телепортированных козлов .

Следующий фрагмент исходного кода Chromium украден из комментариев HN .

int TaskManagerModel::GetGoatsTeleported(int index) const {
  int seed = goat_salt_ * (index + 1);
  return (seed >> 16) & 255;
}



В каждой версии Android есть смешной метод / constant / whatever.

Единственное практическое применение, которое я когда-либо видел, было в последнем вызове для Конкурса I / O для Google, где они задавали вопрос о том, что именно для конкретной версии, чтобы посмотреть, читают ли участники отчет об API diff для каждой версии. У конкурса были проблемы с программированием, но в целом некоторые мелочи, которые можно было автоматически оценивать автоматически, чтобы получить количество материалов до разумных сумм, которые было бы легче проверить.




У Google есть серьезная симпатия к козам и козловым пасхальным яйцам . Там даже были предыдущие сообщения о переполнении стека .

Как уже упоминалось в предыдущих сообщениях, он также существует в диспетчере задач Chrome ( он впервые появился в дикой природе в 2009 году ):

<message name="IDS_TASK_MANAGER_GOATS_TELEPORTED_COLUMN" desc="The goats teleported column">
    Goats Teleported
</message>

А затем в Windows, Linux и Mac версии Chrome в начале 2010 года ). Количество «козлов с телепортами» на самом деле случайное :

 int TaskManagerModel::GetGoatsTeleported(int index) const {
     int seed = goat_salt_ * (index + 1);
     return (seed >> 16) & 255;
 }

Другие ссылки Google на коз включают:

Насколько мне известно, самое раннее соотношение коз и Google принадлежит к оригинальному сообщению «Кошение с козами».

Мы можем с уверенностью предположить, что это просто пасхальное яйцо и не имеет реального использования, за исключением возвращения false .




Существует аналогичный вызов isUserAMonkey() , который возвращает true, если используется инструмент MonkeyRunner . Объяснение SDK так же любопытно, как и этот.

public static boolean isUserAMonkey(){}     

Возвращает true если пользовательский интерфейс в настоящее время запутывается обезьяной.

Here источник.

Я ожидаю, что это было добавлено в ожидании нового инструмента SDK , названного чем-то с козой, и фактически будет функционировать для проверки наличия этого инструмента.

Также см. Аналогичный вопрос: Strange function в ActivityManager: isUserAMonkey. Что это значит, каково его использование? ,




Смешное пасхальное яйцо.
В версии Ubuntu Chrome, в диспетчере задач ( shift + esc ), щелкнув правой кнопкой мыши, вы можете добавить научную колонку, которая в итальянской версии - «Capre Teletrasportate» (Teleported Goats).

Смешная теория об этом here .




Related