CrackMe.apk
Download file
package org.apache.commons.io.input;
import java.io.IOException;
import java.io.InputStream;
public class UnixLineEndingInputStream extends InputStream {
private final boolean ensureLineFeedAtEndOfFile;
private boolean eofSeen = false;
private boolean slashNSeen = false;
private boolean slashRSeen = false;
private final InputStream target;
public UnixLineEndingInputStream(InputStream inputStream, boolean z) {
this.target = inputStream;
this.ensureLineFeedAtEndOfFile = z;
}
private int readWithUpdate() throws IOException {
int read = this.target.read();
boolean z = true;
boolean z2 = read == -1;
this.eofSeen = z2;
if (z2) {
return read;
}
this.slashNSeen = read == 10;
if (read != 13) {
z = false;
}
this.slashRSeen = z;
return read;
}
public int read() throws IOException {
boolean z = this.slashRSeen;
if (this.eofSeen) {
return eofGame(z);
}
int readWithUpdate = readWithUpdate();
if (this.eofSeen) {
return eofGame(z);
}
if (this.slashRSeen) {
return 10;
}
return (!z || !this.slashNSeen) ? readWithUpdate : read();
}
private int eofGame(boolean z) {
if (z || !this.ensureLineFeedAtEndOfFile || this.slashNSeen) {
return -1;
}
this.slashNSeen = true;
return 10;
}
public void close() throws IOException {
super.close();
this.target.close();
}
public synchronized void mark(int i) {
throw new UnsupportedOperationException("Mark notsupported");
}
}
Download file