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);
}
use of com.android.documentsui.State in project android_frameworks_base by crdroidandroid.
the class DirectoryFragment method onStop.
@Override
public void onStop() {
super.onStop();
// Remember last scroll location
final SparseArray<Parcelable> container = new SparseArray<Parcelable>();
getView().saveHierarchyState(container);
final State state = getDisplayState();
state.dirState.put(mStateKey, container);
}
use of com.android.documentsui.State in project android_frameworks_base by AOSPA.
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 AOSPA.
the class DirectoryFragment method onStop.
@Override
public void onStop() {
super.onStop();
// Remember last scroll location
final SparseArray<Parcelable> container = new SparseArray<Parcelable>();
getView().saveHierarchyState(container);
final State state = getDisplayState();
state.dirState.put(mStateKey, container);
}
Aggregations