google-api-java-client-services icon indicating copy to clipboard operation
google-api-java-client-services copied to clipboard

Android Management API Deprecations

Open StefanHufschmidt opened this issue 6 months ago • 2 comments

While having a look at the Android Management API Client in comparison with the reference documentation, I noticed that there are some fields and methods marked as deprecated within the reference but not within the Java client library. E.g.: "statusBarDisabled" of Policies.

As developer I'd love to notice deprecated API fields inside the related client code, so I can handle them directly when using them.

My suggestion would be to include a proper @Deprecated annotation in combination with a good JavaDoc which leads me to the correct place. This would increase the visibility of deprecation within the regular development process. E.g:

/**
   * Password requirements. The field password_requirements.require_password_unlock must not be set.
   * 
   * @deprecated Use passwordPolicies instead.
   * 
   * Note: Complexity-based values of PasswordQuality, that is,
   * COMPLEXITY_LOW, COMPLEXITY_MEDIUM, and COMPLEXITY_HIGH, cannot be used here.
   * unified_lock_settings cannot be used here.
   * @param passwordRequirements passwordRequirements or {@code null} for none
   */
  @Deprecated
  public Policy setPasswordRequirements(PasswordRequirements passwordRequirements) {
    this.passwordRequirements = passwordRequirements;
    return this;
  }

I'm willing to contribute with a PR containing the annotations of deprecations of the Android Management API together with proper documentation about alternatives as described within the API reference documentation. Just add the "Accepting Contributions" label and I'll set up a PR for it.

StefanHufschmidt avatar Aug 08 '24 13:08 StefanHufschmidt