am 83ee2e7a: am f1b8f6bf: Merge "Refactor permission and state checking"

* commit '83ee2e7a58acf5c305875e5d042127db69bb9e4b':
  Refactor permission and state checking