It turns out this was not a problem in the resource code at all. Rather,
the system process has a cache of pre-loaded attributes it uses to avoid
continually reloading things as it needs them. Well it turns out this
cache wasn't flushed after a package was uninstalled or a configuration
changed, so you could re-install an app where you change its style resources
so its theme now points to one that is inconsistent in the cache.
This is mostly a problem for developers, where they continually install
new versions of an app where resources have changed. This could possibly
show up when updating an app on a normal phone, although the problem would
eventually correct itself since this cache uses weak references.
Anyway, the cache is now reworked to be flushed appropriately.
This change also includes an update to aapt to be able to dump the
contents of bags in resources.
* changes:
In TTS synthesis to file, remove hard coded values for the writing of the WAV header. Corrected TTS Service manifest to allow writing to external storage. Corrected memory management when the end of synthesis is signaled.
* changes:
Fix#1876303. Even rfc2616 4.2 says that "Field names are case-insensitive.", servers including Google internal uses case-sensitive checking for "Cookie". So change it.
Merge commit '9171749700853305f3e6abbcdbd9e02f3a71d459'
* commit '9171749700853305f3e6abbcdbd9e02f3a71d459':
Use system properties to track the current transport
Merge commit '05ebcb5172679a6c196cbf23d7174c04dd9f6ae0'
* commit '05ebcb5172679a6c196cbf23d7174c04dd9f6ae0':
Update spinner's drawables. Clean up resources, pave the way for new animation.
Merge commit '2d9f31697fb5ece89c80cc66bdd3bd9caa9df9c3'
* commit '2d9f31697fb5ece89c80cc66bdd3bd9caa9df9c3':
We might try to close the Vorbis file twice under certain
Merge commit 'fbd8f69a84163ef1cf52b07966320caf448c2bc9'
* commit 'fbd8f69a84163ef1cf52b07966320caf448c2bc9':
Fixes#1946141. Introduce new caching API to control scaling.
Merge commit 'a1590586e4c02e50d14cc99018be2c419f5a07b9'
* commit 'a1590586e4c02e50d14cc99018be2c419f5a07b9':
Add new EXTRA_POST_DATA extra key for use in VIEW intents to Browser.
Merge commit '3059924953dafdd94dce65d8be42e98fcde305b8'
* commit '3059924953dafdd94dce65d8be42e98fcde305b8':
Adding implementation of IPA to the TextToSpeech.java
Merge commit '3a15fbd7df56e44060c78d7832fbea895ceb9bbf'
* commit '3a15fbd7df56e44060c78d7832fbea895ceb9bbf':
Add a null check in an AutoCompleteTextView callback to prevent a crash.
Merge commit 'ec0cf8bc874f53cfc7256628f0ec56657ac92073'
* commit 'ec0cf8bc874f53cfc7256628f0ec56657ac92073':
Adding in the playSilence method to TextToSpeech.java
Merge commit 'd09f86ce175fad6ddbd446363f327dfa0575a1d2'
* commit 'd09f86ce175fad6ddbd446363f327dfa0575a1d2':
Better (and less) logging from backup.
Add an extra null terminator. String8::unlockBuffer is
Merge commit '17a80081a42410f541a220ab7e6afc64fc6cc399'
* commit '17a80081a42410f541a220ab7e6afc64fc6cc399':
Pipe all the camera callbacks to Java to facilitate the addition
Merge commit '72eb0acad5cffc57ce5006f6deab29ee259e461e'
* commit '72eb0acad5cffc57ce5006f6deab29ee259e461e':
Expand support for different screen sizes.
Merge commit '040441fa992bcfc11070d559bfceeb039667b382'
* commit '040441fa992bcfc11070d559bfceeb039667b382':
Tweak the core and maximum pool sizes for AsyncTask.
Merge commit '8a27f923eb9dbbe3c2d0184e82d9f1a98f1e4cdc'
* commit '8a27f923eb9dbbe3c2d0184e82d9f1a98f1e4cdc':
Don't crash in various ways when using backup services too early
Merge commit 'c73a218c2663e6ae3ec8a9ab8b9524f95702ade9'
* commit 'c73a218c2663e6ae3ec8a9ab8b9524f95702ade9':
Add some error reporting & info to bmgr's output
Merge commit '56bc71565ecd72bf7a3e45b5c871b0407ed9f781'
* commit '56bc71565ecd72bf7a3e45b5c871b0407ed9f781':
Add a test for SharedPreferencesBackupHelper