ProfileFragment.java 文件源码

java
阅读 45 收藏 0 点赞 0 评论 0

项目:SPF 作者:
@Override
public Loader<ProfileFieldContainer> onCreateLoader(int id, Bundle args) {
    switch (id) {
    case LOAD_PROFILE_LOADER_ID:
        return new AsyncTaskLoader<ProfileFieldContainer>(getActivity()) {

            @Override
            public ProfileFieldContainer loadInBackground() {
                if (mMode == Mode.SELF || mMode == Mode.EDIT) {
                    return SPF.get().getProfileManager().getProfileFieldBulk(mCurrentPersona, ProfilePagerAdapter.DEFAULT_FIELDS);
                } else {
                    SPFRemoteInstance instance = SPF.get().getPeopleManager().getPerson(mPersonIdentifier);
                    if (instance == null) {
                        throw new IllegalStateException("Person " + mPersonIdentifier + " not found in proximity");
                    } else {
                        String app = getActivity().getCallingPackage();
                        app = app == null ? "it.polimi.spf.app" : app;
                        return instance.getProfileBulk(ProfileField.toIdentifierList(ProfilePagerAdapter.DEFAULT_FIELDS), app);
                    }
                }
            }
        };

    case SAVE_PROFILE_LOADER_ID:
        if (mMode != Mode.EDIT) {
            Log.e(TAG, "SAVE_PROFILE_LOADER initialized in mode " + mMode);
        }

        return new AsyncTaskLoader<ProfileFieldContainer>(getActivity()) {

            @Override
            public ProfileFieldContainer loadInBackground() {
                SPF.get().getProfileManager().setProfileFieldBulk(mContainer, mCurrentPersona);
                return null;
            }
        };

    default:
        throw new IllegalArgumentException("No loader for id " + id);
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号