code: private void obtainIcon(@NonNull final TypedArray typedArray) {
          int resourceId =
                  typedArray.getResourceId(R.styleable.NavigationPreference_android_icon, -1);
  
          if (resourceId != -1) {
              Drawable icon = AppCompatResources.getDrawable(getContext(), resourceId);
              setIcon(icon);
          }
      }
docs: Obtains the preference's icon from a specific typed array.
  
  @param typedArray
  The typed array, the icon should be obtained from, as an instance of the class {@link
  TypedArray}. The typed array may not be null