Example usage for android.support.v4.app LoaderManager initLoader

List of usage examples for android.support.v4.app LoaderManager initLoader

Introduction

In this page you can find the example usage for android.support.v4.app LoaderManager initLoader.

Prototype

public abstract <D> Loader<D> initLoader(int id, Bundle args, LoaderManager.LoaderCallbacks<D> callback);

Source Link

Document

Ensures a loader is initialized and active.

Usage

From source file:de.vanita5.twittnuker.fragment.support.UserProfileFragment.java

public void getUserInfo(final long accountId, final long userId, final String screenName,
        final boolean omitIntentExtra) {
    final LoaderManager lm = getLoaderManager();
    lm.destroyLoader(LOADER_ID_USER);/*  w w w.j  a v  a2  s  .c o m*/
    lm.destroyLoader(LOADER_ID_FRIENDSHIP);
    if (!isMyAccount(getActivity(), accountId)) {
        mMainContent.setVisibility(View.GONE);
        mErrorRetryContainer.setVisibility(View.GONE);
        return;
    }
    final Bundle args = new Bundle();
    args.putLong(EXTRA_ACCOUNT_ID, accountId);
    args.putLong(EXTRA_USER_ID, userId);
    args.putString(EXTRA_SCREEN_NAME, screenName);
    args.putBoolean(EXTRA_OMIT_INTENT_EXTRA, omitIntentExtra);
    if (!mGetUserInfoLoaderInitialized) {
        lm.initLoader(LOADER_ID_USER, args, mUserInfoLoaderCallbacks);
        mGetUserInfoLoaderInitialized = true;
    } else {
        lm.restartLoader(LOADER_ID_USER, args, mUserInfoLoaderCallbacks);
    }
    if (accountId == -1 || userId == -1 && screenName == null) {
        mMainContent.setVisibility(View.GONE);
        mErrorRetryContainer.setVisibility(View.GONE);
        return;
    }
}

From source file:org.getlantern.firetweet.fragment.support.UserFragment.java

private void getFriendship() {
    mRelationship = null;// w w w . j  ava2s.  c  o  m
    final ParcelableUser user = getUser();
    final LoaderManager lm = getLoaderManager();
    lm.destroyLoader(LOADER_ID_FRIENDSHIP);
    final Bundle args = new Bundle();
    args.putLong(EXTRA_ACCOUNT_ID, user.account_id);
    args.putLong(EXTRA_USER_ID, user.id);
    if (!mGetFriendShipLoaderInitialized) {
        lm.initLoader(LOADER_ID_FRIENDSHIP, args, mFriendshipLoaderCallbacks);
        mGetFriendShipLoaderInitialized = true;
    } else {
        lm.restartLoader(LOADER_ID_FRIENDSHIP, args, mFriendshipLoaderCallbacks);
    }
}

From source file:org.getlantern.firetweet.fragment.support.UserFragment.java

public void getUserInfo(final long accountId, final long userId, final String screenName,
        final boolean omitIntentExtra) {
    final LoaderManager lm = getLoaderManager();
    lm.destroyLoader(LOADER_ID_USER);//from ww w  .j a  v a  2  s .  c o  m
    lm.destroyLoader(LOADER_ID_FRIENDSHIP);
    final Bundle args = new Bundle();
    args.putLong(EXTRA_ACCOUNT_ID, accountId);
    args.putLong(EXTRA_USER_ID, userId);
    args.putString(EXTRA_SCREEN_NAME, screenName);
    args.putBoolean(EXTRA_OMIT_INTENT_EXTRA, omitIntentExtra);
    if (!mGetUserInfoLoaderInitialized) {
        lm.initLoader(LOADER_ID_USER, args, mUserInfoLoaderCallbacks);
        mGetUserInfoLoaderInitialized = true;
    } else {
        lm.restartLoader(LOADER_ID_USER, args, mUserInfoLoaderCallbacks);
    }
    if (accountId == -1 || userId == -1 && screenName == null) {
        mCardContent.setVisibility(View.GONE);
        mErrorRetryContainer.setVisibility(View.GONE);
    }
}

From source file:org.mariotaku.twidere.fragment.support.UserFragment.java

public void getUserInfo(final long accountId, final long userId, final String screenName,
        final boolean omitIntentExtra) {
    final LoaderManager lm = getLoaderManager();
    lm.destroyLoader(LOADER_ID_USER);/*from   ww w .j  a v a  2s  . co  m*/
    lm.destroyLoader(LOADER_ID_FRIENDSHIP);
    final Bundle args = new Bundle();
    args.putLong(EXTRA_ACCOUNT_ID, accountId);
    args.putLong(EXTRA_USER_ID, userId);
    args.putString(EXTRA_SCREEN_NAME, screenName);
    args.putBoolean(EXTRA_OMIT_INTENT_EXTRA, omitIntentExtra);
    if (!mGetUserInfoLoaderInitialized) {
        lm.initLoader(LOADER_ID_USER, args, mUserInfoLoaderCallbacks);
        mGetUserInfoLoaderInitialized = true;
    } else {
        lm.restartLoader(LOADER_ID_USER, args, mUserInfoLoaderCallbacks);
    }
    if (accountId == -1 || userId == -1 && screenName == null) {
        mCardContent.setVisibility(View.GONE);
        mHeaderErrorContainer.setVisibility(View.GONE);
    }
}

From source file:org.mariotaku.twidere.fragment.UserFragment.java

private void getFriendship() {
    final ParcelableUser user = getUser();
    if (user == null)
        return;//  w ww .  jav a 2 s  .  c o  m
    mRelationship = null;
    final LoaderManager lm = getLoaderManager();
    lm.destroyLoader(LOADER_ID_FRIENDSHIP);
    final Bundle args = new Bundle();
    args.putParcelable(EXTRA_ACCOUNT_KEY, user.account_key);
    args.putParcelable(EXTRA_USER, user);
    if (!mGetFriendShipLoaderInitialized) {
        lm.initLoader(LOADER_ID_FRIENDSHIP, args, mFriendshipLoaderCallbacks);
        mGetFriendShipLoaderInitialized = true;
    } else {
        lm.restartLoader(LOADER_ID_FRIENDSHIP, args, mFriendshipLoaderCallbacks);
    }
}

From source file:org.mariotaku.twidere.fragment.UserFragment.java

public void getUserInfo(final UserKey accountKey, final UserKey userKey, final String screenName,
        final boolean omitIntentExtra) {
    final LoaderManager lm = getLoaderManager();
    lm.destroyLoader(LOADER_ID_USER);//from w  w  w  .  j a va2 s  .  co  m
    lm.destroyLoader(LOADER_ID_FRIENDSHIP);
    final Bundle args = new Bundle();
    args.putParcelable(EXTRA_ACCOUNT_KEY, accountKey);
    args.putParcelable(EXTRA_USER_KEY, userKey);
    args.putString(EXTRA_SCREEN_NAME, screenName);
    args.putBoolean(EXTRA_OMIT_INTENT_EXTRA, omitIntentExtra);
    if (!mGetUserInfoLoaderInitialized) {
        lm.initLoader(LOADER_ID_USER, args, mUserInfoLoaderCallbacks);
        mGetUserInfoLoaderInitialized = true;
    } else {
        lm.restartLoader(LOADER_ID_USER, args, mUserInfoLoaderCallbacks);
    }
    if (accountKey == null || userKey == null && screenName == null) {
        mCardContent.setVisibility(View.GONE);
        mHeaderErrorContainer.setVisibility(View.GONE);
    }
}

From source file:info.guardianproject.otr.app.im.app.NewChatActivity.java

private void initChats() {
    LoaderManager lMgr = getSupportLoaderManager();
    lMgr.initLoader(CHAT_LIST_LOADER_ID, null, new LoaderManager.LoaderCallbacks<Cursor>() {

        @Override/*from   www. j a  va  2s  . c o m*/
        public Loader<Cursor> onCreateLoader(int id, Bundle args) {
            CursorLoader loader = new CursorLoader(NewChatActivity.this,
                    Imps.Contacts.CONTENT_URI_CHAT_CONTACTS, ChatView.CHAT_PROJECTION, null, null, null);
            loader.setUpdateThrottle(100L);

            return loader;
        }

        @Override
        public void onLoadFinished(Loader<Cursor> loader, Cursor newCursor) {

            mChatPagerAdapter.swapCursor(newCursor);
            updateChatList();

            if (getIntent() != null)
                resolveIntent(getIntent());

            if (mRequestedChatId >= 0) {
                if (showChat(mRequestedChatId)) {
                    mRequestedChatId = -1;
                }
            }

        }

        @Override
        public void onLoaderReset(Loader<Cursor> loader) {
            mChatPagerAdapter.swapCursor(null);
        }
    });
}

From source file:com.dabay6.android.apps.carlog.ui.vehicle.fragments.VehicleEditFragment.java

/**
 *
 *///from w  w  w .  j ava 2s  . c  o  m
@SuppressWarnings("deprecation")
@Override
protected void setupForm() {
    final int errorResId = R.string.field_required;
    final LoaderManager manager = getLoaderManager();
    final String[] fromModel = new String[] { Model.Columns.MODEL_NAME.getName() };
    final Context context = getActivity();

    if (AndroidUtils.isAtLeastHoneycomb()) {
        makeAdapter = new MakeCursorAdapter(context, null, 0);
        modelAdapter = new ModelCursorAdapter(context, null, 0);
    } else {
        makeAdapter = new MakeCursorAdapter(context, null);
        modelAdapter = new ModelCursorAdapter(context, null);
    }

    licensePlate = finder.find(id.license_plate);
    make = finder.find(R.id.make);
    model = finder.find(R.id.model);
    name = finder.find(R.id.name);
    vin = finder.find(R.id.vin);
    year = finder.find(R.id.year);

    validator.addValidator("make", new RequiredValidator(make, errorResId));
    validator.addValidator("model", new RequiredValidator(model, errorResId));

    make.setAdapter(makeAdapter);
    make.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(final AdapterView<?> parent, final View view, final int position,
                final long id) {
            modelAdapter.setMakeId(id);
        }
    });

    finder.addTextWatcher(new TextWatcher() {
        @Override
        public void afterTextChanged(final Editable s) {
        }

        @Override
        public void beforeTextChanged(final CharSequence s, final int start, final int count, final int after) {
        }

        @Override
        public void onTextChanged(final CharSequence s, final int start, final int before, final int count) {
            model.setEnabled(s.length() > 0);
        }
    }, make);

    finder.onEditorAction(new OnEditorActionListener() {
        @Override
        public boolean onEditorAction(final TextView view, final int actionId, final KeyEvent event) {
            onPositiveButtonClick();

            return true;
        }
    }, vin);

    model.setAdapter(modelAdapter);
    model.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(final AdapterView<?> parent, final View view, final int position,
                final long id) {
            modelId = id;
        }
    });

    manager.initLoader(MAKE_LOADER_ID, null, this);
    manager.initLoader(MODEL_LOADER_ID, null, this);
}

From source file:com.gh.bmd.jrt.android.v4.core.LoaderInvocation.java

@Override
@SuppressWarnings("unchecked")
@SuppressFBWarnings(value = "BC_UNCONFIRMED_CAST_OF_RETURN_VALUE", justification = "class comparison with == is done")
public void onCall(@Nonnull final List<? extends INPUT> inputs, @Nonnull final ResultChannel<OUTPUT> result) {

    final Logger logger = mLogger;
    final Object context = mContext.get();

    if (context == null) {

        logger.dbg("avoiding running invocation since context is null");
        return;/*from   w w w.ja v  a 2 s  .c o m*/
    }

    final Context loaderContext;
    final LoaderManager loaderManager;

    if (context instanceof FragmentActivity) {

        final FragmentActivity activity = (FragmentActivity) context;
        loaderContext = activity.getApplicationContext();
        loaderManager = activity.getSupportLoaderManager();
        logger.dbg("running invocation bound to activity: %s", activity);

    } else if (context instanceof Fragment) {

        final Fragment fragment = (Fragment) context;
        loaderContext = fragment.getActivity().getApplicationContext();
        loaderManager = fragment.getLoaderManager();
        logger.dbg("running invocation bound to fragment: %s", fragment);

    } else {

        throw new IllegalArgumentException("invalid context type: " + context.getClass().getCanonicalName());
    }

    int loaderId = mLoaderId;

    if (loaderId == ContextRoutineBuilder.AUTO) {

        loaderId = mConstructor.getDeclaringClass().hashCode();

        for (final Object arg : mArgs) {

            loaderId = 31 * loaderId + recursiveHashCode(arg);
        }

        loaderId = 31 * loaderId + inputs.hashCode();
        logger.dbg("generating invocation ID: %d", loaderId);
    }

    final Loader<InvocationResult<OUTPUT>> loader = loaderManager.getLoader(loaderId);
    final boolean isClash = isClash(loader, loaderId, inputs);
    final WeakIdentityHashMap<Object, SparseArray<WeakReference<RoutineLoaderCallbacks<?>>>> callbackMap = sCallbackMap;
    SparseArray<WeakReference<RoutineLoaderCallbacks<?>>> callbackArray = callbackMap.get(context);

    if (callbackArray == null) {

        callbackArray = new SparseArray<WeakReference<RoutineLoaderCallbacks<?>>>();
        callbackMap.put(context, callbackArray);
    }

    final WeakReference<RoutineLoaderCallbacks<?>> callbackReference = callbackArray.get(loaderId);
    RoutineLoaderCallbacks<OUTPUT> callbacks = (callbackReference != null)
            ? (RoutineLoaderCallbacks<OUTPUT>) callbackReference.get()
            : null;

    if ((callbacks == null) || (loader == null) || isClash) {

        final RoutineLoader<INPUT, OUTPUT> routineLoader;

        if (!isClash && (loader != null) && (loader.getClass() == RoutineLoader.class)) {

            routineLoader = (RoutineLoader<INPUT, OUTPUT>) loader;

        } else {

            routineLoader = null;
        }

        final RoutineLoaderCallbacks<OUTPUT> newCallbacks = createCallbacks(loaderContext, loaderManager,
                routineLoader, inputs, loaderId);

        if (callbacks != null) {

            logger.dbg("resetting existing callbacks [%d]", loaderId);
            callbacks.reset();
        }

        callbackArray.put(loaderId, new WeakReference<RoutineLoaderCallbacks<?>>(newCallbacks));
        callbacks = newCallbacks;
    }

    logger.dbg("setting result cache type [%d]: %s", loaderId, mCacheStrategyType);
    callbacks.setCacheStrategy(mCacheStrategyType);

    final OutputChannel<OUTPUT> outputChannel = callbacks.newChannel();

    if (isClash) {

        logger.dbg("restarting loader [%d]", loaderId);
        loaderManager.restartLoader(loaderId, Bundle.EMPTY, callbacks);

    } else {

        logger.dbg("initializing loader [%d]", loaderId);
        loaderManager.initLoader(loaderId, Bundle.EMPTY, callbacks);
    }

    result.pass(outputChannel);
}