Disable auto-drawer opening if intent is creating doc on empty dir.

Bug: 28170000
Change-Id: Ie7e3cb51dee9bc43d04ba15924b1a23359b784be
This commit is contained in:
Ben Lin
2016-04-13 16:33:20 -07:00
parent 064e612779
commit 845fe50423
2 changed files with 11 additions and 3 deletions

View File

@@ -17,6 +17,7 @@
package com.android.documentsui;
import static com.android.documentsui.Shared.TAG;
import static com.android.documentsui.State.ACTION_CREATE;
import android.app.Fragment;
import android.app.FragmentManager;
@@ -107,8 +108,9 @@ public class RecentsCreateFragment extends Fragment {
mAdapter.update(data);
// When launched into empty recents, show drawer
if (mAdapter.isEmpty() && !state.hasLocationChanged() &&
context instanceof DocumentsActivity) {
if (mAdapter.isEmpty() && !state.hasLocationChanged()
&& state.action != ACTION_CREATE
&& context instanceof DocumentsActivity) {
((DocumentsActivity) context).setRootsDrawerOpen(true);
}
}

View File

@@ -90,6 +90,10 @@ public abstract class FragmentTuner {
*/
private static final class DocumentsTuner extends FragmentTuner {
// We use this to keep track of whether a model has been previously loaded or not so we can
// open the drawer on empty directories on first launch
private boolean mModelPreviousLoaded;
public DocumentsTuner(Context context, State state) {
super(context, state);
}
@@ -178,10 +182,12 @@ public abstract class FragmentTuner {
showDrawer = true;
}
if (showDrawer && !mState.hasInitialLocationChanged() && !isSearch) {
if (showDrawer && !mState.hasInitialLocationChanged() && !isSearch
&& !mModelPreviousLoaded) {
// This noops on layouts without drawer, so no need to guard.
((BaseActivity) mContext).setRootsDrawerOpen(true);
}
mModelPreviousLoaded = true;
}
@Override