tree 5b41dbbb2644b74d50a3a971d6a7ce92649dab1d
parent 43f503fd1e042f64994274b3842d8c5979763c23
author Bjorn Bringert <> 1238606857 -0700
committer The Android Open Source Project <initial-contribution@android.com> 1238606857 -0700

AI 144008: UriMatcher: Avoid repeated calls to Uri.getPathSegments()
  in UriMatcher.match().
  Before, every call to UriMatcher.match() called
  Uri.getPathSegments() N + 1 times,
  where N is the size of the list returned by
  Uri.getPathSegments(). Since some of the implementations
  of Uri.getPathSegments() are O(N), UriMatcher.match() was O(N^2).
  This CL fixes the problem by calling uri.getPathSegments() once in
  the beginning of match(). That should be safe since Uri is
  immutable.
  BUG=1751158

Automated import of CL 144008
