[Android Apps and Games] evilwombat:
Okay. First things first. Who is feeling adventurous? I "think" I've rebased most of my patches onto a base Facebook APK from 7/25/2017 (4 days ago). This has obviously seen very limited testing, so I'm not ready to put it on the front page quite yet. I'll be testing this out on my phone over the coming week, and (a) tweaking things, and (b) seeing if there's new crap introduced that we want to nuke also. But if someone wants to try this out, here's a link:

https://www.dropbox.com/s/13ilugtdzebnzk1/facebook-lc-v8.1.apk

Let me know what you think! I'll be testing in parallel also.

This version does NOT have the "top stories" vs "most recent" feed types swapped. This "sort of" worked in a prior version, but I need to play with this more to be able to confidently push the change. On top of that, (a) I'm not sure how many users prefer "most recent" stories by default, (b) swapping the feeds causes "most recent" (now "top stories") to not re-rank on refresh (but the main news feed still re-ranks fine), and (c) the "most recent" stories aren't 100% most "recent" and still have "some" other ranking applied also. Though from the timestamps, I THINK they look like they're more recent than they were before the patch. But, I'll have to get back to that (and the marketplace tab, and "Featured for You" crap on Pages) a bit later.

From now on, I think I'll start naming the versions a little differently. The major version will be based on updates to the base APK, and the minor version will be the version of the patches. So the next release will be v8.2, v8.3, and so on, and hopefully v9.1 in another two months (unless, again, FB changes something big).

It has unfortunately been difficult to respond to every comment. Mainly, I have quite a bit of work to do at my day job. I really do appreciate all the user comments and feedback, since it's awesome to see people using my little project, and to reduce the burden of, well, crap they have to deal with. I DO read all the comments, and I do try to incorporate new features / suggestions as I am able, and depending on how deep the changes would be. But this is a big application with lots of anonymous classes, so it's really tough for one person to track down what's what and what's where, especially without sources, and especially with having a limited knowledge of high-level Android design patterns. On top of that, this week has been particularly crazy, because I've been: 1. sick as a dog (though not as bad as yesterday), 2. living at a friend's house to watch his dog, 3. moving to a different friend's house to watch HIS dog for the next week (he's being a good boy, but it's still, like, responsibility, man!), 4. busy with a bunch of stuff at my actual job, and deciding if I need to get myself fired or not, 5. rebasing my changes on top of a more recent base APK, because the earlier version has started to get pretty naggy about being out of date.

As far as renaming the APKs, I've tried it myself (by renaming com.facebook.katana in the manifest and in the DEX files to something else) but all I get is a force-close error. Then I heard that the JAVA package name doesn't necessarily have to match the ANDROID package name (is that really true??). So, I tried to use ApkRename (on github) to generate a renamed APK and to see if things would install. Unfortunately, when I try this, I get an error of INSTALL_FAILED_CONFLICTING_PROVIDER. I am not really an Android developer so I'm not exactly sure what this means, but my guess is that this happens because Facebook doesn't just use system resources, but it also exports resources for other apps to use, and these "providers" must also have unique names. I feel "weird" renaming the providers inside the manifest, because these somehow must be tied to the code that uses them (or you'd think so, right?) and that's where we get back to the problem of having to rename things within the DEX files (which hasn't worked in the past). If someone who knows more about provider-related stuff, please feel free to provide any insight or advise you may have, and I'll see what I can do. For what it's worth, a rooted phone is NOT required - you need to mess with package names only IF your phone comes with Facebook as a factory app, which you cannot otherwise uninstall. This is the reality of bundled applications, and as much as I would love to solve this problem, I am currently mainly focusing on just getting the patches up to date, and I wish I had more in-depth knowledge of Android internal structure to see how to better go about this renaming stuff. I'm more of an embedded systems guy, so this high-level stuff comes with a learning curve.

If someone has luck with "APK Editor", please let me know as well. For some reason, mine won't even let me rename the package (the "package name" field is grayed out). You would want to rename "com.facebook.katana" to something else.

But anyway, I have to run along. I would stay up longer and continue with the stuff, but regardless of how late I go to sleep, the dog is going to wake up early and want to be walked. So, I will have to get back to this tomorrow...

As always, good luck and have fun, and let me know how well the above version works :)