summaryrefslogtreecommitdiff
path: root/org.fox.ttcomics
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2015-06-10 18:40:38 +0300
committerAndrew Dolgov <[email protected]>2015-06-10 18:40:38 +0300
commit19efd282e57b870c98471f6c96f0d46f89074468 (patch)
tree241911bd2c418e110b63500df1d235ea28d75e5f /org.fox.ttcomics
parent4cd46001d98f26aafe4a2e9f611abe11569e25b9 (diff)
refresh list after marking as unread, other minor stuff
Diffstat (limited to 'org.fox.ttcomics')
-rw-r--r--org.fox.ttcomics/src/main/java/org/fox/ttcomics2/CommonActivity.java30
-rw-r--r--org.fox.ttcomics/src/main/java/org/fox/ttcomics2/MainActivity.java55
-rw-r--r--org.fox.ttcomics/src/main/java/org/fox/ttcomics2/PreferencesFragment.java2
-rw-r--r--org.fox.ttcomics/src/main/java/org/fox/ttcomics2/SyncClient.java27
4 files changed, 67 insertions, 47 deletions
diff --git a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/CommonActivity.java b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/CommonActivity.java
index efc90dc..c268590 100644
--- a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/CommonActivity.java
+++ b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/CommonActivity.java
@@ -3,8 +3,6 @@ package org.fox.ttcomics2;
import android.accounts.Account;
import android.accounts.AccountManager;
-import android.app.AlertDialog;
-import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.Cursor;
@@ -171,34 +169,6 @@ public class CommonActivity extends AppCompatActivity {
}
}
- public void resetProgress(final String fileName) {
-
- if (m_prefs.getBoolean("use_position_sync", false) && m_syncClient.hasOwner()) {
- setLastPosition(fileName, 0);
- setLastMaxPosition(fileName, 0);
-
- if (m_prefs.getBoolean("use_position_sync", false) && m_syncClient.hasOwner()) {
- AlertDialog.Builder builder = new AlertDialog.Builder(CommonActivity.this);
- builder.setMessage(R.string.reset_remove_synced_progress)
- .setCancelable(true)
- .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- m_syncClient.clearData(sha1(new File(fileName).getName()));
- }
- })
- .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- dialog.cancel();
- }
- });
- AlertDialog alert = builder.create();
- alert.show();
- }
-
- }
-
- }
-
public void setLastPosition(String fileName, int position) {
int lastPosition = getLastPosition(fileName);
diff --git a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/MainActivity.java b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/MainActivity.java
index 8f700a0..9d986d0 100644
--- a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/MainActivity.java
+++ b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/MainActivity.java
@@ -279,11 +279,8 @@ public class MainActivity extends CommonActivity implements MaterialTabListener
progressDialog.dismiss();
}
- ComicListFragment frag = (ComicListFragment) getSupportFragmentManager().findFragmentByTag(FRAG_COMICS_LIST);
+ updateComicsList();
- if (frag != null && frag.isAdded()) {
- frag.updateWithoutRescan();
- }
}
};
@@ -336,12 +333,7 @@ public class MainActivity extends CommonActivity implements MaterialTabListener
m_syncClient.setPosition(sha1(new File(fileName).getName()), getLastPosition(fileName));
}
-
- ComicListFragment frag = (ComicListFragment) getSupportFragmentManager().findFragmentByTag(FRAG_COMICS_LIST);
-
- if (frag != null && frag.isAdded()) {
- frag.updateWithoutRescan();
- }
+ updateComicsList();
}
System.gc();
@@ -380,4 +372,47 @@ public class MainActivity extends CommonActivity implements MaterialTabListener
public void onTabUnselected(MaterialTab materialTab) {
}
+
+ private void updateComicsList() {
+ ComicListFragment frag = (ComicListFragment) getSupportFragmentManager().findFragmentByTag(FRAG_COMICS_LIST);
+
+ if (frag != null && frag.isAdded()) {
+ frag.updateWithoutRescan();
+ }
+ }
+
+ public void resetProgress(final String fileName) {
+
+ if (m_prefs.getBoolean("use_position_sync", false) && m_syncClient.hasOwner()) {
+ setLastPosition(fileName, 0);
+ setLastMaxPosition(fileName, 0);
+ updateComicsList();
+
+ if (m_prefs.getBoolean("use_position_sync", false) && m_syncClient.hasOwner()) {
+ AlertDialog.Builder builder = new AlertDialog.Builder(this);
+ builder.setMessage(R.string.reset_remove_synced_progress)
+ .setCancelable(true)
+ .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ m_syncClient.clearData(sha1(new File(fileName).getName()), new SyncClient.DataClearedListener() {
+ @Override
+ public void onDataCleared(boolean result) {
+ updateComicsList();
+ }
+ });
+ }
+ })
+ .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ dialog.cancel();
+ }
+ });
+ AlertDialog alert = builder.create();
+ alert.show();
+ }
+
+ }
+
+ }
+
}
diff --git a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/PreferencesFragment.java b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/PreferencesFragment.java
index a3f16b5..ffbadc9 100644
--- a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/PreferencesFragment.java
+++ b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/PreferencesFragment.java
@@ -112,7 +112,7 @@ public class PreferencesFragment extends PreferenceFragment {
}
if (m_syncClient.hasOwner()) {
- m_syncClient.clearData();
+ m_syncClient.clearData(null);
}
}
})
diff --git a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/SyncClient.java b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/SyncClient.java
index 545dedf..267205a 100644
--- a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/SyncClient.java
+++ b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/SyncClient.java
@@ -14,6 +14,10 @@ public class SyncClient {
void onPositionReceived(int position);
}
+ public interface DataClearedListener {
+ void onDataCleared(boolean result);
+ }
+
private class HttpTask extends AsyncTask<String, Integer, Boolean> {
protected String m_response = null;
protected int m_responseCode = -1;
@@ -95,22 +99,33 @@ public class SyncClient {
}
}
- public void clearData() {
+ public void clearData(final DataClearedListener listener) {
if (m_owner != null) {
Log.d(TAG, "Clearing sync data...");
- HttpTask task = new HttpTask();
+ HttpTask task = new HttpTask() {
+ @Override
+ protected void onPostExecute(Boolean result) {
+ if (listener != null) listener.onDataCleared(result);
+ }
+ };
task.execute("clear");
}
}
- public void clearData(String hash) {
+ public void clearData(String hash, final DataClearedListener listener) {
if (m_owner != null) {
Log.d(TAG, "Clearing sync data: " + hash);
-
- HttpTask task = new HttpTask();
-
+
+ HttpTask task = new HttpTask() {
+ @Override
+ protected void onPostExecute(Boolean result) {
+ if (listener != null) listener.onDataCleared(result);
+ }
+ };
+
+
task.execute("clear", hash);
}
}