I wanted to update my old tablet, a Samsung Tab 2, to a more recent version of Cyanogenmod as it was beginning to act up a little. But now that Cyanogenmod is officially dead, the new overlord of Android ROMs is Lineage OS and that's what I installed. All went well and the tablet, now running Marshmallow, was stable and running smoothly. However, there were a couple of glitches.
One was that the Home button (the circle) was not working. And two, I couldn't slide down the notification panel from the status bar all the way. None of the notifications were showing up in the status bar as well as the lock screen.
So, Googling and IRC-ing a bit led me to a potential answer. The reason why these features were not working was because the OS was under the impression that the initial setup wizard for the phone had not run its course. In other words, during the setup wizard that runs as soon as you boot up the device for the first time, the notification panel and home button are intentionally disabled to ensure that the phone is set up with the basics. In my case, even though the setup wizard had been completed, something was telling Android that this was not the case.
This issue cropped up because custom ROMs like Cyanogenmod come with their own setup wizard. And both CM and Google disable the Home button and notifications during their wizards. However, what had happened in my case was that, for some reason (probably because I'd installed OpenGapps), the wizard chosen at boot-up was Google's and not, as expected, Cyanogenmod's. This meant that Cyanogenmod was still expecting some sort of signal from the wizard stating that initial setup had been completed. And because I'd only run Google's wizard, this signal was never sent.
To cut to the chase, the fix for this issue is to send this signal. This is done by setting a flag on the device. To do this,
- You need to have adb running and connected to your device (which needs to be fully on). You will also need to have root access (although I'm not sure about this).
- You should then run the following command in the adb shell to set the flag:
su -c 'settings --cm put secure cm_setup_wizard_completed 1'
The issue should be immediately resolved. I should note here that since it's early days yet, many of the cyanogenmod features have not been rebranded to LineageOS. If your issue is not with Cyanogenmod, then consider debugging this issue using some of the commands in this answer.
Hope this helps!