Loading packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java +19 −12 Original line number Diff line number Diff line Loading @@ -17,11 +17,13 @@ package com.android.documentsui; import static com.android.documentsui.Shared.DEBUG; import static com.android.documentsui.State.MODE_GRID; import static com.android.documentsui.dirlist.DirectoryFragment.ANIM_DOWN; import static com.android.documentsui.dirlist.DirectoryFragment.ANIM_NONE; import static com.android.documentsui.dirlist.DirectoryFragment.ANIM_SIDE; import static com.android.documentsui.dirlist.DirectoryFragment.ANIM_UP; import static com.android.internal.util.Preconditions.checkArgument; import static com.android.internal.util.Preconditions.checkState; import android.app.Activity; import android.app.Fragment; Loading Loading @@ -51,8 +53,8 @@ import android.widget.ImageView; import android.widget.TextView; import com.android.documentsui.RecentsProvider.ResumeColumns; import com.android.documentsui.SearchManager; import com.android.documentsui.SearchManager.SearchManagerListener; import com.android.documentsui.State.ViewMode; import com.android.documentsui.dirlist.DirectoryFragment; import com.android.documentsui.model.DocumentInfo; import com.android.documentsui.model.DocumentStack; Loading Loading @@ -204,6 +206,8 @@ public abstract class BaseActivity extends Activity implements SearchManagerList void onStackRestored(boolean restored, boolean external) {} void onRootPicked(RootInfo root) { mState.derivedMode = LocalPreferences.getViewMode(this, root, MODE_GRID); // Clear entire backstack and start in new root mState.onRootChanged(root); mSearchManager.update(root); Loading Loading @@ -260,11 +264,11 @@ public abstract class BaseActivity extends Activity implements SearchManagerList return true; case R.id.menu_grid: setUserMode(State.MODE_GRID); setViewMode(State.MODE_GRID); return true; case R.id.menu_list: setUserMode(State.MODE_LIST); setViewMode(State.MODE_LIST); return true; case R.id.menu_paste_from_clipboard: Loading Loading @@ -419,24 +423,27 @@ public abstract class BaseActivity extends Activity implements SearchManagerList invalidateOptionsMenu(); } public void onStateChanged() { invalidateOptionsMenu(); } /** * Set state sort order based on explicit user action. */ void setUserSortOrder(int sortOrder) { mState.userSortOrder = sortOrder; DirectoryFragment.get(getFragmentManager()).onUserSortOrderChanged(); DirectoryFragment.get(getFragmentManager()).onSortOrderChanged(); } /** * Set state mode based on explicit user action. * Set mode based on explicit user action. */ void setUserMode(int mode) { mState.userMode = mode; DirectoryFragment.get(getFragmentManager()).onUserModeChanged(); void setViewMode(@ViewMode int mode) { checkState(mState.stack.root != null); LocalPreferences.setViewMode(this, mState.stack.root, mode); mState.derivedMode = mode; // view icon needs to be updated, but we *could* do it // in onOptionsItemSelected, and not do the full invalidation // But! That's a larger refactoring we'll save for another day. invalidateOptionsMenu(); DirectoryFragment.get(getFragmentManager()).onViewModeChanged(); } public void setPending(boolean pending) { Loading packages/DocumentsUI/src/com/android/documentsui/DirectoryLoader.java +6 −28 Original line number Diff line number Diff line Loading @@ -16,11 +16,11 @@ package com.android.documentsui; import static com.android.documentsui.Shared.DEBUG; import static com.android.documentsui.Shared.TAG; import static com.android.documentsui.State.SORT_ORDER_DISPLAY_NAME; import static com.android.documentsui.State.SORT_ORDER_LAST_MODIFIED; import static com.android.documentsui.State.SORT_ORDER_SIZE; import static com.android.documentsui.model.DocumentInfo.getCursorInt; import android.content.AsyncTaskLoader; import android.content.ContentProviderClient; Loading @@ -35,7 +35,6 @@ import android.provider.DocumentsContract; import android.provider.DocumentsContract.Document; import android.util.Log; import com.android.documentsui.RecentsProvider.StateColumns; import com.android.documentsui.dirlist.DirectoryFragment; import com.android.documentsui.model.DocumentInfo; import com.android.documentsui.model.RootInfo; Loading @@ -52,10 +51,10 @@ public class DirectoryLoader extends AsyncTaskLoader<DirectoryResult> { private final int mType; private final RootInfo mRoot; private DocumentInfo mDoc; private final Uri mUri; private final int mUserSortOrder; private DocumentInfo mDoc; private CancellationSignal mSignal; private DirectoryResult mResult; Loading @@ -64,9 +63,9 @@ public class DirectoryLoader extends AsyncTaskLoader<DirectoryResult> { super(context, ProviderExecutor.forAuthority(root.authority)); mType = type; mRoot = root; mDoc = doc; mUri = uri; mUserSortOrder = userSortOrder; mDoc = doc; } @Override Loading @@ -83,8 +82,6 @@ public class DirectoryLoader extends AsyncTaskLoader<DirectoryResult> { final DirectoryResult result = new DirectoryResult(); int userMode = State.MODE_UNKNOWN; // Use default document when searching if (mType == DirectoryFragment.TYPE_SEARCH) { final Uri docUri = DocumentsContract.buildDocumentUri( Loading @@ -98,25 +95,6 @@ public class DirectoryLoader extends AsyncTaskLoader<DirectoryResult> { } } // Pick up any custom modes requested by user Cursor cursor = null; try { final Uri stateUri = RecentsProvider.buildState( mRoot.authority, mRoot.rootId, mDoc.documentId); cursor = resolver.query(stateUri, null, null, null, null); if (cursor.moveToFirst()) { userMode = getCursorInt(cursor, StateColumns.MODE); } } finally { IoUtils.closeQuietly(cursor); } if (userMode != State.MODE_UNKNOWN) { result.mode = userMode; } else { result.mode = State.MODE_GRID; } if (mUserSortOrder != State.SORT_ORDER_UNKNOWN) { result.sortOrder = mUserSortOrder; } else { Loading @@ -132,13 +110,13 @@ public class DirectoryLoader extends AsyncTaskLoader<DirectoryResult> { result.sortOrder = State.SORT_ORDER_UNKNOWN; } Log.d(TAG, "userMode=" + userMode + ", userSortOrder=" + mUserSortOrder + " --> mode=" + result.mode + ", sortOrder=" + result.sortOrder); if (DEBUG) Log.d(TAG, "userSortOrder=" + mUserSortOrder + ", sortOrder=" + result.sortOrder); ContentProviderClient client = null; Cursor cursor = null; try { client = DocumentsApplication.acquireUnstableProviderOrThrow(resolver, authority); cursor = client.query( mUri, null, null, null, getQuerySortOrder(result.sortOrder), mSignal); if (cursor == null) { Loading packages/DocumentsUI/src/com/android/documentsui/DirectoryResult.java +0 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ public class DirectoryResult implements AutoCloseable { public Cursor cursor; public Exception exception; public int mode = MODE_UNKNOWN; public int sortOrder = SORT_ORDER_UNKNOWN; @Override Loading packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java +6 −4 Original line number Diff line number Diff line Loading @@ -346,11 +346,13 @@ public class DocumentsActivity extends BaseActivity { } else { DirectoryFragment.showRecentsOpen(fm, anim); // Start recents in grid when requesting visual things final boolean visualMimes = MimePredicate.mimeMatches( // In recents we pick layout mode based on the mimetype, // picking GRID for visual types. We intentionally don't // consult a user's saved preferences here since they are // set per root (not per root and per mimetype). boolean visualMimes = MimePredicate.mimeMatches( MimePredicate.VISUAL_MIMES, mState.acceptMimes); mState.userMode = visualMimes ? State.MODE_GRID : State.MODE_LIST; mState.derivedMode = mState.userMode; mState.derivedMode = visualMimes ? State.MODE_GRID : State.MODE_LIST; } } else { if (mSearchManager.isSearching()) { Loading packages/DocumentsUI/src/com/android/documentsui/FilesActivity.java +0 −6 Original line number Diff line number Diff line Loading @@ -296,12 +296,6 @@ public class FilesActivity extends BaseActivity { if (cwd == null) { DirectoryFragment.showRecentsOpen(fm, anim); // Start recents in grid when requesting visual things final boolean visualMimes = MimePredicate.mimeMatches( MimePredicate.VISUAL_MIMES, mState.acceptMimes); mState.userMode = visualMimes ? State.MODE_GRID : State.MODE_LIST; mState.derivedMode = mState.userMode; } else { if (mState.currentSearch != null) { // Ongoing search Loading Loading
packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java +19 −12 Original line number Diff line number Diff line Loading @@ -17,11 +17,13 @@ package com.android.documentsui; import static com.android.documentsui.Shared.DEBUG; import static com.android.documentsui.State.MODE_GRID; import static com.android.documentsui.dirlist.DirectoryFragment.ANIM_DOWN; import static com.android.documentsui.dirlist.DirectoryFragment.ANIM_NONE; import static com.android.documentsui.dirlist.DirectoryFragment.ANIM_SIDE; import static com.android.documentsui.dirlist.DirectoryFragment.ANIM_UP; import static com.android.internal.util.Preconditions.checkArgument; import static com.android.internal.util.Preconditions.checkState; import android.app.Activity; import android.app.Fragment; Loading Loading @@ -51,8 +53,8 @@ import android.widget.ImageView; import android.widget.TextView; import com.android.documentsui.RecentsProvider.ResumeColumns; import com.android.documentsui.SearchManager; import com.android.documentsui.SearchManager.SearchManagerListener; import com.android.documentsui.State.ViewMode; import com.android.documentsui.dirlist.DirectoryFragment; import com.android.documentsui.model.DocumentInfo; import com.android.documentsui.model.DocumentStack; Loading Loading @@ -204,6 +206,8 @@ public abstract class BaseActivity extends Activity implements SearchManagerList void onStackRestored(boolean restored, boolean external) {} void onRootPicked(RootInfo root) { mState.derivedMode = LocalPreferences.getViewMode(this, root, MODE_GRID); // Clear entire backstack and start in new root mState.onRootChanged(root); mSearchManager.update(root); Loading Loading @@ -260,11 +264,11 @@ public abstract class BaseActivity extends Activity implements SearchManagerList return true; case R.id.menu_grid: setUserMode(State.MODE_GRID); setViewMode(State.MODE_GRID); return true; case R.id.menu_list: setUserMode(State.MODE_LIST); setViewMode(State.MODE_LIST); return true; case R.id.menu_paste_from_clipboard: Loading Loading @@ -419,24 +423,27 @@ public abstract class BaseActivity extends Activity implements SearchManagerList invalidateOptionsMenu(); } public void onStateChanged() { invalidateOptionsMenu(); } /** * Set state sort order based on explicit user action. */ void setUserSortOrder(int sortOrder) { mState.userSortOrder = sortOrder; DirectoryFragment.get(getFragmentManager()).onUserSortOrderChanged(); DirectoryFragment.get(getFragmentManager()).onSortOrderChanged(); } /** * Set state mode based on explicit user action. * Set mode based on explicit user action. */ void setUserMode(int mode) { mState.userMode = mode; DirectoryFragment.get(getFragmentManager()).onUserModeChanged(); void setViewMode(@ViewMode int mode) { checkState(mState.stack.root != null); LocalPreferences.setViewMode(this, mState.stack.root, mode); mState.derivedMode = mode; // view icon needs to be updated, but we *could* do it // in onOptionsItemSelected, and not do the full invalidation // But! That's a larger refactoring we'll save for another day. invalidateOptionsMenu(); DirectoryFragment.get(getFragmentManager()).onViewModeChanged(); } public void setPending(boolean pending) { Loading
packages/DocumentsUI/src/com/android/documentsui/DirectoryLoader.java +6 −28 Original line number Diff line number Diff line Loading @@ -16,11 +16,11 @@ package com.android.documentsui; import static com.android.documentsui.Shared.DEBUG; import static com.android.documentsui.Shared.TAG; import static com.android.documentsui.State.SORT_ORDER_DISPLAY_NAME; import static com.android.documentsui.State.SORT_ORDER_LAST_MODIFIED; import static com.android.documentsui.State.SORT_ORDER_SIZE; import static com.android.documentsui.model.DocumentInfo.getCursorInt; import android.content.AsyncTaskLoader; import android.content.ContentProviderClient; Loading @@ -35,7 +35,6 @@ import android.provider.DocumentsContract; import android.provider.DocumentsContract.Document; import android.util.Log; import com.android.documentsui.RecentsProvider.StateColumns; import com.android.documentsui.dirlist.DirectoryFragment; import com.android.documentsui.model.DocumentInfo; import com.android.documentsui.model.RootInfo; Loading @@ -52,10 +51,10 @@ public class DirectoryLoader extends AsyncTaskLoader<DirectoryResult> { private final int mType; private final RootInfo mRoot; private DocumentInfo mDoc; private final Uri mUri; private final int mUserSortOrder; private DocumentInfo mDoc; private CancellationSignal mSignal; private DirectoryResult mResult; Loading @@ -64,9 +63,9 @@ public class DirectoryLoader extends AsyncTaskLoader<DirectoryResult> { super(context, ProviderExecutor.forAuthority(root.authority)); mType = type; mRoot = root; mDoc = doc; mUri = uri; mUserSortOrder = userSortOrder; mDoc = doc; } @Override Loading @@ -83,8 +82,6 @@ public class DirectoryLoader extends AsyncTaskLoader<DirectoryResult> { final DirectoryResult result = new DirectoryResult(); int userMode = State.MODE_UNKNOWN; // Use default document when searching if (mType == DirectoryFragment.TYPE_SEARCH) { final Uri docUri = DocumentsContract.buildDocumentUri( Loading @@ -98,25 +95,6 @@ public class DirectoryLoader extends AsyncTaskLoader<DirectoryResult> { } } // Pick up any custom modes requested by user Cursor cursor = null; try { final Uri stateUri = RecentsProvider.buildState( mRoot.authority, mRoot.rootId, mDoc.documentId); cursor = resolver.query(stateUri, null, null, null, null); if (cursor.moveToFirst()) { userMode = getCursorInt(cursor, StateColumns.MODE); } } finally { IoUtils.closeQuietly(cursor); } if (userMode != State.MODE_UNKNOWN) { result.mode = userMode; } else { result.mode = State.MODE_GRID; } if (mUserSortOrder != State.SORT_ORDER_UNKNOWN) { result.sortOrder = mUserSortOrder; } else { Loading @@ -132,13 +110,13 @@ public class DirectoryLoader extends AsyncTaskLoader<DirectoryResult> { result.sortOrder = State.SORT_ORDER_UNKNOWN; } Log.d(TAG, "userMode=" + userMode + ", userSortOrder=" + mUserSortOrder + " --> mode=" + result.mode + ", sortOrder=" + result.sortOrder); if (DEBUG) Log.d(TAG, "userSortOrder=" + mUserSortOrder + ", sortOrder=" + result.sortOrder); ContentProviderClient client = null; Cursor cursor = null; try { client = DocumentsApplication.acquireUnstableProviderOrThrow(resolver, authority); cursor = client.query( mUri, null, null, null, getQuerySortOrder(result.sortOrder), mSignal); if (cursor == null) { Loading
packages/DocumentsUI/src/com/android/documentsui/DirectoryResult.java +0 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ public class DirectoryResult implements AutoCloseable { public Cursor cursor; public Exception exception; public int mode = MODE_UNKNOWN; public int sortOrder = SORT_ORDER_UNKNOWN; @Override Loading
packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java +6 −4 Original line number Diff line number Diff line Loading @@ -346,11 +346,13 @@ public class DocumentsActivity extends BaseActivity { } else { DirectoryFragment.showRecentsOpen(fm, anim); // Start recents in grid when requesting visual things final boolean visualMimes = MimePredicate.mimeMatches( // In recents we pick layout mode based on the mimetype, // picking GRID for visual types. We intentionally don't // consult a user's saved preferences here since they are // set per root (not per root and per mimetype). boolean visualMimes = MimePredicate.mimeMatches( MimePredicate.VISUAL_MIMES, mState.acceptMimes); mState.userMode = visualMimes ? State.MODE_GRID : State.MODE_LIST; mState.derivedMode = mState.userMode; mState.derivedMode = visualMimes ? State.MODE_GRID : State.MODE_LIST; } } else { if (mSearchManager.isSearching()) { Loading
packages/DocumentsUI/src/com/android/documentsui/FilesActivity.java +0 −6 Original line number Diff line number Diff line Loading @@ -296,12 +296,6 @@ public class FilesActivity extends BaseActivity { if (cwd == null) { DirectoryFragment.showRecentsOpen(fm, anim); // Start recents in grid when requesting visual things final boolean visualMimes = MimePredicate.mimeMatches( MimePredicate.VISUAL_MIMES, mState.acceptMimes); mState.userMode = visualMimes ? State.MODE_GRID : State.MODE_LIST; mState.derivedMode = mState.userMode; } else { if (mState.currentSearch != null) { // Ongoing search Loading