code: @Override
      public String getType(Uri uri) {
          if (!controller.hasPreinitialized()) {
              throw new IllegalStateException("Controller has not been initialized.");
          }
  
          int patternCode = controller.getUriMatcher().match(uri);
          MatcherPattern pattern = controller.findMatcherPattern(patternCode);
          if (pattern == null) {
              throw new IllegalArgumentException("unknown uri : " + uri.toString());
          }
          return pattern.getMimeTypeVndString();
      }
docs: /*
  @see android.content.ContentProvider#getType(android.net.Uri)