mirror of
https://github.com/revanced/ARSCLib.git
synced 2025-04-30 06:14:25 +02:00
buffer TableBlock at end
This commit is contained in:
parent
ff57e605ae
commit
829b32520e
@ -24,6 +24,7 @@ import com.reandroid.archive2.block.ApkSignatureBlock;
|
|||||||
import com.reandroid.archive2.block.EndRecord;
|
import com.reandroid.archive2.block.EndRecord;
|
||||||
import com.reandroid.archive2.io.ArchiveEntrySource;
|
import com.reandroid.archive2.io.ArchiveEntrySource;
|
||||||
import com.reandroid.archive2.io.ZipFileOutput;
|
import com.reandroid.archive2.io.ZipFileOutput;
|
||||||
|
import com.reandroid.arsc.chunk.TableBlock;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -114,13 +115,21 @@ public class ApkWriter extends ZipFileOutput {
|
|||||||
File bufferFile = getBufferFile();
|
File bufferFile = getBufferFile();
|
||||||
BufferFileOutput output = new BufferFileOutput(bufferFile);
|
BufferFileOutput output = new BufferFileOutput(bufferFile);
|
||||||
BufferFileInput input = new BufferFileInput(bufferFile);
|
BufferFileInput input = new BufferFileInput(bufferFile);
|
||||||
|
OutputSource tableSource = null;
|
||||||
for(OutputSource outputSource:outputList){
|
for(OutputSource outputSource:outputList){
|
||||||
InputSource inputSource = outputSource.getInputSource();
|
InputSource inputSource = outputSource.getInputSource();
|
||||||
|
if(tableSource == null && TableBlock.FILE_NAME.equals(inputSource.getAlias())){
|
||||||
|
tableSource = outputSource;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
onCompressFileProgress(inputSource.getAlias(),
|
onCompressFileProgress(inputSource.getAlias(),
|
||||||
inputSource.getMethod(),
|
inputSource.getMethod(),
|
||||||
output.position());
|
output.position());
|
||||||
outputSource.makeBuffer(input, output);
|
outputSource.makeBuffer(input, output);
|
||||||
}
|
}
|
||||||
|
if(tableSource != null){
|
||||||
|
tableSource.makeBuffer(input, output);
|
||||||
|
}
|
||||||
output.close();
|
output.close();
|
||||||
return input;
|
return input;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user