Skip to content

Commit

Permalink
NClientV2 1.7.4
Browse files Browse the repository at this point in the history
* Added categories in settings
* Rearranged some options
* Bug fixes
  • Loading branch information
Dar9586 committed Feb 6, 2019
1 parent c923d4c commit 1ba5ea0
Show file tree
Hide file tree
Showing 21 changed files with 211 additions and 115 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 28
versionCode 173
versionName "1.7.3"
versionCode 174
versionName "1.7.4"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true

Expand Down
2 changes: 1 addition & 1 deletion app/src/main/java/com/dar/nclientv2/FavoriteActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ public class FavoriteActivity extends BaseActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Global.loadTheme(this);
Global.initTitleType(this);
Global.initHttpClient(this);
Global.initLoadImages(this);
Global.initHighRes(this);
Expand Down Expand Up @@ -62,7 +63,6 @@ public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
menu.findItem(R.id.action_settings).setVisible(false);
menu.findItem(R.id.action_login).setVisible(false);
menu.findItem(R.id.random).setVisible(false);
if(online||Login.isLogged())menu.findItem(R.id.online_favorite).setVisible(true);
menu.findItem(R.id.online_favorite).setTitle(online?R.string.offline_favorites:R.string.online_favorites);
final androidx.appcompat.widget.SearchView searchView=(androidx.appcompat.widget.SearchView)menu.findItem(R.id.search).getActionView();
Expand Down
12 changes: 6 additions & 6 deletions app/src/main/java/com/dar/nclientv2/GalleryActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ public class GalleryActivity extends BaseActivity{
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Global.loadTheme(this);
Global.initTitleType(this);
Global.initHttpClient(this);
Global.loadNotificationChannel(this);
Global.initColumnCount(this);
Expand Down Expand Up @@ -115,7 +116,6 @@ public void loadMenu(){
menu.findItem(R.id.add_online_gallery).setTitle(x?R.string.remove_from_online_favorites:R.string.add_to_online_favorite);
menu.findItem(R.id.add_online_gallery).setIcon(x?R.drawable.ic_star:R.drawable.ic_star_border);
}
menu.findItem(R.id.add_online_gallery).setTitle(Login.isOnlineFavorite(gallery.getId())?R.string.remove_from_online_favorites:R.string.add_to_online_favorite);
menu.findItem(R.id.share).setVisible(gallery!=null&&gallery.isValid());
menu.findItem(R.id.favorite_manager).setIcon((isFavorite=Favorites.isFavorite(gallery))?R.drawable.ic_favorite:R.drawable.ic_favorite_border);
menu.findItem(R.id.load_internet).setVisible(isLocal&&gallery!=null&&gallery.getId()!=-1);
Expand All @@ -127,16 +127,16 @@ public boolean onCreateOptionsMenu(Menu menu) {
this.menu=menu;

menu.findItem(R.id.add_online_gallery).setVisible(!isLocal&&Login.isLogged());
menu.findItem(R.id.favorite_manager).setVisible(!isLocal||isFavorite);
menu.findItem(R.id.download_gallery).setVisible(!isLocal);
menu.findItem(R.id.related).setVisible(!isLocal);
if(gallery!=null)loadMenu();
Global.setTint(menu.findItem(R.id.download_gallery).getIcon());
Global.setTint(menu.findItem(R.id.load_internet).getIcon());
Global.setTint(menu.findItem(R.id.change_view).getIcon());
Global.setTint(menu.findItem(R.id.share).getIcon());
Global.setTint(menu.findItem(R.id.related).getIcon());
Global.setTint(menu.findItem(R.id.favorite_manager).getIcon());
menu.findItem(R.id.favorite_manager).setVisible(!isLocal||isFavorite);
menu.findItem(R.id.download_gallery).setVisible(!isLocal);
menu.findItem(R.id.related).setVisible(!isLocal);
if(gallery!=null)loadMenu();
updateColumnCount(false);
return true;
}
Expand Down Expand Up @@ -181,7 +181,7 @@ public void onResponse(@NonNull Call call,@NonNull Response response){
/*Intent intent = new Intent(this, MainActivity.class);
intent.putExtra(getPackageName() + ".RELATED", gallery.getId());
startActivity(intent);*/
recycler.smoothScrollToPosition(recycler.getAdapter().getItemCount()-1);
recycler.smoothScrollToPosition(recycler.getAdapter().getItemCount());
break;
case R.id.favorite_manager:
if(isFavorite){
Expand Down
1 change: 0 additions & 1 deletion app/src/main/java/com/dar/nclientv2/LocalActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ public boolean onCreateOptionsMenu(Menu menu) {
menu.findItem(R.id.action_settings).setVisible(false);
menu.findItem(R.id.action_login).setVisible(false);
menu.findItem(R.id.open_browser).setVisible(false);
menu.findItem(R.id.random).setVisible(false);
Global.setTint(menu.findItem(R.id.search).getIcon());
final androidx.appcompat.widget.SearchView searchView=(androidx.appcompat.widget.SearchView)menu.findItem(R.id.search).getActionView();
searchView.setOnQueryTextListener(new androidx.appcompat.widget.SearchView.OnQueryTextListener() {
Expand Down
32 changes: 15 additions & 17 deletions app/src/main/java/com/dar/nclientv2/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
public class MainActivity extends BaseActivity
implements NavigationView.OnNavigationItemSelectedListener {
private Inspector inspector=null;
private NavigationView navigationView;
private Tag tag;
private int related=-1;
public void setInspector(Inspector inspector) {
Expand All @@ -56,7 +57,6 @@ protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Global.loadTheme(this);
Global.initHttpClient(this);
Global.initTitleType(this);
Global.initRemoveIgnoredGalleries(this);
Global.initHighRes(this);
Global.initOnlyTag(this);
Expand All @@ -79,16 +79,13 @@ protected void onCreate(Bundle savedInstanceState) {
drawer.addDrawerListener(toggle);
toggle.syncState();

NavigationView navigationView = findViewById(R.id.nav_view);

navigationView = findViewById(R.id.nav_view);
changeNavigationImage(navigationView);
navigationView.setNavigationItemSelectedListener(this);
switch (Global.getTitleType()){
case PRETTY:navigationView.setCheckedItem(R.id.pretty_title);break;
case ENGLISH:navigationView.setCheckedItem(R.id.english_title);break;
case JAPANESE:navigationView.setCheckedItem(R.id.japanese_title);break;
}

navigationView.getMenu().findItem(R.id.by_popular).setIcon(Global.isByPopular()?R.drawable.ic_check:R.drawable.ic_close);
navigationView.getMenu().findItem(R.id.online_favorite_manager).setVisible(com.dar.nclientv2.settings.Login.isLogged());
recycler=findViewById(R.id.recycler);
refresher=findViewById(R.id.refresher);
prepareUpdateIcon();
Expand Down Expand Up @@ -253,6 +250,7 @@ protected void onResume() {
super.onResume();
ACRA.getErrorReporter().setEnabled(getSharedPreferences("Settings",0).getBoolean(getString(R.string.key_send_report),true));
com.dar.nclientv2.settings.Login.initUseAccountTag(this);
if(com.dar.nclientv2.settings.Login.isLogged())navigationView.getMenu().findItem(R.id.online_favorite_manager).setVisible(true);
if(setting!=null){
Global.initHighRes(this);Global.initOnlyTag(this);Global.initInfiniteScroll(this);Global.initRemoveIgnoredGalleries(this);
if(com.dar.nclientv2.settings.Login.isLogged()!=setting.logged)supportInvalidateOptionsMenu();
Expand Down Expand Up @@ -287,12 +285,10 @@ public boolean onCreateOptionsMenu(Menu menu) {
Global.setTint(menu.findItem(R.id.tag_manager).getIcon());
}
menu.findItem(R.id.action_settings).setVisible(false);
menu.findItem(R.id.random).setVisible(false);
menu.findItem(R.id.action_login).setVisible(false);
}else {
menu.findItem(R.id.action_login).setTitle(com.dar.nclientv2.settings.Login.isLogged()?R.string.logout:R.string.login);
Global.setTint(menu.findItem(R.id.search).getIcon());
Global.setTint(menu.findItem(R.id.random).getIcon());
}
searchView =(SearchView)menu.findItem(R.id.search).getActionView();
if(related!=-1){
Expand Down Expand Up @@ -351,10 +347,6 @@ public boolean onOptionsItemSelected(MenuItem item) {
i = new Intent(this, SettingsActivity.class);
startActivity(i);
break;
case R.id.random:
i = new Intent(this, RandomActivity.class);
startActivity(i);
break;
case R.id.open_browser:
if(inspector!=null) {
i = new Intent(Intent.ACTION_VIEW);
Expand All @@ -380,26 +372,32 @@ private void showLogoutForm(final MenuItem item) {
builder.setIcon(R.drawable.ic_exit_to_app).setTitle(R.string.logout).setMessage(R.string.are_you_sure);
builder.setPositiveButton(android.R.string.yes, (dialogInterface, i) -> {
Login.logout(MainActivity.this);
navigationView.getMenu().findItem(R.id.online_favorite_manager).setVisible(false);
item.setTitle(R.string.login);
}).setNegativeButton(android.R.string.no,null).show();
}

@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
// Handle navigation view item clicks here.
Intent intent;
int id = item.getItemId();
switch (id){
case R.id.pretty_title:Global.updateTitleType(this, TitleType.PRETTY);break;
case R.id.english_title:Global.updateTitleType(this, TitleType.ENGLISH);break;
case R.id.japanese_title:Global.updateTitleType(this, TitleType.JAPANESE);break;
case R.id.by_popular:item.setIcon(Global.updateByPopular(this,!Global.isByPopular())?R.drawable.ic_check:R.drawable.ic_close);new Inspector(this,1,Inspector.getActualQuery(),Inspector.getActualRequestType());break;
case R.id.only_language:updateLanguageIcon(item,true);break;
case R.id.downloaded:if(Global.hasStoragePermission(this))startLocalActivity();else requestStorage();break;
case R.id.favorite_manager:
intent=new Intent(this,FavoriteActivity.class);
startActivity(intent);
break;
case R.id.online_favorite_manager:
intent=new Intent(this,FavoriteActivity.class);
intent.putExtra(getPackageName()+".ONLINE",true);
startActivity(intent);
break;
case R.id.random:
intent = new Intent(this, RandomActivity.class);
startActivity(intent);
break;
case R.id.tag_manager:
intent=new Intent(this,TagFilter.class);
startActivity(intent);
Expand Down
18 changes: 18 additions & 0 deletions app/src/main/java/com/dar/nclientv2/RandomActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import android.content.res.ColorStateList;
import android.graphics.Color;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageButton;
import android.widget.TextView;
Expand All @@ -15,6 +16,7 @@
import com.google.android.material.floatingactionbutton.FloatingActionButton;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.core.widget.ImageViewCompat;

public class RandomActivity extends AppCompatActivity {
Expand All @@ -31,10 +33,15 @@ protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Global.loadTheme(this);
Global.initHttpClient(this);
Global.initTitleType(this);
Global.initImageQuality(this);
Favorites.countFavorite();
Global.initLoadImages(this);
setContentView(R.layout.activity_random);
Toolbar toolbar=findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowTitleEnabled(true);
FloatingActionButton shuffle = findViewById(R.id.shuffle);
censor=findViewById(R.id.censor);
language=findViewById(R.id.language);
Expand Down Expand Up @@ -80,6 +87,17 @@ protected void onCreate(Bundle savedInstanceState) {
Global.setTint(favorite.getDrawable());
Global.setTint(share.getDrawable());
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case android.R.id.home:
finish();
return true;
}
return super.onOptionsItemSelected(item);
}

public static Gallery loadedGallery=null;
private boolean isFavorite;
public void loadGallery(Gallery gallery){
Expand Down
1 change: 1 addition & 0 deletions app/src/main/java/com/dar/nclientv2/SettingsActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey){
act.recreate();
return true;
});
findPreference("version").setTitle(getString(R.string.app_version_format,Global.getVersionName(getContext())));
findPreference(getString(R.string.key_cache)).setOnPreferenceClickListener(preference -> {
AlertDialog.Builder builder=new AlertDialog.Builder(getActivity());
builder.setTitle(R.string.clear_cache);
Expand Down
1 change: 1 addition & 0 deletions app/src/main/java/com/dar/nclientv2/ZoomActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ public class ZoomActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Global.loadTheme(this);
Global.initTitleType(this);
Global.initHideFromGallery(this);
side=getSharedPreferences("Settings",0).getBoolean("volumeSide",true);
overrideVolume=getSharedPreferences("Settings",0).getBoolean(getString(R.string.key_override_volume),true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import android.content.Intent;
import android.util.Log;
import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
Expand Down
22 changes: 11 additions & 11 deletions app/src/main/java/com/dar/nclientv2/api/Inspector.java
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ public void onResponse(@NonNull Call call,@NonNull Response response) throws IOE
Log.d(Global.LOGTAG,"Response of "+url);
Document d=Jsoup.parse(response.body().byteStream(),"UTF-8","https://nhentai.net");

parseGalleries(requestType==ApiRequestType.BYSINGLE?d.getElementsByTag("script"):d.getElementsByClass("gallery"));
parseGalleries(d.getElementsByTag("script"),d.getElementsByClass("gallery"));
for (Gallery x:galleries)if(x.getId()>Global.getMaxId())Global.updateMaxId(activity,x.getId());
Elements elements=d.getElementsByClass("last");
if(elements.size()==1)findTotal(elements.first());
Expand Down Expand Up @@ -168,22 +168,22 @@ public static List<Gallery> parseGalleries(Elements e,ApiRequestType type)throws
String x=e.last().html();
int s=x.indexOf("new N.gallery(")+14;
x=x.substring(s,x.indexOf('\n',s)-2);
galleries.add(new Gallery(new JsonReader(new StringReader(x))));
galleries.add(new Gallery(new JsonReader(new StringReader(x)), null));
}
return galleries;
}
private void parseGalleries(Elements e)throws IOException{
galleries=new ArrayList<>(requestType==ApiRequestType.BYSINGLE?1:e.size());
if(requestType!=ApiRequestType.BYSINGLE){
for(Element el:e)galleries.add(new Gallery(el));
}else{
if(e.last()==null)return;
String str=e.last().html();
private void parseGalleries(Elements scripts, Elements gals)throws IOException{
List<Gallery>galle=new ArrayList<>(gals.size());
for(Element el:gals)galle.add(new Gallery(el));
if(requestType==ApiRequestType.BYSINGLE){
galleries=new ArrayList<>(1);
if(scripts.last()==null)return;
String str=scripts.last().html();
int s=str.indexOf("new N.gallery(")+14,s1=str.indexOf('\n', s) - 2;
if(s==13||s1<0)return;
str = str.substring(s, s1);
galleries.add(new Gallery(new JsonReader(new StringReader(str))));
}
galleries.add(new Gallery(new JsonReader(new StringReader(str)),galle));
}else galleries=galle;
}

private String appendedLanguage(){
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/java/com/dar/nclientv2/api/RandomLoader.java
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public void onResponse(@NonNull Call call, @NonNull Response response) throws IO
int s=str.indexOf("new N.gallery(")+14,s1=str.indexOf('\n', s) - 2;
if(s==13||s1<0)return;
str = str.substring(s, s1);
Gallery x = new Gallery(new JsonReader(new StringReader(str)));
Gallery x = new Gallery(new JsonReader(new StringReader(str)), null);
if (!x.isValid()) {
loadRandomGallery();
return;
Expand Down
Loading

0 comments on commit 1ba5ea0

Please sign in to comment.