4.2.2 结果返回
结果返回和查询过程刚好相反,是一个不断的回调过程,入口为CallerInfoAsyncQueryHandler的onQueryComplete方法,调用流程图如下,
CallerInfoAsyncQueryHandler的onQueryComplete方法也会根据CookieWrapper对象的event不同情况分别处理,并且对最后的结果进行回调,
1,如果CookieWrapper对象的event是EVENT_EMERGENCY_NUMBER类型,
则直接调用CallerInfo的markAsEmergency方法将结果封装在CallerInfo对象中,
mCallerInfo = new CallerInfo().markAsEmergency(mQueryContext,cw.number);
2,如果CookieWrapper对象的event是EVENT_VOICEMAIL_NUMBER类型, 则直接调用CallerInfo的markAsVoiceMail方法将结果封装在CallerInfo对象中,
mCallerInfo = new CallerInfo().markAsVoiceMail(mQueryContext);
3, 对于其他类型, 则直接调用CallerInfo的getCallerInfo方法利用返回的Cursor对象将结果封装在CallerInfo对象中,
mCallerInfo = CallerInfo.getCallerInfo(mQueryContext, mQu