原创不得转载,你转载了请别去掉我的名字:W歹匕示申W
否则举报你思想强奸!
1:搜索菜单按钮:
---- search_shortcut_make_video_call Matches (155 in 155 files) ----DialerPhoneNumberListAdapter.java (y:\linux\android\packages\apps\dialer\src\com\android\dialer\list): text = resources.getString(R.string.search_shortcut_make_video_call);
Strings.xml (y:\linux\android\packages\apps\dialer\res\values): <string name="search_shortcut_make_video_call">Make video call</string>
查看菜单功能:
case SHORTCUT_MAKE_VIDEO_CALL:
text = resources.getString(R.string.search_shortcut_make_video_call);
drawableId = R.drawable.ic_videocam;
break;
2:搜索SHORTCUT_MAKE_VIDEO_CALL调用
---- SHORTCUT_MAKE_VIDEO_CALL Matches (5 in 4 files) ----
SearchFragment.java (y:\linux\android\packages\apps\dialer\src\com\android\dialer\list): case DialerPhoneNumberListAdapter.SHORTCUT_MAKE_VIDEO_CALL:
搜索号码获取:
case DialerPhoneNumberListAdapter.SHORTCUT_MAKE_VIDEO_CALL:
number = TextUtils.isEmpty(mAddToContactNumber) ?
adapter.getQueryString() : mAddToContactNumber;
listener = getOnPhoneNumberPickerListener();
if (listener != null && !checkForProhibitedPhoneNumber(number)) {
listener.onCallNumberDirectly(number, true /* isVideoCall */);
}
break;
2.1:查看mAddToContactNumber:
public void setAddToContactNumber(String addToContactNumber) {
mAddToContactNumber = addToContactNumber;
}
搜索setAddToContactNumber:
@Override
public void onDialpadQueryChanged(String query) {
if (mSmartDialSearchFragment != null) {
mSmartDialSearchFragment.setAddToContactNumber(query);
}
搜索onDialpadQueryChanged调用:
public interface OnDialpadQueryChangedListener {
void onDialpadQueryChanged(String query);
}
搜索接口:OnDialpadQueryChangedListener
private OnDialpadQueryChangedListener mDialpadQueryListener;
搜索mDialpadQueryListener
if (mDialpadQueryListener != null) {
mDialpadQueryListener.onDialpadQueryChanged(mDigits.getText().toString());----拨号号码获取
}
本文件搜索mDigits
2.2 :查看getOnPhoneNumberPickerListener:
---- getOnPhoneNumberPickerListener Matches (3 in 2 files) ----
PhoneNumberPickerFragment.java (y:\linux\android\packages\apps\contactscommon\src\com\android\contacts\common\list): public OnPhoneNumberPickerActionListener getOnPhoneNumberPickerListener() {
public OnPhoneNumberPickerActionListener getOnPhoneNumberPickerListener() {
return mListener;
}
查看OnPhoneNumberPickerActionListener监听器
/**
* Calls the specified phone number audio call.
*/
void onCallNumberDirectly(String phoneNumber);
搜索onCallNumberDirectly
DialtactsActivity.java (y:\linux\android\packages\apps\dialer\src\com\android\dialer): public void onCallNumberDirectly(String phoneNumber) {
@Override
public void onCallNumberDirectly(String phoneNumber) {
onCallNumberDirectly(phoneNumber, false /* isVideoCall */);
}
本文搜索onCallNumberDirectly
@Override
public void onCallNumberDirectly(String phoneNumber, boolean isVideoCall) {----------拨打视频电话,仔细分析判断