code: public int matchScore(AndroidModel otherModel) {
          int score = 0;
          if (this.mManufacturer.equalsIgnoreCase(otherModel.mManufacturer)) {
              score = 1;
          }
          if (score ==1 && this.mModel.equals(otherModel.mModel)) {
              score = 2;
          }
          if (score == 2 && this.mBuildNumber.equals(otherModel.mBuildNumber)) {
              score = 3;
          }
          if (score == 3 && this.mVersion.equals(otherModel.mVersion)) {
              score = 4;
          }
          LogManager.d(TAG, "Score is %s for %s compared to %s", score, toString(), otherModel);
          return score;
      }
docs: Calculates a qualitative match score between two different Android device models for the
  purposes of how likely they are to have similar Bluetooth signal level responses
  @param otherModel
  @return match quality, higher numbers are a better match