public class MergedResourceWriter extends MergeWriter<ResourceMergerItem,MergedResourceWriter.FileGenerationParameters>
MergeWriter for assets, using ResourceMergerItem. 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(com.android.ide.common.workers.WorkerExecutorFacade workerExecutor,
java.io.File rootFolder,
java.io.File publicFile,
MergingLog blameLog,
ResourcePreprocessor preprocessor,
com.android.ide.common.resources.ResourceCompilationService resourceCompilationService,
java.io.File temporaryDirectory,
SingleFileProcessor dataBindingExpressionRemover,
java.io.File notCompiledOutputDirectory,
boolean pseudoLocalesEnabled,
boolean crunchPng)
A
MergeWriter for resources, using ResourceMergerItem. |
| Modifier and Type | Method and Description |
|---|---|
void |
addItem(ResourceMergerItem item)
Adds an item.
|
static MergedResourceWriter |
createWriterWithoutPngCruncher(com.android.ide.common.workers.ExecutorServiceAdapter executorServiceAdapter,
java.io.File rootFolder,
java.io.File publicFile,
java.io.File blameLogFolder,
ResourcePreprocessor preprocessor,
java.io.File temporaryDirectory)
Used in tests
|
static MergedResourceWriter |
createWriterWithoutPngCruncher(java.io.File rootFolder,
java.io.File publicFile,
java.io.File blameLogFolder,
ResourcePreprocessor preprocessor,
java.io.File temporaryDirectory)
Used in tools/idea.
|
void |
end()
Called after the merge ends.
|
boolean |
ignoreItemInMerge(ResourceMergerItem item) |
protected void |
postWriteAction()
Called after all the items have been added/removed.
|
void |
removeItem(ResourceMergerItem removedItem,
ResourceMergerItem replacedBy)
Removes an item.
|
void |
start(javax.xml.parsers.DocumentBuilderFactory factory)
Called before the merge starts.
|
getExecutor, getRootFolderpublic MergedResourceWriter(@NonNull
com.android.ide.common.workers.WorkerExecutorFacade workerExecutor,
@NonNull
java.io.File rootFolder,
@Nullable
java.io.File publicFile,
@Nullable
MergingLog blameLog,
@NonNull
ResourcePreprocessor preprocessor,
@NonNull
com.android.ide.common.resources.ResourceCompilationService resourceCompilationService,
@NonNull
java.io.File temporaryDirectory,
@Nullable
SingleFileProcessor dataBindingExpressionRemover,
@Nullable
java.io.File notCompiledOutputDirectory,
boolean pseudoLocalesEnabled,
boolean crunchPng)
MergeWriter for resources, using ResourceMergerItem. 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 renderingresourceCompilationService - such as AAPT. The service is responsible for ensuring all
compilation is complete before the task execution ends.temporaryDirectory - 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 static MergedResourceWriter createWriterWithoutPngCruncher(@Nullable com.android.ide.common.workers.ExecutorServiceAdapter executorServiceAdapter, @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
MergeConsumerstart in interface MergeConsumer<ResourceMergerItem>start in class MergeWriter<ResourceMergerItem,MergedResourceWriter.FileGenerationParameters>MergeConsumer.ConsumerExceptionpublic void end()
throws MergeConsumer.ConsumerException
MergeConsumerend in interface MergeConsumer<ResourceMergerItem>end in class MergeWriter<ResourceMergerItem,MergedResourceWriter.FileGenerationParameters>MergeConsumer.ConsumerExceptionpublic boolean ignoreItemInMerge(ResourceMergerItem item)
public void addItem(@NonNull
ResourceMergerItem item)
throws MergeConsumer.ConsumerException
MergeConsumerDataItem.isTouched() will
indicate whether the item actually changed.item - the new item.MergeConsumer.ConsumerExceptionpublic void removeItem(@NonNull
ResourceMergerItem removedItem,
@Nullable
ResourceMergerItem replacedBy)
throws MergeConsumer.ConsumerException
MergeConsumerremovedItem - the removed item.replacedBy - the optional item that replaces the removed item.MergeConsumer.ConsumerExceptionprotected void postWriteAction()
throws MergeConsumer.ConsumerException
MergeWriterMergeWriter.end().postWriteAction in class MergeWriter<ResourceMergerItem,MergedResourceWriter.FileGenerationParameters>MergeConsumer.ConsumerException