|
|
|
@@ -153,7 +153,7 @@ public class FaceChatGreetingQueueMode implements ChatMode { |
|
|
|
if (MainActivity.instance != null) { |
|
|
|
MainActivity.instance.updatePersonInScreen(); |
|
|
|
} |
|
|
|
//LogUtils.e("testtrack", " after filter mPersonsInScreen " + mPersonsInScreen.size() + "mUndeterminedPersonsInScreen " + mUndeterminedPersonsInScreen.size()); |
|
|
|
LogUtils.e("testtrack", " after filter mPersonsInScreen " + mPersonsInScreen.size() + "mUndeterminedPersonsInScreen " + mUndeterminedPersonsInScreen.size()); |
|
|
|
confirmCurrentPerson(); |
|
|
|
if (FaceManager.getInstance().isIntroduceVisitor()) { |
|
|
|
PersonInfo person = null; |
|
|
|
@@ -517,13 +517,13 @@ public class FaceChatGreetingQueueMode implements ChatMode { |
|
|
|
if (mUndeterminedPersonsInScreen.size() > 0) { |
|
|
|
//选择未确定脸大的人 |
|
|
|
mSelectPerson = selectUnknownMaxFacePerson(mUndeterminedPersonsInScreen); |
|
|
|
//LogUtils.e("testtrack", " after selectUnknownMaxFacePerson " + mSelectPerson); |
|
|
|
LogUtils.e("testtrack", " after selectUnknownMaxFacePerson " + mSelectPerson); |
|
|
|
|
|
|
|
sendMsgAndLog(); |
|
|
|
} |
|
|
|
} else { |
|
|
|
mSelectPerson = selectKnownMaxTagAndFacePerson(); |
|
|
|
//LogUtils.e("testtrack", " after selectKnownMaxTagAndFacePerson " + mSelectPerson); |
|
|
|
LogUtils.e("testtrack", " after selectKnownMaxTagAndFacePerson " + mSelectPerson); |
|
|
|
sendMsgAndLog(); |
|
|
|
} |
|
|
|
return; |
|
|
|
@@ -537,6 +537,8 @@ public class FaceChatGreetingQueueMode implements ChatMode { |
|
|
|
HashSet<PersonInfo> candidatesKnown = new HashSet<>(); |
|
|
|
HashSet<PersonInfo> candidatesUnknown = new HashSet<>(); |
|
|
|
|
|
|
|
LogUtils.e("testtrack", " mSelectPerson.faceWidth " + mSelectPerson.faceWidth + " mSelectPerson.level " + mSelectPerson.level); |
|
|
|
|
|
|
|
pInfos.forEach(new Consumer<PersonInfo>() { |
|
|
|
@Override |
|
|
|
public void accept(PersonInfo personInfo) { |
|
|
|
@@ -544,18 +546,19 @@ public class FaceChatGreetingQueueMode implements ChatMode { |
|
|
|
candidatesUnknown.add(personInfo); |
|
|
|
} else { |
|
|
|
candidatesKnown.add(personInfo); |
|
|
|
LogUtils.e("testtrack", " after candidatesKnown " + personInfo); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
if (candidatesKnown.size() == 0) { |
|
|
|
if (candidatesUnknown.size() > 0) { |
|
|
|
if (candidatesUnknown.size() > 0 && mSelectPerson.isStranger()) { |
|
|
|
mSelectPerson = selectUnknownMaxFacePerson(candidatesUnknown); |
|
|
|
} |
|
|
|
} else { |
|
|
|
int maxTag = selectPersonMaxTag(candidatesKnown); |
|
|
|
mSelectPerson = filterHighLevelAndMaxFacePerson(candidatesKnown, maxTag); |
|
|
|
//LogUtils.e("testtrack", " after filterHighLevelAndMaxFacePerson " + mSelectPerson); |
|
|
|
LogUtils.e("testtrack", " after filterHighLevelAndMaxFacePerson " + mSelectPerson); |
|
|
|
} |
|
|
|
|
|
|
|
sendMsgAndLog(); |
|
|
|
@@ -576,7 +579,7 @@ public class FaceChatGreetingQueueMode implements ChatMode { |
|
|
|
List<PersonInfo> candidates = new ArrayList<>(); |
|
|
|
long time = System.currentTimeMillis(); |
|
|
|
mPersonsInScreen.forEach((value) -> { |
|
|
|
if (value.faceWidth - faceSize > FACE_DIFF || value.level > level) { |
|
|
|
if (value.faceWidth - faceSize > FACE_DIFF || value.level < level) { |
|
|
|
Optional<PersonInfo> pInfo = mCandidates.stream().filter(item -> item.id.equals(value.id)).findFirst(); |
|
|
|
if (pInfo.isPresent()) { |
|
|
|
value.candidateTime = pInfo.get().candidateTime; |
|
|
|
@@ -599,6 +602,7 @@ public class FaceChatGreetingQueueMode implements ChatMode { |
|
|
|
}); |
|
|
|
mCandidates.clear(); |
|
|
|
mCandidates = candidates; |
|
|
|
LogUtils.e("testtrack", " selectCandidate level " + level + " mCandidates " + mCandidates.size()); |
|
|
|
} |
|
|
|
|
|
|
|
private static int selectPersonMaxTag(HashSet<PersonInfo> persons) { |
|
|
|
@@ -607,6 +611,7 @@ public class FaceChatGreetingQueueMode implements ChatMode { |
|
|
|
int mTag = value.level; |
|
|
|
if (mTag < maxTag.get()) { |
|
|
|
maxTag.set(mTag); |
|
|
|
LogUtils.e("testtrack", " selectPersonMaxTag maxtag " + mTag); |
|
|
|
} |
|
|
|
}); |
|
|
|
return maxTag.get(); |
|
|
|
@@ -742,7 +747,7 @@ public class FaceChatGreetingQueueMode implements ChatMode { |
|
|
|
String sendingMsg = obj.toString(); |
|
|
|
|
|
|
|
StringBuilder builder = new StringBuilder(); |
|
|
|
builder.append("greet-").append("打招呼: ").append(message.name).append(" 类型: ") |
|
|
|
builder.append("greet-").append("操作人: ").append(message.name).append(" 类型: ") |
|
|
|
.append(message.tag).append(" 当前所有人:").append(all); |
|
|
|
Logger.e(builder.toString()); |
|
|
|
MessageUtils.sendMessage(sendingMsg, type); |
|
|
|
|