fix #2956 - prevent ANR during some automatic feed update

This commit is contained in:
orionlee 2019-01-04 10:15:09 -08:00
parent 8252f6a41d
commit 949a05c17a
1 changed files with 14 additions and 9 deletions

View File

@ -17,6 +17,9 @@ public class FeedUpdateUtils {
private FeedUpdateUtils() {}
public static void startAutoUpdate(Context context, Runnable callback) {
// the network check is blocking for possibly a long time: so run the logic
// in a separate thread to prevent the code blocking the callers
final Runnable runnable = () -> {
try {
with().pollInterval(1, TimeUnit.SECONDS)
.await()
@ -26,6 +29,8 @@ public class FeedUpdateUtils {
} catch (ConditionTimeoutException ignore) {
Log.d(TAG, "Blocking automatic update: no wifi available / no mobile updates allowed");
}
};
new Thread(runnable).start();
}
}