diff --git a/library/build.gradle b/library/build.gradle index 23618f5..a620d19 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -9,11 +9,11 @@ dependencies { } android { - compileSdkVersion 19 - buildToolsVersion "19.1.0" + compileSdkVersion 21 + buildToolsVersion "21.1.2" defaultConfig { minSdkVersion 7 - targetSdkVersion 19 + targetSdkVersion 21 } } diff --git a/library/src/main/java/me/imid/swipebacklayout/lib/Utils.java b/library/src/main/java/me/imid/swipebacklayout/lib/Utils.java index 121c631..72abf78 100644 --- a/library/src/main/java/me/imid/swipebacklayout/lib/Utils.java +++ b/library/src/main/java/me/imid/swipebacklayout/lib/Utils.java @@ -2,6 +2,8 @@ package me.imid.swipebacklayout.lib; import android.app.Activity; +import android.app.ActivityOptions; +import android.os.Build; import java.lang.reflect.Method; @@ -54,12 +56,26 @@ public static void convertActivityToTranslucent(Activity activity) { translucentConversionListenerClazz = clazz; } } - Method method = Activity.class.getDeclaredMethod("convertToTranslucent", - translucentConversionListenerClazz); - method.setAccessible(true); - method.invoke(activity, new Object[] { - null - }); + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { + Method method = Activity.class.getDeclaredMethod( + "convertToTranslucent", + translucentConversionListenerClazz); + method.setAccessible(true); + method.invoke(activity, new Object[] { + null + }); + } else { + Method method = Activity.class.getDeclaredMethod( + "convertToTranslucent", + translucentConversionListenerClazz, + ActivityOptions.class); + method.setAccessible(true); + method.invoke(activity, new Object[] { + null, + null + }); + } + } catch (Throwable t) { } } diff --git a/library/src/main/java/me/imid/swipebacklayout/lib/app/SwipeBackActivityHelper.java b/library/src/main/java/me/imid/swipebacklayout/lib/app/SwipeBackActivityHelper.java index 63dd71b..f79cdb5 100644 --- a/library/src/main/java/me/imid/swipebacklayout/lib/app/SwipeBackActivityHelper.java +++ b/library/src/main/java/me/imid/swipebacklayout/lib/app/SwipeBackActivityHelper.java @@ -30,6 +30,9 @@ public void onActivityCreate() { mSwipeBackLayout.addSwipeListener(new SwipeBackLayout.SwipeListener() { @Override public void onScrollStateChange(int state, float scrollPercent) { + if (state == SwipeBackLayout.STATE_IDLE && scrollPercent == 0) { + Utils.convertActivityFromTranslucent(mActivity); + } } @Override @@ -46,6 +49,7 @@ public void onScrollOverThreshold() { public void onPostCreate() { mSwipeBackLayout.attachToActivity(mActivity); + Utils.convertActivityFromTranslucent(mActivity); } public View findViewById(int id) {