mirror of https://github.com/kurisufriend/Clover
parent
75d6583ff6
commit
2c5cd1bedb
@ -0,0 +1,16 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<inset xmlns:android="http://schemas.android.com/apk/res/android" |
||||||
|
android:insetLeft="8dp" |
||||||
|
android:insetTop="8dp" |
||||||
|
android:insetRight="8dp" |
||||||
|
android:insetBottom="8dp" > |
||||||
|
<shape> |
||||||
|
<solid |
||||||
|
android:color="#FFCC0000" /> |
||||||
|
|
||||||
|
<corners |
||||||
|
android:radius="4dp" /> |
||||||
|
|
||||||
|
</shape> |
||||||
|
|
||||||
|
</inset> |
@ -0,0 +1,61 @@ |
|||||||
|
package org.floens.chan.watch; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
import org.floens.chan.model.Loadable; |
||||||
|
import org.floens.chan.model.Pin; |
||||||
|
import org.floens.chan.model.Post; |
||||||
|
import org.floens.chan.net.ThreadLoader; |
||||||
|
import org.floens.chan.service.PinnedService; |
||||||
|
import org.floens.chan.utils.Logger; |
||||||
|
|
||||||
|
import com.android.volley.VolleyError; |
||||||
|
|
||||||
|
public class PinWatcher implements ThreadLoader.ThreadLoaderListener { |
||||||
|
private static final int[] timeouts = {10, 15, 20, 30, 60, 90, 120, 180, 240, 300}; |
||||||
|
|
||||||
|
private final ThreadLoader watchLoader; |
||||||
|
private final Loadable watchLoadable; |
||||||
|
|
||||||
|
private final Pin pin; |
||||||
|
|
||||||
|
private long startTime; |
||||||
|
|
||||||
|
public PinWatcher(Pin pin) { |
||||||
|
this.pin = pin; |
||||||
|
|
||||||
|
watchLoadable = pin.loadable.copy(); |
||||||
|
watchLoadable.simpleMode = true; |
||||||
|
|
||||||
|
watchLoader = new ThreadLoader(this); |
||||||
|
} |
||||||
|
|
||||||
|
public void update() { |
||||||
|
Logger.test("PinWatcher update"); |
||||||
|
|
||||||
|
startTime = System.currentTimeMillis(); |
||||||
|
|
||||||
|
watchLoader.start(watchLoadable); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void onError(VolleyError error) { |
||||||
|
Logger.test("PinWatcher onError: ", error); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void onData(List<Post> result) { |
||||||
|
int count = result.size(); |
||||||
|
|
||||||
|
Logger.i("PinWatcher onData"); |
||||||
|
Logger.i("Post size: " + count); |
||||||
|
|
||||||
|
pin.watchNewCount = count; |
||||||
|
|
||||||
|
Logger.i("Load time: " + (System.currentTimeMillis() - startTime) + "ms"); |
||||||
|
|
||||||
|
PinnedService.callOnPinsChanged(); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
Loading…
Reference in new issue