Improve download
This commit is contained in:
1 parent
41afc75cce
commit
61f09dc9f3
54 files changed
+3237
-214
No files matched your search
@@ -26,15 +26,18 @@ import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.design.widget.NavigationView;
|
||||
import android.support.v4.widget.DrawerLayout;
|
||||
import android.util.Log;
|
||||
import android.view.Gravity;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.hippo.ehviewer.R;
|
||||
import com.hippo.ehviewer.Settings;
|
||||
import com.hippo.ehviewer.client.EhUrlOpener;
|
||||
import com.hippo.ehviewer.client.EhUtils;
|
||||
import com.hippo.ehviewer.ui.scene.BaseScene;
|
||||
import com.hippo.ehviewer.ui.scene.DownloadScene;
|
||||
import com.hippo.ehviewer.ui.scene.GalleryListScene;
|
||||
import com.hippo.ehviewer.ui.scene.LoginScene;
|
||||
import com.hippo.ehviewer.ui.scene.WarningScene;
|
||||
@@ -50,8 +53,12 @@ public final class MainActivity extends StageActivity
|
||||
|
||||
private static final String KEY_NAV_CHECKED_ITEM = "nav_checked_item";
|
||||
|
||||
@Nullable
|
||||
private DrawerLayout mDrawerLayout;
|
||||
@Nullable
|
||||
private NavigationView mNavView;
|
||||
@Nullable
|
||||
private FrameLayout mRightDrawer;
|
||||
private int mNavCheckedItem = 0;
|
||||
|
||||
@Override
|
||||
@@ -66,8 +73,11 @@ public final class MainActivity extends StageActivity
|
||||
|
||||
mDrawerLayout = (DrawerLayout) findViewById(R.id.draw_view);
|
||||
mNavView = (NavigationView) findViewById(R.id.nav_view);
|
||||
mRightDrawer = (FrameLayout) findViewById(R.id.right_drawer);
|
||||
|
||||
mNavView.setNavigationItemSelectedListener(this);
|
||||
if (mNavView != null) {
|
||||
mNavView.setNavigationItemSelectedListener(this);
|
||||
}
|
||||
|
||||
if (savedInstanceState == null) {
|
||||
onInit();
|
||||
@@ -76,6 +86,15 @@ public final class MainActivity extends StageActivity
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
|
||||
mDrawerLayout = null;
|
||||
mNavView = null;
|
||||
mRightDrawer = null;
|
||||
}
|
||||
|
||||
private boolean handleIntent(Intent intent) {
|
||||
if (intent == null) {
|
||||
return false;
|
||||
@@ -126,10 +145,6 @@ public final class MainActivity extends StageActivity
|
||||
}
|
||||
|
||||
private void onRestore(Bundle savedInstanceState) {
|
||||
Log.d("TAG", "onRestore");
|
||||
|
||||
Log.d("TAG", "action = " + getIntent().getAction());
|
||||
|
||||
mNavCheckedItem = savedInstanceState.getInt(KEY_NAV_CHECKED_ITEM);
|
||||
}
|
||||
|
||||
@@ -158,34 +173,69 @@ public final class MainActivity extends StageActivity
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSceneViewCreated(SceneFragment scene, Bundle savedInstanceState) {
|
||||
super.onSceneViewCreated(scene, savedInstanceState);
|
||||
|
||||
if (scene instanceof BaseScene && mRightDrawer != null && mDrawerLayout != null) {
|
||||
BaseScene baseScene = (BaseScene) scene;
|
||||
mRightDrawer.removeAllViews();
|
||||
View drawerView = baseScene.onCreateDrawerView(
|
||||
getLayoutInflater(), mRightDrawer, savedInstanceState);
|
||||
if (drawerView != null) {
|
||||
mRightDrawer.addView(drawerView);
|
||||
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED, Gravity.RIGHT);
|
||||
} else {
|
||||
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, Gravity.RIGHT);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSceneViewDestroyed(SceneFragment scene) {
|
||||
super.onSceneViewDestroyed(scene);
|
||||
|
||||
if (scene instanceof BaseScene) {
|
||||
BaseScene baseScene = (BaseScene) scene;
|
||||
baseScene.onDestroyDrawerView();
|
||||
}
|
||||
}
|
||||
|
||||
public void setDrawerLayoutEnable(boolean enable) {
|
||||
if (enable) {
|
||||
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
|
||||
} else {
|
||||
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
|
||||
if (mDrawerLayout != null) {
|
||||
if (enable) {
|
||||
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
|
||||
} else {
|
||||
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void toggleDrawer(int drawerGravity) {
|
||||
if (mDrawerLayout.isDrawerOpen(drawerGravity)) {
|
||||
mDrawerLayout.closeDrawer(drawerGravity);
|
||||
} else {
|
||||
mDrawerLayout.openDrawer(drawerGravity);
|
||||
if (mDrawerLayout != null) {
|
||||
if (mDrawerLayout.isDrawerOpen(drawerGravity)) {
|
||||
mDrawerLayout.closeDrawer(drawerGravity);
|
||||
} else {
|
||||
mDrawerLayout.openDrawer(drawerGravity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setNavCheckedItem(@IdRes int resId) {
|
||||
mNavCheckedItem = resId;
|
||||
if (resId == 0) {
|
||||
mNavView.setCheckedItem(R.id.nav_stub);
|
||||
} else {
|
||||
mNavView.setCheckedItem(resId);
|
||||
if (mNavView != null) {
|
||||
if (resId == 0) {
|
||||
mNavView.setCheckedItem(R.id.nav_stub);
|
||||
} else {
|
||||
mNavView.setCheckedItem(resId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
if (mDrawerLayout.isDrawerOpen(Gravity.LEFT) || mDrawerLayout.isDrawerOpen(Gravity.RIGHT)) {
|
||||
if (mDrawerLayout != null && (mDrawerLayout.isDrawerOpen(Gravity.LEFT) ||
|
||||
mDrawerLayout.isDrawerOpen(Gravity.RIGHT))) {
|
||||
mDrawerLayout.closeDrawers();
|
||||
} else {
|
||||
super.onBackPressed();
|
||||
@@ -214,13 +264,13 @@ public final class MainActivity extends StageActivity
|
||||
} else if (id == R.id.nav_history) {
|
||||
|
||||
} else if (id == R.id.nav_download) {
|
||||
|
||||
startScene(new Announcer(DownloadScene.class));
|
||||
} else if (id == R.id.nav_settings) {
|
||||
Intent intent = new Intent(this, SettingsActivity.class);
|
||||
startActivity(intent);
|
||||
}
|
||||
|
||||
if (id != R.id.nav_stub) {
|
||||
if (id != R.id.nav_stub && mDrawerLayout != null) {
|
||||
mDrawerLayout.closeDrawers();
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user