mirror of
https://github.com/moparisthebest/ComicReader
synced 2024-08-13 15:53:54 -04:00
Added line to fix issue #67. https://github.com/applications4android/ComicReader/issues/67. Comics that fail finding url now do not add null to the list of comics.
This commit is contained in:
parent
784144aa94
commit
eb81117c85
@ -23,7 +23,6 @@ import android.util.Log;
|
||||
import com.blogspot.applications4android.comicreader.exceptions.ComicException;
|
||||
import com.blogspot.applications4android.comicreader.exceptions.ComicSDCardFull;
|
||||
|
||||
|
||||
/**
|
||||
* Base class for all comic series
|
||||
*/
|
||||
@ -96,7 +95,6 @@ public abstract class Comic extends ComicParser {
|
||||
/** background caching enabled */
|
||||
private boolean mCacheEnabled;
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
@ -117,9 +115,11 @@ public abstract class Comic extends ComicParser {
|
||||
}
|
||||
|
||||
/**
|
||||
* Tell to this comic whether caching is enabled or not.
|
||||
* This'll be used to decide whether to forcefully download the latest comic or not.
|
||||
* @param cache true if it is, else false
|
||||
* Tell to this comic whether caching is enabled or not. This'll be used to
|
||||
* decide whether to forcefully download the latest comic or not.
|
||||
*
|
||||
* @param cache
|
||||
* true if it is, else false
|
||||
*/
|
||||
public void setCacheEnabled(boolean cache) {
|
||||
mCacheEnabled = cache;
|
||||
@ -127,7 +127,9 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Set the launch type for this comic
|
||||
* @param type launch type
|
||||
*
|
||||
* @param type
|
||||
* launch type
|
||||
*/
|
||||
public void setLaunchType(int type) {
|
||||
mType = type;
|
||||
@ -135,6 +137,7 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* get the launch type
|
||||
*
|
||||
* @return launch type
|
||||
*/
|
||||
public int getLaunchType() {
|
||||
@ -143,6 +146,7 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Get the comic name
|
||||
*
|
||||
* @return name
|
||||
*/
|
||||
public String getName() {
|
||||
@ -151,6 +155,7 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Gets the current strip
|
||||
*
|
||||
* @return current strip
|
||||
*/
|
||||
public Strip getCurrentStrip() {
|
||||
@ -159,6 +164,7 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Get the english name for this comic
|
||||
*
|
||||
* @return name
|
||||
*/
|
||||
public String getComicName() {
|
||||
@ -167,7 +173,9 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Set the english name for this comic
|
||||
* @param name name to be set
|
||||
*
|
||||
* @param name
|
||||
* name to be set
|
||||
*/
|
||||
public void setComicName(String name) {
|
||||
mComicName = name;
|
||||
@ -175,6 +183,7 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Reads unread strips count for the current comic
|
||||
*
|
||||
* @return unread strips count
|
||||
* @throws FileNotFoundException
|
||||
* @throws IOException
|
||||
@ -182,11 +191,11 @@ public abstract class Comic extends ComicParser {
|
||||
*/
|
||||
public int readOnlyUnread() throws FileNotFoundException, IOException, JSONException {
|
||||
File json = _getJsonFile();
|
||||
if(!json.exists()) {
|
||||
if (!json.exists()) {
|
||||
return 0;
|
||||
}
|
||||
JSONObject root = JsonUtils.jsonRoot(new FileInputStream(json));
|
||||
if(root.has("mUnread")) {
|
||||
if (root.has("mUnread")) {
|
||||
return root.getInt("mUnread");
|
||||
}
|
||||
return 0;
|
||||
@ -194,38 +203,39 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Helper function to read the properties of this comic from its json file
|
||||
*
|
||||
* @throws FileNotFoundException
|
||||
* @throws IOException
|
||||
* @throws JSONException
|
||||
*/
|
||||
public void readProperties() throws FileNotFoundException, IOException, JSONException {
|
||||
File json = _getJsonFile();
|
||||
if(!json.exists()) {
|
||||
if (!json.exists()) {
|
||||
_readOldFavs();
|
||||
_readOldPrevSession();
|
||||
return;
|
||||
}
|
||||
Log.d(TAG, "Reading comic properties from " + json.getPath());
|
||||
JSONObject root = JsonUtils.jsonRoot(new FileInputStream(json));
|
||||
if(root.has("mLatestUid")) {
|
||||
if (root.has("mLatestUid")) {
|
||||
mLatestUid = root.getString("mLatestUid");
|
||||
}
|
||||
if(root.has("mFirstUid")) {
|
||||
if (root.has("mFirstUid")) {
|
||||
mFirstUid = root.getString("mFirstUid");
|
||||
}
|
||||
if(root.has("mPrevSessionUid")) {
|
||||
if (root.has("mPrevSessionUid")) {
|
||||
mPrevSessionUid = root.getString("mPrevSessionUid");
|
||||
}
|
||||
if(root.has("mDefZoom")) {
|
||||
mDefZoom = (float)root.getDouble("mDefZoom");
|
||||
if (root.has("mDefZoom")) {
|
||||
mDefZoom = (float) root.getDouble("mDefZoom");
|
||||
}
|
||||
if(root.has("mStrips")) {
|
||||
if (root.has("mStrips")) {
|
||||
JSONArray arr = root.getJSONArray("mStrips");
|
||||
int len = arr.length();
|
||||
for(int i=0;i<len;++i) {
|
||||
for (int i = 0; i < len; ++i) {
|
||||
Strip s = Strip.readFromJsonObject(arr.getJSONObject(i));
|
||||
mStrips.put(s.uid(), s);
|
||||
if(s.isFavorite()) {
|
||||
if (s.isFavorite()) {
|
||||
mFavs.add(s.uid());
|
||||
}
|
||||
}
|
||||
@ -235,23 +245,24 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* For backwards compatibility
|
||||
* @throws IOException
|
||||
*
|
||||
* @throws IOException
|
||||
*/
|
||||
private void _readOldFavs() throws IOException {
|
||||
File old = new File(FileUtils.getComicRoot(), mName);
|
||||
if(!old.exists()) {
|
||||
if (!old.exists()) {
|
||||
return;
|
||||
}
|
||||
Log.d(TAG, "Getting old favorites from "+old.getPath());
|
||||
Log.d(TAG, "Getting old favorites from " + old.getPath());
|
||||
BufferedReader br = new BufferedReader(new FileReader(old));
|
||||
String line = br.readLine();
|
||||
mDefZoom = Float.parseFloat(line);
|
||||
while((line = br.readLine()) != null) {
|
||||
while ((line = br.readLine()) != null) {
|
||||
Strip s = new Strip(line, mCache.cachePath());
|
||||
s.setAsFavorite(true);
|
||||
Log.d(TAG, line);
|
||||
mStrips.put(line, s);
|
||||
line = br.readLine(); // no more required
|
||||
line = br.readLine(); // no more required
|
||||
}
|
||||
br.close();
|
||||
old.delete(); // this file is no longer required!
|
||||
@ -259,17 +270,18 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* For backwards compatibility
|
||||
* @throws IOException
|
||||
*
|
||||
* @throws IOException
|
||||
*/
|
||||
private void _readOldPrevSession() throws IOException {
|
||||
File old = new File(FileUtils.getComicRoot(), mName+"_lsu");
|
||||
if(!old.exists()) {
|
||||
File old = new File(FileUtils.getComicRoot(), mName + "_lsu");
|
||||
if (!old.exists()) {
|
||||
return;
|
||||
}
|
||||
Log.d(TAG, "Getting old previous-session from "+old.getPath());
|
||||
Log.d(TAG, "Getting old previous-session from " + old.getPath());
|
||||
BufferedReader br = new BufferedReader(new FileReader(old));
|
||||
String line = br.readLine();
|
||||
if(line != null) {
|
||||
if (line != null) {
|
||||
mPrevSessionUid = line;
|
||||
}
|
||||
br.close();
|
||||
@ -278,11 +290,12 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Helper function to write the properties of this comic into its json file
|
||||
*
|
||||
* @throws IOException
|
||||
* @throws ComicSDCardFull
|
||||
* @throws ComicSDCardFull
|
||||
*/
|
||||
public void writeProperties() throws IOException, ComicSDCardFull {
|
||||
if(mType == TYPE_PREVIEW) {
|
||||
if (mType == TYPE_PREVIEW) {
|
||||
return;
|
||||
}
|
||||
StringBuilder sb = new StringBuilder();
|
||||
@ -290,29 +303,29 @@ public abstract class Comic extends ComicParser {
|
||||
{
|
||||
int unread = 0;
|
||||
Iterator<Entry<String, Strip>> itr1 = mStrips.entrySet().iterator();
|
||||
while(itr1.hasNext()) {
|
||||
while (itr1.hasNext()) {
|
||||
Map.Entry<String, Strip> e = itr1.next();
|
||||
if(!e.getValue().isRead()) {
|
||||
if (!e.getValue().isRead()) {
|
||||
unread++;
|
||||
}
|
||||
}
|
||||
sb.append("\"mUnread\":" + unread + ",\n");
|
||||
if(mLatestUid != null) {
|
||||
if (mLatestUid != null) {
|
||||
sb.append("\"mLatestUid\":\"" + mLatestUid + "\",\n");
|
||||
}
|
||||
if(mFirstUid != null) {
|
||||
if (mFirstUid != null) {
|
||||
sb.append("\"mFirstUid\":\"" + mFirstUid + "\",\n");
|
||||
}
|
||||
if(mPrevSessionUid != null) {
|
||||
if (mPrevSessionUid != null) {
|
||||
sb.append("\"mPrevSessionUid\":\"" + mPrevSessionUid + "\",\n");
|
||||
}
|
||||
sb.append("\"mDefZoom\":\"" + mDefZoom + "\",\n");
|
||||
sb.append("\"mStrips\": [\n");
|
||||
Iterator<Entry<String, Strip>> itr = mStrips.entrySet().iterator();
|
||||
while(itr.hasNext()) {
|
||||
while (itr.hasNext()) {
|
||||
Map.Entry<String, Strip> e = itr.next();
|
||||
e.getValue().toJsonString(sb);
|
||||
if(itr.hasNext()) {
|
||||
if (itr.hasNext()) {
|
||||
sb.append(",");
|
||||
}
|
||||
sb.append("\n");
|
||||
@ -326,6 +339,7 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Returns the default value of zoom
|
||||
*
|
||||
* @return zoom value
|
||||
*/
|
||||
public float getDefaultZoom() {
|
||||
@ -334,7 +348,9 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Set the default value of zoom
|
||||
* @param zoom zoom value
|
||||
*
|
||||
* @param zoom
|
||||
* zoom value
|
||||
*/
|
||||
public void setDefaultZoom(float zoom) {
|
||||
Log.d(TAG, "Setting default zoom to " + zoom);
|
||||
@ -343,6 +359,7 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Tells whether the comic has any previous sessions or not
|
||||
*
|
||||
* @return true if it has, else false
|
||||
*/
|
||||
public boolean hasPreviousSession() {
|
||||
@ -351,15 +368,16 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Sets the current strip as favorite or not
|
||||
* @param val true if it is to be set as favorite
|
||||
*
|
||||
* @param val
|
||||
* true if it is to be set as favorite
|
||||
*/
|
||||
public void setCurrentAsFavorite(boolean val) {
|
||||
if(mCurrent != null) {
|
||||
if (mCurrent != null) {
|
||||
mCurrent.setAsFavorite(val);
|
||||
if(val) {
|
||||
if (val) {
|
||||
mFavs.add(mCurrent.uid());
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
mFavs.remove(mCurrent.uid());
|
||||
}
|
||||
}
|
||||
@ -367,10 +385,11 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Whether the current comic is favorite or not
|
||||
*
|
||||
* @return true if it is
|
||||
*/
|
||||
public boolean isCurrentFavorite() {
|
||||
if(mCurrent == null) {
|
||||
if (mCurrent == null) {
|
||||
return false;
|
||||
}
|
||||
return mCurrent.isFavorite();
|
||||
@ -378,10 +397,11 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Whether the current comic has image text or not
|
||||
*
|
||||
* @return true if it is
|
||||
*/
|
||||
public boolean currentHasImageText() {
|
||||
if(mCurrent == null) {
|
||||
if (mCurrent == null) {
|
||||
return false;
|
||||
}
|
||||
return mCurrent.hasText();
|
||||
@ -389,10 +409,11 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Creates a valid file name out of the strip's title
|
||||
*
|
||||
* @return valid file name
|
||||
*/
|
||||
public String currentTitleAsValidFilename() {
|
||||
if(mCurrent == null) {
|
||||
if (mCurrent == null) {
|
||||
return null;
|
||||
}
|
||||
return mCurrent.currentTitleAsValidFilename();
|
||||
@ -413,18 +434,20 @@ public abstract class Comic extends ComicParser {
|
||||
mLatestUid = null;
|
||||
}
|
||||
|
||||
|
||||
////// Strip navigation //////
|
||||
// //// Strip navigation //////
|
||||
/**
|
||||
* Helper function to provide unified interface for navigation among the strips
|
||||
* @param type navigation type
|
||||
* Helper function to provide unified interface for navigation among the
|
||||
* strips
|
||||
*
|
||||
* @param type
|
||||
* navigation type
|
||||
* @return strip
|
||||
* @throws ComicException
|
||||
*/
|
||||
public Strip navigateStrip(int type) throws ComicException {
|
||||
mCache.makeSpace();
|
||||
if(mType == TYPE_FAVORITE) {
|
||||
switch(type) {
|
||||
if (mType == TYPE_FAVORITE) {
|
||||
switch (type) {
|
||||
case NAV_LATEST:
|
||||
mFavIdx = mFavs.size() - 1;
|
||||
return _getFavoriteStrip();
|
||||
@ -433,30 +456,39 @@ public abstract class Comic extends ComicParser {
|
||||
return _getFavoriteStrip();
|
||||
case NAV_NEXT:
|
||||
++mFavIdx;
|
||||
mFavIdx = (mFavIdx >= mFavs.size())? 0 : mFavIdx;
|
||||
mFavIdx = (mFavIdx >= mFavs.size()) ? 0 : mFavIdx;
|
||||
return _getFavoriteStrip();
|
||||
case NAV_PREVIOUS:
|
||||
--mFavIdx;
|
||||
mFavIdx = (mFavIdx < 0)? mFavs.size() - 1 : mFavIdx;
|
||||
mFavIdx = (mFavIdx < 0) ? mFavs.size() - 1 : mFavIdx;
|
||||
return _getFavoriteStrip();
|
||||
case NAV_RANDOM:
|
||||
mFavIdx = RandUtils.getPositiveInt(mFavs.size(), 0);
|
||||
return _getFavoriteStrip();
|
||||
case NAV_CURRENT: return mCurrent;
|
||||
case NAV_CURRENT:
|
||||
return mCurrent;
|
||||
default:
|
||||
ComicException ce = new ComicException("Bad navigation-type passed: " + type);
|
||||
throw ce;
|
||||
}
|
||||
}
|
||||
switch(type) {
|
||||
case NAV_LATEST: return getLatestStrip();
|
||||
case NAV_LATEST_FORCE: return getLatestStripForcefully();
|
||||
case NAV_FIRST: return getFirstStrip();
|
||||
case NAV_NEXT: return getNextStrip();
|
||||
case NAV_PREVIOUS: return getPreviousStrip();
|
||||
case NAV_RANDOM: return getRandomStrip();
|
||||
case NAV_CURRENT: return mCurrent;
|
||||
case NAV_PREV_SESSION: return getPreviousSessionStrip();
|
||||
switch (type) {
|
||||
case NAV_LATEST:
|
||||
return getLatestStrip();
|
||||
case NAV_LATEST_FORCE:
|
||||
return getLatestStripForcefully();
|
||||
case NAV_FIRST:
|
||||
return getFirstStrip();
|
||||
case NAV_NEXT:
|
||||
return getNextStrip();
|
||||
case NAV_PREVIOUS:
|
||||
return getPreviousStrip();
|
||||
case NAV_RANDOM:
|
||||
return getRandomStrip();
|
||||
case NAV_CURRENT:
|
||||
return mCurrent;
|
||||
case NAV_PREV_SESSION:
|
||||
return getPreviousSessionStrip();
|
||||
default:
|
||||
ComicException ce = new ComicException("Bad navigation-type passed: " + type);
|
||||
throw ce;
|
||||
@ -465,10 +497,11 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Gets latest strip
|
||||
*
|
||||
* @return latest strip
|
||||
*/
|
||||
public Strip getLatestStrip() {
|
||||
if((mLatestUid == null) || !mCacheEnabled) {
|
||||
if ((mLatestUid == null) || !mCacheEnabled) {
|
||||
Log.d(TAG, "Latest uid is null (or bg-caching is disabled) , calling getlatestStripUrl...");
|
||||
mLatestUid = getLatestStripUrl();
|
||||
}
|
||||
@ -477,6 +510,7 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Gets latest strip forcefully (used during background caching)
|
||||
*
|
||||
* @return latest strip
|
||||
*/
|
||||
public Strip getLatestStripForcefully() {
|
||||
@ -486,6 +520,7 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Gets the first strip
|
||||
*
|
||||
* @return first strip
|
||||
*/
|
||||
public Strip getFirstStrip() {
|
||||
@ -495,6 +530,7 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Gets the random strip
|
||||
*
|
||||
* @return random strip
|
||||
*/
|
||||
public Strip getRandomStrip() {
|
||||
@ -504,13 +540,14 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Gets the next strip
|
||||
*
|
||||
* @return next strip
|
||||
*/
|
||||
public Strip getNextStrip() {
|
||||
if(isCurrentLatestStrip()) {
|
||||
if (isCurrentLatestStrip()) {
|
||||
return mCurrent;
|
||||
}
|
||||
if(!mCurrent.hasNext()) {
|
||||
if (!mCurrent.hasNext()) {
|
||||
mCurrent.setNext(getNextStripUrl());
|
||||
}
|
||||
String uid = mCurrent.uid();
|
||||
@ -521,13 +558,14 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Gets the previous strip
|
||||
*
|
||||
* @return previous strip
|
||||
*/
|
||||
public Strip getPreviousStrip() {
|
||||
if(isCurrentFirstStrip()) {
|
||||
if (isCurrentFirstStrip()) {
|
||||
return mCurrent;
|
||||
}
|
||||
if(!mCurrent.hasPrevious()) {
|
||||
if (!mCurrent.hasPrevious()) {
|
||||
mCurrent.setPrevious(getPreviousStripUrl());
|
||||
}
|
||||
String uid = mCurrent.uid();
|
||||
@ -538,10 +576,11 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Gets the previous session strip
|
||||
*
|
||||
* @return previous session strip
|
||||
*/
|
||||
public Strip getPreviousSessionStrip() {
|
||||
if(mPrevSessionUid == null) {
|
||||
if (mPrevSessionUid == null) {
|
||||
return null;
|
||||
}
|
||||
return _querySetCurrentUid(mPrevSessionUid);
|
||||
@ -549,12 +588,14 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Gets the strip from the given url
|
||||
* @param url url
|
||||
*
|
||||
* @param url
|
||||
* url
|
||||
* @return strip
|
||||
* @throws ComicSDCardFull
|
||||
* @throws IOException
|
||||
* @throws URISyntaxException
|
||||
* @throws ClientProtocolException
|
||||
* @throws ComicSDCardFull
|
||||
* @throws IOException
|
||||
* @throws URISyntaxException
|
||||
* @throws ClientProtocolException
|
||||
*/
|
||||
public Strip getStripFromUrl(String url) throws ClientProtocolException, URISyntaxException, IOException, ComicSDCardFull {
|
||||
Strip s = _querySetCurrentUid(url);
|
||||
@ -564,84 +605,96 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Download the current strip
|
||||
*
|
||||
* @throws ClientProtocolException
|
||||
* @throws URISyntaxException
|
||||
* @throws IOException
|
||||
* @throws ComicSDCardFull
|
||||
*/
|
||||
public void downloadCurrentStrip() throws ClientProtocolException, URISyntaxException, IOException, ComicSDCardFull {
|
||||
if(mCurrent == null) {
|
||||
if (mCurrent == null) {
|
||||
return;
|
||||
}
|
||||
mCurrent.downloadImage(this);
|
||||
}
|
||||
////// Strip navigation //////
|
||||
|
||||
// //// Strip navigation //////
|
||||
|
||||
////// List of all abstract methods of this class //////
|
||||
// //// List of all abstract methods of this class //////
|
||||
/**
|
||||
* Get the main page url for the current comic series
|
||||
*
|
||||
* @return desired url
|
||||
*/
|
||||
public abstract String getComicWebPageUrl();
|
||||
|
||||
/**
|
||||
* Returns the bound for the current comic
|
||||
*
|
||||
* @return bound
|
||||
*/
|
||||
public abstract Bound getBound();
|
||||
|
||||
/**
|
||||
* Type of dialog to be used for choosing comics
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public abstract int dialogType();
|
||||
|
||||
/**
|
||||
* Gets the url for the latest strip
|
||||
*
|
||||
* @return url
|
||||
*/
|
||||
protected abstract String getLatestStripUrl();
|
||||
|
||||
/**
|
||||
* Gets the url for the first strip
|
||||
*
|
||||
* @return url
|
||||
*/
|
||||
protected abstract String getFirstStripUrl();
|
||||
|
||||
/**
|
||||
* Gets the url for the next strip
|
||||
*
|
||||
* @return url
|
||||
*/
|
||||
protected abstract String getNextStripUrl();
|
||||
|
||||
/**
|
||||
* Gets the url for the previous strip
|
||||
*
|
||||
* @return url
|
||||
*/
|
||||
protected abstract String getPreviousStripUrl();
|
||||
|
||||
/**
|
||||
* Gets the url for the previous strip
|
||||
*
|
||||
* @return url
|
||||
*/
|
||||
protected abstract String getRandomStripUrl();
|
||||
|
||||
/**
|
||||
* Gives out the list of urls (can be regexes) which are not supposed to be cached using 'mStrips'
|
||||
* Gives out the list of urls (can be regexes) which are not supposed to be
|
||||
* cached using 'mStrips'
|
||||
*
|
||||
* @return list
|
||||
*/
|
||||
protected abstract String[] urlsNotForCaching();
|
||||
////// List of all abstract methods of this class //////
|
||||
|
||||
// //// List of all abstract methods of this class //////
|
||||
|
||||
////// protected methods //////
|
||||
// //// protected methods //////
|
||||
/**
|
||||
* Checks whether the current strip is latest strip or not
|
||||
*
|
||||
* @return true if it is
|
||||
*/
|
||||
protected boolean isCurrentLatestStrip() {
|
||||
if(mLatestUid == null) {
|
||||
if (mLatestUid == null) {
|
||||
mLatestUid = getLatestStripUrl();
|
||||
}
|
||||
return mLatestUid.equals(mCurrent.uid());
|
||||
@ -649,10 +702,11 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Checks whether the current strip is first strip or not
|
||||
*
|
||||
* @return true if it is
|
||||
*/
|
||||
protected boolean isCurrentFirstStrip() {
|
||||
if(mFirstUid == null) {
|
||||
if (mFirstUid == null) {
|
||||
mFirstUid = getFirstStripUrl();
|
||||
}
|
||||
return mFirstUid.equals(mCurrent.uid());
|
||||
@ -660,7 +714,9 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Query whether the uid already exists in the history
|
||||
* @param uid uid
|
||||
*
|
||||
* @param uid
|
||||
* uid
|
||||
* @return true if it is, else false
|
||||
*/
|
||||
protected boolean hasUid(String uid) {
|
||||
@ -669,42 +725,51 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Helper function to query for a strip and create if it doesn't exist
|
||||
* @param uid key to be queried
|
||||
*
|
||||
* @param uid
|
||||
* key to be queried
|
||||
* @return strip
|
||||
*/
|
||||
protected Strip queryUid(String uid) {
|
||||
if(mStrips.containsKey(uid)) {
|
||||
if (mStrips.containsKey(uid)) {
|
||||
return mStrips.get(uid);
|
||||
}
|
||||
if (uid == null) {
|
||||
|
||||
}
|
||||
Strip s = new Strip(uid, mCache.cachePath());
|
||||
String[] urls = urlsNotForCaching();
|
||||
if(urls != null) {
|
||||
for(String url : urls) {
|
||||
if(uid.matches(url) || uid.equals(url)) {
|
||||
Log.d(TAG, "UID="+uid+" matches with the regex/url="+url+". So not caching this strip");
|
||||
if (urls != null) {
|
||||
for (String url : urls) {
|
||||
if (uid.matches(url) || uid.equals(url)) {
|
||||
Log.d(TAG, "UID=" + uid + " matches with the regex/url=" + url + ". So not caching this strip");
|
||||
File f = new File(s.getImagePath());
|
||||
if(f.exists()) {
|
||||
if (f.exists()) {
|
||||
f.delete();
|
||||
}
|
||||
return s;
|
||||
}
|
||||
}
|
||||
}
|
||||
mStrips.put(uid, s);
|
||||
if (uid != null) {
|
||||
mStrips.put(uid, s);
|
||||
}
|
||||
return s;
|
||||
}
|
||||
////// protected methods //////
|
||||
|
||||
// //// protected methods //////
|
||||
|
||||
////// private methods //////
|
||||
// //// private methods //////
|
||||
/**
|
||||
* Helper function to query for a strip and set it as current
|
||||
* @param uid key to be queried
|
||||
*
|
||||
* @param uid
|
||||
* key to be queried
|
||||
* @return strip
|
||||
*/
|
||||
private Strip _querySetCurrentUid(String uid) {
|
||||
mCurrent = queryUid(uid);
|
||||
if(mType != TYPE_CACHING) {
|
||||
if (mType != TYPE_CACHING) {
|
||||
mPrevSessionUid = uid;
|
||||
}
|
||||
Log.d(TAG, "Current UID = " + uid);
|
||||
@ -713,6 +778,7 @@ public abstract class Comic extends ComicParser {
|
||||
|
||||
/**
|
||||
* Returns the current favorite strip
|
||||
*
|
||||
* @return strip
|
||||
*/
|
||||
private Strip _getFavoriteStrip() {
|
||||
@ -721,14 +787,16 @@ public abstract class Comic extends ComicParser {
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper function to return the properties json file associated with this comic
|
||||
* Helper function to return the properties json file associated with this
|
||||
* comic
|
||||
*
|
||||
* @return json file
|
||||
*/
|
||||
private File _getJsonFile() {
|
||||
File f = new File(FileUtils.getComicRoot(), PROPS);
|
||||
f.mkdirs();
|
||||
return new File(f, mName+".json");
|
||||
return new File(f, mName + ".json");
|
||||
}
|
||||
////// private methods //////
|
||||
// //// private methods //////
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user