4 ms·
They can just lie to the old apps. Tell them they're getting the full list when the API is called.
by MiddleEndian 6y ago
They can just lie to the old apps. Tell them they're getting the full list when the API is called.
- LeifCarrotson 6y ago"Yep, this user has exactly one contact, and gee, it happens to be the one they're calling now, how fortuitous! They had a different single contact yesterday, but apparently they've deleted that one and added this one."
- MiddleEndian 6y agoIf the devs update the code to respond to fake entries, then the program is no longer out of date and thus no longer in need of backwards compatibility.
- lucb1e 6y agoPrivacy Guard in Cyanogenmod used to do this I think, at least to fake the list to be empty. It somehow still broke a tiny number of apps (unintentionally, i.e. the app owners didn't purposefully add code to annoy those users) so there seems to have been some flaw between 'empty list with permission granted' and 'empty list with permission not granted'. Regardless, I'm not sure why this didn't become mainline Android aside from that it would come with no benefits to the main developer of Android.
- MiddleEndian 6y agoFor backwards compatibility, they could just put in some nonsense entries. If the program can figure out those entries are nonsense, it's no longer out of date and it's on them. Why they didn't do this by default is anyone's guess. Maybe they like app devs more than users. More technology should lie on users' behalf.
- lucb1e 6y agoSure sure, I was just saying that this sort of thing already existed in the past (in Cyanogenmod, and that it worked well for 99% of apps even without providing wrong data) but other vendors or even mainline Android never picked it up unfortunately.
- viraptor 6y agoWhat if the app caches some (or fragments of) entries for some good reason? If you're unaware you're getting only one requested contact each time you may be triggering edge case behaviour. What if you have reasonable time-out behaviour which triggers each time now while user chooses which contact to expose to the app? What if the contract list is polled in the background, or when you receive a message to match it up with the right source?