Make ShowcaseView safe

This commit is contained in:
seven332 committed 2016-03-20 19:51:26 +08:00
1 parent 27660f448f
commit 3ac64cd973
3 files changed
+41 -4

No files matched your search

@@ -131,6 +131,8 @@ public class DownloadsScene extends ToolbarScene
@Nullable
private LinearLayoutManager mLayoutManager;
private ShowcaseView mShowcaseView;
@Override
public int getNavCheckedItem() {
return R.id.nav_downloads;
@@ -321,7 +323,7 @@ public class DownloadsScene extends ToolbarScene
return;
}
new ShowcaseView.Builder(activity)
mShowcaseView = new ShowcaseView.Builder(activity)
.withMaterialShowcase()
.setStyle(R.style.Guide)
.setTarget(new ViewTarget(((DownloadHolder) holder).thumb))
@@ -332,6 +334,7 @@ public class DownloadsScene extends ToolbarScene
.setShowcaseEventListener(new SimpleShowcaseEventListener() {
@Override
public void onShowcaseViewDidHide(ShowcaseView showcaseView) {
mShowcaseView = null;
ViewUtils.removeFromParent(showcaseView);
Settings.putGuideDownloadThumb(false);
guideDownloadLabels();
@@ -349,7 +352,7 @@ public class DownloadsScene extends ToolbarScene
Point point = new Point();
display.getSize(point);
new ShowcaseView.Builder(activity)
mShowcaseView = new ShowcaseView.Builder(activity)
.withMaterialShowcase()
.setStyle(R.style.Guide)
.setTarget(new PointTarget(point.x, point.y / 3))
@@ -360,6 +363,7 @@ public class DownloadsScene extends ToolbarScene
.setShowcaseEventListener(new SimpleShowcaseEventListener() {
@Override
public void onShowcaseViewDidHide(ShowcaseView showcaseView) {
mShowcaseView = null;
ViewUtils.removeFromParent(showcaseView);
Settings.puttGuideDownloadLabels(false);
openDrawer(Gravity.RIGHT);
@@ -378,6 +382,11 @@ public class DownloadsScene extends ToolbarScene
public void onDestroyView() {
super.onDestroyView();
if (null != mShowcaseView) {
ViewUtils.removeFromParent(mShowcaseView);
mShowcaseView = null;
}
mRecyclerView = null;
mFabLayout = null;
mViewTransition = null;
@@ -522,6 +531,10 @@ public class DownloadsScene extends ToolbarScene
@Override
public void onBackPressed() {
if (null != mShowcaseView) {
return;
}
if (mRecyclerView != null && mRecyclerView.isInCustomChoice()) {
mRecyclerView.outOfCustomChoiceMode();
} else {
@@ -174,6 +174,8 @@ public class FavoritesScene extends BaseScene implements
}
};
private ShowcaseView mShowcaseView;
@Override
public int getNavCheckedItem() {
return R.id.nav_favourite;
@@ -323,7 +325,7 @@ public class FavoritesScene extends BaseScene implements
Point point = new Point();
display.getSize(point);
new ShowcaseView.Builder(activity)
mShowcaseView = new ShowcaseView.Builder(activity)
.withMaterialShowcase()
.setStyle(R.style.Guide)
.setTarget(new PointTarget(point.x, point.y / 3))
@@ -334,6 +336,7 @@ public class FavoritesScene extends BaseScene implements
.setShowcaseEventListener(new SimpleShowcaseEventListener() {
@Override
public void onShowcaseViewDidHide(ShowcaseView showcaseView) {
mShowcaseView = null;
ViewUtils.removeFromParent(showcaseView);
Settings.putGuideCollections(false);
openDrawer(Gravity.RIGHT);
@@ -394,6 +397,11 @@ public class FavoritesScene extends BaseScene implements
public void onDestroyView() {
super.onDestroyView();
if (null != mShowcaseView) {
ViewUtils.removeFromParent(mShowcaseView);
mShowcaseView = null;
}
if (null != mAdapter) {
mAdapter.unregister();
mAdapter = null;
@@ -497,6 +505,10 @@ public class FavoritesScene extends BaseScene implements
@Override
public void onBackPressed() {
if (null != mShowcaseView) {
return;
}
if (mRecyclerView != null && mRecyclerView.isInCustomChoice()) {
mRecyclerView.outOfCustomChoiceMode();
} else if (mSearchMode) {
@@ -171,6 +171,8 @@ public final class GalleryListScene extends BaseScene
}
};
private ShowcaseView mShowcaseView;
@Override
public int getNavCheckedItem() {
return mNavCheckedId;
@@ -425,7 +427,7 @@ public final class GalleryListScene extends BaseScene
Point point = new Point();
display.getSize(point);
new ShowcaseView.Builder(activity)
mShowcaseView = new ShowcaseView.Builder(activity)
.withMaterialShowcase()
.setStyle(R.style.Guide)
.setTarget(new PointTarget(point.x, point.y / 3))
@@ -436,6 +438,7 @@ public final class GalleryListScene extends BaseScene
.setShowcaseEventListener(new SimpleShowcaseEventListener() {
@Override
public void onShowcaseViewDidHide(ShowcaseView showcaseView) {
mShowcaseView = null;
ViewUtils.removeFromParent(showcaseView);
Settings.putGuideQuickSearch(false);
openDrawer(Gravity.RIGHT);
@@ -447,6 +450,11 @@ public final class GalleryListScene extends BaseScene
public void onDestroyView() {
super.onDestroyView();
if (null != mShowcaseView) {
ViewUtils.removeFromParent(mShowcaseView);
mShowcaseView = null;
}
if (null != mSearchBarMover) {
mSearchBarMover.cancelAnimation();
mSearchBarMover = null;
@@ -598,6 +606,10 @@ public final class GalleryListScene extends BaseScene
@Override
public void onBackPressed() {
if (null != mShowcaseView) {
return;
}
boolean handle;
switch (mState) {
default: