diff --git a/Clover/app/src/main/java/org/floens/chan/core/manager/ThreadManager.java b/Clover/app/src/main/java/org/floens/chan/core/manager/ThreadManager.java index 9bd652e5..363584c0 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/manager/ThreadManager.java +++ b/Clover/app/src/main/java/org/floens/chan/core/manager/ThreadManager.java @@ -191,12 +191,6 @@ public class ThreadManager implements Loader.LoaderListener { lastPost = result.get(result.size() - 1).no; } - // TODO: fix hack - Pin pin = ChanApplication.getWatchManager().findPinByLoadable(loader.getLoadable()); - if (pin != null && pin.opPost == null && result.size() > 0) { - pin.opPost = result.get(0); - } - threadManagerListener.onThreadLoaded(result, append); } diff --git a/Clover/app/src/main/java/org/floens/chan/core/manager/WatchManager.java b/Clover/app/src/main/java/org/floens/chan/core/manager/WatchManager.java index a684cac1..f9eade21 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/manager/WatchManager.java +++ b/Clover/app/src/main/java/org/floens/chan/core/manager/WatchManager.java @@ -138,7 +138,7 @@ public class WatchManager implements ChanApplication.ForegroundChangedListener { Pin pin = new Pin(); pin.loadable = new Loadable(opPost.board, opPost.no); pin.loadable.generateTitle(opPost); - pin.opPost = opPost; + pin.thumbnailUrl = opPost.thumbnailUrl; return addPin(pin); } @@ -146,7 +146,7 @@ public class WatchManager implements ChanApplication.ForegroundChangedListener { Pin pin = new Pin(); pin.loadable = loadable; pin.loadable.generateTitle(opPost); - pin.opPost = opPost; + pin.thumbnailUrl = opPost.thumbnailUrl; return addPin(pin); } diff --git a/Clover/app/src/main/java/org/floens/chan/core/model/Pin.java b/Clover/app/src/main/java/org/floens/chan/core/model/Pin.java index 61c20fa1..bad02683 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/model/Pin.java +++ b/Clover/app/src/main/java/org/floens/chan/core/model/Pin.java @@ -46,9 +46,11 @@ public class Pin { @DatabaseField public int quoteNewCount = 0; + @DatabaseField public boolean isError = false; - public Post opPost; + @DatabaseField + public String thumbnailUrl = null; private PinWatcher pinWatcher; diff --git a/Clover/app/src/main/java/org/floens/chan/core/watch/PinWatcher.java b/Clover/app/src/main/java/org/floens/chan/core/watch/PinWatcher.java index 67a3ed7e..bb73a2a9 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/watch/PinWatcher.java +++ b/Clover/app/src/main/java/org/floens/chan/core/watch/PinWatcher.java @@ -129,11 +129,6 @@ public class PinWatcher implements Loader.LoaderListener { public void onData(List result, boolean append) { pin.isError = false; - // TODO: fix hack - if (pin.opPost == null && result.size() > 0) { - pin.opPost = result.get(0); - } - posts.clear(); posts.addAll(result); diff --git a/Clover/app/src/main/java/org/floens/chan/database/DatabaseHelper.java b/Clover/app/src/main/java/org/floens/chan/database/DatabaseHelper.java index fdac17ba..b6f4850e 100644 --- a/Clover/app/src/main/java/org/floens/chan/database/DatabaseHelper.java +++ b/Clover/app/src/main/java/org/floens/chan/database/DatabaseHelper.java @@ -40,7 +40,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { private static final String TAG = "DatabaseHelper"; private static final String DATABASE_NAME = "ChanDB"; - private static final int DATABASE_VERSION = 12; + private static final int DATABASE_VERSION = 13; public Dao pinDao; public Dao loadableDao; @@ -118,6 +118,15 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { e.printStackTrace(); } } + + if (oldVersion < 13) { + try { + boardsDao.executeRawNoArgs("ALTER TABLE pin ADD COLUMN isError SMALLINT;"); + boardsDao.executeRawNoArgs("ALTER TABLE pin ADD COLUMN thumbnailUrl VARCHAR;"); + } catch (SQLException e) { + e.printStackTrace(); + } + } } public void reset() { diff --git a/Clover/app/src/main/java/org/floens/chan/ui/adapter/PinnedAdapter.java b/Clover/app/src/main/java/org/floens/chan/ui/adapter/PinnedAdapter.java index c01df02b..fd60ac76 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/adapter/PinnedAdapter.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/adapter/PinnedAdapter.java @@ -114,16 +114,14 @@ public class PinnedAdapter extends BaseAdapter { final Pin pin = getItem(position); if (convertView == null) { - convertView = (LinearLayout) LayoutInflater.from(context).inflate(R.layout.pin_item, null); + convertView = LayoutInflater.from(context).inflate(R.layout.pin_item, null); } CustomNetworkImageView imageView = (CustomNetworkImageView) convertView.findViewById(R.id.pin_image); - if (pin.opPost != null && pin.opPost.hasImage) { + if (pin.thumbnailUrl != null) { imageView.setVisibility(View.VISIBLE); - imageView.setFadeIn(100); - if (imageView.getUrl() == null || !imageView.getUrl().equals(pin.opPost.thumbnailUrl)) { - imageView.setImageUrl(pin.opPost.thumbnailUrl, ChanApplication.getVolleyImageLoader()); - } + imageView.setFadeIn(0); + imageView.setImageUrl(pin.thumbnailUrl, ChanApplication.getVolleyImageLoader()); } else { imageView.setVisibility(View.GONE); } diff --git a/docs/database.txt b/docs/database.txt index c700052c..9f82538f 100644 --- a/docs/database.txt +++ b/docs/database.txt @@ -28,3 +28,8 @@ ALTER TABLE board ADD COLUMN countryFlags INTEGER; ALTER TABLE board ADD COLUMN trollFlags INTEGER; ALTER TABLE board ADD COLUMN mathTags INTEGER; + +Changes in version 13: +ALTER TABLE pin ADD COLUMN isError SMALLINT; +ALTER TABLE board ADD COLUMN thumbnailUrl VARCHAR; +