Skip to content

Commit

Permalink
NClientV2 1.8.0
Browse files Browse the repository at this point in the history
+ Percentage while downloading
+ Improved tag scraping
  • Loading branch information
Dar9586 committed Feb 28, 2019
1 parent dade0df commit 428bc68
Show file tree
Hide file tree
Showing 10 changed files with 86 additions and 239 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 179
versionName "1.7.9"
versionCode 180
versionName "1.8.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true

Expand Down
5 changes: 4 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,10 @@
android:name=".async.CreatePDF"
android:enabled="true"
android:exported="false" />

<service
android:name=".async.ScrapeTags"
android:enabled="true"
android:exported="false" />
<activity
android:name=".LocalActivity"
android:configChanges="orientation|screenSize"
Expand Down
6 changes: 3 additions & 3 deletions app/src/main/java/com/dar/nclientv2/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
import com.dar.nclientv2.api.enums.Language;
import com.dar.nclientv2.api.enums.TagStatus;
import com.dar.nclientv2.api.enums.TagType;
import com.dar.nclientv2.async.ScrapeTags;
import com.dar.nclientv2.async.VersionChecker;
import com.dar.nclientv2.async.scrape.BulkScraper;
import com.dar.nclientv2.components.BaseActivity;
import com.dar.nclientv2.loginapi.Login;
import com.dar.nclientv2.settings.DefaultDialogs;
Expand Down Expand Up @@ -72,7 +72,8 @@ protected void onCreate(Bundle savedInstanceState) {
Global.initInfiniteScroll(this);
com.dar.nclientv2.settings.Login.initUseAccountTag(this);
setContentView(R.layout.activity_main);
BulkScraper.bulkAll(this);
Intent i=new Intent(this,ScrapeTags.class);
startService(i);
//getSharedPreferences("Settings",0).edit().remove("first_run").apply();
final Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
Expand Down Expand Up @@ -175,7 +176,6 @@ private void changeNavigationImage(NavigationView navigationView) {

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

Expand Down
11 changes: 6 additions & 5 deletions app/src/main/java/com/dar/nclientv2/TagFilter.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.dar.nclientv2;

import android.content.Intent;
import android.content.res.Configuration;
import android.net.Uri;
import android.os.Bundle;
Expand All @@ -12,7 +13,7 @@

import com.dar.nclientv2.adapters.TagsAdapter;
import com.dar.nclientv2.api.enums.TagType;
import com.dar.nclientv2.async.scrape.BulkScraper;
import com.dar.nclientv2.async.ScrapeTags;
import com.dar.nclientv2.settings.DefaultDialogs;
import com.dar.nclientv2.settings.Global;
import com.dar.nclientv2.settings.Login;
Expand Down Expand Up @@ -50,13 +51,11 @@ public ViewPager getViewPager() {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
BulkScraper.setActivity(this);
Global.loadTheme(this);
TagV2.initMinCount(this);
TagV2.initSortByName(this);
Global.initHttpClient(this);
setContentView(R.layout.activity_tag_filter);
BulkScraper.setActivity(this);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Expand Down Expand Up @@ -98,7 +97,6 @@ public void onPageScrollStateChanged(int state) {

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

Expand Down Expand Up @@ -320,7 +318,10 @@ public void reset(){
switch(type){
case UNKNOWN:TagV2.resetAllStatus();break;
case CATEGORY:break;
default:BulkScraper.addScrape(activity,type);break;
default:
Intent i=new Intent(activity, ScrapeTags.class);
activity.startService(i);
break;
}
}

Expand Down
26 changes: 20 additions & 6 deletions app/src/main/java/com/dar/nclientv2/async/DownloadGallery.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,10 @@ public DownloadGallery(){
notId=Global.getNotificationId();
}
private void downloadedPage(){
notification.setProgress(gallery.getPageCount()-1,++page,false);
notification.setProgress(gallery.getPageCount()-1,++page,false)
.setStyle(new NotificationCompat.BigTextStyle().setBigContentTitle(getString(R.string.channel1_title_format,page,gallery.getPageCount())).bigText(gallery.getTitle()))
.setContentText(getString(R.string.percentage_format,(page*100)/gallery.getPageCount()))
.setContentTitle(getString(R.string.channel1_title));
notificationManager.notify(getString(R.string.channel1_name),notId,notification.build());
}
private void onPreExecute() {
Expand All @@ -55,9 +58,9 @@ private void onPreExecute() {
notification=new NotificationCompat.Builder(getApplicationContext(), Global.CHANNEL_ID1);
//notification.addAction(R.drawable.ic_close,"Stop",new PendingIntent.)
notification.setOnlyAlertOnce(true)
.setStyle(new NotificationCompat.BigTextStyle().bigText(gallery.getTitle()))
.setStyle(new NotificationCompat.BigTextStyle().setBigContentTitle(getString(R.string.channel1_title_format,0,gallery.getPageCount())).bigText(gallery.getTitle()))
.setContentTitle(getString(R.string.channel1_title))
.setContentText(gallery.getTitle(TitleType.PRETTY))
.setContentText(getString(R.string.percentage_format,0))
.setContentIntent(resultPendingIntent)
.setProgress(gallery.getPageCount()-1,0,false)
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
Expand Down Expand Up @@ -116,16 +119,27 @@ private void downloadPage(InputStream stream,File file)throws IOException,NullPo
}
@Override
public int onStartCommand(@Nullable Intent intent, int flags, int startId) {
if(intent!=null&&"stop".equals(intent.getAction()))a=999;
Log.d(Global.LOGTAG,flags+","+startId);
if(intent!=null&&"stop".equals(intent.getAction())){
a=999;
Log.d(Global.LOGTAG,flags+","+startId);
if(notification!=null) {
notification.setStyle(null)
.setContentTitle(getString(R.string.cancelling)).
setContentText("").setProgress(0, 0, true);
notificationManager.notify(getString(R.string.channel1_name), notId, notification.build());
}
}

return super.onStartCommand(intent, flags, startId);
}

@SuppressLint("RestrictedApi")
private void onPostExecute() {
Log.d(Global.LOGTAG,"End reached");
downloadedPage();
notification.setProgress(0,0,false);
if(Build.VERSION.SDK_INT>Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) notification.mActions.clear();
notification.setContentTitle(getString(a==999?R.string.download_canceled :R.string.download_completed)).setOnlyAlertOnce(false);
notification.setStyle(null).setContentTitle(getString(a==1000?R.string.download_canceled :R.string.download_completed)).setContentText(gallery.getTitle()).setOnlyAlertOnce(false);
notificationManager.notify(getString(R.string.channel1_name),notId,notification.build());
}
}
47 changes: 47 additions & 0 deletions app/src/main/java/com/dar/nclientv2/async/ScrapeTags.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package com.dar.nclientv2.async;

import android.app.IntentService;
import android.content.Context;
import android.content.Intent;
import android.util.JsonReader;

import com.dar.nclientv2.api.components.Tag;
import com.dar.nclientv2.api.enums.TagStatus;
import com.dar.nclientv2.api.enums.TagType;
import com.dar.nclientv2.async.database.Queries;
import com.dar.nclientv2.settings.Database;
import com.dar.nclientv2.settings.Global;

import java.io.IOException;
import java.util.Date;

import androidx.annotation.Nullable;
import okhttp3.Request;

public class ScrapeTags extends IntentService {
private static final String URL="https://violable-hats.000webhostapp.com/tags.json";
//check every 30day
private static final long DIFFERENCE_TIME=30L*24*60*60;
public ScrapeTags() {
super("Scrape Tag");
}


@Override
protected void onHandleIntent(@Nullable Intent intent) {
try {
if(new Date().getTime()-getApplicationContext().getSharedPreferences("Settings",0).getLong("lastSync",new Date().getTime())<DIFFERENCE_TIME)return;
JsonReader reader=new JsonReader(Global.client.newCall(new Request.Builder().url(URL).build()).execute().body().charStream());
reader.beginArray();
int id=reader.nextInt();
String name=reader.nextString();
int count=reader.nextInt();
TagType type=TagType.values()[reader.nextInt()];
while (reader.hasNext()) Queries.TagTable.insert(Database.getDatabase(),new Tag(name,count,id,type, TagStatus.DEFAULT));
reader.close();
getApplicationContext().getSharedPreferences("Settings",0).edit().putLong("lastSync",new Date().getTime()).apply();
} catch (IOException e) {
e.printStackTrace();
}
}
}
86 changes: 0 additions & 86 deletions app/src/main/java/com/dar/nclientv2/async/scrape/BulkScraper.java

This file was deleted.

103 changes: 0 additions & 103 deletions app/src/main/java/com/dar/nclientv2/async/scrape/TagPageScraper.java

This file was deleted.

Loading

0 comments on commit 428bc68

Please sign in to comment.