Skip to content

Commit

Permalink
NClientV2 2.3.5
Browse files Browse the repository at this point in the history
- ScrapeTags behaviour changed
- Added copy settings to clipboard
- Code lint
  • Loading branch information
Dar9586 committed May 30, 2020
1 parent 5745bd5 commit 66681dc
Show file tree
Hide file tree
Showing 51 changed files with 509 additions and 549 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 234
versionName "2.3.4"
versionCode 235
versionName "2.3.5"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true

Expand Down
119 changes: 58 additions & 61 deletions app/src/main/java/com/dar/nclientv2/CommentActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -49,76 +49,73 @@ protected void onCreate(Bundle savedInstanceState) {
recycler=findViewById(R.id.recycler);
refresher=findViewById(R.id.refresher);
findViewById(R.id.card).setVisibility(Login.isLogged()?View.VISIBLE:View.GONE);
findViewById(R.id.sendButton).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
StringWriter writer=new StringWriter();
JsonWriter writer1=new JsonWriter(writer);
if(((EditText)findViewById(R.id.commentText)).getText().toString().length()<10)return;
try {
writer1.beginObject()
.name("body").value(((EditText)findViewById(R.id.commentText)).getText().toString())
.name("gallery_id").value(g.getId())
.endObject();
writer1.flush();
writer1.close();
} catch (IOException e) {
e.printStackTrace();
}
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"),writer.toString());
assert Global.getClient()!=null;
Global.getClient().newCall(new Request.Builder().url(Utility.getBaseUrl()+"g/"+g.getId()).build()).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {

}

@Override
public void onResponse(Call call, Response response) throws IOException {
String token=response.body().string();
token=token.substring(token.lastIndexOf("csrf_token"));
token=token.substring(token.indexOf('"')+1);
token=token.substring(0,token.indexOf('"'));
Global.getClient().newCall(new Request.Builder().addHeader("Referer","https://"+ Utility.getHost()+"/g/"+g.getId()).addHeader("X-Requested-With","XMLHttpRequest").addHeader("X-CSRFToken",token).post(body).url(Utility.getBaseUrl()+"api/comments/submit").build()).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
findViewById(R.id.sendButton).setOnClickListener(v -> {
StringWriter writer=new StringWriter();
JsonWriter writer1=new JsonWriter(writer);
if(((EditText)findViewById(R.id.commentText)).getText().toString().length()<10)return;
try {
writer1.beginObject()
.name("body").value(((EditText)findViewById(R.id.commentText)).getText().toString())
.name("gallery_id").value(g.getId())
.endObject();
writer1.flush();
writer1.close();
} catch (IOException e) {
e.printStackTrace();
}
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"),writer.toString());
assert Global.getClient()!=null;
Global.getClient().newCall(new Request.Builder().url(Utility.getBaseUrl()+"g/"+g.getId()).build()).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {

}
}

@Override
public void onResponse(Call call, Response response) throws IOException {
String s=response.body().string();
LogUtility.d(s);
//JsonReader reader =new JsonReader(response.body().charStream());
JsonReader reader =new JsonReader(new StringReader(s));
boolean success=false;
Comment c=null;
reader.beginObject();
while(reader.peek()!= JsonToken.END_OBJECT){
switch (reader.nextName()){
case "success":success=reader.nextBoolean();break;
case "comment":c=new Comment(reader,false);break;
default:reader.skipValue();break;
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String token=response.body().string();
token=token.substring(token.lastIndexOf("csrf_token"));
token=token.substring(token.indexOf('"')+1);
token=token.substring(0,token.indexOf('"'));
Global.getClient().newCall(new Request.Builder().addHeader("Referer","https://"+ Utility.getHost()+"/g/"+g.getId()).addHeader("X-Requested-With","XMLHttpRequest").addHeader("X-CSRFToken",token).post(body).url(Utility.getBaseUrl()+"api/comments/submit").build()).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {

}

@Override
public void onResponse(Call call, Response response) throws IOException {
String s=response.body().string();
LogUtility.d(s);
//JsonReader reader =new JsonReader(response.body().charStream());
JsonReader reader =new JsonReader(new StringReader(s));
boolean success=false;
Comment c=null;
reader.beginObject();
while(reader.peek()!= JsonToken.END_OBJECT){
switch (reader.nextName()){
case "success":success=reader.nextBoolean();break;
case "comment":c=new Comment(reader,false);break;
default:reader.skipValue();break;
}
reader.close();
if(success){
((CommentAdapter)recycler.getAdapter()).addComment(c);
CommentActivity.this.runOnUiThread(() -> {
((EditText)findViewById(R.id.commentText)).setText("");
recycler.smoothScrollToPosition(0);
});
}
reader.close();
if(success){
((CommentAdapter)recycler.getAdapter()).addComment(c);
CommentActivity.this.runOnUiThread(() -> {
((EditText)findViewById(R.id.commentText)).setText("");
recycler.smoothScrollToPosition(0);
});

}
}
});
}
});
}
});
}
});




}
});
changeLayout(getResources().getConfiguration().orientation== Configuration.ORIENTATION_LANDSCAPE);
refresher.setRefreshing(true);
Expand Down
52 changes: 24 additions & 28 deletions app/src/main/java/com/dar/nclientv2/GalleryActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@

import net.opacapp.multilinecollapsingtoolbar.CollapsingToolbarLayout;

import java.io.IOException;
import java.util.List;

import okhttp3.FormBody;
Expand Down Expand Up @@ -267,33 +266,30 @@ private void addToFavorite(final MenuItem item) {
String startUrl=Utility.getBaseUrl()+"g/"+gallery.getId()+"/";
String url=startUrl+"favorite";
LogUtility.d("Calling: "+url);
new CSRFGet(new CSRFGet.Response() {
@Override
public void onResponse(String token)throws IOException {
LogUtility.d("FIND TOKEN: "+token);
RequestBody formBody = new FormBody.Builder()
.add("WTF","OK")
.build();
assert Global.getClient() != null;
Response response=Global.getClient().newCall(
new Request.Builder()
.addHeader("Referer",startUrl)
.addHeader("X-CSRFToken",token)
.addHeader("X-Requested-With","XMLHttpRequest")
.url(url)
.post(formBody)
.build()
).execute();

String resp=response.body().string();
LogUtility.d("Called: "+response.request().method()+response.request().url().toString()+response.code()+resp);
final boolean removedFromFavorite=resp.contains("false");
GalleryActivity.this.runOnUiThread(() -> {
item.setIcon(removedFromFavorite?R.drawable.ic_star_border:R.drawable.ic_star);
item.setTitle(removedFromFavorite?R.string.add_to_online_favorite:R.string.remove_from_online_favorites);
});
response.close();
}
new CSRFGet(token -> {
LogUtility.d("FIND TOKEN: "+token);
RequestBody formBody = new FormBody.Builder()
.add("WTF","OK")
.build();
assert Global.getClient() != null;
Response response=Global.getClient().newCall(
new Request.Builder()
.addHeader("Referer",startUrl)
.addHeader("X-CSRFToken",token)
.addHeader("X-Requested-With","XMLHttpRequest")
.url(url)
.post(formBody)
.build()
).execute();

String resp=response.body().string();
LogUtility.d("Called: "+response.request().method()+response.request().url().toString()+response.code()+resp);
final boolean removedFromFavorite=resp.contains("false");
GalleryActivity.this.runOnUiThread(() -> {
item.setIcon(removedFromFavorite?R.drawable.ic_star_border:R.drawable.ic_star);
item.setTitle(removedFromFavorite?R.string.add_to_online_favorite:R.string.remove_from_online_favorites);
});
response.close();
},startUrl,"csrfmiddlewaretoken").start();

}
Expand Down
20 changes: 10 additions & 10 deletions app/src/main/java/com/dar/nclientv2/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@
import com.google.android.material.navigation.NavigationView;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
Expand Down Expand Up @@ -81,7 +80,7 @@ private enum ModeType {UNKNOWN,NORMAL,TAG,FAVORITE,SEARCH,BOOKMARK,ID}
public ListAdapter adapter;


private InspectorV3.InspectorResponse
private final InspectorV3.InspectorResponse
resetDataset=new InspectorV3.DefaultInspectorResponse() {
@Override
public void onSuccess(List<GenericGallery> galleries) {
Expand All @@ -99,8 +98,8 @@ public void onStart() {
public void onEnd() {
runOnUiThread(()->refresher.setRefreshing(false));
}
},
addDataset=new InspectorV3.DefaultInspectorResponse() {
};
private final InspectorV3.InspectorResponse addDataset=new InspectorV3.DefaultInspectorResponse() {
@Override
public void onSuccess(List<GenericGallery> galleries) {
adapter.addGalleries(galleries);
Expand All @@ -115,8 +114,8 @@ public void onEnd() {
runOnUiThread(()->refresher.setRefreshing(false));
inspecting=false;
}
},
startGallery=new InspectorV3.DefaultInspectorResponse() {
};
private final InspectorV3.InspectorResponse startGallery=new InspectorV3.DefaultInspectorResponse() {
@Override
public void onSuccess(List<GenericGallery> galleries) {
Gallery g=galleries.size()==1?(Gallery) galleries.get(0):Gallery.emptyGallery();
Expand Down Expand Up @@ -148,8 +147,8 @@ public void onEnd() {
private DrawerLayout drawerLayout;
private Toolbar toolbar;

private Handler changeLanguageTimeHandler=new Handler();
Runnable changeLanguageRunnable=() -> {
private final Handler changeLanguageTimeHandler=new Handler();
final Runnable changeLanguageRunnable=() -> {
useNormalMode();
inspector.start();
};
Expand Down Expand Up @@ -307,6 +306,7 @@ private void useNormalMode() {

private void useBookmarkMode(Intent intent, String packageName) {
inspector=intent.getParcelableExtra(packageName+".INSPECTOR");
assert inspector != null;
inspector.initialize(this,resetDataset);
modeType = ModeType.BOOKMARK;
ApiRequestType type=inspector.getRequestType();
Expand Down Expand Up @@ -353,7 +353,7 @@ private boolean tryOpenId(String query) {

private void useTagMode(Intent intent, String packageName) {
Tag t=intent.getParcelableExtra(packageName+".TAG");
inspector=InspectorV3.searchInspector(this,null,new HashSet<>(Collections.singleton(t)),1,Global.isByPopular(),resetDataset);
inspector=InspectorV3.tagInspector(this,t,1,Global.isByPopular(),resetDataset);
modeType = ModeType.TAG;
}

Expand Down Expand Up @@ -401,7 +401,7 @@ private void useDataTagMode(List<String> datas,TagType type) {
boolean byPop=datas.size()==3;
Tag tag=Queries.TagTable.getTagFromTagName(query);
if(tag==null) tag=new Tag(query,-1, SpecialTagIds.INVALID_ID,type,TagStatus.DEFAULT);
inspector=InspectorV3.searchInspector(this,null,new HashSet<>(Collections.singleton(tag)),1,byPop,resetDataset);
inspector=InspectorV3.tagInspector(this,tag,1,byPop,resetDataset);
modeType=ModeType.TAG;
}

Expand Down
4 changes: 2 additions & 2 deletions app/src/main/java/com/dar/nclientv2/SearchActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@

public class SearchActivity extends AppCompatActivity {
public static final int CUSTOM_ID_START=100000000;
private ArrayList<ChipTag>tags=new ArrayList<>();
private final ArrayList<ChipTag>tags=new ArrayList<>();
private ChipGroup[] groups;
private Chip[] addChip =new Chip[TagType.values.length];
private final Chip[] addChip =new Chip[TagType.values.length];
private SearchView searchView;
private AppCompatAutoCompleteTextView autoComplete;
private TagType loadedTag=null;
Expand Down
5 changes: 0 additions & 5 deletions app/src/main/java/com/dar/nclientv2/SettingsActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,4 @@ public boolean onOptionsItemSelected(MenuItem item) {
return super.onOptionsItemSelected(item);
}

@Override
protected void onResume() {
super.onResume();

}
}
4 changes: 0 additions & 4 deletions app/src/main/java/com/dar/nclientv2/TagFilterActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -87,10 +87,6 @@ public void onPageScrollStateChanged(int state) {
mViewPager.setCurrentItem(getPage());
}

@Override
protected void onDestroy(){
super.onDestroy();
}

private int getPage(){
Uri data = getIntent().getData();
Expand Down
34 changes: 16 additions & 18 deletions app/src/main/java/com/dar/nclientv2/ZoomActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -120,24 +120,22 @@ public void onPageSelected(int newPage) {
@Override
public void onPageScrollStateChanged(int state) { }
});
pageManagerLabel.setOnClickListener(v -> {
DefaultDialogs.pageChangerDialog(
new DefaultDialogs.Builder(this)
.setActual(offsetPage(actualPage)+1)
.setMin(1)
.setMax(gallery.getPageCount())
.setTitle(R.string.change_page)
.setDrawable(R.drawable.ic_find_in_page)
.setDialogs(new DefaultDialogs.DialogResults() {
@Override
public void positive(int actual) {
changePage(offsetPage(actual-1));
}
@Override
public void negative() {}
})
);
});
pageManagerLabel.setOnClickListener(v -> DefaultDialogs.pageChangerDialog(
new DefaultDialogs.Builder(this)
.setActual(offsetPage(actualPage)+1)
.setMin(1)
.setMax(gallery.getPageCount())
.setTitle(R.string.change_page)
.setDrawable(R.drawable.ic_find_in_page)
.setDialogs(new DefaultDialogs.DialogResults() {
@Override
public void positive(int actual) {
changePage(offsetPage(actual-1));
}
@Override
public void negative() {}
})
));
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,10 @@ public int getItemCount() {
}

static class ViewHolder extends RecyclerView.ViewHolder {
AppCompatImageButton deleteButton;
TextView queryText, pageLabel;
ConstraintLayout rootLayout;
final AppCompatImageButton deleteButton;
final TextView queryText;
final TextView pageLabel;
final ConstraintLayout rootLayout;
ViewHolder(@NonNull View itemView) {
super(itemView);
deleteButton = itemView.findViewById(R.id.remove_button);
Expand Down
Loading

0 comments on commit 66681dc

Please sign in to comment.