@Override
  public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
    switch (loader.getId()) {
      case LOADER_HISTORY:
        {
          mAdapter.changeCursor(data);
          if (!mAdapter.isEmpty()
              && mGroupList != null
              && mGroupList.getCheckedItemPosition() == ListView.INVALID_POSITION) {
            selectGroup(0);
          }

          checkIfEmpty();
          break;
        }

      case LOADER_MOST_VISITED:
        {
          mAdapter.changeMostVisitedCursor(data);

          checkIfEmpty();
          break;
        }

      default:
        {
          throw new IllegalArgumentException();
        }
    }
  }
  void resetHistory() {
    mNullFxFilter.onClick(mNullFxFilter);
    mNullBorderFilter.onClick(mNullBorderFilter);

    HistoryAdapter adapter = mImageShow.getHistory();
    adapter.reset();
    ImagePreset original = new ImagePreset(adapter.getItem(0));
    mImageShow.setImagePreset(original);
    mPanelController.resetParameters();
    invalidateViews();
  }
 public void addItem(String s) {
   if ((mAdapter.history.size() > 0
           && !mAdapter.history.get(0).split(" = ")[0].equals(s.split(" = ")[0]))
       || mAdapter.history.size() == 0) {
     mAdapter.history.add(0, s);
     mAdapter.notifyItemInserted(0);
     mRecycler.scrollToPosition(0);
   }
 }
 @Override
 public boolean onOptionsItemSelected(MenuItem item) {
   switch (item.getItemId()) {
     case R.id.undoButton:
       {
         HistoryAdapter adapter = mImageShow.getHistory();
         int position = adapter.undo();
         mImageShow.onItemClick(position);
         mImageShow.showToast("Undo");
         invalidateViews();
         return true;
       }
     case R.id.redoButton:
       {
         HistoryAdapter adapter = mImageShow.getHistory();
         int position = adapter.redo();
         mImageShow.onItemClick(position);
         mImageShow.showToast("Redo");
         invalidateViews();
         return true;
       }
     case R.id.resetHistoryButton:
       {
         resetHistory();
         return true;
       }
     case R.id.showImageStateButton:
       {
         toggleImageStatePanel();
         return true;
       }
     case R.id.operationsButton:
       {
         toggleHistoryPanel();
         return true;
       }
     case android.R.id.home:
       {
         saveImage();
         return true;
       }
   }
   return false;
 }
示例#5
0
  @Override
  public void onStart() {
    super.onStart();
    datasource = new HistoryDataSource(getActivity());
    datasource.open();

    historyList = datasource.getAllReverseHistory();

    RecyclerView recyclerView;
    recyclerView = (RecyclerView) getActivity().findViewById(R.id.history_recycler_view);

    mAdapter = new HistoryAdapter(historyList);
    Log.d("HistoryFragment", "onStart: total count " + mAdapter.getItemCount());
    RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(this.getContext());
    recyclerView.setLayoutManager(mLayoutManager);
    recyclerView.setItemAnimator(new DefaultItemAnimator());
    recyclerView.setAdapter(mAdapter);
    mAdapter.notifyDataSetChanged();
  }
 @Override
 public void onPrepareOptionsMenu(Menu menu) {
   super.onPrepareOptionsMenu(menu);
   /// M: Operator Feature set the history menu item. @{
   mBrowserSmallFeatureEx = Extensions.getSmallFeaturePlugin(getActivity());
   if (mBrowserSmallFeatureEx.shouldConfigHistoryPageMenuItem(
       menu, mAdapter == null ? true : false, mAdapter.isEmpty())) {
     menu.findItem(R.id.clear_history_menu_id).setEnabled(true);
   }
   /// @}
 }
 void checkIfEmpty() {
   if (mAdapter.mMostVisited != null && mAdapter.mHistoryCursor != null) {
     // Both cursors have loaded - check to see if we have data
     if (mAdapter.isEmpty()) {
       mRoot.findViewById(R.id.history).setVisibility(View.GONE);
       mRoot.findViewById(android.R.id.empty).setVisibility(View.VISIBLE);
     } else {
       mRoot.findViewById(R.id.history).setVisibility(View.VISIBLE);
       mRoot.findViewById(android.R.id.empty).setVisibility(View.GONE);
     }
   }
 }
  @Override
  protected void onResume() {
    super.onResume();

    // Load up to date history
    mPersist = new Persist(this);
    mPersist.load();
    mHistory = mPersist.getHistory();
    incrementGroupId();

    // When history is open, the display is saved as a Display Entry. Cache it if it exists.
    HistoryEntry displayEntry = null;
    if (mHistoryAdapter != null) {
      displayEntry = mHistoryAdapter.getDisplayEntry();
    }

    // Create a new History Adapter (with the up-to-date history)
    mHistoryAdapter = new HistoryAdapter(this, mEvaluator.getSolver(), mHistory);
    mHistoryAdapter.setOnItemClickListener(
        new HistoryAdapter.OnItemClickListener() {
          @Override
          public void onItemClick(final HistoryEntry entry) {
            mDisplayView.collapse(
                new AnimationFinishedListener() {
                  @Override
                  public void onAnimationFinished() {
                    mFormulaEditText.setText(entry.getFormula());
                  }
                });
          }
        });
    mHistoryAdapter.setOnItemLongclickListener(
        new HistoryAdapter.OnItemLongClickListener() {
          @Override
          public void onItemLongClick(HistoryEntry entry) {
            Clipboard.copy(getBaseContext(), entry.getResult());
          }
        });

    // Restore the Display Entry (if it existed)
    if (displayEntry != null) {
      mHistoryAdapter.setDisplayEntry(displayEntry.getFormula(), displayEntry.getResult());
    }

    // Observe! Set! Typical adapter stuff.
    mHistory.setObserver(
        new History.Observer() {
          @Override
          public void notifyDataSetChanged() {
            mHistoryAdapter.notifyDataSetChanged();
          }
        });
    mDisplayView.setAdapter(mHistoryAdapter);
    mDisplayView.attachToRecyclerView(
        new ItemTouchHelper(
            new ItemTouchHelper.SimpleCallback(
                ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT,
                ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
              @Override
              public boolean onMove(
                  RecyclerView recyclerView,
                  RecyclerView.ViewHolder viewHolder,
                  RecyclerView.ViewHolder target) {
                return false;
              }

              @Override
              public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
                if (viewHolder.getAdapterPosition() < mHistory.getEntries().size()) {
                  HistoryEntry item = mHistory.getEntries().get(viewHolder.getAdapterPosition());
                  mHistory.remove(item);
                  mHistoryAdapter.notifyItemRemoved(viewHolder.getAdapterPosition());
                }
              }
            }));
    mDisplayView.scrollToMostRecent();
  }
 public HistoryWrapper(HistoryAdapter adapter) {
   mAdapter = adapter;
   mAdapter.registerDataSetObserver(mObserver);
 }
 void selectGroup(int position) {
   mGroupItemClickListener.onItemClick(
       null, mAdapter.getGroupView(position, false, null, null), position, position);
 }