Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash Scrolling #7

Closed
albetoetecnia opened this issue Mar 31, 2017 · 20 comments
Closed

Crash Scrolling #7

albetoetecnia opened this issue Mar 31, 2017 · 20 comments
Labels

Comments

@albetoetecnia
Copy link

Hi Xenione,

I'm getting this error when try to show more items than 4 in a list with Both buttons (Right and Left)
The app crash when scroll down: 'int com.xenione.libs.swipemaker.Anchors.cropInLimits(int)' on a null object reference

FATAL EXCEPTION: main Process: com.test, PID: 24047 java.lang.NullPointerException: Attempt to invoke virtual method 'int com.xenione.libs.swipemaker.Anchors.cropInLimits(int)' on a null object reference at com.xenione.libs.swipemaker.Position.cropInLimits(Position.java:63) at com.xenione.libs.swipemaker.orientation.OrientationStrategy.ensureInsideBounds(OrientationStrategy.java:78) at com.xenione.libs.swipemaker.orientation.OrientationStrategy.translateTo(OrientationStrategy.java:57) at com.xenione.libs.swipemaker.SwipeLayout.translateTo(SwipeLayout.java:103) at com.xenione.libs.swipemaker.AbsCoordinatorLayout$1.run(AbsCoordinatorLayout.java:20) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

@albetoetecnia
Copy link
Author

Hi!

Solved adding the adapter inside Fragment. I was using AppCompatActivity to show the list, and when using Activity crash when scroll down.

Regards

@xenione
Copy link
Owner

xenione commented Mar 31, 2017

Thanks @albetoetecnia anyway I will have a look.

@albetoetecnia
Copy link
Author

Ok @xenione, sometime is crashing with fragment...I can't reproduce with your sample.

If I see anything, I will get back to you

@albetoetecnia
Copy link
Author

Hi @xenione, Only occurs if the application goes to onStop state. The first time created works, but if the activity enter in onStop, if wake up again crash cropInLimits.

All data is null and initialize again the list, but it crash always

Any idea?

@albetoetecnia
Copy link
Author

albetoetecnia commented Mar 31, 2017

Hi @xenione reproduced on your example using compileSdkVersion 25

Here the build.gradle(Module: app)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"

    defaultConfig {
        applicationId "apps.xenione.com.swipelayout"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 111
        versionName "1.1.1"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:25.1.1'
    compile 'com.android.support:design:25.1.1'
    compile 'com.android.support:recyclerview-v7:25.1.1'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.jakewharton:butterknife:7.0.1'
    compile 'com.xenione.libs:swipe-maker:1.1.1'
    //compile project(':swipemaker')
}

@albetoetecnia
Copy link
Author

@xenione with compileSdkVersion 24 is not working.
Please, some way to fix it???

@xenione
Copy link
Owner

xenione commented Apr 12, 2017

I can t reproduce it. Test it compilling sdk version sdk 25 . Could you attach device info. Thanks

@albetoetecnia
Copy link
Author

Hi @xenione !!!

Nexus 5, Android 6.0.1

Set up more than 10 items to the list, change layout to Swing Swipe or other and try to scroll, 100% crash.

` public static List getAlbum() {

    return new ArrayList<Album>() {{
        add(new Album(1, "La Gossa Sorda", "Saó", 2008, R.drawable.disc_gossa_sorda_sao,
                "<b>La Gossa Sorda</b> és un grup musical de Pego (Marina Alta, País Valencià). La seua música té ritmes de Ska, Rock, Reggae i Punk amb la utilització de molts ritmes mediterranis i altres influències. Fan servir instruments com la dolçaina. Les seves lletres en valencià ataquen els fonaments del sistema, la injustícia de l\'ordre social i mundial actual, la lluita per salvar el País Valencià, el consumisme, la corrupció política, la crisi econòmica i l\'integrisme religiós."));
        add(new Album(2, "ZOO", "Tempestes vénen del sud", 2014, R.drawable.disc_zoo_tempestes,
                "<b>ZOO</b> és un col·lectiu musical valencià nascut el 2014 que se centra entre el rap, el hip-hop, el rock i ska però també mescla ritmes electrònics. Les lletres de les cançons són polítiques."));
        add(new Album(3, "Auxili", "Dolç Atac", 2013, R.drawable.disc_auxili_dolc,
                ""));
        add(new Album(4, "La Raíz", "Así en el cielo como en la selva", 2013, R.drawable.disc_raiz_asi_en,
                "<b>La Raíz</b> es un grupo de música de Gandía (Valencia)"));
        add(new Album(5, "Aspencat", "Essència", 2013, R.drawable.disc_aspencat_essencia,
                "<b>Aspencat</b> és un grup musical valencià, més concretament de Xaló, a la Marina Alta. El seu estil s\'ha basat en l\'ska, el reggae i el drum and bass, però en l\'actualitat ha avançat cap a uns ritmes més electrònics on es pot veure la presència del dubstep"));
        add(new Album(6, "Bajoqueta rock", "A Pèl ", 1998, R.drawable.disc_bajoqueta_apel,
                "<b>Bajoqueta Rock</b> és un grup de rock en valencià que es va formar l\'any 1988 a Riba-roja de Túria i que gaudix de molta popularitat al País Valencià per les seues actuacions excèntriques, les seues lletres rurals, un poc bèsties però sempre amb gran humor, i una gran varietat musical basada en el rock però que inclou tonades populars"));
        add(new Album(7, "Diluvi", "Motius", 2013, R.drawable.disc_diluvi_motius,
                "<b>El diluvi</b> universal és un mite recurrent a diverses cultures, que indica que una gran inundació va destruir tota la vida (o gairebé) en temps remots"));
        add(new Album(1, "La Gossa Sorda", "Saó", 2008, R.drawable.disc_gossa_sorda_sao,
                "<b>La Gossa Sorda</b> és un grup musical de Pego (Marina Alta, País Valencià). La seua música té ritmes de Ska, Rock, Reggae i Punk amb la utilització de molts ritmes mediterranis i altres influències. Fan servir instruments com la dolçaina. Les seves lletres en valencià ataquen els fonaments del sistema, la injustícia de l\'ordre social i mundial actual, la lluita per salvar el País Valencià, el consumisme, la corrupció política, la crisi econòmica i l\'integrisme religiós."));
        add(new Album(2, "ZOO", "Tempestes vénen del sud", 2014, R.drawable.disc_zoo_tempestes,
                "<b>ZOO</b> és un col·lectiu musical valencià nascut el 2014 que se centra entre el rap, el hip-hop, el rock i ska però també mescla ritmes electrònics. Les lletres de les cançons són polítiques."));
        add(new Album(3, "Auxili", "Dolç Atac", 2013, R.drawable.disc_auxili_dolc,
                ""));
        add(new Album(4, "La Raíz", "Así en el cielo como en la selva", 2013, R.drawable.disc_raiz_asi_en,
                "<b>La Raíz</b> es un grupo de música de Gandía (Valencia)"));
        add(new Album(5, "Aspencat", "Essència", 2013, R.drawable.disc_aspencat_essencia,
                "<b>Aspencat</b> és un grup musical valencià, més concretament de Xaló, a la Marina Alta. El seu estil s\'ha basat en l\'ska, el reggae i el drum and bass, però en l\'actualitat ha avançat cap a uns ritmes més electrònics on es pot veure la presència del dubstep"));
        add(new Album(6, "Bajoqueta rock", "A Pèl ", 1998, R.drawable.disc_bajoqueta_apel,
                "<b>Bajoqueta Rock</b> és un grup de rock en valencià que es va formar l\'any 1988 a Riba-roja de Túria i que gaudix de molta popularitat al País Valencià per les seues actuacions excèntriques, les seues lletres rurals, un poc bèsties però sempre amb gran humor, i una gran varietat musical basada en el rock però que inclou tonades populars"));
        add(new Album(7, "Diluvi", "Motius", 2013, R.drawable.disc_diluvi_motius,
                "<b>El diluvi</b> universal és un mite recurrent a diverses cultures, que indica que una gran inundació va destruir tota la vida (o gairebé) en temps remots"));
        add(new Album(1, "La Gossa Sorda", "Saó", 2008, R.drawable.disc_gossa_sorda_sao,
                "<b>La Gossa Sorda</b> és un grup musical de Pego (Marina Alta, País Valencià). La seua música té ritmes de Ska, Rock, Reggae i Punk amb la utilització de molts ritmes mediterranis i altres influències. Fan servir instruments com la dolçaina. Les seves lletres en valencià ataquen els fonaments del sistema, la injustícia de l\'ordre social i mundial actual, la lluita per salvar el País Valencià, el consumisme, la corrupció política, la crisi econòmica i l\'integrisme religiós."));
        add(new Album(2, "ZOO", "Tempestes vénen del sud", 2014, R.drawable.disc_zoo_tempestes,
                "<b>ZOO</b> és un col·lectiu musical valencià nascut el 2014 que se centra entre el rap, el hip-hop, el rock i ska però també mescla ritmes electrònics. Les lletres de les cançons són polítiques."));
        add(new Album(3, "Auxili", "Dolç Atac", 2013, R.drawable.disc_auxili_dolc,
                ""));
        add(new Album(4, "La Raíz", "Así en el cielo como en la selva", 2013, R.drawable.disc_raiz_asi_en,
                "<b>La Raíz</b> es un grupo de música de Gandía (Valencia)"));
        add(new Album(5, "Aspencat", "Essència", 2013, R.drawable.disc_aspencat_essencia,
                "<b>Aspencat</b> és un grup musical valencià, més concretament de Xaló, a la Marina Alta. El seu estil s\'ha basat en l\'ska, el reggae i el drum and bass, però en l\'actualitat ha avançat cap a uns ritmes més electrònics on es pot veure la presència del dubstep"));
        add(new Album(6, "Bajoqueta rock", "A Pèl ", 1998, R.drawable.disc_bajoqueta_apel,
                "<b>Bajoqueta Rock</b> és un grup de rock en valencià que es va formar l\'any 1988 a Riba-roja de Túria i que gaudix de molta popularitat al País Valencià per les seues actuacions excèntriques, les seues lletres rurals, un poc bèsties però sempre amb gran humor, i una gran varietat musical basada en el rock però que inclou tonades populars"));
        add(new Album(7, "Diluvi", "Motius", 2013, R.drawable.disc_diluvi_motius,
                "<b>El diluvi</b> universal és un mite recurrent a diverses cultures, que indica que una gran inundació va destruir tota la vida (o gairebé) en temps remots"));
    }};
}`

04-18 10:45:40.354 27861-27861/? E/AndroidRuntime: FATAL EXCEPTION: main Process: apps.xenione.com.swipelayout, PID: 27861 java.lang.NullPointerException: Attempt to invoke virtual method 'int com.xenione.libs.swipemaker.Anchors.cropInLimits(int)' on a null object reference at com.xenione.libs.swipemaker.Position.cropInLimits(Position.java:63) at com.xenione.libs.swipemaker.orientation.OrientationStrategy.ensureInsideBounds(OrientationStrategy.java:79) at com.xenione.libs.swipemaker.orientation.OrientationStrategy.translateTo(OrientationStrategy.java:58) at com.xenione.libs.swipemaker.SwipeLayout.translateTo(SwipeLayout.java:103) at com.xenione.libs.swipemaker.AbsCoordinatorLayout$1.run(AbsCoordinatorLayout.java:20) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

Regards!!!

@xenione
Copy link
Owner

xenione commented Apr 19, 2017

I can' t reproduce issue even if I try to reproduce scenario android version, device and grow the list up to 100 items, show more than 10 items per screen. the Issue is quite spooky. because anchors are proper initialize every time the layout is inflated.

@xenione xenione closed this as completed Apr 19, 2017
@albetoetecnia
Copy link
Author

For me is really easy to reproduce, I've only had changed versions of gradle and run the application
screen shot 2017-04-19 at 12 10 58

Video:
https://drive.google.com/open?id=0Byf4p4Su5JVwcGtFaWlDME1USS1WTjVEY1VtSk9mZnpGMmpR

@albetoetecnia
Copy link
Author

screen shot 2017-04-19 at 12 12 55

Better screenshot!

@albetoetecnia
Copy link
Author

And with this gradle your proyect works fine.

screen shot 2017-04-19 at 12 19 04

@xenione xenione reopened this Apr 19, 2017
@xenione
Copy link
Owner

xenione commented Apr 19, 2017

I got it!!!

@xenione
Copy link
Owner

xenione commented Apr 19, 2017

Thanks @albetoetecnia .
Finally I could reproduce and fix it.

Library will be update soon.
Issue:
Bugfix remove translation to initial position when inflate layout since it's not needed. upgrade sdk.

@xenione xenione closed this as completed Apr 19, 2017
@albetoetecnia
Copy link
Author

Great! @xenione

@albetoetecnia
Copy link
Author

@xenione can I update via gradle??

@xenione
Copy link
Owner

xenione commented Apr 19, 2017

apply changes into your local copy is already gradle updated

@xenione xenione added the bug label Jun 3, 2017
@ArchitShah248
Copy link

I am still having this crash.
Library version : 1.1.3

Gradle file:
compileSdkVersion 26
buildToolsVersion '26.0.2'
minSdkVersion 19
targetSdkVersion 26

swipe_issue

@xenione What would be the action to solve this crash?

@xenione
Copy link
Owner

xenione commented Nov 23, 2017

I think you dont't upgrade version ensureInsideBounds() is not on line 78 any more .

@ArchitShah248
Copy link

ArchitShah248 commented Nov 25, 2017

@xenione Can you please guide me which version I should use?
Currently, I am using 1.1.3 library from jcentre
compile 'com.xenione.libs:swipe-maker:1.1.3'

Is this the correct version or should I use github library and add it as module?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants