Skip to content

Commit

Permalink
NClientV2 2.3.8
Browse files Browse the repository at this point in the history
- Bug fixes
  • Loading branch information
Dar9586 committed Jun 10, 2020
1 parent 0a77057 commit 215f4b6
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 16 deletions.
4 changes: 2 additions & 2 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ android {
applicationId "com.dar.nclientv2"
minSdkVersion 14
targetSdkVersion 29
versionCode 237
versionName "2.3.7"
versionCode 238
versionName "2.3.8"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true

Expand Down
4 changes: 3 additions & 1 deletion app/src/main/java/com/dar/nclientv2/api/InspectorV3.java
Original file line number Diff line number Diff line change
Expand Up @@ -325,10 +325,12 @@ private String trimScriptTag(String scriptHtml) {
if(s<0)return null;
s+=7;
scriptHtml=scriptHtml.substring(s,scriptHtml.lastIndexOf(");")-1);
scriptHtml=scriptHtml.replace("\\u0022","\"");
scriptHtml=Utility.unescapeUnicodeString(scriptHtml);
if(scriptHtml.isEmpty())return null;
return scriptHtml;
}


private void doSearch(Element document) {
Elements gal=document.getElementsByClass("gallery");
galleries=new ArrayList<>(gal.size());
Expand Down
6 changes: 3 additions & 3 deletions app/src/main/java/com/dar/nclientv2/api/components/Tag.java
Original file line number Diff line number Diff line change
Expand Up @@ -77,11 +77,11 @@ public void setStatus(TagStatus status){

public String toQueryTag(TagStatus status){
StringBuilder builder=new StringBuilder();
String escapedName=name.replace(' ','-');
String escapedName=name/*.replace(' ','-')*/;
if(status==TagStatus.AVOIDED)builder.append('-');
builder
.append(type.getSingle())
.append(':')
/*.append(type.getSingle())
.append(':')*/
.append('"')
.append(escapedName)
.append('"');
Expand Down
51 changes: 41 additions & 10 deletions app/src/main/java/com/dar/nclientv2/utility/Utility.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
import java.io.StringWriter;
import java.io.Writer;
import java.util.List;
import java.util.Random;

Expand All @@ -35,19 +39,46 @@ public static String getHost(){
boolean x=Global.useAlternativeSite();
return x?ALTERNATIVE_URL: ORIGINAL_URL;
}
private static void parseEscapedCharacter(Reader reader, Writer writer)throws IOException{
int toCreate,read;
switch (read=reader.read()){
case 'u':
toCreate=0;
for(int i=0;i<4;i++){
toCreate*=16;
toCreate+=Character.digit(reader.read(),16);
}
writer.write(toCreate);
break;
case 'n':
writer.write('\n');
break;
case 't':
writer.write('\t');
break;
default:
writer.write('\\');
writer.write(read);
break;
}
}
@NonNull
public static String unescapeUnicodeString(@Nullable String t){
if(t==null)return "";
StringBuilder s=new StringBuilder();
int l=t.length();
for(int a=0;a<l;a++){
if(t.charAt(a)=='\\'&&t.charAt(a+1)=='u'){
s.append((char) Integer.parseInt( t.substring(a+2,a+6), 16 ));
a+=5;
}else s.append(t.charAt(a));
public static String unescapeUnicodeString(@Nullable String scriptHtml) {
if(scriptHtml==null)return "";
StringReader reader=new StringReader(scriptHtml);
StringWriter writer=new StringWriter();
int actualChar;
try {
while ((actualChar = reader.read()) != -1) {
if(actualChar!='\\')writer.write(actualChar);
else parseEscapedCharacter(reader,writer);
}
}catch (IOException ignore){
return "";
}
return s.toString();
return writer.toString();
}

public static void threadSleep(long millis){
try {
Thread.sleep(millis);
Expand Down

0 comments on commit 215f4b6

Please sign in to comment.