Catch when a file resource (non values) added in an overlay.
File resources are assigned resource id's and if an overlay adds one
it renumbers things and breaks compatability. Used to segfault
if you tried before, but now catches it and lets you know what file
caused the problem.
Fixes 1899451.
Also errors out if you add a bag via an overlay (which would renumber
resources). Note that you can still add elements within the bag as they are
not issued resource IDs. So for example you can now modify the framework
themes.xml file without copying the entire file.
All bag types are now modifable except non-named bag types (how would you
address which element to replace?):
array
string_array
integer_array
Dianne Hackborn [Wed, 13 May 2009 22:06:13 +0000 (15:06 -0700)]
Implement compatibility support for WRITE_SDCARD permission.
Now old applications will automatically be granted it. Also renamed it from
SDCARD_WRITE to WRITE_SDCARD to be consistent with our other permissions,
and re-arranged how we do targetSdkVersion to actually be usuable for this
kind of stuff.
Note that right now this results in basically all apps being given the
WRITE_SDCARD permission, because their targetSdkVersion is not set. I will
be dealing with that in a future change.
Dianne Hackborn [Wed, 13 May 2009 22:06:13 +0000 (15:06 -0700)]
Implement compatibility support for WRITE_SDCARD permission.
Now old applications will automatically be granted it. Also renamed it from
SDCARD_WRITE to WRITE_SDCARD to be consistent with our other permissions,
and re-arranged how we do targetSdkVersion to actually be usuable for this
kind of stuff.
Note that right now this results in basically all apps being given the
WRITE_SDCARD permission, because their targetSdkVersion is not set. I will
be dealing with that in a future change.
AI 144950: Manual integration of 144342 and 144547 from donutburger to cupcake.
Fix bag (string-array, etc) behavior with overlays.
We used to replace elements in the default with elements from the
overlay. This change causes us to empty the array first so if the
overlay array is smaller we don't end up with elements from the
default array showing through at the end of the final result.
Ex: [A,B,C] default with [D] overlay should give [D] but used to
give [D,B,C]
BUG=1754390
AI 144413: am: CL 144342 Fix bag (string-array,etc) behavior with overlays.
We used to replace elements in the default with elements from
the overlay. This change causes us to empty the array first
so if the overlay array is smaller we don't end up with elements
from the default array showing through at the end of the array.
Ex: [A,B,C] and overlay [D] should give [D] but used to give
[D,B,C].
Original author: rgreenwalt
AI 144342: Fix bag (string-array,etc) behavior with overlays.
We used to replace elements in the default with elements from
the overlay. This change causes us to empty the array first
so if the overlay array is smaller we don't end up with elements
from the default array showing through at the end of the array.
Ex: [A,B,C] and overlay [D] should give [D] but used to give
[D,B,C].
BUG=1754390