Add debug option to make a post a saved reply.

Fix some pin watching bugs.
Made timeout when a pin was viewed 2s
captchafix
Florens Douwes 11 years ago
parent 93e260f8b3
commit c84e8aba61
  1. 34
      Clover/app/src/main/java/org/floens/chan/core/manager/ThreadManager.java
  2. 9
      Clover/app/src/main/java/org/floens/chan/core/model/SavedReply.java
  3. 1
      Clover/app/src/main/java/org/floens/chan/core/watch/PinWatcher.java
  4. 2
      Clover/app/src/main/java/org/floens/chan/database/DatabaseManager.java
  5. 2
      Clover/app/src/main/java/org/floens/chan/ui/adapter/PostAdapter.java

@ -52,6 +52,7 @@ import org.floens.chan.utils.Logger;
import org.floens.chan.utils.Utils; import org.floens.chan.utils.Utils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
/** /**
@ -208,24 +209,27 @@ public class ThreadManager implements Loader.LoaderListener {
public void onPostLongClicked(final Post post) { public void onPostLongClicked(final Post post) {
AlertDialog.Builder builder = new AlertDialog.Builder(activity); AlertDialog.Builder builder = new AlertDialog.Builder(activity);
String[] items = null; List<String> options = new ArrayList<String>(Arrays.asList(activity.getResources().getStringArray(R.array.post_options)));
String[] temp = activity.getResources().getStringArray(R.array.post_options);
// Only add the delete option when the post is a saved reply // Only add the delete option when the post is a saved reply
boolean delete = false, saved = false;
if (ChanApplication.getDatabaseManager().isSavedReply(post.board, post.no)) { if (ChanApplication.getDatabaseManager().isSavedReply(post.board, post.no)) {
items = new String[temp.length + 1]; options.add(activity.getString(R.string.delete));
System.arraycopy(temp, 0, items, 0, temp.length); delete = true;
items[items.length - 1] = activity.getString(R.string.delete); }
} else {
items = temp; if (ChanPreferences.getDeveloper()) {
options.add("Make this a saved reply");
saved = true;
} }
builder.setItems(items, new DialogInterface.OnClickListener() { final boolean finalDelete = delete;
final boolean finalSaved = saved;
builder.setItems(options.toArray(new String[options.size()]), new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
switch (which) { switch (which) {
case 0: // Reply case 0: // Reply
openReply(true); // todo if tablet openReply(true);
// Pass through // Pass through
case 1: // Quote case 1: // Quote
ChanApplication.getReplyManager().quote(post.no); ChanApplication.getReplyManager().quote(post.no);
@ -240,7 +244,15 @@ public class ThreadManager implements Loader.LoaderListener {
copyToClipboard(post.comment.toString()); copyToClipboard(post.comment.toString());
break; break;
case 5: // Delete case 5: // Delete
deletePost(post); if (finalDelete && !finalSaved) {
deletePost(post);
} else if (finalSaved && !finalDelete) {
ChanApplication.getDatabaseManager().saveReply(new SavedReply(post.board, post.no, "foo"));
}
break;
case 6:
ChanApplication.getDatabaseManager().saveReply(new SavedReply(post.board, post.no, "foo"));
break; break;
} }
} }

@ -22,6 +22,15 @@ import com.j256.ormlite.table.DatabaseTable;
@DatabaseTable @DatabaseTable
public class SavedReply { public class SavedReply {
public SavedReply() {
}
public SavedReply(String board, int no, String password) {
this.board = board;
this.no = no;
this.password = password;
}
@DatabaseField(generatedId = true) @DatabaseField(generatedId = true)
private int id; private int id;

@ -60,6 +60,7 @@ public class PinWatcher implements Loader.LoaderListener {
public void onViewed() { public void onViewed() {
pin.watchLastCount = pin.watchNewCount; pin.watchLastCount = pin.watchNewCount;
pin.quoteLastCount = pin.quoteNewCount; pin.quoteLastCount = pin.quoteNewCount;
wereNewQuotes = false;
} }
public List<Post> getNewPosts() { public List<Post> getNewPosts() {

@ -40,7 +40,7 @@ public class DatabaseManager {
} }
public void saveReply(SavedReply saved) { public void saveReply(SavedReply saved) {
Logger.e(TAG, "Saving " + saved.board + ", " + saved.no); Logger.i(TAG, "Saving " + saved.board + ", " + saved.no);
try { try {
helper.savedDao.create(saved); helper.savedDao.create(saved);

@ -81,7 +81,7 @@ public class PostAdapter extends BaseAdapter {
} }
if (position >= postList.size()) { if (position >= postList.size()) {
if (Time.get(lastViewedTime) > 10000L) { if (Time.get(lastViewedTime) > 2000L) {
lastViewedTime = Time.get(); lastViewedTime = Time.get();
threadManager.bottomPostViewed(); threadManager.bottomPostViewed();
} }

Loading…
Cancel
Save