Request left drawer locked state after scene view created
This commit is contained in:
1 parent
f213254e2b
commit
5b85a9ddef
7 files changed
+42
-12
No files matched your search
@@ -251,13 +251,9 @@ public final class MainActivity extends StageActivity
|
||||
}
|
||||
}
|
||||
|
||||
public void setDrawerLayoutEnable(boolean enable) {
|
||||
public void setDrawerLockMode(int lockMode, int edgeGravity) {
|
||||
if (mDrawerLayout != null) {
|
||||
if (enable) {
|
||||
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
|
||||
} else {
|
||||
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
|
||||
}
|
||||
mDrawerLayout.setDrawerLockMode(lockMode, edgeGravity);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,8 @@ import android.os.Bundle;
|
||||
import android.support.annotation.IdRes;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v4.app.FragmentActivity;
|
||||
import android.support.v4.widget.DrawerLayout;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@@ -31,10 +33,10 @@ public abstract class BaseScene extends SceneFragment {
|
||||
|
||||
private boolean mViewCreated;
|
||||
|
||||
public void setDrawerLayoutEnable(boolean enable) {
|
||||
public void setDrawerLockMode(int lockMode, int edgeGravity) {
|
||||
FragmentActivity activity = getActivity();
|
||||
if (activity instanceof MainActivity) {
|
||||
((MainActivity) activity).setDrawerLayoutEnable(enable);
|
||||
((MainActivity) activity).setDrawerLockMode(lockMode, edgeGravity);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,6 +71,10 @@ public abstract class BaseScene extends SceneFragment {
|
||||
}
|
||||
}
|
||||
|
||||
public boolean needShowLeftDrawer() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public View onCreateDrawerView(LayoutInflater inflater,
|
||||
@Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||
return null;
|
||||
@@ -81,6 +87,13 @@ public abstract class BaseScene extends SceneFragment {
|
||||
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
mViewCreated = true;
|
||||
|
||||
// Update left drawer locked state
|
||||
if (needShowLeftDrawer()) {
|
||||
setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED, Gravity.LEFT);
|
||||
} else {
|
||||
setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, Gravity.LEFT);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -29,6 +29,7 @@ import android.support.annotation.Nullable;
|
||||
import android.support.design.widget.FloatingActionButton;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentTransaction;
|
||||
import android.support.v4.widget.DrawerLayout;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
@@ -994,7 +995,8 @@ public class DownloadsScene extends ToolbarScene
|
||||
mFabLayout.setExpanded(true);
|
||||
}
|
||||
// Lock drawer
|
||||
setDrawerLayoutEnable(false);
|
||||
setDrawerLockMode(Gravity.LEFT, DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
|
||||
setDrawerLockMode(Gravity.RIGHT, DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1006,7 +1008,8 @@ public class DownloadsScene extends ToolbarScene
|
||||
mFabLayout.setExpanded(false);
|
||||
}
|
||||
// Unlock drawer
|
||||
setDrawerLayoutEnable(true);
|
||||
setDrawerLockMode(Gravity.LEFT, DrawerLayout.LOCK_MODE_UNLOCKED);
|
||||
setDrawerLockMode(Gravity.RIGHT, DrawerLayout.LOCK_MODE_UNLOCKED);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -27,6 +27,7 @@ import android.support.annotation.Nullable;
|
||||
import android.support.design.widget.FloatingActionButton;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentTransaction;
|
||||
import android.support.v4.widget.DrawerLayout;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
@@ -654,7 +655,8 @@ public class FavoritesScene extends BaseScene implements
|
||||
mHelper.setRefreshLayoutEnable(false);
|
||||
}
|
||||
// Lock drawer
|
||||
setDrawerLayoutEnable(false);
|
||||
setDrawerLockMode(Gravity.LEFT, DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
|
||||
setDrawerLockMode(Gravity.RIGHT, DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -667,7 +669,8 @@ public class FavoritesScene extends BaseScene implements
|
||||
mHelper.setRefreshLayoutEnable(true);
|
||||
}
|
||||
// Unlock drawer
|
||||
setDrawerLayoutEnable(true);
|
||||
setDrawerLockMode(Gravity.LEFT, DrawerLayout.LOCK_MODE_UNLOCKED);
|
||||
setDrawerLockMode(Gravity.RIGHT, DrawerLayout.LOCK_MODE_UNLOCKED);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -70,6 +70,11 @@ public final class LoginScene extends BaseScene implements EditText.OnEditorActi
|
||||
|
||||
private int mRequestId;
|
||||
|
||||
@Override
|
||||
public boolean needShowLeftDrawer() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
@@ -64,6 +64,11 @@ public final class ProgressScene extends BaseScene implements View.OnClickListen
|
||||
private TextView mTipText;
|
||||
private ViewTransition mViewTransition;
|
||||
|
||||
@Override
|
||||
public boolean needShowLeftDrawer() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
@@ -46,6 +46,11 @@ public final class WarningScene extends BaseScene implements View.OnClickListene
|
||||
@ViewLifeCircle
|
||||
private View mOk;
|
||||
|
||||
@Override
|
||||
public boolean needShowLeftDrawer() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
|
||||
|
||||
Reference in new issue
Block a user