日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android View系列(二):事件分发机制源码解析

發布時間:2023/11/30 Android 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android View系列(二):事件分发机制源码解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

在介紹點擊事件規則之前,我們需要知道我們分析的是MotionEvent,即點擊事件,所謂的事件分發就是對MotionEvent事件的分發過程,即當一個MotionEvent生成以后,系統需要把這個事件傳遞給具體的View,而這個傳遞過程就是分發過程,MotionEvent我們上節已經介紹過

事件分發主要涉及以下幾個方法:

  • dispatchTouchEvent:用來進行事件的分發,如果事件可以傳遞到當前View那么此方法一定會被調用,返回結果受當前View的onTouchEvent和子View的dispatchTouchEvent方法影響,表示是否消耗當前事件
  • onInterceptTouchEvent:在上個方法內部調用,用來判斷是否攔截事件,如果當前View攔截了事件,那么在同一時間序列內,此方法不會再次被調用,返回結果表示是否攔截事件
  • onTouchEvent:在dispatchTouchEvent方法中調用,用于事件的處理,返回值表示是否消耗事件,如果不消耗當前View無法再次接受到事件

這三個方法到底有什么關系?

我們先簡述一下他們之間的關系,之后再進行源碼的詳細分析

當一個事件傳遞給一個根ViewGroup之后,這時他的dispatchTouchEvent就會被調用,進行事件的分發,如果該ViewGroup的onInterceptTouchEvent返回true,表示他要攔截此事件,接著這個事件就會交給ViewGroup處理,即他的onTouchEvent就會被調用,如果他的onInterceptTouchEvent返回fasle就表示不攔截此事件,這時就會把此事件傳遞給他的子View,接著子View的dispatchTouchEvent就會被調用,如此反復直到事件最終被處理

源碼分析

當一個事件產生后,他的傳遞遵循如下順序Activity→Window→View,即事件總是縣傳遞給Activity,然后Activity傳遞給Window,最后Window傳遞給頂級View,頂級View接收到事件后,就會按照事件分發機制分發事件

Activity對事件的分發

當一個點擊操作發生時,事件最先傳遞給當前的Activity,由Activity的dispatchTouchEvent進行分發,我們看下Activity的dispatchTouchEvent的源碼

public boolean dispatchTouchEvent(MotionEvent ev) {if (ev.getAction() == MotionEvent.ACTION_DOWN) {onUserInteraction();}if (getWindow().superDispatchTouchEvent(ev)) {return true;}return onTouchEvent(ev);} 復制代碼

上面代碼表示,Activity會把事件交給Window處理,如果Window的分發返回true,表示事件就此結束,返回false,表示沒有人處理,那么Activity的onTouchEvent就會被調用

Window對事件的分發

那么Window是怎么分發事件的呢?我們看下Window的源碼,我們發現Window其實是一個抽象類,superDispatchTouchEvent也是一個抽象方法

public abstract boolean superDispatchTouchEvent(MotionEvent event); 復制代碼

那么Window的實現類是什么?其實是PhoneWindow,那我們看一下PhoneWindow是怎么處理事件的

@Overridepublic boolean superDispatchTouchEvent(MotionEvent event) {return mDecor.superDispatchTouchEvent(event);} 復制代碼

PhoneWindow直接把事件交給了DecorView,DecorView其實就是最頂層的View我們setContentView的View就是DecorView的一個子View,DecorView繼承自FrameLayout,這個時候事件已經分發到了ViewGroup上

ViewGroup事件的分發

現在我們看一下ViewGroup的dispatchTouchEvent方法的源碼

@Overridepublic boolean dispatchTouchEvent(MotionEvent ev) {... //--------TAG=1-------------------這里是一開始---------------------------------------------------//如果是Action_down 就對其先前所有的狀態進行重置if (actionMasked == MotionEvent.ACTION_DOWN) {cancelAndClearTouchTargets(ev);resetTouchState();} //--------TAG=2-----------------這里開始進行攔截驗證-----------------------------------------------//如果是ACTION_DOWN,或者mFirstTouchTarget != null,就進行攔截驗證final boolean intercepted;if (actionMasked == MotionEvent.ACTION_DOWN|| mFirstTouchTarget != null) {final boolean disallowIntercept = (mGroupFlags & FLAG_DISALLOW_INTERCEPT) != 0;if (!disallowIntercept) {intercepted = onInterceptTouchEvent(ev);ev.setAction(action); // restore action in case it was changed} else {intercepted = false;}} else {// There are no touch targets and this action is not an initial down// so this view group continues to intercept touches.intercepted = true;} //------------------------------------------------------------------------------------------------------------------------------....//----------TAG=3----------------這里看是遍歷子view---------------------------------------------------------------//如果不攔截,并且不是cancel事件,就進行遍歷子view分發事件if (!canceled && !intercepted) {...//當ACTION_DOWN和ACTION_POINTER_DOWN和ACTION_HOVER_MOVE時候才會遍歷子viewif (actionMasked == MotionEvent.ACTION_DOWN|| (split && actionMasked == MotionEvent.ACTION_POINTER_DOWN)|| actionMasked == MotionEvent.ACTION_HOVER_MOVE) {//找到可以接受觸摸事件孩子,從前向后遍歷查找final View[] children = mChildren;for (int i = childrenCount - 1; i >= 0; i--) {final int childIndex = getAndVerifyPreorderedIndex(childrenCount, i, customOrder);final View child = getAndVerifyPreorderedView(preorderedList, children, childIndex);...//判斷觸摸點是否在此View的范圍中,是否在移動if (!canViewReceivePointerEvents(child)|| !isTransformedTouchPointInView(x, y, child, null)) {ev.setTargetAccessibilityFocus(false);continue;}...//分發事件,如果事件被子view消費,就跳出循環,不再繼續分發給其他viewif (dispatchTransformedTouchEvent(ev, false, child, idBitsToAssign)) {...//addTouchTarget內部賦值mFirstTouchTarget=當前viewnewTouchTarget = addTouchTarget(child, idBitsToAssign);alreadyDispatchedToNewTouchTarget = true;break;}} //-----------TAG=4-----------------這里已經遍歷完了子view--------------------------------------------// //遍歷完所有的子View后,還沒有處理事件,就自己處理if (mFirstTouchTarget == null) {// No touch targets so treat this as an ordinary view.handled = dispatchTransformedTouchEvent(ev, canceled, null,TouchTarget.ALL_POINTER_IDS);} else {//Action_Down之外的事件直接分發給目標viewTouchTarget predecessor = null;TouchTarget target = mFirstTouchTarget;while (target != null) {final TouchTarget next = target.next;//如果上方遍歷已經傳遞過改事件,則跳過本次事件if (alreadyDispatchedToNewTouchTarget && target == newTouchTarget) {handled = true;} else {final boolean cancelChild = resetCancelNextUpFlag(target.child)|| intercepted;if (dispatchTransformedTouchEvent(ev, cancelChild,target.child, target.pointerIdBits)) {handled = true;}...}} //------------------------------------------------------------------------------------------------------------------------------// Update list of touch targets for pointer up or cancel, if needed.if (canceled|| actionMasked == MotionEvent.ACTION_UP|| actionMasked == MotionEvent.ACTION_HOVER_MOVE) {resetTouchState();} else if (split && actionMasked == MotionEvent.ACTION_POINTER_UP) {final int actionIndex = ev.getActionIndex();final int idBitsToRemove = 1 << ev.getPointerId(actionIndex);removePointersFromTouchTargets(idBitsToRemove);}}if (!handled && mInputEventConsistencyVerifier != null) {mInputEventConsistencyVerifier.onUnhandledEvent(ev, 1);}return handled;} 復制代碼

首先我們分析一下攔截事件的源碼

//如果是ACTION_DOWN,或者mFirstTouchTarget != null,就進行攔截驗證final boolean intercepted;if (actionMasked == MotionEvent.ACTION_DOW || mFirstTouchTarget != null) {final boolean disallowIntercept = (mGroupFlags & FLAG_DISALLOW_INTERCEPT) != 0;if (!disallowIntercept) {intercepted = onInterceptTouchEvent(ev);ev.setAction(action); // restore action in case it was changed} else {intercepted = false;}} else {// There are no touch targets and this action is not an initial down// so this view group continues to intercept touches.intercepted = true;} 復制代碼

這段代碼我們可以看到,有倆種情況會判斷是否要攔截當前事件,事件類型是Action_Down,或者mFirstTouchTarget != null,ACTION_DOWN我們可以理解,mFirstTouchTarget != null代表什么呢?

我們從后面的代碼可以看出,事件由ViewGroup的子元素處理成功時,mFirstTouchTarget被賦值并指向該子元素,也就是說當ViewGroup不攔截事件交由子元素處理時mFirstTouchTarget != null

一旦ViewGroup攔截事件mFirstTouchTarget != null就不成立,而當ACTION_MOVE ,ACTION_UP到來時,由于(actionMasked == MotionEvent.ACTION_DOWN|| mFirstTouchTarget != null)這個判斷為false,ViewGroup的onInterceptTouchEvent不在會被調用,并且同一序列的其他事件,會默認交給ViewGroup處理

這里還有一種特殊情況,FLAG_DISALLOW_INTERCEPT標志位,這個標志位是通過requestDisallowInterceptTouchEvent來設置的,一般用于子View中,一旦FLAG_DISALLOW_INTERCEPT標志為被設置后,ViewGroup將無法攔截,除了ACTION_DOWN之外的其他事件,為什么要除了ACTION_DOWN呢,因為每當ACTION_DOWN帶來都會重置FLAG_DISALLOW_INTERCEPT這個標記位,ACTION_DOWN事件總會調用自己的onInterceptTouchEvent詢問是否攔截

強調一點requestDisallowInterceptTouchEvent,這個方法并不是萬能的,執行他的前提是子View必須獲取事件,假如父View的Down事件的onInterceptTouchEvent就返回true,攔截事件,那么子View做任何操作也不可能獲取到事件

從上面分析我們可以得出結論

  • 當ViewGroup決定攔截事件的時候,那么后續的點擊事件將默認交給他,不再調用onInterceptTouchEvent
  • FLAG_DISALLOW_INTERCEPT作用是讓ViewGroup不再攔截事件,前提是ViewGroup不攔截Action_Down事件
  • onInterceptTouchEvent不是每次都會調用的,如果我們要提前處理點擊事件需要在dispatchTouchEvent
  • 當我們遇到滑動沖突的時候,可以考慮FLAG_DISALLOW_INTERCEPT來處理

我們看一下ViewGroup不攔截的事件的情況

先看一下源碼,這個是刪減后的源碼,看起來比較清楚

//如果不攔截,并且不是cancel事件,就進行遍歷子view分發事件if (!canceled && !intercepted) {...//當ACTION_DOWN和ACTION_POINTER_DOWN和ACTION_HOVER_MOVE時候才會遍歷子viewif (actionMasked == MotionEvent.ACTION_DOWN|| (split && actionMasked == MotionEvent.ACTION_POINTER_DOWN)|| actionMasked == MotionEvent.ACTION_HOVER_MOVE) {//找到可以接受觸摸事件孩子,從前向后遍歷查找final View[] children = mChildren;for (int i = childrenCount - 1; i >= 0; i--) {final int childIndex = getAndVerifyPreorderedIndex(childrenCount, i, customOrder);final View child = getAndVerifyPreorderedView(preorderedList, children, childIndex);...//判斷觸摸點是否在此View的范圍中,是否在移動if (!canViewReceivePointerEvents(child)|| !isTransformedTouchPointInView(x, y, child, null)) {ev.setTargetAccessibilityFocus(false);continue;}...//分發事件,如果事件被子view消費,就跳出循環,不再繼續分發給其他viewif (dispatchTransformedTouchEvent(ev, false, child, idBitsToAssign)) {...//addTouchTarget內部賦值mFirstTouchTarget=當前viewnewTouchTarget = addTouchTarget(child, idBitsToAssign);alreadyDispatchedToNewTouchTarget = true;break;}} 復制代碼

首先遍歷ViewGroup的所有子元素,然后判斷判斷子元素是否能接收到點擊事件,是否能接收到點擊事件主要由倆點來衡量

  • 點擊的坐標是否落在了子元素的區域內
  • 子元素是否在播放動畫

如果子元素滿足這倆個條件,那么事件將傳遞給他處理,分發事件其實dispatchTransformedTouchEvent是這個方法做的,我們看一下dispatchTransformedTouchEvent源碼

private boolean dispatchTransformedTouchEvent(MotionEvent event, boolean cancel,View child, int desiredPointerIdBits) {final boolean handled;//先記住這一段判斷cancel的源碼,很重要下面分析if (cancel || oldAction == MotionEvent.ACTION_CANCEL) {event.setAction(MotionEvent.ACTION_CANCEL);if (child == null) {handled = super.dispatchTouchEvent(event);} else {handled = child.dispatchTouchEvent(event);}event.setAction(oldAction);return handled;}....if (child == null) {handled = super.dispatchTouchEvent(event);} else {...handled = child.dispatchTouchEvent(event);}.....return handled;} 復制代碼

這里面主要代碼如果 if (cancel || oldAction == MotionEvent.ACTION_CANCEL) 為false,這個判斷的意思是,如果不是ACTION_CANCEL,外部傳入的cancel也為fasle,就進行下面的判斷,而下面的判斷主要是根據傳入的child是否為null來判斷的,如果child不為null,那么就調用child的dispatchTouchEvent方法,這個事件就交給子元素去處理,這就完成一輪的事件分發

如果child的dispatchTouchEvent返回為true,先不考慮事件怎么在子元素中分發,那么mFirstTouchTarget就被賦值,跳出for循環

//分發事件,如果事件被子view消費,就跳出循環,不再繼續分發給其他viewif (dispatchTransformedTouchEvent(ev, false, child, idBitsToAssign)) {...//addTouchTarget內部賦值mFirstTouchTarget=當前viewnewTouchTarget = addTouchTarget(child, idBitsToAssign);alreadyDispatchedToNewTouchTarget = true;break;} 復制代碼

上面的代碼完成了,給mFirstTouchTarget賦值,并且跳出for循環,終止對子元素的遍歷,如果子元素的dispatchTouchEvent返回fasle,那么就會繼續遍歷子元素,把事件傳遞給下一個合適的子元素(如果還有合適的子元素的話)

mFirstTouchTarget賦值是在addTouchTarget方法內部完成的,mFirstTouchTarget是一個單鏈表結構

private TouchTarget addTouchTarget(@NonNull View child, int pointerIdBits) {final TouchTarget target = TouchTarget.obtain(child, pointerIdBits);//注意這里這里很重要,target.next =null,然后 mFirstTouchTarget = target;也就是說這時候的 mFirstTouchTarget.next=nulltarget.next = mFirstTouchTarget;mFirstTouchTarget = target;return target;} 復制代碼

如果遍歷所有的子元素事件都沒有合適的處理,這里包含倆種情況,一種就是ViewGroup沒有子元素,第二種就是子元素的dispatchTouchEvent返回了fasle,這倆種情況下ViewGroup會自己處理事件

//遍歷完所有的子View后,還沒有處理事件,就自己處理if (mFirstTouchTarget == null) {handled = dispatchTransformedTouchEvent(ev, canceled, null,TouchTarget.ALL_POINTER_IDS);} 復制代碼

注意這里child參數傳入的是null,根據之前的分析就會調用 super.dispatchTouchEvent(event);由于ViewGroup也是繼承自View,這里就會轉到View的dispatchTouchEvent,即點擊事件交給View處理

注意敲黑板了啊

我看了很多博客,都沒有對這種情況進行分析,這個問題一度卡了我很久

現在考慮一種情況,如果父View的onInterceptTouchEvent的Down事件返回false不攔截,move up事件返回true攔截,這個效果就是子View只能收到Down事件而收不到Up和Move事件

那么我們現在分析一下這種情況,按照我們上方的分析,父View的Down事件不攔截,那么mFirstTouchTarget就會被賦值,第二次Move和Up事件要攔截,但是由于mFirstTouchTarget被賦值了,所以是走不到下面這步的

// //遍歷完所有的子View后,還沒有處理事件,就自己處理if (mFirstTouchTarget == null) {// No touch targets so treat this as an ordinary view.handled = dispatchTransformedTouchEvent(ev, canceled, null,TouchTarget.ALL_POINTER_IDS);} 復制代碼

那么父View是怎么攔截Move和Up事件的呢? 當地一個Move事件傳遞給父View后,此時mFirstTouchTarget不為null,所以走攔截這一步代碼

//如果是ACTION_DOWN,或者mFirstTouchTarget != null,就進行攔截驗證final boolean intercepted;if (actionMasked == MotionEvent.ACTION_DOW || mFirstTouchTarget != null) {final boolean disallowIntercept = (mGroupFlags & FLAG_DISALLOW_INTERCEPT) != 0;if (!disallowIntercept) {intercepted = onInterceptTouchEvent(ev);ev.setAction(action); // restore action in case it was changed} else {intercepted = false;}} else {// There are no touch targets and this action is not an initial down// so this view group continues to intercept touches.intercepted = true;} 復制代碼

攔截返回true后,不走遍歷子Vew代碼,直接到最后的判斷代碼

// //遍歷完所有的子View后,還沒有處理事件,就自己處理if (mFirstTouchTarget == null) {// No touch targets so treat this as an ordinary view.handled = dispatchTransformedTouchEvent(ev, canceled, null,TouchTarget.ALL_POINTER_IDS);} else {//Action_Down之外的事件直接分發給目標viewTouchTarget predecessor = null;TouchTarget target = mFirstTouchTarget;while (target != null) {final TouchTarget next = target.next;//如果上方遍歷已經傳遞過改事件,則跳過本次事件if (alreadyDispatchedToNewTouchTarget && target == newTouchTarget) {handled = true;} else {final boolean cancelChild = resetCancelNextUpFlag(target.child)|| intercepted;if (dispatchTransformedTouchEvent(ev, cancelChild,target.child, target.pointerIdBits)) {handled = true;}if (cancelChild) {if (predecessor == null) {mFirstTouchTarget = next;} else {predecessor.next = next;}target.recycle();target = next;continue;}}} 復制代碼

由于mFirstTouchTarget在Down的時候已經賦值不為null,會走下邊代碼

final boolean cancelChild = resetCancelNextUpFlag(target.child)|| intercepted; 復制代碼

由于攔截事件,cancelChild為true,也就是說下面這個分發dispatchTransformedTouchEvent的方法傳入的是true

if (dispatchTransformedTouchEvent(ev, cancelChild,target.child, target.pointerIdBits)) {handled = true;} 復制代碼

在這個分發方法里,有判斷Cancel事件的代碼

private boolean dispatchTransformedTouchEvent(MotionEvent event, boolean cancel,View child, int desiredPointerIdBits) {final boolean handled;//先記住這一段判斷cancel的源碼,很重要下面分析if (cancel || oldAction == MotionEvent.ACTION_CANCEL) {event.setAction(MotionEvent.ACTION_CANCEL);if (child == null) {handled = super.dispatchTouchEvent(event);} else {handled = child.dispatchTouchEvent(event);}event.setAction(oldAction);return handled;}...return handled;} 復制代碼

由于傳入的cancel為true, 會重新定義事件為Cancel事件event.setAction(MotionEvent.ACTION_CANCEL);child不為null所以會調用child.dispatchTouchEvent(event);也就是說第一個Move事件,父View不會攔截,但會給子View發送一個Cancel事件

接下來會繼續走代碼

TouchTarget target = mFirstTouchTarget;final TouchTarget next = target.next; ...if (cancelChild) {...mFirstTouchTarget = next;...} 復制代碼

上面已經分析過cancelChild為true,進入方法給mFirstTouchTarget重新賦值mFirstTouchTarget.next,那么mFirstTouchTarget.next等于什么?看下面一段代碼

private TouchTarget addTouchTarget(@NonNull View child, int pointerIdBits) {final TouchTarget target = TouchTarget.obtain(child, pointerIdBits);//注意這里這里很重要,target.next =null,然后 mFirstTouchTarget = target;也就是說這時候的 mFirstTouchTarget.next=nulltarget.next = mFirstTouchTarget;mFirstTouchTarget = target;return target;} 復制代碼

其實mFirstTouchTarget.next=null,那整合起來就是把mFirstTouchTarget重新賦值為null,從這里開始,第二個Move事件就會直接傳遞給父View完成了攔截

if (mFirstTouchTarget == null) {handled = dispatchTransformedTouchEvent(ev, canceled, null,TouchTarget.ALL_POINTER_IDS);} 復制代碼

總結

當父View不攔截Down事件,但要攔截Move和Up事件時,第一個Move事件會重新賦值為Cancel事件發送給子View,然后mFirstTouchTarget賦值為null,第二次開始的Move事件就會交給父View

View的事件分發源碼

View對事件的處理比較簡單,注意這里的View不包括ViewGroup,先看他的dispatchTouchEvent

public boolean dispatchTouchEvent(MotionEvent event) {...boolean result = false;ListenerInfo li = mListenerInfo;if (li != null && li.mOnTouchListener != null&& (mViewFlags & ENABLED_MASK) == ENABLED&& li.mOnTouchListener.onTouch(this, event)) {result = true;}if (!result && onTouchEvent(event)) {result = true;}}...return result;} 復制代碼

View的時間傳遞比較簡單,因為View(不包括ViewGroup),是一個單獨的元素,無法向下傳遞事件,所以沒有onInterceptTouchEvent方法,從上面源碼可以看出

  • 首先會判斷與沒有mOnTouchListener,如果有并且其中的onTouch方法返回true那么onTouchEvent放方法不會調用,可以看出mOnTouchListener的優先級高于onTouchEvent

下面看一下onTouchEvent方法的源碼

首先看一下,當View處于不可用狀態下,事件的處理過程

final boolean clickable = ((viewFlags & CLICKABLE) == CLICKABLE|| (viewFlags & LONG_CLICKABLE) == LONG_CLICKABLE)|| (viewFlags & CONTEXT_CLICKABLE) == CONTEXT_CLICKABLE;if ((viewFlags & ENABLED_MASK) == DISABLED) {if (action == MotionEvent.ACTION_UP && (mPrivateFlags & PFLAG_PRESSED) != 0) {setPressed(false);}mPrivateFlags3 &= ~PFLAG3_FINGER_DOWN;// A disabled view that is clickable still consumes the touch// events, it just doesn't respond to them.return clickable;} 復制代碼

可以看出不可用的狀態下,View消耗點擊事件

再看一下對具體事件的處理

final boolean clickable = ((viewFlags & CLICKABLE) == CLICKABLE|| (viewFlags & LONG_CLICKABLE) == LONG_CLICKABLE)|| (viewFlags & CONTEXT_CLICKABLE) == CONTEXT_CLICKABLE;if (clickable || (viewFlags & TOOLTIP) == TOOLTIP) {switch (action) {case MotionEvent.ACTION_UP:...if (mPerformClick == null) {mPerformClick = new PerformClick();}if (!post(mPerformClick)) {performClickInternal();}}}....case MotionEvent.ACTION_DOWN:...case MotionEvent.ACTION_CANCEL:...case MotionEvent.ACTION_MOVE:...break;}復制代碼

從上面代碼為可以看出

  • 只要View的CLICKABLE和LONG_CLICKABLE一個為true,不管他是不是DISABLED狀態都消耗事件,只不過DISABLED不走下面的down,up事件
  • 當Action_Up觸發時,會調用PerformClick方法,如果View設置了onClickListener,那么PerformClick將調用他的onClick方法
  • View的LONG_CLICKABLE默認是false,但是CLICKABLE是否為fasle,跟具體View有關,可點擊的CLICKABLE為true,不可點擊的CLICKABLE為false
  • setClickable和setLongClickable可以改變CLICKABLE,和LONG_CLICKABLE的值
  • setClickLinsterer和setLongClickLinsterer會自動設置CLICKABLE和LONG_CLICKABLE為true

到這里事件分發就處理完了

參考:Android開發藝術探索

allenfeng.com/2017/02/22/…

轉載于:https://juejin.im/post/5d4d212d5188253afe4c8ada

總結

以上是生活随笔為你收集整理的Android View系列(二):事件分发机制源码解析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

免费视频久久久久 | 日本99干网 | 久久伊人八月婷婷综合激情 | 在线观看免费 | 中文字幕在线观看网站 | 韩国精品在线 | 四虎成人免费观看 | 日韩动态视频 | 91亚洲在线 | 免费a网| 亚洲九九九在线观看 | 亚洲一二区视频 | 日日综合网| av久久在线| 日韩av一区二区三区在线观看 | av中文字幕在线电影 | 国产精品嫩草影院99网站 | 久久久99国产精品免费 | 日日干夜夜骑 | 丁香六月激情 | 97在线看 | 丁香花中文字幕 | 久久色在线播放 | 一区二区视频网站 | 一级做a视频 | 五月婷婷综合激情网 | 国产韩国日本高清视频 | 日韩在线视频国产 | 国产三级视频 | 国产黄色一级大片 | 中文资源在线播放 | 日韩精品一区二区在线观看 | 婷婷色中文网 | 99久久久久久久久久 | 亚洲精品成人网 | 狠狠综合网| 亚洲精品午夜久久久久久久久久久 | 久久国产精品偷 | 亚洲午夜久久久影院 | 亚洲小视频在线观看 | 免费三级影片 | 9999毛片| 夜夜躁狠狠躁 | 日本久久电影网 | 国产精品高清在线 | 欧美在线视频第一页 | 欧洲色吧 | 黄色a大片 | 草久在线播放 | 99精品免费在线 | 久久国产精品99久久久久久丝袜 | 欧美91精品 | 又黄又刺激的网站 | 亚洲国内精品 | 亚洲精品视频一 | 日韩欧美在线高清 | 亚洲人片在线观看 | 国产日产在线观看 | 99久久这里有精品 | 黄网站免费看 | 在线欧美a | 国产天天爽 | 一区二区三区国产精品 | 欧美精彩视频在线观看 | 18岁免费看片 | 91麻豆精品| 手机在线看a | 色婷婷电影 | 欧美日韩不卡一区二区 | 丰满少妇在线观看资源站 | 欧美激情视频一二三区 | www.夜夜爱 | 欧美日韩国产一区二区在线观看 | 亚洲人人爱 | 热久久免费视频 | 波多野结衣一区三区 | 欧美精品久久99 | 韩日三级在线 | 日本公妇在线观看高清 | 久久精品播放 | 国产一级做a | 中文字幕视频免费观看 | 狠狠操.com | 国产精品久久久久久久久久直播 | 久久精品亚洲精品国产欧美 | 日韩激情三级 | 久久精品久久综合 | 亚洲精品观看 | 久久久久久久久久免费 | 天天操天天射天天操 | 黄a在线看 | 久久精品之 | 国产日韩精品在线观看 | 天天干亚洲 | 色91在线 | 成人黄大片视频在线观看 | 亚洲国产欧美在线看片xxoo | av成人免费 | 精品久久久久久国产91 | 久久精品99国产精品酒店日本 | 99久久精品国产一区 | 亚洲在线视频播放 | 色小说av | 日韩国产精品久久久久久亚洲 | 国产精品久久久 | 国产一区二区久久精品 | 国产精品免费一区二区三区 | 国产精品成人一区二区 | av在线播放网址 | 三级av免费观看 | 国产日韩三级 | 国产精品久久久久aaaa九色 | 午夜av免费观看 | 国产黄色精品在线 | 九九九九热精品免费视频点播观看 | 美女免费网视频 | 久久人人添人人爽添人人88v | 亚洲国产精品电影在线观看 | 日韩免费看视频 | 久久久久久高潮国产精品视 | 啪啪免费观看网站 | 麻豆91网站 | 一本一道久久a久久精品蜜桃 | 最新日韩视频在线观看 | 欧美一级欧美一级 | 91免费观看视频网站 | 欧美日韩高清一区二区三区 | 中文字幕在线免费观看视频 | 国产精品乱码久久久久久1区2区 | 婷婷六月综合亚洲 | 中文字幕免费 | 久久一区二区三区超碰国产精品 | 亚洲视频一| 欧美在线视频二区 | 久久96国产精品久久99软件 | 成人小视频在线观看免费 | 成人久久综合 | 免费男女网站 | 一区二区精品在线 | 91最新中文字幕 | 99久久毛片 | 69国产成人综合久久精品欧美 | 久久人人艹 | 国产精品99久久久精品免费观看 | 国产精品久久久久久久av电影 | 亚洲欧美日韩精品一区二区 | 999电影免费在线观看2020 | 黄色的片子 | 超碰免费97 | 久久久伦理 | 成人毛片a | 免费在线观看一级片 | 激情综合久久 | 亚洲狠狠干 | 碰超在线观看 | 国产精品国产三级国产 | 亚洲欧美日韩一级 | 日日夜夜免费精品视频 | 国产亚洲一级高清 | av再线观看 | 国产在线播放一区二区 | 啪啪凸凸| 天天做天天爱夜夜爽 | 天天操网址 | 九色91av| 国产精品久久久久久99 | 国产亚洲精品久久网站 | 精品国产亚洲在线 | 精品在线观看免费 | 日韩av线观看 | 精品欧美一区二区三区久久久 | 91.dizhi永久地址最新 | 91精品国产91p65 | 成人免费观看视频网站 | 欧美日韩视频在线 | 粉嫩av一区二区三区四区 | 天天干天天射天天爽 | 欧美日韩精品电影 | 九九热在线免费观看 | 丁香激情网 | 中文字幕视频免费观看 | 亚洲精品美女在线观看 | 亚洲黄色一级视频 | 国产视频一区在线免费观看 | 欧美ⅹxxxxxx| 国产精品日韩欧美一区二区 | 欧美日韩在线视频免费 | 激情五月婷婷 | 久久综合一本 | 日韩免费区 | 综合在线观看 | 69热国产视频 | 国产九九精品视频 | 久久成人国产精品入口 | 婷婷色 亚洲 | 亚洲精品视频在线看 | 99精品免费久久久久久久久 | 伊人亚洲综合 | free,性欧美 九九交易行官网 | 日韩午夜剧场 | 中文字幕色站 | www.99av| 日韩精品中文字幕在线 | 又爽又黄又无遮挡网站动态图 | 久草视频网 | 亚洲 欧美 另类人妖 | 国产首页 | av资源在线看 | 在线免费中文字幕 | 日韩二三区 | 午夜精品中文字幕 | 草久在线观看视频 | 国产中文在线观看 | 毛片网站免费 | 亚洲午夜剧场 | 国产69精品久久99不卡的观看体验 | av福利电影 | 夜夜骑天天操 | 91视频国产免费 | 香蕉视频在线播放 | 激情视频一区二区 | www.日日日.com | 色91在线 | 亚洲欧美日韩精品久久久 | 国产成人在线看 | 2019中文在线观看 | 蜜桃av人人夜夜澡人人爽 | 狠狠的日日 | 欧美在线观看禁18 | 婷婷丁香激情网 | www.狠狠干| 欧美一区二区三区在线观看 | 亚洲精品av中文字幕在线在线 | 亚洲视频 中文字幕 | 久草在线资源视频 | 久久精品网站免费观看 | 丁香婷婷激情五月 | 国产精品成人久久久久 | 在线观看爱爱视频 | 成人在线视频在线观看 | 播五月综合 | 久久久一本精品99久久精品 | 久久99国产精品自在自在app | 五月天最新网址 | 亚洲精品九九 | 9在线观看免费 | 日韩理论在线播放 | 国产午夜免费视频 | 国产亚洲免费观看 | 黄色三级免费 | 亚洲精品网站在线 | 久久国产精品久久久久 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | www.com久久久 | 日韩免费视频线观看 | 免费看在线看www777 | 亚洲国产一区二区精品专区 | 精品亚洲网 | 五月婷婷丁香在线观看 | 久久久久麻豆v国产 | 2019中文最近的2019中文在线 | 成人午夜电影网站 | 涩涩爱夜夜爱 | 五月天久久激情 | 国产麻豆精品在线观看 | 日韩美女高潮 | 97在线资源 | 日韩毛片在线免费观看 | 欧美一级免费黄色片 | 一区二区三区韩国免费中文网站 | 欧美一区二区在线免费观看 | 一区二区三区在线观看免费视频 | 欧美日一级片 | 国产剧情一区二区 | 色com网| 免费视频二区 | 精品视频9999 | 91久久国产露脸精品国产闺蜜 | 国产日产高清dvd碟片 | 狠狠的操你| av免费线看 | 国产男女无遮挡猛进猛出在线观看 | 伊人黄 | 国产资源中文字幕 | 日韩黄色av网站 | 97超碰资源站 | 波多野结衣视频一区 | 日本韩国中文字幕 | 亚洲精品日韩一区二区电影 | 黄色av三级在线 | 一区三区视频 | 国产福利精品视频 | 99超碰在线观看 | 日日干夜夜骑 | 91大神免费视频 | 91在线中文字幕 | 99精品欧美一区二区三区 | 日日夜夜精品免费视频 | 免费看日韩 | 欧美一级电影免费观看 | 99久久er热在这里只有精品66 | 久久激情视频网 | 欧美成人h版在线观看 | 日韩视频中文字幕在线观看 | 久久艹免费 | av电影在线播放 | 亚洲国产av精品毛片鲁大师 | 久久国产乱 | 午夜精品一区二区三区在线 | 久久国产精彩视频 | 91视频黄色 | 中文字幕精品www乱入免费视频 | 国产精品美女毛片真酒店 | 粉嫩av一区二区三区四区在线观看 | 日本中文字幕免费观看 | 人人澡人 | 黄色的片子 | 亚洲美女视频网 | 伊人电影在线观看 | 丝袜少妇在线 | 天天爱天天射 | 欧美成人91| 成人免费共享视频 | 免费在线观看污 | 免费黄在线观看 | 99久久99久久精品国产片果冰 | 99精品在线免费在线观看 | 超碰av免费| 天干啦夜天干天干在线线 | 国产精品久久99综合免费观看尤物 | 亚洲成a人片77777kkkk1在线观看 | 中文字幕二区三区 | 97久久精品午夜一区二区 | 国产 日韩 在线 亚洲 字幕 中文 | 揉bbb玩bbb少妇bbb | 在线观看视频一区二区三区 | 人人爽人人插 | 97在线视频免费看 | 日韩黄视频| 日b黄色片| 天天干天天做天天爱 | 免费看亚洲毛片 | 亚洲五月婷婷 | 99视频精品全部免费 在线 | 偷拍精偷拍精品欧洲亚洲网站 | 欧美aa一级片 | 99久久精品国产一区二区成人 | 91激情小视频 | 亚洲欧美少妇 | 少妇高潮流白浆在线观看 | 深爱激情亚洲 | 在线网址你懂得 | 日韩中字在线 | 欧美日韩综合在线观看 | 久草爱视频 | 国产精品成人自拍 | 99免费在线视频 | 婷婷激情综合网 | 夜夜视频欧洲 | 欧美日韩在线观看一区二区 | 久久五月天综合 | 国产精品久久久久免费观看 | 国产精品久久久久久a | 中文在线字幕免 | 亚洲免费视频在线观看 | 91天天操 | 一区二区三区在线视频111 | 久久久精品在线观看 | 精品在线亚洲视频 | 久久精品国产精品亚洲精品 | 久久久久久久免费观看 | 午夜视频在线观看一区二区三区 | 亚洲国产一区二区精品专区 | www黄色| 欧美精品中文 | 91九色视频导航 | 一区二区精品国产 | 伊色综合久久之综合久久 | 一区二区三区影院 | 中文字幕久久精品亚洲乱码 | 欧美精品久久久久久久久久 | 全久久久久久久久久久电影 | 91麻豆视频网站 | 色婷婷国产 | 欧美一二三区在线观看 | 日本精品一区二区在线观看 | 久久久www成人免费毛片麻豆 | 国外av在线 | 欧美日韩国产一二三区 | 午夜狠狠干 | 国产精品24小时在线观看 | 日韩在线免费视频观看 | 久草在线观 | 四虎影视成人永久免费观看亚洲欧美 | 91成人短视频在线观看 | 国产一及片 | 中文字幕一区二区三区久久 | 久久久国产精品亚洲一区 | 亚洲精品国产精品国自 | 97人人射 | 日韩欧美视频一区二区三区 | 日韩激情综合 | 视频国产精品 | 草在线| 中文字幕丰满人伦在线 | 中文字幕 在线 一 二 | 天天射色综合 | 超碰人人av | 日本久久久久 | 超级av在线 | 中文字幕在线观看91 | 黄色成人av在线 | 日韩在线观 | 婷婷丁香在线视频 | 国产a国产a国产a | 国产视频欧美视频 | 国产玖玖在线 | 国产高清网站 | 成 人 a v天堂| 久久影院中文字幕 | 久久免费的视频 | 日韩丝袜| 国产免费一区二区三区网站免费 | 97在线观看 | 免费美女久久99 | 日本激情动作片免费看 | 久久国产精品免费一区二区三区 | 欧美日韩一级久久久久久免费看 | 一级黄色a视频 | 亚洲精品乱码久久久久久蜜桃91 | 91在线视频观看 | 五月婷婷视频 | 免费视频97 | 亚洲欧美婷婷六月色综合 | 国产手机av在线 | 在线视频第一页 | 亚洲国产中文字幕在线视频综合 | 成人羞羞免费 | 蜜桃传媒一区二区 | 久久99精品国产麻豆宅宅 | 一级片免费在线 | 一区二区三区日韩精品 | 成人a免费视频 | 亚洲一级久久 | 欧美极品在线播放 | 中文伊人 | 性色av香蕉一区二区 | 久久国产二区 | 超碰精品在线 | 免费日韩一区二区三区 | 久久天天操 | 欧美视频一区二 | 天堂va在线观看 | 日韩免费看视频 | 欧洲精品亚洲精品 | 欧美伦理一区二区 | 婷婷在线精品视频 | 亚洲精品乱码久久久久久蜜桃不爽 | 国产婷婷vvvv激情久 | 99精品在线免费视频 | 又黄又爽又刺激的视频 | 精品国产一区二区三区久久久 | 久久久99国产精品免费 | 久久精品视频一 | 久久久久免费网站 | 九色porny真实丨国产18 | 狠狠操天天干 | 久久精品视频在线看 | 国产精品九色 | 免费精品视频在线 | 久草在线资源观看 | 91香蕉视频在线 | 免费精品在线观看 | 2021国产在线 | 国精产品永久999 | 日韩三级精品 | 欧美性生交大片免网 | 久久这里 | 国产99久久久国产 | 97在线观看免费高清完整版在线观看 | 奇米影视在线99精品 | av日韩不卡 | 久久国产精品精品国产色婷婷 | 九九热久久久 | 又黄又刺激又爽的视频 | 久热精品国产 | 日本久久精品 | 在线观看视频精品 | 特级西西人体444是什么意思 | 香蕉久草在线 | 亚洲国内在线 | 免费在线国产精品 | 日韩三级在线 | 久久综合电影 | 在线观看视频亚洲 | 久久这里精品视频 | 国产成人福利 | 日韩在线视频一区 | 亚洲欧洲精品一区 | 黄网站app在线观看免费视频 | 在线 视频 一区二区 | 天海冀一区二区三区 | 久久免费片 | 在线观看中文av | 天天操天天色天天射 | 999国产| 国产91aaa| 伊人资源站 | 波多野结衣日韩 | 深爱激情av | 天天干,天天操 | 日韩乱码中文字幕 | 午夜精品福利一区二区三区蜜桃 | 国产99爱 | 91精品一区二区三区久久久久久 | 国产精品1000 | 国产特级毛片 | 日本3级在线观看 | 日韩在线电影 | 欧美午夜精品久久久久 | 综合精品久久 | 欧美一级片在线观看视频 | 久草在线视频网站 | 女人高潮特级毛片 | 国产美女永久免费 | 欧美在线18 | 中文字幕在线成人 | 成人资源站 | 国产成人精品日本亚洲999 | 热久久视久久精品18亚洲精品 | 久久97超碰 | 国产一区视频在线观看免费 | 色婷婷亚洲综合 | 亚洲精品毛片一级91精品 | 又色又爽的网站 | 色噜噜日韩精品欧美一区二区 | 中文字幕在线观看完整 | 在线播放一区二区三区 | 色悠悠久久综合 | 亚洲精品人人 | 国产精品美女久久久久久久久久久 | 国产中文欧美日韩在线 | 丁香电影小说免费视频观看 | 日本精品一区二区三区在线观看 | 中文字幕在线观看播放 | 亚洲小视频在线观看 | 日韩欧美在线视频一区二区 | 久久夜色精品国产亚洲aⅴ 91chinesexxx | 日韩3区| av电影中文字幕 | 国产视频2 | 日韩视| 亚洲五月婷 | 国产1区在线观看 | 日韩一区二区在线免费观看 | 国产免费一区二区三区最新 | 99视频精品免费视频 | 午夜丁香视频在线观看 | 激情综合网五月激情 | 18性欧美xxxⅹ性满足 | 91精品久久久久久久久久入口 | 免费视频久久久 | 国产精品国产自产拍高清av | 国产一区二区精品 | 欧美9999 | 免费a网址 | 国产精品美女999 | 亚洲在线视频播放 | 天天综合色天天综合 | 亚洲国产精品激情在线观看 | 久久国产一区二区三区 | 亚洲激情网站免费观看 | 青草视频在线免费 | 久久久人| 五月婷婷丁香在线观看 | 久久免费成人精品视频 | 国产日韩在线一区 | 黄色国产在线观看 | 4438全国亚洲精品在线观看视频 | 日韩欧美一区二区三区视频 | 天天艹天天 | 国产精品自在欧美一区 | 人人插人人射 | 美女网站视频免费都是黄 | 国产在线一区观看 | 婷婷六月久久 | 粉嫩aⅴ一区二区三区 | 黄色一级大片在线观看 | 久草网站 | 精品国产乱码久久久久久浪潮 | 一区二区三区影院 | 伊人超碰在线 | 521色香蕉网站在线观看 | 国产手机在线视频 | 日本在线免费看 | 久久久久久久综合色一本 | 九九热免费观看 | 免费福利小视频 | 亚洲精品免费视频 | 在线观看亚洲精品 | 91视频啊啊啊 | 欧美精品久久久久久久久老牛影院 | 狠狠激情中文字幕 | 国产精品久久久久久久久久东京 | 麻豆成人在线观看 | 精品国产诱惑 | 久久色在线观看 | 黄色免费观看网址 | 高清久久久久久 | 97在线观看免费观看 | 操碰av | 四虎在线观看网址 | 日韩区欧美久久久无人区 | 国产尤物在线 | 九九热精品国产 | 久久久久一区二区三区四区 | 免费观看一级一片 | 丁香激情综合久久伊人久久 | 中文国产成人精品久久一 | 亚洲精品国精品久久99热 | 日韩高清av在线 | 97视频亚洲| 免费高清在线观看成人 | 亚洲精品久久久蜜臀下载官网 | 国产精品aⅴ| 99爱在线 | 亚洲高清av在线 | 国产亚洲精品日韩在线tv黄 | 中文字幕日本在线观看 | 成人网444ppp| 欧美精品久久人人躁人人爽 | 亚洲成aⅴ人片久久青草影院 | 中文字幕乱在线伦视频中文字幕乱码在线 | 激情视频网页 | 成人av教育 | 天天操夜夜操夜夜操 | 精品在线观看国产 | 日日干日日 | 日韩电影一区二区在线 | 亚洲精品国产片 | 欧美日韩精品影院 | 成人久久18免费网站图片 | 精品一区二区在线看 | 91激情视频在线播放 | 夜夜视频欧洲 | 亚洲伊人第一页 | 婷婷电影在线观看 | 日韩精品中字 | av免费观看网站 | 成人高清在线观看 | 日b视频在线观看网址 | 国产精品一区二区久久 | 日本特黄特色aaa大片免费 | 香蕉看片 | av免费观看高清 | 久久国产精品久久精品 | 国产又粗又猛又色又黄网站 | 久草国产视频 | 免费的成人av | 欧美激情综合五月色丁香 | 99国内精品久久久久久久 | 免费成人在线电影 | 最新超碰在线 | 西西大胆啪啪 | 亚洲精品色婷婷 | 在线视频你懂得 | 久久久久久久久久免费视频 | 精品久久久免费视频 | 黄色片视频在线观看 | 欧美在线视频日韩 | 在线免费观看视频一区 | 丝袜美女在线观看 | 97在线观看免费观看 | 精品久久1| 91福利社在线观看 | 丝袜网站在线观看 | 五月天久久激情 | 婷婷激情小说网 | 久草在线资源观看 | 久草精品在线观看 | 最新日韩在线观看视频 | 天天爽夜夜爽精品视频婷婷 | 成人在线免费看 | 中文字幕日韩免费视频 | 黄色激情网址 | 高清国产午夜精品久久久久久 | 欧美激情在线网站 | 国产精品 国内视频 | 中文欧美字幕免费 | 亚洲伊人色 | 久久婷婷色综合 | 精产嫩模国品一二三区 | 玖玖爱在线观看 | 国产一区国产精品 | 91亚色在线观看 | 久久精品福利 | 日本在线观看一区二区三区 | 欧美在线free | 日韩欧美高清免费 | 99免费在线观看视频 | 天天草天天色 | 亚洲国产黄色片 | 久久不卡视频 | 成片视频在线观看 | 亚洲一级黄色av | 日韩a欧美 | 青春草免费在线视频 | 韩国精品视频在线观看 | a成人v在线 | 婷婷色五| 91av原创 | 日本三级吹潮在线 | 中文字幕av免费观看 | 久久国产精品区 | 国产精品99蜜臀久久不卡二区 | 成年人在线视频观看 | 激情小说 五月 | av免费网站观看 | 久久精品老司机 | 成人综合日日夜夜 | 国产特级毛片 | 中文字幕在线观看完整 | 亚洲午夜激情网 | 国产一区二区在线播放 | 一级特黄av | 91丨九色丨国产在线观看 | 99久久精品国产观看 | 亚洲精品国精品久久99热 | 久久国产精品网站 | 国产一级片久久 | 国产精品video爽爽爽爽 | 黄色在线视频网址 | 最新国产视频 | 黄色com| 亚洲 欧洲 国产 日本 综合 | 欧美日韩高清一区二区 国产亚洲免费看 | 五月婷婷综合激情网 | 中文字幕成人一区 | 天天激情站 | 人人澡人摸人人添学生av | 91精彩视频在线观看 | 亚洲精品视频免费看 | 五月天婷婷综合 | 综合久久久 | 亚洲一区二区观看 | 日韩最新中文字幕 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 999久久久免费精品国产 | 狠狠狠色狠狠色综合 | 国产精品久久久久久久久搜平片 | 日本在线视频一区二区三区 | 精品在线视频观看 | 男女激情免费网站 | 香蕉视频18 | 国产精品对白一区二区三区 | 99免费精品视频 | 久久视频一区二区 | 精品国产观看 | 国产xxxx | 亚洲视频在线观看 | 精品夜夜嗨av一区二区三区 | 美女黄频免费 | 久久免费成人网 | 久久久精品小视频 | 久久免费电影网 | 欧美激情视频一二三区 | 欧美日韩精品在线观看 | 一级淫片在线观看 | 91一区二区三区在线观看 | 97精品在线 | 99视频国产在线 | 五月黄色 | 久久天天操 | www亚洲一区| 精品一区二区三区香蕉蜜桃 | 成人影音av | 毛片网站在线看 | .国产精品成人自产拍在线观看6 | www国产亚洲精品久久麻豆 | 免费观看一级 | 黄色成人av在线 | 国产精品高清一区二区三区 | 久久er99热精品一区二区三区 | 亚洲黑丝少妇 | 一区二区三区四区在线免费观看 | 久久精品久久久久久久 | 免费在线国产 | 久久久影院官网 | 成人免费 在线播放 | 欧美视频在线二区 | 日韩免费视频播放 | 国产剧情在线一区 | 日韩二区三区在线 | www日日夜夜 | 九九热精品视频在线播放 | 二区三区在线视频 | 99久热精品 | 国产高清在线视频 | 国产一区二区网址 | 久草网站在线观看 | 国产香蕉久久 | 日本中出在线观看 | 夜夜躁天天躁很躁波 | 成 人 黄 色视频免费播放 | 欧美 日韩精品 | 亚洲 中文 欧美 日韩vr 在线 | 99久久精品免费看国产一区二区三区 | 欧美极品xxxxx | 最近高清中文字幕在线国语5 | 亚洲综合一区二区精品导航 | 精品久久五月天 | 色狠狠久久av五月综合 | 丁香婷婷社区 | 国产在线成人 | 日韩精品一区二区在线视频 | 亚洲人成人在线 | 97在线观看视频国产 | 深爱激情综合 | 欧美日韩精品在线一区二区 | 国产精品高潮呻吟久久av无 | 欧美精品黑人性xxxx | 91亚洲激情 | 婷婷在线播放 | 国产一二三四在线观看视频 | 超碰九九| 日本在线免费看 | 九九久久国产 | 色天天综合网 | 亚洲成人黄色网址 | 日韩欧美专区 | 日韩二区在线播放 | 91自拍成人 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 69精品久久久| 国产一区二区久久久久 | 日本黄色免费电影网站 | 福利一区在线视频 | 久久人人爽人人 | 国产色妞影院wwwxxx | a在线免费观看视频 | 人人射人人 | 亚洲三级国产 | 国产黄色av影视 | 九九在线免费视频 | 国产精品美女在线 | 久久久久国产精品厨房 | 成人免费观看视频大全 | 97碰在线视频 | www五月天com | 五月激情亚洲 | 久久久www免费电影网 | 中文不卡视频 | 国产a级片免费观看 | av高清不卡| 日本精品一区二区三区在线观看 | 久久久www成人免费精品张筱雨 | 黄色三级在线看 | 国产精品久久久久久影院 | 久久1区 | 日韩中文字幕国产 | 免费影视大全推荐 | 亚洲免费精彩视频 | 亚洲欧美激情精品一区二区 | 日批网站在线观看 | 超碰人人射 | 久久久亚洲麻豆日韩精品一区三区 | 99久久久久成人国产免费 | 国产精品18久久久久久久久久久久 | 在线91av | 国产精品毛片久久久久久久 | 日韩在线电影一区二区 | 亚洲国产精品电影在线观看 | 亚洲成人xxx | 日本久久精 | 日韩欧美精品免费 | 摸bbb搡bbb搡bbbb | 在线精品亚洲一区二区 | 久久久久久久久福利 | 精品久久久久久久久中文字幕 | 日日麻批40分钟视频免费观看 | 欧美日韩aaaa | 久久夜色电影 | 国产精品九九九 | 国产精品久久久久高潮 | 国产精品久久久久久超碰 | 国产裸体无遮挡 | 超碰在线成人 | 国产午夜精品一区二区三区 | 一区二区三区观看 | www天天操| 国产成人精品999在线观看 | 伊人天天色 | 欧美激情视频一二区 | 碰超在线观看 | 最近中文字幕高清字幕免费mv | 国产精华国产精品 | 91麻豆操| 贫乳av女优大全 | 91精品在线播放 | 婷婷在线观看视频 | 精品国产一区二区三区在线观看 | 中文在线字幕免 | 九七视频在线观看 | 天天天天天天操 | 婷婷去俺也去六月色 | 亚洲综合网 | ,午夜性刺激免费看视频 | 在线播放一区二区三区 | 在线看黄网站 | av大片网址 | 这里只有精彩视频 | 久久伊人国产精品 | 婷婷 中文字幕 | 欧美a视频在线观看 | av在线com| 一区二区视频在线免费观看 | 亚洲电影一区二区 | 久草网站 | 免费看三片 | 色婷婷www | 欧美激情视频久久 | 欧美日韩调教 | 亚洲精品成人av在线 | 91视频在线网址 | 色.www| 在线观看一 | 日日干网址| 婷婷资源站 | 国产日韩在线视频 | 人人舔人人射 | 99久久精品国| 99国产精品免费网站 | 亚洲第一区在线观看 | 国产视频2021 | 国产第一页在线播放 | 国产精品18久久久久久首页狼 | 91网站免费观看 | 久久精品一二三区白丝高潮 | 在线日韩| 久久久五月婷婷 | 欧美一区二区在线看 | 午夜美女wwww | 久久久久色 | 黄色软件在线看 | 亚洲综合五月天 | 国产精品久久久久久a | 亚洲激情六月 | 六月天综合网 | 日韩免费在线观看网站 | 欧美视频二区 | 精品不卡av| 国产裸体bbb视频 | 国产 精品 资源 | 中文字幕丰满人伦在线 | 一级一级一片免费 | 久久丝袜视频 | 91av色| 超碰公开97 | 亚洲精品观看 | 中文字幕精品一区久久久久 | 最新高清无码专区 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 精品福利视频在线观看 | 久久影院中文字幕 | 四虎永久网站 | 久久6精品 | 日本精油按摩3 | 伊人久久电影网 | 超碰在线观看av.com | 婷婷国产一区二区三区 | 日韩精品久久久 | 欧美精品v国产精品v日韩精品 | 亚洲欧洲xxxx | 日韩精品在线视频免费观看 | 青青河边草手机免费 | jizz999| 2021久久 | 就要色综合 | 亚洲综合欧美激情 | 日本乱码在线 | 97香蕉超级碰碰久久免费软件 | 黄网站色成年免费观看 | 免费久久99精品国产婷婷六月 | 国产成人亚洲在线观看 | 日韩毛片精品 | 91激情小视频 | 精品久久久久久久久久久院品网 | 久久久受www免费人成 | 亚洲免费视频在线观看 | 高清精品在线 | 日韩中文字幕免费视频 | 久草久草在线观看 | 国产精品女教师 | 久久成人综合视频 | 91爱在线 | 91桃色在线观看视频 | 欧美日韩国产精品一区二区亚洲 | 色婷婷丁香 |