@@ -329,6 +329,20 @@ protected void beforeHookedMethod(XC_MethodHook.MethodHookParam param) throws Th
329329 param .setResult (FAKE_XPOSED_VERSION );
330330 }
331331 });
332+ if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .O ) {
333+ // fix bug on Android O: https://github.com/emilsjolander/StickyListHeaders/issues/477
334+ Class <?> stickyListHeadersClass = XposedHelpers .findClass ("se.emilsjolander.stickylistheaders.StickyListHeadersListView" , appClassLoader );
335+ DexposedBridge .findAndHookMethod (stickyListHeadersClass , "onSaveInstanceState" , new XC_MethodHook () {
336+ @ Override
337+ protected void beforeHookedMethod (MethodHookParam param ) throws Throwable {
338+ super .beforeHookedMethod (param );
339+ param .setResult (AbsSavedState .EMPTY_STATE );
340+ Field mPrivateFlags = XposedHelpers .findField (View .class , "mPrivateFlags" );
341+ int flags = mPrivateFlags .getInt (param .thisObject );
342+ mPrivateFlags .set (param .thisObject , flags | 0x00020000 );
343+ }
344+ });
345+ }
332346 } catch (Throwable ignored ) {
333347 // only support 3.1.5 and above.
334348 try {
@@ -361,18 +375,7 @@ protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
361375 }
362376 });
363377
364- // fix bug on Android O: https://github.com/emilsjolander/StickyListHeaders/issues/477
365- Class <?> stickyListHeadersClass = XposedHelpers .findClass ("se.emilsjolander.stickylistheaders.StickyListHeadersListView" , appClassLoader );
366- DexposedBridge .findAndHookMethod (stickyListHeadersClass , "onSaveInstanceState" , new XC_MethodHook () {
367- @ Override
368- protected void beforeHookedMethod (MethodHookParam param ) throws Throwable {
369- super .beforeHookedMethod (param );
370- param .setResult (AbsSavedState .EMPTY_STATE );
371- Field mPrivateFlags = XposedHelpers .findField (View .class , "mPrivateFlags" );
372- int flags = mPrivateFlags .getInt (param .thisObject );
373- mPrivateFlags .set (param .thisObject , flags | 0x00020000 );
374- }
375- });
378+
376379 }
377380
378381
0 commit comments