Loading core/java/android/service/voice/VoiceInteractionSession.java +6 −1 Original line number Diff line number Diff line Loading @@ -650,7 +650,7 @@ public class VoiceInteractionSession implements KeyEvent.Callback, ComponentCall class MyCallbacks implements HandlerCaller.Callback, SoftInputWindow.Callback { @Override public void executeMessage(Message msg) { SomeArgs args; SomeArgs args = null; switch (msg.what) { case MSG_START_CONFIRMATION: if (DEBUG) Log.d(TAG, "onConfirm: req=" + msg.obj); Loading @@ -676,6 +676,8 @@ public class VoiceInteractionSession implements KeyEvent.Callback, ComponentCall args = (SomeArgs)msg.obj; if (DEBUG) Log.d(TAG, "onGetSupportedCommands: cmds=" + args.arg1); args.arg1 = onGetSupportedCommands((String[]) args.arg1); args.complete(); args = null; break; case MSG_CANCEL: if (DEBUG) Log.d(TAG, "onCancel: req=" + ((Request)msg.obj)); Loading Loading @@ -723,6 +725,9 @@ public class VoiceInteractionSession implements KeyEvent.Callback, ComponentCall doHide(); break; } if (args != null) { args.recycle(); } } @Override Loading core/java/com/android/internal/os/SomeArgs.java +10 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,16 @@ public final class SomeArgs { } } public void complete() { synchronized (this) { if (mWaitState != WAIT_WAITING) { throw new IllegalStateException("Not waiting"); } mWaitState = WAIT_FINISHED; notifyAll(); } } public void recycle() { if (mInPool) { throw new IllegalStateException("Already recycled."); Loading tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java +8 −0 Original line number Diff line number Diff line Loading @@ -103,6 +103,14 @@ public class TestInteractionActivity extends Activity implements View.OnClickLis } }; mInteractor.submitRequest(mCurrentRequest, REQUEST_CONFIRM); String[] cmds = new String[] { "com.android.test.voiceinteraction.COMMAND", "com.example.foo.bar" }; boolean sup[] = mInteractor.supportsCommands(cmds); for (int i=0; i<cmds.length; i++) { mLog.append(cmds[i] + ": " + (sup[i] ? "SUPPORTED" : "NOT SUPPORTED") + "\n"); } } else { Log.i(TAG, "Restarting with active confirmation: " + mCurrentRequest); } Loading Loading
core/java/android/service/voice/VoiceInteractionSession.java +6 −1 Original line number Diff line number Diff line Loading @@ -650,7 +650,7 @@ public class VoiceInteractionSession implements KeyEvent.Callback, ComponentCall class MyCallbacks implements HandlerCaller.Callback, SoftInputWindow.Callback { @Override public void executeMessage(Message msg) { SomeArgs args; SomeArgs args = null; switch (msg.what) { case MSG_START_CONFIRMATION: if (DEBUG) Log.d(TAG, "onConfirm: req=" + msg.obj); Loading @@ -676,6 +676,8 @@ public class VoiceInteractionSession implements KeyEvent.Callback, ComponentCall args = (SomeArgs)msg.obj; if (DEBUG) Log.d(TAG, "onGetSupportedCommands: cmds=" + args.arg1); args.arg1 = onGetSupportedCommands((String[]) args.arg1); args.complete(); args = null; break; case MSG_CANCEL: if (DEBUG) Log.d(TAG, "onCancel: req=" + ((Request)msg.obj)); Loading Loading @@ -723,6 +725,9 @@ public class VoiceInteractionSession implements KeyEvent.Callback, ComponentCall doHide(); break; } if (args != null) { args.recycle(); } } @Override Loading
core/java/com/android/internal/os/SomeArgs.java +10 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,16 @@ public final class SomeArgs { } } public void complete() { synchronized (this) { if (mWaitState != WAIT_WAITING) { throw new IllegalStateException("Not waiting"); } mWaitState = WAIT_FINISHED; notifyAll(); } } public void recycle() { if (mInPool) { throw new IllegalStateException("Already recycled."); Loading
tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java +8 −0 Original line number Diff line number Diff line Loading @@ -103,6 +103,14 @@ public class TestInteractionActivity extends Activity implements View.OnClickLis } }; mInteractor.submitRequest(mCurrentRequest, REQUEST_CONFIRM); String[] cmds = new String[] { "com.android.test.voiceinteraction.COMMAND", "com.example.foo.bar" }; boolean sup[] = mInteractor.supportsCommands(cmds); for (int i=0; i<cmds.length; i++) { mLog.append(cmds[i] + ": " + (sup[i] ? "SUPPORTED" : "NOT SUPPORTED") + "\n"); } } else { Log.i(TAG, "Restarting with active confirmation: " + mCurrentRequest); } Loading