diff --git a/app/build.gradle b/app/build.gradle index cc94151..d17dee3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -57,10 +57,10 @@ dexcount { dependencies { // support libraries - compile 'com.android.support:palette-v7:23.1.1' - compile 'com.android.support:appcompat-v7:23.1.1' - compile 'com.android.support:design:23.1.1' - compile 'com.android.support:recyclerview-v7:23.1.1' + compile 'com.android.support:palette-v7:23.2.0' + compile 'com.android.support:appcompat-v7:23.2.0' + compile 'com.android.support:design:23.2.0' + compile 'com.android.support:recyclerview-v7:23.2.0' // html parsing fo reading mode compile 'org.jsoup:jsoup:1.8.3' diff --git a/app/src/main/java/acr/browser/lightning/activity/BrowserActivity.java b/app/src/main/java/acr/browser/lightning/activity/BrowserActivity.java index a4e6d6d..0d8df8e 100644 --- a/app/src/main/java/acr/browser/lightning/activity/BrowserActivity.java +++ b/app/src/main/java/acr/browser/lightning/activity/BrowserActivity.java @@ -276,8 +276,30 @@ public abstract class BrowserActivity extends ThemableBrowserActivity implements mBackground.setColor(((ColorDrawable) mToolbarLayout.getBackground()).getColor()); // Drawer stutters otherwise - mDrawerLeft.setLayerType(View.LAYER_TYPE_HARDWARE, null); - mDrawerRight.setLayerType(View.LAYER_TYPE_HARDWARE, null); + mDrawerLeft.setLayerType(View.LAYER_TYPE_NONE, null); + mDrawerRight.setLayerType(View.LAYER_TYPE_NONE, null); + + mDrawerLayout.addDrawerListener(new DrawerListener() { + @Override + public void onDrawerSlide(View drawerView, float slideOffset) {} + + @Override + public void onDrawerOpened(View drawerView) {} + + @Override + public void onDrawerClosed(View drawerView) {} + + @Override + public void onDrawerStateChanged(int newState) { + if (newState == DrawerLayout.STATE_DRAGGING) { + mDrawerLeft.setLayerType(View.LAYER_TYPE_HARDWARE, null); + mDrawerRight.setLayerType(View.LAYER_TYPE_HARDWARE, null); + } else if (newState == DrawerLayout.STATE_IDLE) { + mDrawerLeft.setLayerType(View.LAYER_TYPE_NONE, null); + mDrawerRight.setLayerType(View.LAYER_TYPE_NONE, null); + } + } + }); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && !mShowTabsInDrawer) { getWindow().setStatusBarColor(Color.BLACK); @@ -329,8 +351,6 @@ public abstract class BrowserActivity extends ThemableBrowserActivity implements mArrowImage = (ImageView) customView.findViewById(R.id.arrow); FrameLayout arrowButton = (FrameLayout) customView.findViewById(R.id.arrow_button); if (mShowTabsInDrawer) { - // Use hardware acceleration for the animation - mArrowImage.setLayerType(View.LAYER_TYPE_HARDWARE, null); if (mArrowImage.getWidth() <= 0) { mArrowImage.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED); } diff --git a/app/src/main/java/acr/browser/lightning/fragment/TabsFragment.java b/app/src/main/java/acr/browser/lightning/fragment/TabsFragment.java index d7f5e15..263ea95 100644 --- a/app/src/main/java/acr/browser/lightning/fragment/TabsFragment.java +++ b/app/src/main/java/acr/browser/lightning/fragment/TabsFragment.java @@ -138,7 +138,7 @@ public class TabsFragment extends Fragment implements View.OnClickListener, View animator.setChangeDuration(0); animator.setRemoveDuration(200); animator.setMoveDuration(200); - mRecyclerView.setLayerType(View.LAYER_TYPE_HARDWARE, null); + mRecyclerView.setLayerType(View.LAYER_TYPE_NONE, null); mRecyclerView.setItemAnimator(animator); mRecyclerView.setLayoutManager(layoutManager); mTabsAdapter = new LightningViewAdapter(mShowInNavigationDrawer);