//***************************************************************************** // This file is part of CheckIn4Me. Copyright � 2010 David Ivins // // CheckIn4Me is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // CheckIn4Me is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with CheckIn4Me. If not, see <http://www.gnu.org/licenses/>. //***************************************************************************** package com.davidivins.checkin4me.threads; import com.davidivins.checkin4me.listeners.interfaces.NetworkTimeoutListener; import android.os.AsyncTask; import android.os.SystemClock; import android.util.Log; /** * NetworkTimeoutMonitor * * @author david */ public class NetworkTimeoutMonitor extends AsyncTask<Void, Void, Void> { private static final String TAG = NetworkTimeoutMonitor.class.getSimpleName(); private static final int TEN_SECONDS = 10000; private NetworkTimeoutListener listener; /** * NetworkTimeoutMonitor * * @param listener */ public NetworkTimeoutMonitor(NetworkTimeoutListener listener) { this.listener = listener; } /** * doInBackground * * Waits 10 seconds * * @return Void */ @Override protected Void doInBackground(Void ... params) { SystemClock.sleep(TEN_SECONDS); Log.i(TAG, "Network Location Timeout"); return null; } /** * onPostExecute * * notifies the listener of a timeout. * * @param nothing */ @Override protected void onPostExecute(Void nothing) { listener.NetworkTimeout(); } }