Android Open Source - TimeTabler Load Event






From Project

Back to project page TimeTabler.

License

The source code is released under:

Apache License

If you think the Android project TimeTabler listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Copyright 2013 Ian Kavanagh//from  ww  w .ja va 2  s  . c o  m
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package ie.clashoftheash.timetabler.utils;

import ie.clashoftheash.timetabler.R;
import ie.clashoftheash.timetabler.provider.Timetable;
import ie.clashoftheash.timetabler.provider.TimetableProvider;
import android.app.Activity;
import android.content.ContentUris;
import android.database.Cursor;
import android.net.Uri;
import android.os.AsyncTask;
import android.view.Gravity;

import com.devspark.appmsg.AppMsg;

public class LoadEvent extends AsyncTask<Long, Void, Cursor> {

  /**
   * The callback used to indicate the event has been loaded from the
   * database.
   */
  public interface EventLoadListener {
    public void OnEventLoadFinished(Cursor c);
  }

  private final Activity mActivity;

  public LoadEvent(Activity activity) {
    mActivity = activity;
  }

  @Override
  protected Cursor doInBackground(Long... params) {
    Uri uri = ContentUris.withAppendedId(Timetable.Events.CONTENT_URI,
        params[0]);

    return mActivity.getContentResolver().query(uri,
        TimetableProvider.READ_EVENT_PROJECTION, null, null, null);
  }

  @Override
  protected void onPostExecute(Cursor result) {
    if (result == null || result.getCount() != 1 || !result.moveToFirst()) {
      // Display message to user informing them no event could be found
      AppMsg.makeText(
          mActivity,
          mActivity.getString(R.string.message_error_cant_find_event),
          AppMsg.STYLE_ALERT).setLayoutGravity(Gravity.BOTTOM).show();
      return;
    }
    try {
      ((EventLoadListener) mActivity).OnEventLoadFinished(result);
    } catch (ClassCastException e) {
      throw new ClassCastException(mActivity.getLocalClassName()
          + " must implement EventLoadListener");
    }
  }
}




Java Source Code List

ie.clashoftheash.timetabler.TimeTablerApplication.java
ie.clashoftheash.timetabler.authenticator.AccountUtils.java
ie.clashoftheash.timetabler.authenticator.AuthenticatorService.java
ie.clashoftheash.timetabler.authenticator.Authenticator.java
ie.clashoftheash.timetabler.provider.TimetableParser.java
ie.clashoftheash.timetabler.provider.TimetableProvider.java
ie.clashoftheash.timetabler.provider.TimetableUtils.java
ie.clashoftheash.timetabler.provider.Timetable.java
ie.clashoftheash.timetabler.sync.SyncAdapter.java
ie.clashoftheash.timetabler.sync.SyncService.java
ie.clashoftheash.timetabler.ui.CreateEventActivity.java
ie.clashoftheash.timetabler.ui.EventDetailActivity.java
ie.clashoftheash.timetabler.ui.EventDetailFragment.java
ie.clashoftheash.timetabler.ui.EventListActivity.java
ie.clashoftheash.timetabler.ui.EventListFragment.java
ie.clashoftheash.timetabler.ui.LoginActivity.java
ie.clashoftheash.timetabler.ui.SettingsActivity.java
ie.clashoftheash.timetabler.ui.dialogs.AccountExistsFragment.java
ie.clashoftheash.timetabler.ui.dialogs.DatePickerFragment.java
ie.clashoftheash.timetabler.ui.dialogs.DeleteEventFragment.java
ie.clashoftheash.timetabler.ui.dialogs.NetworkErrorFragment.java
ie.clashoftheash.timetabler.ui.dialogs.RemoveAccountFragment.java
ie.clashoftheash.timetabler.ui.dialogs.TimePickerFragment.java
ie.clashoftheash.timetabler.ui.widget.AgendaAdapter.java
ie.clashoftheash.timetabler.ui.widget.SimpleSectionedListAdapter.java
ie.clashoftheash.timetabler.utils.LoadEvent.java
ie.clashoftheash.timetabler.utils.NetworkUtils.java
ie.clashoftheash.timetabler.utils.Utils.java