microg / microg/AppleWifiNlpBackend

locationCompatibleWithClass() too inclusive?

Open
#3 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
90
Forks
15
PR merge metrics
No merged PRs in 30d

Description

Because locationCompatibleWithClass() returns true if any AP currently in a class is close to the AP being checked, wifi APs spread out with spacing just under MAX_WIFI_RADIUS may result a set of APs that could be kilometers apart. Perhaps locationCompatibleWithClass() should only return true if the new location is within the desired radius of ALL the APs currently in the class rather than just one of them.

Not sure what combineClasses() is/was supposed to do but I suspect that if you create one class for every AP before actually doing the current work in divideInClasses that you would end up with one of the results being optimal. There would, of course, be many classes with duplicate members but selecting any one of the duplicates should not be an issue. Worst case with N APs would be N classes each with N members. I suspect that N is usually << 100, probably on the order of 10, so it should not be too big a memory or processing load.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating locationCompatibleWithClass() and divideInClasses(), then trace how combineClasses() is used. The issue proposes changing the compatibility rule and reconsidering class construction, but names no files or tests; done requires agreeing on the intended class semantics and validating them with regression coverage.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
backend, mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.