in WifiRttScan/Application/src/main/java/com/example/android/wifirttscan/AccessPointRangingResultsActivity.java [272:332]
public void onRangingResults(@NonNull List<RangingResult> list) {
Log.d(TAG, "onRangingResults(): " + list);
// Because we are only requesting RangingResult for one access point (not multiple
// access points), this will only ever be one. (Use loops when requesting RangingResults
// for multiple access points.)
if (list.size() == 1) {
RangingResult rangingResult = list.get(0);
if (mMAC.equals(rangingResult.getMacAddress().toString())) {
if (rangingResult.getStatus() == RangingResult.STATUS_SUCCESS) {
mNumberOfSuccessfulRangeRequests++;
mRangeTextView.setText((rangingResult.getDistanceMm() / 1000f) + "");
addDistanceToHistory(rangingResult.getDistanceMm());
mRangeMeanTextView.setText((getDistanceMean() / 1000f) + "");
mRangeSDTextView.setText(
(rangingResult.getDistanceStdDevMm() / 1000f) + "");
addStandardDeviationOfDistanceToHistory(
rangingResult.getDistanceStdDevMm());
mRangeSDMeanTextView.setText(
(getStandardDeviationOfDistanceMean() / 1000f) + "");
mRssiTextView.setText(rangingResult.getRssi() + "");
mSuccessesInBurstTextView.setText(
rangingResult.getNumSuccessfulMeasurements()
+ "/"
+ rangingResult.getNumAttemptedMeasurements());
float successRatio =
((float) mNumberOfSuccessfulRangeRequests
/ (float) mNumberOfRangeRequests)
* 100;
mSuccessRatioTextView.setText(successRatio + "%");
mNumberOfRequestsTextView.setText(mNumberOfRangeRequests + "");
} else if (rangingResult.getStatus()
== RangingResult.STATUS_RESPONDER_DOES_NOT_SUPPORT_IEEE80211MC) {
Log.d(TAG, "RangingResult failed (AP doesn't support IEEE80211 MC.");
} else {
Log.d(TAG, "RangingResult failed.");
}
} else {
Toast.makeText(
getApplicationContext(),
R.string
.mac_mismatch_message_activity_access_point_ranging_results,
Toast.LENGTH_LONG)
.show();
}
}
queueNextRangingRequest();
}