Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "android 8.1 too"
Just today I noticed how Android Oreo (8.1) on my Nexus 6P can actually see my Bluetooth headset's remaining battery capacity. I didn't even know that my headset could send out this information! Windows never presented this information to me, and neither did my tablet which runs Nougat 7.0. Apparently there's multiple implementations of that battery level reporting too.. so lack of support in Microsoft's driver makes sense. Especially given that the Bluetooth standard already counts several thousands of pages. Compare that to Wi-Fi which is far more complex (with - some of - its 7 OSI layers, 2.4GHz and 5GHz frequencies, MIMO etc) which counts only 400-ish pages. I'm surprised that Google actually supports this Bluetooth battery reporting at all.. implementing all the standards must've been quite the chore.
TL; DR: Bluetooth is an overengineered piece of shit, and is in dire need of refactoring.26
Disclaimer: This is not a Windows hate rant as this problem has been solved by Microsoft(partially).
I went to a hackathon last year at an engineering college. It was not such grand hackathon as people have in USA or Europe. So I entered in this competition trying to develop a medical app which asks the user detail about his/her problems then asks questions to match the symptoms of diseases. So me and a guy(who isn't a coder) tried to develop that app. He provided the data of diseases, I tried to develop kind of AI app with those data but found that job too hard for one day hackathon. So I wrote an email for api medic for their api which I was going to use. I then coded continuously for 4 hours in Android studio for the android app. The event manager told us late in the day that repo had been made for the hackathon and we must push our codes before 12 that night. The event manager provided the repo very late that day maybe around 6. I did a big mistake not creating my own repo on github to save every code I had written from time to time.(After this e vent whatever I code I save it in a repo). I was running Windows 10 on one of my laptop and ubuntu on my another. Due to some divine badluck I was using my Windows 10 laptop on that hackathon. So around maybe 10 I was about to wrap up the day push the code to repo. I went to getself a cup of coffee and returned to find lo and behold fucking BSOD. I was fucked, it was my first hackathon so made another misatake of using emulator rather than my android phone. My Android phone was not responding good that day so I used the android emulator.
From that day on I do three things:
1. Always push my projects to github repo.
2. Use android phone after running some minor tests on emulator.
3. Never use windows(Happy arch user till eternity.)
You might be thinking even though BSOD, it can be recovered. But didn't happen in my case, the windows revert back to the time I had just upgraded from Windows 8.1 to 10.5
Porting 8.1 to old device is really pain but thats nothing compared to whats to come.
Google annouced Project Treble and it does that vendor shit is on partition and init files are edited to make them load. Then you can run GSI (Generic System Image). When it was released all developers said that its impossible to bring support for it unofficialy. Then some guys on XDA ported it to Xiaomi phone. Great they proved almost entire XDA wrong. Great. Then few phones did the same. Amazing. Now almost any phone with good dev can be trebelized. Great. Well the device needs 400MB+ partition that is unused so that we can add vendor files there. Well its issue on my phone since i dont have that big unused partition. FUCK. Well i have 11.1GB Virtual SDcard partition. Hmmmm maybe i can resize that partition and create new partition of size 500MB to make it as vendor. OK great. Once thats solved then just copy them and done. WRONGGGGGGGGGGGGG. Its not that easy. First you need to make a script that places all device releated shit into vendor. OK thats easy. Then comes the hard part. Those vendor files have no fucking clue they are in not in system folder. So they start loading shit and ofcourse they will fail if they are not in system. Well most users think we are done thats its over. Its not. HEX editing comes to the rescue. You edit every single blob to make it compatible with vendor partition. OK after that hell pain you are almost done. Just edit init files and try GSI. It will probably fail to boot. Now you search logs for missing crap and slowly add that until it boots.
So this is ahead of me since i dont have 8.1 support yet. But once its done then im coming for you treble. Ohhhhhh how cool would it be to run android P on Xperia P ?
Sure you can skip treble porting but its better if you do it since it makes porting new android version soooooooo much easier.11