use of com.android.documentsui.State in project platform_frameworks_base by android.
the class DocumentHolderTest method setUp.
public void setUp() throws Exception {
Context context = getContext();
LayoutInflater inflater = LayoutInflater.from(context);
mHolder = new DocumentHolder(getContext(), inflater.inflate(R.layout.item_doc_list, null)) {
@Override
public void bind(Cursor cursor, String modelId, State state) {
}
};
mListener = new TestListener();
mHolder.addEventListener(mListener);
mHolder.itemView.requestLayout();
mHolder.itemView.invalidate();
}
use of com.android.documentsui.State in project platform_frameworks_base by android.
the class ModelBackedDocumentsAdapter method onCreateViewHolder.
@Override
public DocumentHolder onCreateViewHolder(ViewGroup parent, int viewType) {
DocumentHolder holder = null;
final State state = mEnv.getDisplayState();
switch(state.derivedMode) {
case MODE_GRID:
switch(viewType) {
case ITEM_TYPE_DIRECTORY:
holder = new GridDirectoryHolder(mEnv.getContext(), parent);
break;
case ITEM_TYPE_DOCUMENT:
holder = new GridDocumentHolder(mEnv.getContext(), parent, mIconHelper);
break;
default:
throw new IllegalStateException("Unsupported layout type.");
}
break;
case MODE_LIST:
holder = new ListDocumentHolder(mEnv.getContext(), parent, mIconHelper);
break;
default:
throw new IllegalStateException("Unsupported layout mode.");
}
mEnv.initDocumentHolder(holder);
return holder;
}
use of com.android.documentsui.State in project android_frameworks_base by DirtyUnicorns.
the class DocumentHolderTest method setUp.
public void setUp() throws Exception {
Context context = getContext();
LayoutInflater inflater = LayoutInflater.from(context);
mHolder = new DocumentHolder(getContext(), inflater.inflate(R.layout.item_doc_list, null)) {
@Override
public void bind(Cursor cursor, String modelId, State state) {
}
};
mListener = new TestListener();
mHolder.addEventListener(mListener);
mHolder.itemView.requestLayout();
mHolder.itemView.invalidate();
}
use of com.android.documentsui.State in project android_frameworks_base by DirtyUnicorns.
the class DirectoryFragment method updateDisplayState.
private void updateDisplayState() {
State state = getDisplayState();
updateLayout(state.derivedMode);
mRecView.setAdapter(mAdapter);
}
use of com.android.documentsui.State in project android_frameworks_base by DirtyUnicorns.
the class DirectoryFragment method onLoadFinished.
@Override
public void onLoadFinished(Loader<DirectoryResult> loader, DirectoryResult result) {
if (!isAdded())
return;
if (mSearchMode) {
Metrics.logUserAction(getContext(), Metrics.USER_ACTION_SEARCH);
}
State state = getDisplayState();
mAdapter.notifyDataSetChanged();
mModel.update(result);
state.derivedSortOrder = result.sortOrder;
updateLayout(state.derivedMode);
if (mSelection != null) {
mSelectionManager.setItemsSelected(mSelection.toList(), true);
mSelection.clear();
}
// Restore any previous instance state
final SparseArray<Parcelable> container = state.dirState.remove(mStateKey);
if (container != null && !getArguments().getBoolean(Shared.EXTRA_IGNORE_STATE, false)) {
getView().restoreHierarchyState(container);
} else if (mLastSortOrder != state.derivedSortOrder) {
// The derived sort order takes the user sort order into account, but applies
// directory-specific defaults when the user doesn't explicitly set the sort
// order. Scroll to the top if the sort order actually changed.
mRecView.smoothScrollToPosition(0);
}
mLastSortOrder = state.derivedSortOrder;
mTuner.onModelLoaded(mModel, mType, mSearchMode);
}
Aggregations