Create /data/system/inputmethod/ directory lazily

With this CL, the directory /data/system/inputmethod/ is also created
only when necessary.  Also the /data/system/inputmethod/ will be
deleted automatically when it is empty.

There should be no developer-facing behavior change.

Bug: 121223050
Test: Manually verified as follows
  1. Build and flash aosp_taimen-userdebug into taimen
  2. Wait until the device fully boots up
  3. adb reboot  # to avoid Bug 121259290
  4. adb root
  5. adb shell cat /data/system/inputmethod/subtypes.xml
      -> make sure the content looks as follows:
         <subtypes>
           <imi id="com.android.inputmethod.latin/.LatinIME">
             <subtype ....>
             <subtype ....>
           </imi/>
         </subtypes>
  6. Open AOSP Keyboard settings
  7. Go to "Appearance & Layouts" -> "Custom input styles"
  8. Remove all layouts
  9. adb shell cat /data/system/inputmethod/subtypes.xml
      -> make sure the file no longer exists
 10. adb shell ls /data/system/inputmethod
      -> make sure the directory no longer exists
 11. Open AOSP Keyboard settings
 12. Go to "Appearance & Layouts" -> "Custom input styles"
 13. Add English (US) - Dvorak
 14. adb shell ls /data/system/inputmethod
      -> make sure the directory exists and only the system user can
         access it
Change-Id: I2307b5e4edf7b90d2fc03138f233d6051f80cf90
1 file changed