public class MergedResourceWriter extends MergeWriter<ResourceItem,MergedResourceWriter.FileGenerationParameters>
MergeWriter
for assets, using ResourceItem
. Also takes care of compiling
resources and stripping data binding from layout files.Modifier and Type | Class and Description |
---|---|
static class |
MergedResourceWriter.FileGenerationParameters |
static class |
MergedResourceWriter.FileGenerationWorkAction |
MergeConsumer.ConsumerException
Constructor and Description |
---|
MergedResourceWriter(WorkerExecutorFacade<MergedResourceWriter.FileGenerationParameters> workerExecutor,
java.io.File rootFolder,
java.io.File publicFile,
MergingLog blameLog,
ResourcePreprocessor preprocessor,
QueueableResourceCompiler resourceCompiler,
java.io.File temporaryDirectory,
SingleFileProcessor dataBindingExpressionRemover,
java.io.File notCompiledOutputDirectory,
boolean pseudoLocalesEnabled,
boolean crunchPng)
A
MergeWriter for resources, using ResourceItem . |
Modifier and Type | Method and Description |
---|---|
void |
addItem(ResourceItem item)
Adds an item.
|
static MergedResourceWriter |
createWriterWithoutPngCruncher(java.io.File rootFolder,
java.io.File publicFile,
java.io.File blameLogFolder,
ResourcePreprocessor preprocessor,
java.io.File temporaryDirectory) |
void |
end()
Called after the merge ends.
|
boolean |
ignoreItemInMerge(ResourceItem item) |
protected void |
postWriteAction()
Called after all the items have been added/removed.
|
void |
removeItem(ResourceItem removedItem,
ResourceItem replacedBy)
Removes an item.
|
void |
start(javax.xml.parsers.DocumentBuilderFactory factory)
Called before the merge starts.
|
getExecutor, getRootFolder
public MergedResourceWriter(@NonNull WorkerExecutorFacade<MergedResourceWriter.FileGenerationParameters> workerExecutor, @NonNull java.io.File rootFolder, @Nullable java.io.File publicFile, @Nullable MergingLog blameLog, @NonNull ResourcePreprocessor preprocessor, @NonNull QueueableResourceCompiler resourceCompiler, @NonNull java.io.File temporaryDirectory, @Nullable SingleFileProcessor dataBindingExpressionRemover, @Nullable java.io.File notCompiledOutputDirectory, boolean pseudoLocalesEnabled, boolean crunchPng)
MergeWriter
for resources, using ResourceItem
. Also takes care of compiling
resources and stripping data binding from layout files.rootFolder
- merged resources directory to write to (e.g. intermediates/res/merged/debug
)publicFile
- File that we should write public.txt toblameLog
- merging log for rewriting error messagespreprocessor
- preprocessor for merged resources, such as vector drawable renderingresourceCompiler
- resource compiler, i.e. AAPTtemporaryDirectory
- temporary directory for intermediate merged filesdataBindingExpressionRemover
- removes data binding expressions from layout filesnotCompiledOutputDirectory
- for saved uncompiled resources for the resource shrinking
transform and for unit testing with resources.pseudoLocalesEnabled
- generate resources for pseudo-locales (en-XA and ar-XB)crunchPng
- should we crunch PNG filespublic static MergedResourceWriter createWriterWithoutPngCruncher(@NonNull java.io.File rootFolder, @Nullable java.io.File publicFile, @Nullable java.io.File blameLogFolder, @NonNull ResourcePreprocessor preprocessor, @NonNull java.io.File temporaryDirectory)
public void start(@NonNull javax.xml.parsers.DocumentBuilderFactory factory) throws MergeConsumer.ConsumerException
MergeConsumer
start
in interface MergeConsumer<ResourceItem>
start
in class MergeWriter<ResourceItem,MergedResourceWriter.FileGenerationParameters>
MergeConsumer.ConsumerException
public void end() throws MergeConsumer.ConsumerException
MergeConsumer
end
in interface MergeConsumer<ResourceItem>
end
in class MergeWriter<ResourceItem,MergedResourceWriter.FileGenerationParameters>
MergeConsumer.ConsumerException
public boolean ignoreItemInMerge(ResourceItem item)
public void addItem(@NonNull ResourceItem item) throws MergeConsumer.ConsumerException
MergeConsumer
DataItem.isTouched()
will
indicate whether the item actually changed.item
- the new item.MergeConsumer.ConsumerException
public void removeItem(@NonNull ResourceItem removedItem, @Nullable ResourceItem replacedBy) throws MergeConsumer.ConsumerException
MergeConsumer
removedItem
- the removed item.replacedBy
- the optional item that replaces the removed item.MergeConsumer.ConsumerException
protected void postWriteAction() throws MergeConsumer.ConsumerException
MergeWriter
MergeWriter.end()
.postWriteAction
in class MergeWriter<ResourceItem,MergedResourceWriter.FileGenerationParameters>
MergeConsumer.ConsumerException