code: @VisibleForTesting
      void checkPermissionStatus(@NonNull Context context) {
          boolean hasPermission = getPermissionChecker().hasAnimationPermission(context);
          if (!hasPermission) {
              throw new IllegalStateException(getPermissionErrorMessage());
          }
      }
docs: TODO add a Policy class that allows a warning to be emitted, instead