Revert "Revert "Refactor ProximityUpdateCallbackInternal to inte..."

Revert submission 19600381-revert-17936037-hotword_proximity-ZZIDPDULZP

Test: atest CtsVoiceInteractionTestCases, atest CtsVoiceInteractionTestCases:android.voiceinteraction.cts.AlwaysOnHotwordDetectorTest#testAlwaysOnHotwordDetector_startRecognitionWithData -- --abi x86_64
Reason for revert: Including the fix for broken tests
Reverted Changes:
Ibfc659015:Revert "Refactor ProximityUpdateCallbackInternal t...
I1a03c21d5:Revert "Verify that proximity key is added to the ...
I6b79d9400:Revert "Add proximity state to the HotwordDetected...

Change-Id: Iee6ab086ccc3f27b95ee601d6be11231f300170c
This commit is contained in:
Daniel Kim
2022-08-12 15:59:47 +00:00
committed by Daniel
parent e601349c0f
commit 6529080276
3 changed files with 11 additions and 14 deletions

View File

@@ -83,11 +83,11 @@ public abstract class AttentionManagerInternal {
} }
/** Internal interface for proximity callback. */ /** Internal interface for proximity callback. */
public abstract static class ProximityUpdateCallbackInternal { public interface ProximityUpdateCallbackInternal {
/** /**
* @param distance the estimated distance of the user (in meter) * @param distance the estimated distance of the user (in meter)
* The distance will be PROXIMITY_UNKNOWN if the proximity sensing was inconclusive. * The distance will be PROXIMITY_UNKNOWN if the proximity sensing was inconclusive.
*/ */
public abstract void onProximityUpdate(double distance); void onProximityUpdate(double distance);
} }
} }

View File

@@ -856,9 +856,6 @@ public class AttentionManagerService extends SystemService {
@GuardedBy("mLock") @GuardedBy("mLock")
private void cancelAndUnbindLocked() { private void cancelAndUnbindLocked() {
synchronized (mLock) { synchronized (mLock) {
if (mCurrentAttentionCheck == null && mCurrentProximityUpdate == null) {
return;
}
if (mCurrentAttentionCheck != null) { if (mCurrentAttentionCheck != null) {
cancel(); cancel();
} }
@@ -940,7 +937,7 @@ public class AttentionManagerService extends SystemService {
} }
} }
class TestableProximityUpdateCallbackInternal extends ProximityUpdateCallbackInternal { class TestableProximityUpdateCallbackInternal implements ProximityUpdateCallbackInternal {
private double mLastCallbackCode = PROXIMITY_UNKNOWN; private double mLastCallbackCode = PROXIMITY_UNKNOWN;
@Override @Override
@@ -1072,6 +1069,7 @@ public class AttentionManagerService extends SystemService {
private void resetStates() { private void resetStates() {
synchronized (mLock) { synchronized (mLock) {
mCurrentProximityUpdate = null; mCurrentProximityUpdate = null;
cancelAndUnbindLocked();
} }
mComponentName = resolveAttentionService(mContext); mComponentName = resolveAttentionService(mContext);
} }

View File

@@ -192,14 +192,7 @@ final class HotwordDetectionConnection {
@Nullable final AttentionManagerInternal mAttentionManagerInternal; @Nullable final AttentionManagerInternal mAttentionManagerInternal;
final AttentionManagerInternal.ProximityUpdateCallbackInternal mProximityCallbackInternal = final AttentionManagerInternal.ProximityUpdateCallbackInternal mProximityCallbackInternal =
new AttentionManagerInternal.ProximityUpdateCallbackInternal() { this::setProximityMeters;
@Override
public void onProximityUpdate(double distance) {
synchronized (mLock) {
mProximityMeters = distance;
}
}
};
volatile HotwordDetectionServiceIdentity mIdentity; volatile HotwordDetectionServiceIdentity mIdentity;
@@ -1194,6 +1187,12 @@ final class HotwordDetectionConnection {
} }
} }
private void setProximityMeters(double proximityMeters) {
synchronized (mLock) {
mProximityMeters = proximityMeters;
}
}
private static void bestEffortClose(Closeable... closeables) { private static void bestEffortClose(Closeable... closeables) {
for (Closeable closeable : closeables) { for (Closeable closeable : closeables) {
bestEffortClose(closeable); bestEffortClose(closeable);