Fix a regression in assist when context is disabled

Fixes: 28293783
 CTS: DisableContextTest#testContextAndScreenshotOff failure

When assist context is disabled, make sure that the handleAssist() is
still called with no data.

Change-Id: I569dd9f6de503e62fb04c590214df0f2ce3aa4f3
This commit is contained in:
Amith Yamasani
2016-04-22 15:43:21 -07:00
parent d67a1ca49b
commit 50bbb66d60

View File

@@ -370,20 +370,28 @@ final class VoiceInteractionSessionConnection implements ServiceConnection {
}
if (mHaveAssistData) {
AssistDataForActivity assistData;
while (!mAssistData.isEmpty()) {
if (mPendingAssistDataCount <= 0) {
Slog.e(TAG, "mPendingAssistDataCount is " + mPendingAssistDataCount);
if (mAssistData.isEmpty()) {
// We're not actually going to get any data, deliver some nothing
try {
mSession.handleAssist(null, null, null, 0, 0);
} catch (RemoteException e) {
}
mPendingAssistDataCount--;
assistData = mAssistData.remove(0);
if (assistData.data == null) {
try {
mSession.handleAssist(null, null, null, assistData.activityIndex,
assistData.activityCount);
} catch (RemoteException e) {
} else {
while (!mAssistData.isEmpty()) {
if (mPendingAssistDataCount <= 0) {
Slog.e(TAG, "mPendingAssistDataCount is " + mPendingAssistDataCount);
}
mPendingAssistDataCount--;
assistData = mAssistData.remove(0);
if (assistData.data == null) {
try {
mSession.handleAssist(null, null, null, assistData.activityIndex,
assistData.activityCount);
} catch (RemoteException e) {
}
} else {
deliverSessionDataLocked(assistData);
}
} else {
deliverSessionDataLocked(assistData);
}
}
if (mPendingAssistDataCount <= 0) {