@Override
  public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    final View view = getView();
    assert view != null;
    final Context context = view.getContext();
    final boolean compact = Utils.isCompactCards(context);
    final int backgroundColor = ThemeUtils.getThemeBackgroundColor(context);
    final int colorRes =
        TwidereColorUtils.getContrastYIQ(
            backgroundColor,
            R.color.bg_refresh_progress_color_light,
            R.color.bg_refresh_progress_color_dark);
    mSwipeRefreshLayout.setOnRefreshListener(this);
    mSwipeRefreshLayout.setProgressBackgroundColorSchemeResource(colorRes);
    mAdapter = onCreateAdapter(context, compact);
    mListView.setOnTouchListener(
        new View.OnTouchListener() {
          @Override
          public boolean onTouch(View v, MotionEvent event) {
            if (event.getActionMasked() == MotionEvent.ACTION_DOWN) {
              updateRefreshProgressOffset();
            }
            return false;
          }
        });
    mListView.setAdapter(mAdapter);
  }
 @Override
 public void onAttach(Activity activity) {
   super.onAttach(activity);
   if (activity instanceof IControlBarActivity) {
     ((IControlBarActivity) activity).registerControlBarOffsetListener(this);
   }
 }
 @Override
 public void onDetach() {
   final FragmentActivity activity = getActivity();
   if (activity instanceof IControlBarActivity) {
     ((IControlBarActivity) activity).unregisterControlBarOffsetListener(this);
   }
   super.onDetach();
 }
 @Override
 public void onBaseViewCreated(View view, @Nullable Bundle savedInstanceState) {
   super.onBaseViewCreated(view, savedInstanceState);
   mProgressContainer = view.findViewById(R.id.progress_container);
   mSwipeRefreshLayout = (SwipeRefreshLayout) view.findViewById(R.id.swipe_layout);
   mListView = (ListView) view.findViewById(R.id.list_view);
   mErrorContainer = view.findViewById(R.id.error_container);
   mErrorIconView = (ImageView) view.findViewById(R.id.error_icon);
   mErrorTextView = (TextView) view.findViewById(R.id.error_text);
 }
 @Override
 public void onBaseViewCreated(View view, Bundle savedInstanceState) {
   super.onBaseViewCreated(view, savedInstanceState);
   mListView = (DragSortListView) view.findViewById(android.R.id.list);
   mEmptyView = view.findViewById(android.R.id.empty);
   mEmptyIcon = (ImageView) view.findViewById(R.id.empty_icon);
   mEmptyText = (TextView) view.findViewById(R.id.empty_text);
   mListContainer = view.findViewById(R.id.list_container);
   mProgressContainer = view.findViewById(R.id.progress_container);
 }
 @Override
 public void onActivityCreated(@Nullable Bundle savedInstanceState) {
   super.onActivityCreated(savedInstanceState);
   final View view = getView();
   if (view == null) throw new AssertionError();
   final Context context = view.getContext();
   mAdapter = new MediaTimelineAdapter(context);
   final StaggeredGridLayoutManager layoutManager =
       new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL);
   mDrawerCallback = new SimpleDrawerCallback(mRecyclerView);
   mRecyclerView.setLayoutManager(layoutManager);
   mRecyclerView.setAdapter(mAdapter);
   mRecyclerView.setOnScrollListener(mOnScrollListener);
   getLoaderManager().initLoader(0, getArguments(), this);
   setListShown(false);
 }
 @Override
 public void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
   switch (requestCode) {
     case REQUEST_SET_COLOR:
       {
         if (resultCode != Activity.RESULT_OK || data == null || mSelectedAccount == null) return;
         final ContentValues values = new ContentValues();
         values.put(Accounts.COLOR, data.getIntExtra(EXTRA_COLOR, Color.WHITE));
         final Expression where =
             Expression.equals(Accounts.ACCOUNT_ID, mSelectedAccount.account_id);
         final ContentResolver cr = getContentResolver();
         cr.update(Accounts.CONTENT_URI, values, where.getSQL(), null);
         return;
       }
   }
   super.onActivityResult(requestCode, resultCode, data);
 }
 @Override
 public void onActivityCreated(Bundle savedInstanceState) {
   super.onActivityCreated(savedInstanceState);
   setHasOptionsMenu(true);
   final FragmentActivity activity = getActivity();
   mPreferences = getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE);
   mPreferences.registerOnSharedPreferenceChangeListener(this);
   mAdapter = new AccountsAdapter(activity);
   Utils.configBaseAdapter(activity, mAdapter);
   mAdapter.setSortEnabled(true);
   mListView.setAdapter(mAdapter);
   mListView.setDragEnabled(true);
   mListView.setDropListener(this);
   mListView.setOnCreateContextMenuListener(this);
   mListView.setEmptyView(mEmptyView);
   mEmptyText.setText(R.string.no_account);
   mEmptyIcon.setImageResource(R.drawable.ic_info_error_generic);
   getLoaderManager().initLoader(0, null, this);
   setListShown(false);
 }
 @Override
 public void setUserVisibleHint(boolean isVisibleToUser) {
   super.setUserVisibleHint(isVisibleToUser);
   updateRefreshProgressOffset();
 }
 @Override
 public void onDestroyView() {
   mPreferences.unregisterOnSharedPreferenceChangeListener(this);
   super.onDestroyView();
 }
 @Override
 public void onBaseViewCreated(View view, @Nullable Bundle savedInstanceState) {
   super.onBaseViewCreated(view, savedInstanceState);
   mProgressContainer = view.findViewById(R.id.progress_container);
   mRecyclerView = (RecyclerView) view.findViewById(R.id.recycler_view);
 }