Add SceneStateListener
This commit is contained in:
1 parent
7728438492
commit
5565180730
3 files changed
+131
-8
No files matched your search
@@ -34,6 +34,7 @@ import com.hippo.ehviewer.util.Config;
|
||||
import com.hippo.ehviewer.widget.DrawerLeftPanel;
|
||||
import com.hippo.ehviewer.widget.FitStageLayout;
|
||||
import com.hippo.scene.Announcer;
|
||||
import com.hippo.scene.SceneManager;
|
||||
import com.hippo.scene.SimpleCurtain;
|
||||
import com.hippo.scene.StageActivity;
|
||||
import com.hippo.scene.StageLayout;
|
||||
@@ -94,6 +95,38 @@ public final class ContentActivity extends StageActivity
|
||||
}
|
||||
};
|
||||
|
||||
private SceneManager.SceneStateListener mSceneStateListener = new SceneManager.SceneStateListener() {
|
||||
@Override
|
||||
public void onCreate(Class clazz) {
|
||||
if (clazz.equals(GalleryListScene.class)) {
|
||||
unlockDrawer();
|
||||
} else {
|
||||
lockDrawer();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy(Class clazz) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause(Class clazz) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume(Class clazz) {
|
||||
if (clazz.equals(GalleryListScene.class)) {
|
||||
unlockDrawer();
|
||||
} else {
|
||||
lockDrawer();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReplace(Class clazz) {
|
||||
}
|
||||
};
|
||||
|
||||
@Override
|
||||
protected boolean isShowStats() {
|
||||
return Config.getShowApplicationStats();
|
||||
@@ -106,6 +139,8 @@ public final class ContentActivity extends StageActivity
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_content);
|
||||
|
||||
SceneManager.getInstance().addSceneStateListener(mSceneStateListener);
|
||||
|
||||
mResources = getResources();
|
||||
|
||||
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
|
||||
@@ -145,6 +180,12 @@ public final class ContentActivity extends StageActivity
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
SceneManager.getInstance().removeSceneStateListener(mSceneStateListener);
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NonNull StageLayout getStageLayout() {
|
||||
return mFitStageLayout;
|
||||
@@ -178,6 +219,14 @@ public final class ContentActivity extends StageActivity
|
||||
}
|
||||
}
|
||||
|
||||
public void lockDrawer() {
|
||||
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
|
||||
}
|
||||
|
||||
public void unlockDrawer() {
|
||||
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFitPaddingBottom(int bottom) {
|
||||
setFitPaddingBottom(bottom);
|
||||
|
||||
Reference in new issue
Block a user