Let the absence of subtype.xml mean there is no additional subtype
Historically, we have always created a stub subtype.xml for each user
even when there is no additional subtype. Instead of having such a
stub XML files, no subtype will be represented by the absence of
subtype.xml with this CL.
If there has already been such a stub XML, it will be deleted
automatically when
InputMethodFileManager#writeAdditionalInputMethodSubtypes() gets
called next time. Note that this method is called from
InputMethodManagerService#onFinishPackageChangesInternal(), which is
called when some IME package is updated.
This is completely about how internal data is persisted. There should
be no developer-visible behavior change.
Fix: 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
Change-Id: If06e1b5967443157d1a7606190d721ae8983be08
1 file changed