/** * galaxy inc. * meetup client for android */ package com.galaxy.meetup.client.android.ui.fragments; import android.content.Context; import android.database.Cursor; import com.galaxy.meetup.client.android.EsCursorLoader; import com.galaxy.meetup.client.android.api.GetSquaresOperation; import com.galaxy.meetup.client.android.content.EsAccount; import com.galaxy.meetup.client.android.content.EsProvider; import com.galaxy.meetup.client.android.content.EsSquaresData; /** * * @author sihai * */ public class SquareListLoader extends EsCursorLoader { private final EsAccount mAccount; private boolean mIsDataStale; private final android.support.v4.content.Loader.ForceLoadContentObserver mObserver = new android.support.v4.content.Loader.ForceLoadContentObserver(); private final String mProjection[]; public SquareListLoader(Context context, EsAccount esaccount, String as[]) { super(context); setUri(EsProvider.SQUARES_URI); mAccount = esaccount; mProjection = as; } public final Cursor esLoadInBackground() { Cursor cursor; Context context = getContext(); long l = EsSquaresData.queryLastSquaresSyncTimestamp(getContext(), mAccount); boolean flag; GetSquaresOperation getsquaresoperation; boolean flag1; if(System.currentTimeMillis() - l > 0xdbba0L) flag = true; else flag = false; mIsDataStale = flag; if(l <= 0L) { getsquaresoperation = new GetSquaresOperation(context, mAccount, null, null, null); getsquaresoperation.start(); flag1 = getsquaresoperation.hasError(); if(flag1) { return null; } } Cursor cursor1 = EsSquaresData.getJoinedSquares(getContext(), mAccount, mProjection, "square_name"); if(cursor1 != null) cursor1.registerContentObserver(mObserver); cursor = cursor1; return cursor; } public final boolean isDataStale() { return mIsDataStale; } }