久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

Android RIL使用詳解

瀏覽:2日期:2022-09-23 11:06:23

前言

Android作為一個通用的移動平臺,其首要的功能就是通話、短信以及上網等通信功能。那么,從系統的角度來看,Android究竟是怎么實現與網絡的交互的了? 這篇文章里,就來看一看Android中負責通信功能的Telephony中間層,通常也被稱之為RIL(Radio Interface Layer)的具體實現原理與架構。

Android手機要實現與網絡端的通信,需要跨越兩個層:

RIL Java(RILJ):負責將上層APP的通信請求發送給HAL層;RIL C++(RILD): 系統守護進程,負責將RILJ的請求命令發送給CP(Communication Processor)

什么是RIL

簡單的說,RIL(Radio Interface Layer),就是將應用程序的通信請求發送給CP的中間層,其包括兩個部分,一個是Java層RILJ,一個是C++層(不妨看作是CP對應的HAL層)RILD。

RILJ屬于系統Phone進程的一部分,隨Phone進程啟動而加載;而RILD守護進程是通過Android的Init進程進行加載的。

RIL結構

下圖是一個Android RIL的一個結構圖。整個通信過程有四個層:

最上層的是應用程序,如通話,短信以及SIM卡管理,它們主要負責將用戶的指令發送到RIL Framework(以后統稱RILJ); RILJ為上層提供了通用的API,如TelephonyManager(包括通話,網絡狀態; SubscriptionManager(卡狀態)以及SmsManager等,同時RILJ還負責維持與RILD的通信,并將上層的請求發送給RILD; RILD是系統的守護進程,對于支持通話功能的移動平臺是必不可少的。RILD的功能主要功能是將RILJ發送過來的請求繼續傳遞給CP,同時會及時將CP的狀態變化發送給RILJ; Linux驅動層:kernel驅動層接受到數據后,將指令傳給CP,最后由CP發送給網絡端,等網絡返回結果后,CP將傳回給RILD;

Android RIL使用詳解

RILJ與RILD(RILD與CP的通信)都是通過一個個消息進行數據傳遞。消息主要分兩種:一種是RILJ主動發送的請求(solicited),常見的有RIL_REQUEST_GET_SIM_STATUS(獲取SIM卡狀態),RIL_REQUEST_DIAL(撥打電話),RIL_REQUEST_SEND_SMS(發送短信),RIL_REQUEST_GET_CURRENT_CALLS(獲取當前通話狀態),RIL_REQUEST_VOICE_REGISTRATION_STATE(獲取網絡狀態); 另一種則是從CP主動上報給RIL的消息(unsolicited),如網絡狀態發生變化時,CP會上報RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED,有新短信時,會上報RIL_UNSOL_RESPONSE_NEW_SMS,有來電時會上報RIL_UNSOL_CALL_RING。

RIL相關的請求命令與數據結構都定義在/android/hardware/ril/include/telephony/ril.h

在整個過程中,有幾個關鍵問題:

上層是如何得知RILJ狀態變化的; RILJ與RILD是怎么進行通信的? RILJD與CP又是如何進行通信的?

圍繞這三個問題點,我們來看一下具體的細節。

上層如何得知RILJ狀態變化

為方便上層實時監聽網絡狀態、通話狀態以及CP的狀態變化,RIL提供了一個專門的監聽接口IPhoneStateListener.aidl,上層需要監聽上述狀態變化時,只需要實現上述接口,并在Android系統服務TelephonyRegistry中對上述接口實現進行注冊:

public void listen(String pkgForDebug, IPhoneStateListener callback, int events, boolean notifyNow);

另外,也可以在TelephonyManager中對RIL狀態進行監聽:

public void listen(PhoneStateListener listener, int events)

源代碼:/android/frameworks/base/telephony/java/com/android/internal/telephony/IPhoneStateListener.aidl

oneway interface IPhoneStateListener { void onServiceStateChanged(in ServiceState serviceState); void onSignalStrengthChanged(int asu); void onMessageWaitingIndicatorChanged(boolean mwi); void onCallForwardingIndicatorChanged(boolean cfi); // we use bundle here instead of CellLocation so it can get the right subclass void onCellLocationChanged(in Bundle location); void onCallStateChanged(int state, String incomingNumber); void onDataConnectionStateChanged(int state, int networkType); void onDataActivity(int direction); void onSignalStrengthsChanged(in SignalStrength signalStrength); void onOtaspChanged(in int otaspMode); void onCellInfoChanged(in List<CellInfo> cellInfo); void onPreciseCallStateChanged(in PreciseCallState callState); void onPreciseDataConnectionStateChanged(in PreciseDataConnectionState dataConnectionState); void onDataConnectionRealTimeInfoChanged(in DataConnectionRealTimeInfo dcRtInfo); void onVoLteServiceStateChanged(in VoLteServiceState lteState); void onOemHookRawEvent(in byte[] rawData); void onCarrierNetworkChange(in boolean active); void onFdnUpdated(); void onVoiceRadioBearerHoStateChanged(int state); }

RILJ與RILD如何通信

RILJ在創建過程中,會啟動兩個線程:RILSender和RILReceiver,RILSender負責將指令發送給RILD,而RILReceiver則負責從讀取從RILD發送過來的數據。RILJ與RILD的通信通道就是在RILReceiver中建立起來的。

我們來看一看RILReciver的代碼:

class RILReceiver implements Runnable { byte[] buffer; RILReceiver() { ... @Override public void run() { int retryCount = 0; String rilSocket = 'rild'; // 嘗試與RILD建立連接 try {for (;;) { LocalSocket s = null; LocalSocketAddress l; if (mInstanceId == null || mInstanceId == 0 ) { rilSocket = SOCKET_NAME_RIL[0]; } else { rilSocket = SOCKET_NAME_RIL[mInstanceId]; } try { s = new LocalSocket(); l = new LocalSocketAddress(rilSocket, LocalSocketAddress.Namespace.RESERVED); s.connect(l); } catch (IOException ex){ ... // don’t print an error message after the the first time // or after the 8th time if (retryCount == 8) { Rlog.e (RILJ_LOG_TAG, 'Couldn’t find ’' + rilSocket + '’ socket after ' + retryCount + ' times, continuing to retry silently'); } else if (retryCount >= 0 && retryCount < 8) { Rlog.i (RILJ_LOG_TAG, 'Couldn’t find ’' + rilSocket + '’ socket; retrying after timeout'); } ... retryCount++; continue; } retryCount = 0; mSocket = s; // 從socket讀取數據 int length = 0; try { InputStream is = mSocket.getInputStream(); for (;;) { Parcel p; length = readRilMessage(is, buffer); if (length < 0) { // End-of-stream reached break; } p = Parcel.obtain(); p.unmarshall(buffer, 0, length); p.setDataPosition(0); processResponse(p); p.recycle(); } } catch (java.io.IOException ex) { Rlog.i(RILJ_LOG_TAG, '’' + rilSocket + '’ socket closed', ex); } catch (Throwable tr) { Rlog.e(RILJ_LOG_TAG, 'Uncaught exception read length=' + length + 'Exception:' + tr.toString()); } //無法讀取數據,將CP狀態設置為不可用 setRadioState (RadioState.RADIO_UNAVAILABLE); ... mSocket = null; RILRequest.resetSerial(); // Clear request list on close clearRequestList(RADIO_NOT_AVAILABLE, false); }} catch (Throwable tr) { Rlog.e(RILJ_LOG_TAG,'Uncaught exception', tr); } } }

RILReceiver啟動時,會建立一個UNIX Domain socket(LocalSocket,kernel層對應/dev/socket/rild),與RILD進行通信,然后一直從socket中讀取數據,并將數據傳給上層。連接成功后,RILD會發送一個消息給RILJ,表示連接成功了,這樣RILJ就可以將請求數據發送給RILD,進行通信了。

RILD與CP如何進行通信

RILD與CP(可以看做是兩個運行在不同CPU上的進程通信)交換數據方式一般有兩種情況。如果AP與CP集中在一個芯片上,如高通的平臺就是將AP與CP集中在一塊芯片上,這時通常采用共享內存的方式實現跨進程通信;而如果不是在同一塊芯片,而是AP與CP分別采用不同廠商的平臺,則一般采用字符設備(character devices) 進行通信。總的說來,共享內存的方式在速度上要優于字符設備。

接下來,主要介紹下RILJ部分的代碼結構。

RILJ代碼結構

RIL Framework (RILJ)的代碼按照功能來劃分的話,主要有以下幾個組成部分:

管理網絡狀態(信號強度,網絡注冊狀態等):ServiceStateTracker等; 通話管理(撥號,接聽,呼叫等待等):CallManager,GsmCallTracker等 SMS短信接收發送:InboundSMSHandler,SmsDispater等 SIM卡管理:UiccController,SubscriptionsController等 數據鏈接管理:DcTracker,DctController等 Telephony 大管家:PhoneBase,GsmPhone,PhoneProxy等

Android RIL使用詳解

以上代碼主要位于兩個目錄:

/android/frameworks/opt/telephony/(負責與RILD交互) /android/frameworks/base/telephony/(對上層提供接口)

下面,以撥打電話的流程作為示例看一看RIL是如何發揮作用的。

示例:CALL流程

下圖是一個MO(Mobile Originated) 通話流程簡圖:

Android RIL使用詳解

APP向TelecomManager發送撥號請求(關于TelecomManager可以參考另一篇文章Android Telecom系統服務); TelecomManager將通話請求發送給GsmPhone; GsmPhone繼續將指令傳遞給GsmCallTracker; GsmCallTracker調用RILJ,RILJ將通話請求發送給RILD; RILD接收到通話指令時,發送給CP; CP發送給網絡,MT(Mobile Terminal)收到通話后,告知網絡,由網絡將該信息傳遞給MO已將通話信息發送給MT了(就是手機發出嘟嘟聲音的時候):通話狀態由DIALING ?> ALERTING; RILD收到通話狀態變化的消息后,發送一個UNSOL_RESPONSE_CALL_STATE_CHANGED的消息給RILJ; RILJ通知GsmCallTracker通話狀態變化了; GsmCallTracker主動查詢CALL狀態:pollCallWhenSafe(),確保得到的信息是對的,沒有發生變化; RILJ給RILD發送getCurrentCalls()的請求; RILD獲取到CALL狀態后,上報給RILJ,再由RILJ返回結果給GsmCallTracker GsmCallTracker得到確定的CALL狀態后,通知GsmPhone:notifyPreciseCallStateChanged(); GsmPhone將CALL狀態變化的消息告知Telecom系統服務; 最后,Telecom系統服務發送CALL狀態變化的廣播給上層APP

到這一步后,通話并沒有開始,如果MT接聽了電話,則MO會收到CALL狀態變化的信息,然后,才真正開始建立通話鏈接。

到此這篇關于Android RIL使用詳解的文章就介紹到這了,更多相關Android RIL內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Android
相關文章:
主站蜘蛛池模板: v亚洲| 激情综合五月 | 久久免费精品 | 伊人久久艹 | 毛片aaa | 特级黄一级播放 | 成人精品一区二区三区中文字幕 | 日日操视频| 午夜精品久久久久久久久久久久 | 色性av| 国产高清精品一区二区三区 | av片免费看 | 欧美视频在线观看不卡 | 一区二区三区亚洲视频 | 涩涩久久 | 久久久av| av在线播放网址 | 亚洲啊v在线 | 国产高清一级毛片在线不卡 | 久久亚洲国产 | www.日韩.com | 一级片在线观看网站 | 九九99热 | 久久综合成人精品亚洲另类欧美 | 亚洲视频1区 | 亚洲精品在线视频观看 | 国产成人精品久久二区二区 | 国产精品免费观看 | 亚洲精品久久久久久久久久久久久 | 精品综合久久久 | 国产.com| 一区二区三区国产视频 | 日韩欧美国产一区二区 | 日本在线观看视频网站 | 天天插天天操天天干 | 日日操夜夜 | av免费网站在线观看 | 自拍视频在线播放 | 爱干视频 | 久久久久久久久久久久福利 | 成年人在线观看 | 一级视频在线免费观看 | 在线观看的av | 久久久久久亚洲精品视频 | 天天精品 | 99久久99热这里只有精品 | 中文字国产精久久无 | 国产精品欧美一区二区三区 | 亚洲精品久久久蜜臀 | 国产亚洲精品精品国产亚洲综合 | av中文字幕在线播放 | 麻豆精品一区二区 | 男人的天堂视频网站 | 国产成人精品久久二区二区 | 亚洲第一成年免费网站 | 成人午夜毛片 | 日韩6699人妻熟女毛片 | 成人欧美 | 国产一级免费视频 | 视频1区2区| 亚洲自拍偷拍精品 | 国产日韩欧美一二三区 | 毛片网站在线观看 | 国产1级片| 超碰一区 | 在线精品一区 | 欧美日韩六区 | 日韩午夜一级片 | 免费激情av| 四虎网址 | 国产成人精品免高潮在线观看 | aaaa网站| 欧美精品色 | 欧美精品国产精品 | 国产一区| 日韩国产高清在线 | 国产高清精 | 久久av资源 | 九九视频在线 | 男人久久天堂 | 久久这里只有精品首页 | 亚洲精品乱码久久久久久蜜桃不卡 | 成人高清网站 | 国内成人免费视频 | 天堂亚洲网 | 国产精品成人av | 在线观看91 | 久久国产99| 成人一级毛片 | 亚洲va欧美va天堂v国产综合 | 中文字幕二区三区 | 免费毛片一区二区三区久久久 | 欲色av| 成人免费在线观看 | 久久久久久久久免费视频 | jlzzjlzz国产精品久久 | 久久久人成影片一区二区三区 | 国产午夜精品久久久 | 久久久久成人精品 | 一区二区三区在线不卡 | 国产亚洲视频在线 | 国产高清一区二区三区 | 亚洲国产高清视频 | 欧美视频一级 | 亚洲免费观看视频 | 国产女人爽到高潮免费视频 | 精一区二区 | 亚洲永久免费观看 | 伊人激情影院 | 日韩精品 电影一区 亚洲 | av毛片| 在线成人www免费观看视频 | 天天干人人 | 夜夜精品视频 | 色8久久 | 欧美极品视频 | 国产成人精品免高潮在线观看 | www日本在线 | 国产精品高清在线观看 | 欧美色阁 | 欧美激情在线狂野欧美精品 | 韩国三级中文字幕hd久久精品 | 99国产精品99久久久久久 | 91视频在线网址 | 久久精品久久久久久久久久16 | 在线一区二区三区 | 欧美视频一级 | 一区二区三区精品视频免费看 | 日韩一片 | 午夜影院免费视频 | 亚洲免费在线 | 国产精品极品美女在线观看免费 | 日韩视频在线观看 | 国产精品久久一区 | 久久成人一区 | 日本一区二区三区四区不卡视频 | 日本精品一区二区三区视频 | 欧美日韩在线观看一区二区三区 | 欧美成人一区二区三区片免费 | 亚洲国产日韩a在线播放性色 | 在线观看免费黄色小视频 | 国产色| 久久高清精品 | 中文日韩在线 | 中文字幕视频在线免费 | 九九资源站| 亚洲97| 久久精品一区二区三区中文字幕 | 欧美在线视频一区二区 | 黄色一级毛片免费 | 精品久久久久久国产 | 欧美日韩在线视频一区 | 午夜免费福利影院 | av在线一区二区三区 | 日韩在线不卡 | 综合久草| 91精品视频在线播放 | 美国成人在线 | 日韩激情视频一区二区 | 午夜影皖 | 91超碰在线播放 | 久久久国产精品入口麻豆 | av免费黄色 | 欧美日韩一区在线观看 | 欧美成人精品在线视频 | 亚洲欧美精品 | 精品专区| 日韩一区二区三区在线视频 | 国产精品久久影院 | 国产精品无码永久免费888 | 日韩在线看片 | 亚洲国产精品免费 | 一级毛片一级毛片一级毛片 | 在线视频国产一区 | www.99精品 | 成人国产网站 | 亚州国产| 日韩欧美中文字幕在线视频 | 色女人的天堂 | 北条麻妃99精品青青久久 | 综合久久综合久久 | 亚洲中午字幕在线观看 | jlzzjlzz亚洲日本少妇 | 亚洲成人久久久 | 欧美成人精品一区二区 | 精品久久久一区 | 久草视频首页 | 亚洲国产精品久久久 | 久久久精品欧美一区二区免费 | av在线免费网址 | 国产精品久久久久国产a级 国产精品欧美一区二区三区不卡 | 一区视频在线 | 国产精品久久久久久久久久久久冷 | 日本一区二区成人 | 成人1区2区 | 欧美中文字幕一区 | 成人午夜精品 | 久久51| v888av成人| 天堂久久一区 | 中文字幕日韩欧美 | 国产免费看 | 国产精品1 | 亚洲视频一区二区三区四区 | 亚洲成人中文字幕 | 91亚洲国产成人久久精品网站 | 91麻豆精品国产91久久久资源速度 | 国产视频福利一区 | 男女黄网站 | 国产精品一卡二卡三卡 | 国产区一区 | 69黄在线看片免费视频 | 免费国产一区 | 欧美色综合一区二区三区 | 天堂视频中文字幕 | 黄色毛片在线观看 | 精品在线一区 | 蜜臀精品久久久久久蜜臀 | 91免费在线播放 | 国产99久 | 国产精品久久久久久影院8一贰佰 | 黄色地址 | 在线观看视频一区二区 | 一区二区视频免费 | 一区二区国产在线观看 | 国产99一区| 久久精品一二三四 | 91成人免费在线观看 | 欧美日韩一区二区三区在线电影 | 亚洲成人免费视频在线观看 | 日韩视频一区 | 黄色一级视频 | 日本精品免费在线观看 | 久久精品视频在线播放 | 国产精品国产精品国产专区不蜜 | caoporn免费在线视频 | 狠狠av| 黑人巨大精品欧美黑白配亚洲 | av在线免费观看一区二区 | 久草在线在线精品观看 | 天天操狠狠操网站 | 精品视频在线观看一区二区三区 | 伦理自拍| 国产精品久久 | 黄色片免费看 | 97久久久久久久久久久久 | 91资源在线观看 | 日韩爱爱视频 | 激情小网站 | 精品少妇一区二区三区 | 91久久久久久久久久久久久 | 国产午夜久久久久 | 99国产精品久久久久久久 | 可以在线观看的av网站 | 日韩在线一区二区 | 精品久久电影 | 亚欧毛片 | 日韩视频在线免费观看 | 欧美精品理论片大全 | 欧美在线观看网站 | 国产精品女同一区二区久久夜 | 嫩呦国产一区二区三区av | 亚洲精品亚洲人成人网 | 欧美福利一区二区三区 | 吊视频一区二区三区 | 免费三级电影网站 | 三区中文字幕 | 亚洲精品福利在线 | 国产精品视频免费看 | 日本三级黄色录像 | 国产一区二区三区在线视频 | 一区二区三区国产精品 | 国产成人av综合 | 亚洲成av人片一区二区三区 | 天天干天天草 | 视频一区二区三区在线播放 | 久久国产精彩视频 | 黄色一级网站 | 国产精品毛片无码 | 色吊丝2288sds中文字幕 | 香蕉视频成人在线观看 | 亚洲视频一区在线 | 成人欧美一区二区三区黑人孕妇 | 日韩一区二区在线观看 | 久久免费精品 | 日韩一区二区精品视频 | 亚洲国产精品99久久久久久久久 | 国产精品免费视频一区 | 一级全黄少妇性色生活片毛片 | 99热精品在线 | 国产精品大全 | 亚洲成人久久久 | 日韩欧美一区二区三区 | 久久青青 | av日韩在线看 | 精品人成 | 午夜影院免费版 | 九色av| 免费中文字幕日韩欧美 | 一区二区av在线 | 亚洲精品无 | 久久草草影视免费网 | 久久久久国产一级毛片高清版小说 | 精品日韩欧美一区二区三区在线播放 | 国产日韩欧美一区二区 | 美女中文字幕视频 | 狠狠色丁香婷婷综合 | 久久这里只有精品首页 | 成人天堂资源www在线 | 亚洲免费成人 | 精品久久久一区 | 99精品99| 国产高清视频在线 | 99免费在线视频 | 人人干天天干 | 狠狠ri| 亚洲精品久久久久久久久久久 | 91九色视频在线 | 免费久久99精品国产婷婷六月 | 午夜视频在线观看网站 | 欧美国产日韩视频 | 国产精品国产三级国产a | 中国一级免费毛片 | 久国产 | 日韩中文一区二区三区 | 亚洲a级| 久久精品免费电影 | 91原创视频在线观看 | 国产精品视频免费 | av网站网址| 久久生活片 | 亚洲欧美电影 | 欧美激情国产日韩精品一区18 | 日韩在线二区 | 欧美,日韩,国产精品免费观看 | 操操操操操操操 | 精品一二区 | 不卡中文一区 | 国产精品久久久久久福利一牛影视 | 中文字幕丝袜 | 国产一区二区在线看 | 一区二区三区影院 | 亚洲永久精品www | 成人av一区二区三区 | 国产一区二区三区在线视频 | 国产中文在线播放 | 国产噜噜噜噜噜久久久久久久久 | 欧美freesex交免费视频 | 岛国av免费观看 | 国产毛片一区二区 | 日本久久网 | 亚洲一区二区三区在线播放 | 亚洲男人天堂网 | 久久精品久久久久电影 | 成年人黄色一级片 | 91社影院在线观看 | 91精品国产综合久久婷婷香蕉 | 欧美亚洲视频在线观看 | 一区在线播放 | 精品亚洲国产成av人片传媒 | 二区视频 | 久久久久久影院 | 亚洲久草在线 | 日本1区2区 | 91成人黄色 | 成人黄色在线观看 | www久久久久 | 伊人伊人 | 久草热视频 | 国产精品久久久久久久岛一牛影视 | 91色爱 | 日韩在线观看视频免费 | 国产精品久久久久久久7电影 | 91精品国产乱码久久久久久久久 | 久久99精品久久久水蜜桃 | www.久久精品 | 国产精品久久久久久久久免费高清 | 91久久国产| 亚洲精品高清视频 | 99热这里有精品 | 国产精品极品美女在线观看免费 | 欧美日韩不卡在线 | 国产一区二区av | 这里只有精品在线视频观看 | 91在线视频一区 | 欧美日韩亚洲综合 | 久久一日本道色综合久久 | 久久久官网 | 爱爱视频网站 | 不卡视频一区 | 成人亚州 | 精品国内 | 亚色在线| 亚洲欧美日韩精品 | 日韩精品一区二区三区在线观看 | 在线播放中文字幕 | 91久久91久久精品免观看 | 欧美视频网站 | 日韩久久午夜一级啪啪 | 精品久久久久香蕉网 | 操人网址 | 国产高清在线a视频大全 | 美日一级毛片 | 欧美午夜一区二区三区免费大片 | 欧美日韩在线免费观看 | 久久久久久亚洲国产 | 欧美黄视频在线观看 | 开操网 | 亚洲国产精品自拍 | 日韩视频精品在线 | 国产精品久久久久久久浪潮网站 | 九九热这里只有精品6 | 精品久久久久久久久久 | 国产精品污www一区二区三区 | 依人久久 | 麻豆精品国产91久久久久久 | 国产毛片一区二区 | 国产精品久久久久一区二区三区 | 香蕉三级 | 91精品一区二区 | 制服 丝袜 激情 欧洲 亚洲 | 不卡的一区二区 | 欧洲妇女成人淫片aaa视频 | 国产精品国产三级国产aⅴ中文 | 亚洲激情第一页 | 国产二区视频 | 天天躁日日躁aaaaxxxx | 成人精品久久 | 精品第一页 | 蜜桃视频成人m3u8 | 日本a v在线播放 | 欧美激情视频一区二区三区 | 国产99精品在线 | 精品欧美日韩 | 国产成人精品一区二区三区视频 | 久久精彩视频 | 亚洲精品国产综合区久久久久久久 | 成人在线视频网址 | 狠狠狠色丁香婷婷综合久久五月 | 麻豆久久| 国产精品久久久久久久久污网站 | 日韩中文字幕一区二区高清99 | 久久伊人亚洲 | 嫩草视频在线观看免费 | 午夜一区二区三区 | 欧美在线视频播放 | 日韩一二三区 | 中文字幕一区二区三区精彩视频 | 成人一级片视频 | 91天堂 | 日韩成人小视频 | 在线观看91 | 成人精品久久久 | 日韩高清成人 | 亚洲精品v日韩精品 | 欧美日韩中文字幕 | 久久高清一区 | 国产高清精品一区二区三区 | 日韩性精品| 成人午夜视频在线观看 | 综合一区二区三区 | 天天操天天干天天 | 国产精品亚洲一区二区三区 | 中文字幕第一页在线 | 成人 在线| 欧美日韩福利 | 久久成人国产 | 91视频在线观看 | 免费成人在线网站 | 国产精品一二三区 | 91久久精品一区二区二区 | 成人免费xxx在线观看 | 狠狠躁夜夜躁人人爽天天天天97 | 午夜免费视频 | 国产一区中文字幕 | 亚洲精品久久久久久久久久久 | 欧美日韩国产一区 | 久久一区| 视频一区在线播放 | 日韩激情综合网 | 亚洲一区电影 | 亚洲欧美一区二区三区在线 | 一区二区三区在线播放 | 啊v在线| 国产亚洲精品久久久久久豆腐 | 欧美成人一区二区三区片免费 | 成人午夜在线观看 | 日本一二三区视频 | 九色视频网站 | 国产传媒毛片精品视频第一次 | 91在线精品一区二区 | 中文字幕一区在线 | 亚洲午夜精品久久久久久app | 四虎影院网站 | 欧美日韩不卡合集视频 | 国产精品一区欧美 | 人人干人人干人人 | 成人在线视频网址 | 黄色一级网站 | 日韩国产一区二区三区 | 日韩午夜免费 | 欧美一级二级视频 | 精品国产乱码久久久久久1区2区 | 天天干夜夜爽 | 午夜影院在线 | 国产视频二 | 国产一在线 | 涩涩操| 91精品国产综合久久久久久 | 伊人激情网 | 亚洲一区二区在线免费观看 | 国产一区二区在线视频观看 | 日韩精品一区二区三区老鸭窝 | 日韩精品在线一区 | 中文精品久久久 | 在线日韩视频 | 国产欧美精品一区二区三区四区 | 91精品久久久久久久久久小网站 | 欧美高清视频一区 | 奇米亚洲午夜久久精品 | 国产日韩欧美在线 | 亚洲欧美一区二区三区在线 | 97精品国产97久久久久久免费 | av网址在线播放 | 夜夜夜夜夜操 | 国产免费一区二区三区 | 伊人看片 | 亚洲成人av| 亚洲国产一区二区在线观看 | 国产亚洲一区二区三区在线 | 国产一区二区av | 成人精品 | 欧美自拍视频在线 | 成年人网站免费在线观看 | 成人妇女免费播放久久久 | 久久精品高清视频 | 狠狠操天天操 | 久久av资源网 | 国产超碰人人模人人爽人人添 | 成人在线免费视频 | 亚洲最大的黄色网 | 久久国产精品视频 | 亚洲高清网| 一区二区av| 色黄网站 | 欧美一二三区 | 婷婷在线视频 | 国产精品久久久久久久久 | 亚洲精品一区二区三区 | 欧美∨a| 国产毛片一区二区 | 在线观看国产www | 精品美女久久久 | 成人精品视频在线观看 | 91亚洲高清 | 日韩av电影网| 国产真实乱全部视频 | 国产精品178页 | 中文字幕一区二区三 | 一区二区三区免费在线观看 | 日本三级精品视频 | 亚洲伊人精品酒店 | 91婷婷射| 亚洲一级毛片 | 久久精品免费 | 亚洲女人天堂av | 国产91久久精品 | 99视频在线| 日韩精品一区二区三区四区视频 | 国产二区三区 | 久久精品国产亚洲精品 | 欧美一级片在线 | 亚洲一区精品视频 | 999久久久国产精品 欧美成人h版在线观看 | 欧美日韩国产中文 | 久久精品 | 久久99国产精品久久99大师 | 99re6在线视频精品免费 | 国产免费一区 | 亚洲成人在线观看视频 | 国产精品视频一二三区 | 天堂欧美城网站网址 | 97国产精品 | 日本不卡免费新一二三区 | 欧美在线综合视频 | 欧美激情视频一区二区三区在线播放 | 天天操夜夜操免费视频 | 久久综合久久久 | 亚洲精品一区二区三区蜜桃久 | 国产77777| 日韩一区二区在线视频 | 国产精品一区三区 | 91天天综合| 天天看天天做 | 日本久久精品视频 | 日韩精品 | 国产精品欧美一区二区三区 | 午夜精品久久久久久久 | 成人在线免费观看 | 欧美精品久久久 | 国产一区二区三区视频 | 欧美亚洲视频在线观看 | 古典武侠第一页久久777 | 国产精品国色综合久久 | 国产精选一区二区三区不卡催乳 | 日韩欧美国产精品 | a级黄色在线观看 | 视频一区在线观看 | 天天操天天插 | 91免费版在线看 | 国产一区亚洲二区三区 | 亚洲日韩欧美一区二区在线 | 欧美日韩在线看 | 日韩精品在线播放 | 国产在线一区二区三区 |