am f1b8f6bf: Merge "Refactor permission and state checking"

* commit 'f1b8f6bf93eaf677268342eccc1a1caf830d9fe9':
  Refactor permission and state checking