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 java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
@ -208,24 +209,27 @@ public class ThreadManager implements Loader.LoaderListener {
public void onPostLongClicked(final Post post) {
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
String[] items = null;
String[] temp = activity.getResources().getStringArray(R.array.post_options);
List<String> options = new ArrayList<String>(Arrays.asList(activity.getResources().getStringArray(R.array.post_options)));
// 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)) {
items = new String[temp.length + 1];
System.arraycopy(temp, 0, items, 0, temp.length);
items[items.length - 1] = activity.getString(R.string.delete);
} else {
items = temp;
options.add(activity.getString(R.string.delete));
delete = true;
}
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
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case 0: // Reply
openReply(true); // todo if tablet
openReply(true);
// Pass through
case 1: // Quote
ChanApplication.getReplyManager().quote(post.no);
@ -240,7 +244,15 @@ public class ThreadManager implements Loader.LoaderListener {
copyToClipboard(post.comment.toString());
break;
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;
}
}

@ -22,6 +22,15 @@ import com.j256.ormlite.table.DatabaseTable;
@DatabaseTable
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)
private int id;

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

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

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

Loading…
Cancel
Save