MTK相机-Android12_13-录像时间翻转了180度-翻转了90度、翻转了270度-解决方案

提示:MTK相机-录像时间翻转了180度-翻转了90度、翻转了270度


前言

大量的强制横竖屏定制产品、不同的摄像头适配、手机芯片做大屏横竖屏产品等产品场景,导致Camera 预览、录像、成像等 方向问题。

这里修改完成像、预览问题,涉及到的录像 时间旋转倒置等方向问题需要解决。

一、需求

MTK相机-录像时间翻转了180度-翻转了90度、翻转了270度 解决方案,如下:
在这里插入图片描述

二、源码修改文件-解决方案

修改文件

\vendor\mediatek\proprietary\packages\apps\Camera2\host\src\com\mediatek\camera\ui\video\VideoUI.java

或者

\vendor\mediatek\proprietary\packages\apps\Camera2\res\layout\recording.xml

解决方案

方案一:硬编码直接旋转角度

在这里插入图片描述

方案二:布局文件翻转角度

在这里插入图片描述

三、参考资料

    这里给出相关的参考资料,并不能直接给出参考意见和解决方案,但是也是MTKCamera 相关功能,里面有一些修改方法思路可以借鉴。

MTK-Android12-13 Camera2 设置默认视频画质功能实现 这里找UI id ,方案值得参考
Android 13.0 MTK Camera2 设置默认拍照尺寸功能实现
Camera2 预览旋转方向、拍照、录像成像旋转

四 、解决问题思路

1、查看UI堆栈 dumpsys activity top

进入录像模式后,查看UI堆栈 如下:

k65v1_64_bsp:/ $ dumpsys activity top
TASK 1000:com.android.settings.root id=18 userId=0
  ACTIVITY com.android.settings/.Settings aacbd01 pid=1401
    Local Activity 919ad3d State:
      mResumed=false mStopped=true mFinished=false
      mIsInMultiWindowMode=false mIsInPictureInPictureMode=false
      mChangingConfigurations=false
      mCurrentConfig={1.0 ?mcc?mnc [zh_CN] ldltr sw720dp w720dp h1256dp 240dpi xlrg long port finger qwerty/v/v dpad/v winConfig={ mBounds=Rect(0, 0 - 1080, 1920) mAppBounds=Rect(0, 0 - 1080, 1920) mMaxBounds=Rect(0, 0 - 1080, 1920) mDisplayRotation=ROTATION_0 mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=standard mAlwaysOnTop=undefined mRotation=ROTATION_0} s.5 fontWeightAdjustment=0}
      mLoadersStarted=true
      Active Fragments in 7f8761:
        #0: ReportFragment{7926286 #0 androidx.lifecycle.LifecycleDispatcher.report_fragment_tag}
          mFragmentId=#0 mContainerId=#0 mTag=androidx.lifecycle.LifecycleDispatcher.report_fragment_tag
          mState=3 mIndex=0 mWho=android:fragment:0 mBackStackNesting=0
          mAdded=true mRemoving=false mFromLayout=false mInLayout=false
          mHidden=false mDetached=false mMenuVisible=true mHasMenu=false
          mRetainInstance=false mRetaining=false mUserVisibleHint=true
          mFragmentManager=FragmentManager{7f8761 in HostCallbacks{cfcf747}}
          mHost=android.app.Activity$HostCallbacks@cfcf747
          Child FragmentManager{2f71b74 in ReportFragment{7926286}}:
            FragmentManager misc state:
              mHost=android.app.Activity$HostCallbacks@cfcf747
              mContainer=android.app.Fragment$1@d4c389d
              mParent=ReportFragment{7926286 #0 androidx.lifecycle.LifecycleDispatcher.report_fragment_tag}
              mCurState=3 mStateSaved=true mDestroyed=false
      Added Fragments:
        #0: ReportFragment{7926286 #0 androidx.lifecycle.LifecycleDispatcher.report_fragment_tag}
      FragmentManager misc state:
        mHost=android.app.Activity$HostCallbacks@cfcf747
        mContainer=android.app.Activity$HostCallbacks@cfcf747
        mCurState=3 mStateSaved=true mDestroyed=false
    ViewRoot:
      mAdded=true
      mRemoved=false
      mStopped=true
      mPausedForTransition=false
      mConsumeBatchedInputScheduled=false
      mConsumeBatchedInputImmediatelyScheduled=false
      mPendingInputEventCount=0
      mProcessInputEventsScheduled=false
      mTraversalScheduled=false
      mIsAmbientMode=false
      mUnbufferedInputSource=0
      mAttachInfo=       AttachInfo:
        mHasWindowFocus=false
        mWindowVisibility=8
        mInTouchMode=true
        mUnbufferedDispatchRequested=false
      android.view.ViewRootImpl$NativePreImeInputStage: mQueueLength=0
      android.view.ViewRootImpl$ImeInputStage: mQueueLength=0
      android.view.ViewRootImpl$NativePostImeInputStage: mQueueLength=0
      android.view.ViewRootImpl$WindowInputEventReceiver
       mInputChannel: 372d678 com.android.settings/com.android.settings.Settings (client)
       mSeqMap: {}
       mReceiverPtr:
        mInputConsumer:
          mResampleTouch = true
          mChannel = 372d678 com.android.settings/com.android.settings.Settings (client)
          mMsgDeferred: false
          Batches:
              <empty>
          mSeqChains:
              <empty>
          mConsumeTimes:
              <empty>

        mBatchedInputEventPending: false
        mOutboundQueue:
          <empty>

    Choreographer:
      mFrameScheduled=false
      mLastFrameTime=511977 (145588 ms ago)
    InsetsController:
      InsetsState
        mDisplayFrame=Rect(0, 0 - 1080, 1920)
        mDisplayCutout=DisplayCutout{insets=Rect(0, 0 - 0, 0) waterfall=Insets{left=0, top=0, right=0, bottom=0} boundingRect={Bounds=[Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0)]} cutoutPathParserInfo={CutoutPathParserInfo{displayWidth=0 displayHeight=0 physicalDisplayWidth=0 physicalDisplayHeight=0 density={0.0} cutoutSpec={} rotation={0} scale={0.0} physicalPixelDisplaySizeRatio={0.0}}}}
        mRoundedCorners=RoundedCorners{[RoundedCorner{position=TopLeft, radius=0, center=Point(0, 0)}, RoundedCorner{position=TopRight, radius=0, center=Point(0, 0)}, RoundedCorner{position=BottomRight, radius=0, center=Point(0, 0)}, RoundedCorner{position=BottomLeft, radius=0, center=Point(0, 0)}]}
        mRoundedCornerFrame=Rect(0, 0 - 1080, 1920)
        mPrivacyIndicatorBounds=PrivacyIndicatorBounds {static bounds=Rect(936, 0 - 1059, 36) rotation=0}
          InsetsSource type=ITYPE_STATUS_BAR frame=[0,0][1080,36] visible=true insetsRoundedCornerFrame=false
          InsetsSource type=ITYPE_LEFT_GESTURES frame=[0,0][0,0] visible=false insetsRoundedCornerFrame=false
          InsetsSource type=ITYPE_RIGHT_GESTURES frame=[0,0][0,0] visible=false insetsRoundedCornerFrame=false
          InsetsSource type=ITYPE_TOP_MANDATORY_GESTURES frame=[0,0][1080,36] visible=true insetsRoundedCornerFrame=false
          InsetsSource type=ITYPE_BOTTOM_MANDATORY_GESTURES frame=[0,0][0,0] visible=false insetsRoundedCornerFrame=false
          InsetsSource type=ITYPE_TOP_TAPPABLE_ELEMENT frame=[0,0][1080,36] visible=true insetsRoundedCornerFrame=false
          InsetsSource type=ITYPE_IME frame=[0,0][0,0] visible=false insetsRoundedCornerFrame=false
    View Hierarchy:
      DecorView@9222112[Settings]
        android.widget.LinearLayout{f87c0e3 V.E..V... .......D 0,0-1080,1920}
          android.view.ViewStub{c247ae0 G.E...... ......I. 0,0-0,0 #10201c5 android:id/action_mode_bar_stub}
          android.widget.FrameLayout{238c199 V.E..V... .......D 0,0-1080,1920 #1020002 android:id/content}
            androidx.coordinatorlayout.widget.CoordinatorLayout{27d3c5e V.E..V... .......D 0,36-1080,1920 #7f0a0516 app:id/settings_homepage_container}
              androidx.core.widget.NestedScrollView{59dce26 VFED.V... .......D 0,126-1080,1884 #7f0a035d app:id/main_content_scrollable_container}
                android.widget.LinearLayout{66b883f V.E..V... .......D 0,0-1080,2112 #7f0a02b3 app:id/homepage_container}
                  android.widget.FrameLayout{f06650c G.E..V... ......I. 0,0-0,0 #7f0a05b9 app:id/suggestion_container_two_pane}
                    android.widget.FrameLayout{bcade55 V.E..V... ......I. 0,0-0,0 #7f0a061f app:id/two_pane_suggestion_content}
                  android.widget.FrameLayout{430835d V.E..V... ........ 6,0-1074,0 #7f0a01a0 app:id/contextual_cards_content}
                  android.widget.FrameLayout{79c74d2 V.E..V... .......D 0,0-1080,2112 #7f0a035c app:id/main_content}
                    android.widget.LinearLayout{fdcc06a V.E..V... ......ID 0,0-1080,2112 #7f0a0195 app:id/container_material}
                      android.widget.FrameLayout{f9a695b G.E..V... ......ID 0,0-0,0 #7f0a045f app:id/pinned_header}
                      android.widget.FrameLayout{83ac5f8 V.E..V... .......D 0,0-1080,2112 #102003f android:id/list_container}
                        android.widget.LinearLayout{f280ad1 G.E..V... ......I. 0,0-0,0 #7f0a034d app:id/loading_container}
                          android.widget.ProgressBar{5fe7936 V.ED.V... ......ID 0,0-0,0}
                          android.widget.TextView{c0c4037 V.ED.V... ......I. 0,0-0,0}
                        androidx.recyclerview.widget.RecyclerView{e5249a4 VFED.V... .F.....D 0,0-1080,2112 #7f0a04af app:id/recycler_view aid=1073741824}
                          android.widget.LinearLayout{5a1e9a3 VFE..VC.. ......ID 0,0-1080,132 #0}
                            android.widget.LinearLayout{6b08193 V.E..V... .......D 0,42-84,90 #7f0a02c3 app:id/icon_frame}
                              androidx.preference.internal.PreferenceImageView{451830d V.ED.V... ......ID 48,6-84,42 #1020006 android:id/icon}
                            android.widget.RelativeLayout{b5425d0 V.E..V... ........ 84,4-1080,128 #7f0a05ea app:id/text_frame}
                              android.widget.TextView{539a9c9 V.ED.V... ........ 24,24-204,68 #1020016 android:id/title}
                              android.widget.TextView{5beb8ce V.ED.V... ........ 24,68-252,100 #1020010 android:id/summary}
                          android.widget.LinearLayout{23254a0 VFE..VC.. ......ID 0,132-1080,264 #0}
                            android.widget.LinearLayout{bd7a3ef V.E..V... .......D 0,42-84,90 #7f0a02c3 app:id/icon_frame}
                              androidx.preference.internal.PreferenceImageView{5b0f2c2 V.ED.V... ......ID 48,6-84,42 #1020006 android:id/icon}
                            android.widget.RelativeLayout{89dcefc V.E..V... ........ 84,4-1080,128 #7f0a05ea app:id/text_frame}
                              android.widget.TextView{32a1985 V.ED.V... ........ 24,24-204,68 #1020016 android:id/title}
                              android.widget.TextView{e9193da V.ED.V... ........ 24,68-129,100 #1020010 android:id/summary}
                          android.widget.LinearLayout{8f6f859 VFE..VC.. ......ID 0,264-1080,396 #0}
                            android.widget.LinearLayout{3a4900b V.E..V... .......D 0,42-84,90 #7f0a02c3 app:id/icon_frame}
                              androidx.preference.internal.PreferenceImageView{a5aa8d3 V.ED.V... ......ID 48,6-84,42 #1020006 android:id/icon}
                            android.widget.RelativeLayout{476dee8 V.E..V... ........ 84,4-1080,128 #7f0a05ea app:id/text_frame}
                              android.widget.TextView{df7c901 V.ED.V... ........ 24,24-84,68 #1020016 android:id/title}
                              android.widget.TextView{98513a6 V.ED.V... ........ 24,68-276,100 #1020010 android:id/summary}
                          android.widget.LinearLayout{ea90c1e VFE..VC.. ......ID 0,396-1080,528 #0 aid=1073741825}
                            android.widget.LinearLayout{20a21e7 V.E..V... .......D 0,42-84,90 #7f0a02c3 app:id/icon_frame}
                              androidx.preference.internal.PreferenceImageView{e3c5c10 V.ED.V... ......ID 48,6-84,42 #1020006 android:id/icon}
                            android.widget.RelativeLayout{44f0194 V.E..V... ........ 84,4-1080,128 #7f0a05ea app:id/text_frame}
                              android.widget.TextView{496f43d V.ED.V... ........ 24,24-84,68 #1020016 android:id/title}
                              android.widget.TextView{6dec432 V.ED.V... ........ 24,68-213,100 #1020010 android:id/summary}
                          android.widget.LinearLayout{cdf7cff VFE..VC.. ......ID 0,528-1080,660 #0 aid=1073741826}
                            android.widget.LinearLayout{d4cf583 V.E..V... .......D 0,42-84,90 #7f0a02c3 app:id/icon_frame}
                              androidx.preference.internal.PreferenceImageView{8204309 V.ED.V... ......ID 48,6-84,42 #1020006 android:id/icon}
                            android.widget.RelativeLayout{2e4a300 V.E..V... ........ 84,4-1080,128 #7f0a05ea app:id/text_frame}
                              android.widget.TextView{7039739 V.ED.V... ........ 24,24-84,68 #1020016 android:id/title}
                              android.widget.TextView{3b0f17e V.ED.V... ........ 24,68-280,100 #1020010 android:id/summary}
                          android.widget.LinearLayout{f781acc VFE..VC.. ......ID 0,660-1080,792 #0 aid=1073741827}
                            android.widget.LinearLayout{15f66df V.E..V... .......D 0,42-84,90 #7f0a02c3 app:id/icon_frame}
                              androidx.preference.internal.PreferenceImageView{c1f790e V.ED.V... ......ID 48,6-84,42 #1020006 android:id/icon}
                            android.widget.RelativeLayout{670ef2c V.E..V... ........ 84,4-1080,128 #7f0a05ea app:id/text_frame}
                              android.widget.TextView{efd6df5 V.ED.V... ........ 24,24-114,68 #1020016 android:id/title}
                              android.widget.TextView{9e6a78a V.ED.V... ........ 24,68-129,100 #1020010 android:id/summary}
                          android.widget.LinearLayout{415c115 VFE..VC.. ......ID 0,792-1080,924 #0 aid=1073741828}
                            android.widget.LinearLayout{cfd91fb V.E..V... .......D 0,42-84,90 #7f0a02c3 app:id/icon_frame}
                              androidx.preference.internal.PreferenceImageView{f1cff2f V.ED.V... ......ID 48,6-84,42 #1020006 android:id/icon}
                            android.widget.RelativeLayout{d93d218 V.E..V... ........ 84,4-1080,128 #7f0a05ea app:id/text_frame}
                              android.widget.TextView{883f471 V.ED.V... ........ 24,24-84,68 #1020016 android:id/title}
                              android.widget.TextView{50fb256 V.ED.V... ........ 24,68-276,100 #1020010 android:id/summary}
                          android.widget.LinearLayout{955cc2a VFE..VC.. ......ID 0,924-1080,1056 #0}
                            android.widget.LinearLayout{48952d7 V.E..V... .......D 0,42-84,90 #7f0a02c3 app:id/icon_frame}
                              androidx.preference.internal.PreferenceImageView{273293c V.ED.V... ......ID 48,6-84,42 #1020006 android:id/icon}
                            android.widget.RelativeLayout{efff7c4 V.E..V... ........ 84,4-1080,128 #7f0a05ea app:id/text_frame}
                              android.widget.TextView{61266ad V.ED.V... ........ 24,24-114,68 #1020016 android:id/title}
                              android.widget.TextView{7ec9de2 V.ED.V... ........ 24,68-192,100 #1020010 android:id/summary}
                          android.widget.LinearLayout{38ea1b VFE..VC.. ......ID 0,1056-1080,1188 #0}
                            android.widget.LinearLayout{6a64573 V.E..V... .......D 0,42-84,90 #7f0a02c3 app:id/icon_frame}
                              androidx.preference.internal.PreferenceImageView{20106c5 V.ED.V... ......ID 48,6-84,42 #1020006 android:id/icon}
                            android.widget.RelativeLayout{7e6cc30 V.E..V... ........ 84,4-1080,128 #7f0a05ea app:id/text_frame}
                              android.widget.TextView{c9bc0a9 V.ED.V... ........ 24,24-84,68 #1020016 android:id/title}
                              android.widget.TextView{ebab62e V.ED.V... ........ 24,68-381,100 #1020010 android:id/summary}
                          android.widget.LinearLayout{b7217b8 VFE..VC.. ......ID 0,1188-1080,1320 #0}
                            android.widget.LinearLayout{e95c5cf V.E..V... .......D 0,42-84,90 #7f0a02c3 app:id/icon_frame}
                              androidx.preference.internal.PreferenceImageView{bde181a V.ED.V... ......ID 48,6-84,42 #1020006 android:id/icon}
                            android.widget.RelativeLayout{5247b5c V.E..V... ........ 84,4-1080,128 #7f0a05ea app:id/text_frame}
                              android.widget.TextView{346be65 V.ED.V... ........ 24,24-84,68 #1020016 android:id/title}
                              android.widget.TextView{a40073a V.ED.V... ........ 24,68-276,100 #1020010 android:id/summary}
                          android.widget.LinearLayout{31e5991 VFE..VC.. ......ID 0,1320-1080,1452 #0}
                            android.widget.LinearLayout{52efeb V.E..V... .......D 0,42-84,90 #7f0a02c3 app:id/icon_frame}
                              androidx.preference.internal.PreferenceImageView{7045f4b V.ED.V... ......ID 48,6-84,42 #1020006 android:id/icon}
                            android.widget.RelativeLayout{32bf148 V.E..V... ........ 84,4-1080,128 #7f0a05ea app:id/text_frame}
                              android.widget.TextView{2e9dbe1 V.ED.V... ........ 24,24-144,68 #1020016 android:id/title}
                              android.widget.TextView{f975d06 V.ED.V... ........ 24,68-351,100 #1020010 android:id/summary}
                          android.widget.LinearLayout{a5c80f6 VFE..VC.. ......ID 0,1452-1080,1584 #0}
                            android.widget.LinearLayout{a6e9fc7 V.E..V... .......D 0,42-84,90 #7f0a02c3 app:id/icon_frame}
                              androidx.preference.internal.PreferenceImageView{e79d28 V.ED.V... ......ID 48,6-84,42 #1020006 android:id/icon}
                            android.widget.RelativeLayout{b2d9f4 V.E..V... ........ 84,4-1080,128 #7f0a05ea app:id/text_frame}
                              android.widget.TextView{147551d V.ED.V... ........ 24,24-234,68 #1020016 android:id/title}
                              android.widget.TextView{8bc4392 V.ED.V... ........ 24,68-276,100 #1020010 android:id/summary}
                          android.widget.LinearLayout{cf20cf7 VFE..VC.. ......ID 0,1584-1080,1716 #0}
                            android.widget.LinearLayout{9ab7163 V.E..V... .......D 0,42-84,90 #7f0a02c3 app:id/icon_frame}
                              androidx.preference.internal.PreferenceImageView{9704a41 V.ED.V... ......ID 48,6-84,42 #1020006 android:id/icon}
                            android.widget.RelativeLayout{1da160 V.E..V... ........ 84,4-1080,128 #7f0a05ea app:id/text_frame}
                              android.widget.TextView{4092619 V.ED.V... ........ 24,24-174,68 #1020016 android:id/title}
                              android.widget.TextView{1d706de V.ED.V... ........ 24,68-360,100 #1020010 android:id/summary}
                          android.widget.LinearLayout{10cf764 VFE..VC.. ......ID 0,1716-1080,1848 #0}
                            android.widget.LinearLayout{a59c0bf V.E..V... .......D 0,42-84,90 #7f0a02c3 app:id/icon_frame}
                              androidx.preference.internal.PreferenceImageView{ab59be6 V.ED.V... ......ID 48,6-84,42 #1020006 android:id/icon}
                            android.widget.RelativeLayout{3ab738c V.E..V... ........ 84,20-1080,112 #7f0a05ea app:id/text_frame}
                              android.widget.TextView{eb7a527 V.ED.V... ........ 24,24-84,68 #1020016 android:id/title}
                              android.widget.TextView{bad63d4 G.ED.V... ......I. 0,0-0,0 #1020010 android:id/summary}
                          android.widget.LinearLayout{13dfdcd VFE..VC.. ......ID 0,1848-1080,1980 #0}
                            android.widget.LinearLayout{77d0ad5 V.E..V... .......D 0,42-84,90 #7f0a02c3 app:id/icon_frame}
                              androidx.preference.internal.PreferenceImageView{736497d V.ED.V... ......ID 48,6-84,42 #1020006 android:id/icon}
                            android.widget.RelativeLayout{f48b2ea V.E..V... ........ 84,4-1080,128 #7f0a05ea app:id/text_frame}
                              android.widget.TextView{373a9db V.ED.V... ........ 24,24-84,68 #1020016 android:id/title}
                              android.widget.TextView{623c78 V.ED.V... ........ 24,68-255,100 #1020010 android:id/summary}
                          android.widget.LinearLayout{447b682 VFE..VC.. ......ID 0,1980-1080,2112 #0}
                            android.widget.LinearLayout{5107f51 V.E..V... .......D 0,42-84,90 #7f0a02c3 app:id/icon_frame}
                              androidx.preference.internal.PreferenceImageView{2f9072 V.ED.V... ......ID 48,6-84,42 #1020006 android:id/icon}
                            android.widget.RelativeLayout{87713b6 V.E..V... ........ 84,5-1080,126 #7f0a05ea app:id/text_frame}
                              android.widget.TextView{77908b7 V.ED.V... ........ 24,24-204,68 #1020016 android:id/title}
                              android.widget.TextView{3baa824 V.ED.V... ........ 24,68-93,97 #1020010 android:id/summary}
                      android.widget.TextView{c6f6cc3 G.ED.V... ......I. 0,0-0,0 #1020004 android:id/empty}
                      android.widget.LinearLayout{66e940 G.E..V... ......I. 0,0-0,0 #7f0a05ce app:id/tab_container}
                        com.google.android.material.tabs.TabLayout{e630079 VFED.V... ......I. 0,0-0,0 #7f0a05cf app:id/tabs}
                          com.google.android.material.tabs.TabLayout$SlidingTabIndicator{e241be V.ED.V... ......I. 0,0-0,0}
                        androidx.viewpager2.widget.ViewPager2{752121f V.E..V... ......I. 0,0-0,0 #7f0a064c app:id/view_pager}
                          androidx.viewpager2.widget.ViewPager2$RecyclerViewImpl{271596c VFED.V... ......I. 0,0-0,0 #8}
              com.google.android.material.appbar.AppBarLayout{648a67 V.E..V... ......ID 0,-247-1080,126 #7f0a0090 app:id/app_bar}
                android.widget.LinearLayout{90a2b35 V.E..V... .......D 0,0-1080,373 #7f0a0091 app:id/app_bar_container}
                  android.widget.LinearLayout{27cbbca V.E..V... ......ID 0,0-1080,373 #7f0a02b1 app:id/homepage_app_bar_regular_phone_view}
                    android.widget.ImageView{88fb13b I.ED.V... ......I. 972,84-1044,156 #7f0a0034 app:id/account_avatar}
                    android.widget.TextView{bd0a058 V.ED.V... ........ 36,156-144,235 #7f0a02b5 app:id/homepage_title}
                    android.widget.FrameLayout{4bf45b1 V.E..V... ........ 0,247-1080,247 #7f0a05ba app:id/suggestion_content}
                    android.widget.LinearLayout{492ca96 V.E..V... .......D 24,271-1056,349}
                      com.google.android.material.card.MaterialCardView{23e2617 V.E..V... ......ID 0,0-1032,78 #7f0a04f3 app:id/search_bar}
                        android.widget.Toolbar{db6a04 VFE..VC.. ......ID 0,0-1032,78 #7f0a04ee app:id/search_action_bar}
                          android.widget.ImageButton{ad18bed VFED.V... ......ID 6,0-90,78}
                          android.widget.TextView{a28fa22 V.ED.V... ........ 90,17-204,61 #7f0a04ef app:id/search_action_bar_title}
                  android.widget.LinearLayout{7f50cb3 G.E..V... ......I. 0,0-0,0 #7f0a02b2 app:id/homepage_app_bar_two_pane_view}
                    com.google.android.material.card.MaterialCardView{2a72270 V.E..V... ......I. 0,0-0,0}
                      android.widget.Toolbar{47f9e9 V.E..V... ......I. 0,0-0,0 #7f0a04f0 app:id/search_action_bar_two_pane}
                        android.widget.ImageButton{966e VFED.V... ......I. 0,0-0,0}
                        android.widget.TextView{529c10f V.ED.V... ......I. 0,0-0,0 #7f0a04f4 app:id/search_bar_title}
                    android.widget.ImageView{c33f59c V.ED.V... ......I. 0,0-0,0 #7f0a0035 app:id/account_avatar_two_pane_version}
        android.view.View{99d4ba5 V.ED..... ......ID 0,0-1080,36 #102002f android:id/statusBarBackground}
    Looper (main, tid 2) {ba3ab7a}
      (Total messages: 0, polling=false, quitting=false)
    ResourcesManager:
      total apks: 3
      resources: 9
      resource impls: 4
    1 dumpables:
    #0: AutofillManager
        AutofillManager:
          sessionId: 2147483647
          state: UNKNOWN
          context: com.android.settings.homepage.SettingsHomepageActivity@919ad3d
          service client: null
          client: android.view.autofill.AutofillClientController@d4b5f2b (android.os.BinderProxy@38218b7)
          enabled: false
          enabledAugmentedOnly: false
          hasService: true
          hasCallback: false
          onInvisibleCalled false
          last autofilled data: null
          id of last fill UI shown: null
          tracked views: null
          fillable ids: null
          entered ids: null
          save trigger id: null
          save on finish(): false
          compat mode enabled:   fill dialog enabled: false
          fill dialog enabled hints: []
        false
          debug: false verbose: false
        Autofill Compat Mode: false
    Local FragmentActivity 919ad3d State:
      mCreated=true mResumed=false mStopped=true    Active Fragments:
    TopLevelSettings{658cf88} (628a5532-f45f-4824-bcee-6ef85ca6e9f2 id=0x7f0a035c)
        mFragmentId=#7f0a035c mContainerId=#7f0a035c mTag=null
        mState=4 mWho=628a5532-f45f-4824-bcee-6ef85ca6e9f2 mBackStackNesting=0
        mAdded=true mRemoving=false mFromLayout=false mInLayout=false
        mHidden=false mDetached=false mMenuVisible=true mHasMenu=true
        mRetainInstance=false mUserVisibleHint=true
        mFragmentManager=FragmentManager{e3bfd21 in HostCallbacks{f310546}}}
        mHost=androidx.fragment.app.FragmentActivity$HostCallbacks@f310546
        mArguments=Bundle[{need_search_icon_in_action_bar=false, :settings:fragment_args_key=top_level_network}]
        mSavedViewState={8=androidx.recyclerview.widget.RecyclerView$SavedState@19ec307, 16908292=android.view.AbsSavedState$1@e6f5c34, 16908351=android.view.AbsSavedState$1@e6f5c34, 2131362197=android.view.AbsSavedState$1@e6f5c34, 2131362637=android.view.AbsSavedState$1@e6f5c34, 2131362911=android.view.AbsSavedState$1@e6f5c34, 2131362991=androidx.recyclerview.widget.RecyclerView$SavedState@7ba4a5d, 2131363278=android.view.AbsSavedState$1@e6f5c34, 2131363279=HorizontalScrollView.SavedState{de82fd2 scrollPosition=0}, 2131363404=androidx.viewpager2.widget.ViewPager2$SavedState@8da88a3}
        mSavedViewRegistryState=Bundle[{androidx.lifecycle.BundlableSavedStateRegistry.key=Bundle[{}]}]
        mPopDirection=false
        mContainer=android.widget.FrameLayout{79c74d2 V.E..V... .......D 0,0-1080,2112 #7f0a035c app:id/main_content}
        mView=android.widget.LinearLayout{fdcc06a V.E..V... ......ID 0,0-1080,2112 #7f0a0195 app:id/container_material}
        Child FragmentManager{bc007a0 in TopLevelSettings{658cf88}}}:
          Back Stack Index: 0
          FragmentManager misc state:
            mHost=androidx.fragment.app.FragmentActivity$HostCallbacks@f310546
            mContainer=androidx.fragment.app.Fragment$4@8d62f59
            mParent=TopLevelSettings{658cf88} (628a5532-f45f-4824-bcee-6ef85ca6e9f2 id=0x7f0a035c)
            mCurState=4 mStateSaved=true mStopped=true mDestroyed=false
    Added Fragments:
      #0: TopLevelSettings{658cf88} (628a5532-f45f-4824-bcee-6ef85ca6e9f2 id=0x7f0a035c)
    Back Stack Index: 0
    FragmentManager misc state:
      mHost=androidx.fragment.app.FragmentActivity$HostCallbacks@f310546
      mContainer=androidx.fragment.app.FragmentActivity$HostCallbacks@f310546
      mCurState=4 mStateSaved=true mStopped=true mDestroyed=false

TASK 1000:com.fise.dmseries id=17 userId=0
  ACTIVITY com.fise.dmseries/.ui.main.HomeActivity 2a1bfaf pid=1829
    Local Activity e09bd45 State:
      mResumed=false mStopped=true mFinished=false
      mIsInMultiWindowMode=false mIsInPictureInPictureMode=false
      mChangingConfigurations=false
      mCurrentConfig={1.0 ?mcc?mnc [zh_CN] ldltr sw720dp w720dp h1256dp 240dpi xlrg long port finger qwerty/v/v dpad/v winConfig={ mBounds=Rect(0, 0 - 1080, 1920) mAppBounds=Rect(0, 0 - 1080, 1920) mMaxBounds=Rect(0, 0 - 1080, 1920) mDisplayRotation=ROTATION_0 mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=home mAlwaysOnTop=undefined mRotation=ROTATION_0} s.8 fontWeightAdjustment=0}
      mLoadersStarted=true
      Active Fragments in 610fe7c:
        #0: ReportFragment{2ae5305 #0 androidx.lifecycle.LifecycleDispatcher.report_fragment_tag}
          mFragmentId=#0 mContainerId=#0 mTag=androidx.lifecycle.LifecycleDispatcher.report_fragment_tag
          mState=3 mIndex=0 mWho=android:fragment:0 mBackStackNesting=0
          mAdded=true mRemoving=false mFromLayout=false mInLayout=false
          mHidden=false mDetached=false mMenuVisible=true mHasMenu=false
          mRetainInstance=false mRetaining=false mUserVisibleHint=true
          mFragmentManager=FragmentManager{610fe7c in HostCallbacks{c630f5a}}
          mHost=android.app.Activity$HostCallbacks@c630f5a
          Child FragmentManager{e77258b in ReportFragment{2ae5305}}:
            FragmentManager misc state:
              mHost=android.app.Activity$HostCallbacks@c630f5a
              mContainer=android.app.Fragment$1@aad8668
              mParent=ReportFragment{2ae5305 #0 androidx.lifecycle.LifecycleDispatcher.report_fragment_tag}
              mCurState=3 mStateSaved=true mDestroyed=false
      Added Fragments:
        #0: ReportFragment{2ae5305 #0 androidx.lifecycle.LifecycleDispatcher.report_fragment_tag}
      FragmentManager misc state:
        mHost=android.app.Activity$HostCallbacks@c630f5a
        mContainer=android.app.Activity$HostCallbacks@c630f5a
        mCurState=3 mStateSaved=true mDestroyed=false
    ViewRoot:
      mAdded=true
      mRemoved=false
      mStopped=true
      mPausedForTransition=false
      mConsumeBatchedInputScheduled=false
      mConsumeBatchedInputImmediatelyScheduled=false
      mPendingInputEventCount=0
      mProcessInputEventsScheduled=false
      mTraversalScheduled=false
      mIsAmbientMode=false
      mUnbufferedInputSource=0
      mAttachInfo=       AttachInfo:
        mHasWindowFocus=false
        mWindowVisibility=8
        mInTouchMode=true
        mUnbufferedDispatchRequested=false
      android.view.ViewRootImpl$NativePreImeInputStage: mQueueLength=0
      android.view.ViewRootImpl$ImeInputStage: mQueueLength=0
      android.view.ViewRootImpl$NativePostImeInputStage: mQueueLength=0
      android.view.ViewRootImpl$WindowInputEventReceiver
       mInputChannel: 4dc1c5a com.fise.dmseries/com.fise.dmseries.ui.main.HomeActivity (client)
       mSeqMap: {}
       mReceiverPtr:
        mInputConsumer:
          mResampleTouch = true
          mChannel = 4dc1c5a com.fise.dmseries/com.fise.dmseries.ui.main.HomeActivity (client)
          mMsgDeferred: false
          Batches:
              <empty>
          mSeqChains:
              <empty>
          mConsumeTimes:
              <empty>

        mBatchedInputEventPending: false
        mOutboundQueue:
          <empty>

    Choreographer:
      mFrameScheduled=false
      mLastFrameTime=515124 (142466 ms ago)
    InsetsController:
      InsetsState
        mDisplayFrame=Rect(0, 0 - 1080, 1920)
        mDisplayCutout=DisplayCutout{insets=Rect(0, 0 - 0, 0) waterfall=Insets{left=0, top=0, right=0, bottom=0} boundingRect={Bounds=[Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0)]} cutoutPathParserInfo={CutoutPathParserInfo{displayWidth=0 displayHeight=0 physicalDisplayWidth=0 physicalDisplayHeight=0 density={0.0} cutoutSpec={} rotation={0} scale={0.0} physicalPixelDisplaySizeRatio={0.0}}}}
        mRoundedCorners=RoundedCorners{[RoundedCorner{position=TopLeft, radius=0, center=Point(0, 0)}, RoundedCorner{position=TopRight, radius=0, center=Point(0, 0)}, RoundedCorner{position=BottomRight, radius=0, center=Point(0, 0)}, RoundedCorner{position=BottomLeft, radius=0, center=Point(0, 0)}]}
        mRoundedCornerFrame=Rect(0, 0 - 1080, 1920)
        mPrivacyIndicatorBounds=PrivacyIndicatorBounds {static bounds=Rect(936, 0 - 1059, 36) rotation=0}
          InsetsSource type=ITYPE_STATUS_BAR frame=[0,0][1080,36] visible=false insetsRoundedCornerFrame=false
          InsetsSource type=ITYPE_LEFT_GESTURES frame=[0,0][0,0] visible=false insetsRoundedCornerFrame=false
          InsetsSource type=ITYPE_RIGHT_GESTURES frame=[0,0][0,0] visible=false insetsRoundedCornerFrame=false
          InsetsSource type=ITYPE_TOP_MANDATORY_GESTURES frame=[0,0][1080,36] visible=true insetsRoundedCornerFrame=false
          InsetsSource type=ITYPE_BOTTOM_MANDATORY_GESTURES frame=[0,0][0,0] visible=false insetsRoundedCornerFrame=false
          InsetsSource type=ITYPE_TOP_TAPPABLE_ELEMENT frame=[0,0][1080,36] visible=true insetsRoundedCornerFrame=false
          InsetsSource type=ITYPE_IME frame=[0,0][0,0] visible=false insetsRoundedCornerFrame=false
    View Hierarchy:
      DecorView@7461a81[HomeActivity]
        android.widget.LinearLayout{5b2c726 V.E...... ......ID 0,0-1080,1920}
          android.view.ViewStub{3308f67 G.E...... ......I. 0,0-0,0 #10201c5 android:id/action_mode_bar_stub}
          android.widget.FrameLayout{808a114 V.E...... ......ID 0,0-1080,1920}
            androidx.appcompat.widget.FitWindowsLinearLayout{638ddbd V.E...... ......ID 0,0-1080,1920 #7f0a003b app:id/action_bar_root}
              androidx.appcompat.widget.ViewStubCompat{6f42fb2 G.E...... ......I. 0,0-0,0 #7f0a0046 app:id/action_mode_bar_stub}
              androidx.appcompat.widget.ContentFrameLayout{22cbb03 V.E...... ......ID 0,0-1080,1920 #1020002 android:id/content}
                androidx.constraintlayout.widget.ConstraintLayout{558ba80 V.E...... ......ID 0,0-1080,1920 #7f0a01f1 app:id/rootView}
                  com.fise.dmseries.widget.XPagedView{e9a98b9 V.E...... .......D 0,0-1080,1920 #7f0a02af app:id/xpageview}
                    androidx.constraintlayout.widget.ConstraintLayout{a7194fe V.E...... .......D 0,0-1080,1920 #7f0a0101 app:id/home_page_one}
                      androidx.constraintlayout.widget.ConstraintLayout{836045f V.E...... .......D 102,244-978,1795 #7f0a0103 app:id/homepage_content}
                        com.kproduce.roundcorners.RoundConstraintLayout{4cefeac VFE...C.. ......ID 371,0-876,713 #7f0a008a app:id/cl_banner}
                          androidx.appcompat.widget.AppCompatTextView{2c30775 V.ED..... ........ 16,16-96,46 #7f0a0064 app:id/banner_title}
                          androidx.appcompat.widget.AppCompatTextView{2ce030a V.ED..... ........ 399,16-489,46 #7f0a0063 app:id/banner_sub_title}
                          com.youth.banner.Banner{a60877b V.E...... .......D 16,57-489,697 #7f0a0060 app:id/banner}
                            androidx.viewpager2.widget.ViewPager2{8835998 V.E...... .......D 0,0-473,640}
                              androidx.viewpager2.widget.ViewPager2$RecyclerViewImpl{8c9a5f1 VFED..... .......D 0,0-473,640 #6}
                                com.kproduce.roundcorners.RoundConstraintLayout{5071f94 V.E...C.. ......ID 0,0-473,640 #7f0a01f3 app:id/root_image}
                                  com.kproduce.roundcorners.RoundImageView{7d145d6 V.ED..... ......ID 0,0-473,640 #7f0a011c app:id/image}
                        androidx.constraintlayout.widget.ConstraintLayout{e62057 V.E...... .......D 84,0-288,713 #7f0a014e app:id/left_weather}
                          android.widget.LinearLayout{a207744 V.E...... ........ 0,30-204,126 #7f0a0156 app:id/ll_timehourminute}
                            androidx.appcompat.widget.AppCompatTextView{6c1b02d V.ED..... ........ 0,0-112,96 #7f0a0254 app:id/textCurrentTimeHour}
                            androidx.appcompat.widget.AppCompatTextView{3f3e962 V.ED..... ........ 112,0-204,96 #7f0a0255 app:id/textCurrentTimeMinute}
                          androidx.appcompat.widget.AppCompatTextView{3c26af3 V.ED..... ........ 1,156-203,191 #7f0a026d app:id/textWeekTime}
                          androidx.appcompat.widget.AppCompatTextView{14fc3b0 V.ED..... ........ 30,221-174,254 #7f0a025c app:id/textNongLi}
                          androidx.appcompat.widget.AppCompatImageView{6b62229 V.ED..C.. ......ID 32,354-172,474 #7f0a0136 app:id/imageWeather}
                          androidx.appcompat.widget.AppCompatTextView{eab39ae I.ED..C.. ......I. 30,401-174,428 #7f0a024e app:id/test_shutmen}
                          android.widget.LinearLayout{50ec34f V.E...... ........ 29,504-175,539 #7f0a006d app:id/bottomweathermsg}
                            androidx.appcompat.widget.AppCompatTextView{4e56adc V.ED..... ........ 0,2-83,35 #7f0a0262 app:id/textTemperatureInfo}
                            androidx.appcompat.widget.AppCompatTextView{e65b7e5 V.ED..... ........ 98,0-146,35 #7f0a026c app:id/textWeatherInfo}
                          android.widget.LinearLayout{f7542ba V.E...... .......D 54,539-151,566 #7f0a0157 app:id/ll_weather_location}
                            androidx.appcompat.widget.AppCompatTextView{51e456b V.ED..... ........ 15,0-69,27 #7f0a0271 app:id/textcityName}
                            androidx.appcompat.widget.AppCompatImageView{2cc58c8 V.ED..... ......ID 81,3-97,23}
                        com.kproduce.roundcorners.RoundImageView{6beed61 VFED..C.. ......ID 0,737-692,1130 #7f0a0278 app:id/third}
                        androidx.appcompat.widget.AppCompatTextView{5a4d086 V.ED..... ........ 23,760-103,790 #7f0a027a app:id/third_title}
                        androidx.appcompat.widget.AppCompatTextView{c59cd47 V.ED..... ........ 579,760-669,790 #7f0a0279 app:id/third_sub_title}
                        com.kproduce.roundcorners.RoundImageView{ab23974 VFED..C.. ......ID 719,738-876,1130 #7f0a00cd app:id/eight}
                        androidx.appcompat.widget.AppCompatTextView{f1bfe9d V.ED..... ........ 758,761-838,791 #7f0a00cf app:id/eight_title}
                        androidx.appcompat.widget.AppCompatTextView{ed6f12 V.ED..... ........ 742,1085-805,1107 #7f0a00ce app:id/eight_sub_title}
                        com.kproduce.roundcorners.RoundImageView{6dbf6e3 VFED..C.. ......ID 0,1150-337,1543 #7f0a00eb app:id/fouth}
                        androidx.appcompat.widget.AppCompatTextView{77378e0 V.ED..... ........ 23,1173-103,1203 #7f0a00ed app:id/fouth_title}
                        androidx.appcompat.widget.AppCompatTextView{83ee799 V.ED..... ........ 23,1498-86,1520 #7f0a00ec app:id/fouth_sub_title}
                        com.kproduce.roundcorners.RoundImageView{6af6a5e VFED..C.. ......ID 355,1150-692,1543 #7f0a00e3 app:id/five}
                        androidx.appcompat.widget.AppCompatTextView{dcd1e3f V.ED..... ........ 378,1173-458,1203 #7f0a00e5 app:id/five_title}
                        androidx.appcompat.widget.AppCompatTextView{347430c V.ED..... ........ 378,1498-441,1520 #7f0a00e4 app:id/five_sub_title}
                        com.kproduce.roundcorners.RoundImageView{30d6455 VFED..C.. ......ID 715,1150-873,1336 #7f0a021b app:id/six}
                        androidx.appcompat.widget.AppCompatTextView{3ce6a V.ED..... ........ 754,1173-834,1203 #7f0a021d app:id/six_title}
                        androidx.appcompat.widget.AppCompatTextView{a7f5f5b V.ED..... ........ 738,1302-801,1324 #7f0a021c app:id/six_sub_title}
                        com.kproduce.roundcorners.RoundImageView{2ab83f8 VFED..C.. ......ID 718,1357-876,1543 #7f0a0211 app:id/seven}
                        androidx.appcompat.widget.AppCompatTextView{f0cf0d1 V.ED..... ........ 741,1380-781,1410 #7f0a0213 app:id/seven_title}
                        androidx.appcompat.widget.AppCompatTextView{c886736 V.ED..... ........ 741,1509-804,1531 #7f0a0212 app:id/seven_sub_title}
                    androidx.constraintlayout.widget.ConstraintLayout{f4a9637 V.E...... .......D 1080,0-2160,1920 #7f0a0102 app:id/home_page_two}
                      com.kproduce.roundcorners.RoundImageView{210e7a4 V.ED..... ......ID 100,100-142,142 #7f0a0124 app:id/imageEdit}
                      com.kproduce.roundcorners.RoundTextView{49ec90d VFED..C.. ......ID 157,100-307,142 #7f0a0264 app:id/textToolbarEdit}
                      com.fise.dmseries.widget.RefreshRecyclerView{5ebc0c2 VFED..... .......D 30,209-1050,1920 #7f0a01e5 app:id/refreshrView}
                        com.kproduce.roundcorners.RoundConstraintLayout{64ecd2c VFE...CL. ......ID 0,0-204,145}
                          androidx.appcompat.widget.AppCompatImageView{2285ed3 V.ED..... ......ID 65,8-139,82 #7f0a0128 app:id/imageIcon}
                          androidx.appcompat.widget.AppCompatTextView{246da10 V.ED..... ........ 78,102-126,137 #7f0a025b app:id/textName}
                          androidx.appcompat.widget.AppCompatImageView{6fbe909 G.ED..... ......ID 0,0-0,0 #7f0a0123 app:id/imageDelete}
                        com.kproduce.roundcorners.RoundConstraintLayout{cb1fcdf VFE...CL. ......ID 204,0-408,145}
                          androidx.appcompat.widget.AppCompatImageView{39270e V.ED..... ......ID 65,8-139,82 #7f0a0128 app:id/imageIcon}
                          androidx.appcompat.widget.AppCompatTextView{510152f V.ED..... ........ 66,102-138,137 #7f0a025b app:id/textName}
                          androidx.appcompat.widget.AppCompatImageView{fa7873c G.ED..... ......ID 0,0-0,0 #7f0a0123 app:id/imageDelete}
                        com.kproduce.roundcorners.RoundConstraintLayout{f81f7e VFE...CL. ......ID 408,0-612,145}
                          androidx.appcompat.widget.AppCompatImageView{9f10cc5 V.ED..... ......ID 65,8-139,82 #7f0a0128 app:id/imageIcon}
                          androidx.appcompat.widget.AppCompatTextView{2e4a61a V.ED..... ........ 78,102-126,137 #7f0a025b app:id/textName}
                          androidx.appcompat.widget.AppCompatImageView{812d54b G.ED..... ......ID 0,0-0,0 #7f0a0123 app:id/imageDelete}
                        com.kproduce.roundcorners.RoundConstraintLayout{952bd39 VFE...CL. ......ID 612,0-816,145}
                          androidx.appcompat.widget.AppCompatImageView{3db28 V.ED..... ......ID 65,8-139,82 #7f0a0128 app:id/imageIcon}
                          androidx.appcompat.widget.AppCompatTextView{75ab041 V.ED..... ........ 78,102-126,137 #7f0a025b app:id/textName}
                          androidx.appcompat.widget.AppCompatImageView{69709e6 G.ED..... ......ID 0,0-0,0 #7f0a0123 app:id/imageDelete}
                        com.kproduce.roundcorners.RoundConstraintLayout{a00a100 VFE...CL. ......ID 816,0-1020,145}
                          androidx.appcompat.widget.AppCompatImageView{1377b27 V.ED..... ......ID 65,8-139,82 #7f0a0128 app:id/imageIcon}
                          androidx.appcompat.widget.AppCompatTextView{34f81d4 V.ED..... ........ 54,102-150,137 #7f0a025b app:id/textName}
                          androidx.appcompat.widget.AppCompatImageView{610f7d G.ED..... ......ID 0,0-0,0 #7f0a0123 app:id/imageDelete}
                        com.kproduce.roundcorners.RoundConstraintLayout{3b9de72 VFE...CL. ......ID 0,190-204,335}
                          androidx.appcompat.widget.AppCompatImageView{616a2c3 V.ED..... ......ID 65,8-139,82 #7f0a0128 app:id/imageIcon}
                          androidx.appcompat.widget.AppCompatTextView{30ce740 V.ED..... ........ 78,102-126,137 #7f0a025b app:id/textName}
                          androidx.appcompat.widget.AppCompatImageView{6742679 G.ED..... ......ID 0,0-0,0 #7f0a0123 app:id/imageDelete}
                        com.kproduce.roundcorners.RoundConstraintLayout{dc36fbe VFE...CL. ......ID 204,190-408,335}
                          androidx.appcompat.widget.AppCompatImageView{336a81f V.ED..... ......ID 65,8-139,82 #7f0a0128 app:id/imageIcon}
                          androidx.appcompat.widget.AppCompatTextView{c79376c V.ED..... ........ 78,102-126,137 #7f0a025b app:id/textName}
                          androidx.appcompat.widget.AppCompatImageView{807b135 G.ED..... ......ID 0,0-0,0 #7f0a0123 app:id/imageDelete}
                        com.kproduce.roundcorners.RoundConstraintLayout{742c9ca VFE...CL. ......ID 408,190-612,335}
                          androidx.appcompat.widget.AppCompatImageView{d27a73b V.ED..... ......ID 65,8-139,82 #7f0a0128 app:id/imageIcon}
                          androidx.appcompat.widget.AppCompatTextView{1785e58 V.ED..... ........ 42,102-162,137 #7f0a025b app:id/textName}
                          androidx.appcompat.widget.AppCompatImageView{d0f2bb1 G.ED..... ......ID 0,0-0,0 #7f0a0123 app:id/imageDelete}
                        com.kproduce.roundcorners.RoundConstraintLayout{aabb896 VFE...CL. ......ID 612,190-816,335}
                          androidx.appcompat.widget.AppCompatImageView{75f7c17 V.ED..... ......ID 65,9-139,83 #7f0a0128 app:id/imageIcon}
                          androidx.appcompat.widget.AppCompatTextView{c410804 V.ED..... ........ 75,103-129,136 #7f0a025b app:id/textName}
                          androidx.appcompat.widget.AppCompatImageView{f39d1ed G.ED..... ......ID 0,0-0,0 #7f0a0123 app:id/imageDelete}
                        com.kproduce.roundcorners.RoundConstraintLayout{3e2c822 VFE...CL. ......ID 816,190-1020,335}
                          androidx.appcompat.widget.AppCompatImageView{cd5c2b3 V.ED..... ......ID 65,8-139,82 #7f0a0128 app:id/imageIcon}
                          androidx.appcompat.widget.AppCompatTextView{1c8a070 V.ED..... ........ 78,102-126,137 #7f0a025b app:id/textName}
                          androidx.appcompat.widget.AppCompatImageView{9ee9fe9 G.ED..... ......ID 0,0-0,0 #7f0a0123 app:id/imageDelete}
                        com.kproduce.roundcorners.RoundConstraintLayout{689446e VFE...CL. ......ID 0,380-204,525}
                          androidx.appcompat.widget.AppCompatImageView{65fd70f V.ED..... ......ID 65,8-139,82 #7f0a0128 app:id/imageIcon}
                          androidx.appcompat.widget.AppCompatTextView{eef539c V.ED..... ........ 45,102-159,137 #7f0a025b app:id/textName}
                          androidx.appcompat.widget.AppCompatImageView{e0851a5 G.ED..... ......ID 0,0-0,0 #7f0a0123 app:id/imageDelete}
                        com.kproduce.roundcorners.RoundConstraintLayout{d09397a VFE...CL. ......ID 204,380-408,525}
                          androidx.appcompat.widget.AppCompatImageView{accd52b V.ED..... ......ID 65,8-139,82 #7f0a0128 app:id/imageIcon}
                          androidx.appcompat.widget.AppCompatTextView{c6c0d88 V.ED..... ........ 78,102-126,137 #7f0a025b app:id/textName}
                          androidx.appcompat.widget.AppCompatImageView{5516321 G.ED..... ......ID 0,0-0,0 #7f0a0123 app:id/imageDelete}
                        com.kproduce.roundcorners.RoundConstraintLayout{c617346 VFE...CL. ......ID 408,380-612,525}
                          androidx.appcompat.widget.AppCompatImageView{4c19907 V.ED..... ......ID 65,9-139,83 #7f0a0128 app:id/imageIcon}
                          androidx.appcompat.widget.AppCompatTextView{5787a34 V.ED..... ........ 72,103-132,136 #7f0a025b app:id/textName}
                          androidx.appcompat.widget.AppCompatImageView{1c0105d G.ED..... ......ID 0,0-0,0 #7f0a0123 app:id/imageDelete}
                        com.kproduce.roundcorners.RoundConstraintLayout{8b17dd2 VFE...CL. ......ID 612,380-816,525}
                          androidx.appcompat.widget.AppCompatImageView{a54bea3 V.ED..... ......ID 65,8-139,82 #7f0a0128 app:id/imageIcon}
                          androidx.appcompat.widget.AppCompatTextView{d3d05a0 V.ED..... ........ 54,102-150,137 #7f0a025b app:id/textName}
                          androidx.appcompat.widget.AppCompatImageView{4725559 G.ED..... ......ID 0,0-0,0 #7f0a0123 app:id/imageDelete}
                  androidx.constraintlayout.widget.ConstraintLayout{685a51e V.E...... ......ID 0,0-1080,59 #7f0a00a1 app:id/customToolBar}
                    androidx.appcompat.widget.AppCompatTextView{26aa1ff V.ED..... ......ID 15,15-73,44 #7f0a0266 app:id/textToolbarTime}
                    androidx.appcompat.widget.AppCompatImageView{efcdbcc V.ED..... ......ID 88,18-109,41 #7f0a011f app:id/imageBluetooth}
                    androidx.appcompat.widget.AppCompatImageView{869ee15 G.ED..... ......ID 0,0-0,0 #7f0a0130 app:id/imageSound}
                    androidx.appcompat.widget.AppCompatImageView{4e2f52a G.ED..... ......I. 0,0-0,0 #7f0a0126 app:id/imageHeadset}
                    androidx.appcompat.widget.AppCompatTextView{3d15f1b G.ED..... ......ID 0,0-0,0 #7f0a025a app:id/textMobileNetType}
                    androidx.appcompat.widget.AppCompatImageView{501e8b8 G.ED..... ......ID 0,0-0,0 #7f0a0138 app:id/imageairplan}
                    androidx.appcompat.widget.AppCompatImageView{d085691 G.ED..... ......ID 0,0-0,0 #7f0a012f app:id/imageSignal}
                    androidx.appcompat.widget.AppCompatImageView{c1339f6 V.ED..... ......ID 1018,18-1050,41 #7f0a0137 app:id/imageWifi}
                    androidx.constraintlayout.widget.ConstraintLayout{a1cd1f7 V.E...... ......ID 1065,30-1065,30 #7f0a014a app:id/layoutPower}
                      androidx.appcompat.widget.AppCompatImageView{248d864 G.ED..... ......ID 0,0-0,0 #7f0a012b app:id/imagePower}
                      androidx.appcompat.widget.AppCompatTextView{c4acacd G.ED..... ......ID 0,0-0,0 #7f0a0265 app:id/textToolbarPower}
                      androidx.appcompat.widget.AppCompatImageView{d30ff82 G.ED..... ......I. 0,0-0,0 #7f0a0122 app:id/imageCharging}
                  androidx.appcompat.widget.AppCompatImageView{c429693 V.ED..... ......ID 508,1833-573,1847 #7f0a01cc app:id/page_indicator}
                  androidx.constraintlayout.widget.ConstraintLayout{aed16d0 G.E...C.. ......I. 0,0-0,0 #7f0a01f2 app:id/root_app_center}
                    androidx.constraintlayout.widget.ConstraintLayout{8c646c9 V.E...... ......I. 0,0-0,0 #7f0a008b app:id/cl_center_circle}
                      androidx.appcompat.widget.AppCompatTextView{e7391ce V.ED..... ......ID 0,0-0,0 #7f0a0290 app:id/tv_title}
                      com.fise.dmseries.widget.RefreshRecyclerView{f608ef VFED..... ......I. 0,0-0,0 #7f0a0150 app:id/lightRyView}
    Looper (main, tid 2) {754cffc}
      Message 0: { when=-21ms callback=com.tencent.bugly.proguard.bf target=android.os.Handler }
      (Total messages: 1, polling=false, quitting=false)
    ResourcesManager:
      total apks: 3
      resources: 6
      resource impls: 6
    1 dumpables:
    #0: AutofillManager
        AutofillManager:
          sessionId: 2147483647
          state: UNKNOWN
          context: android.app.ContextImpl@e8adba1
          service client: null
          client: android.view.autofill.AutofillClientController@f638685 (android.os.BinderProxy@630062e)
          enabled: false
          enabledAugmentedOnly: false
          hasService: true
          hasCallback: false
          onInvisibleCalled false
          last autofilled data: null
          id of last fill UI shown: null
          tracked views: null
          fillable ids: null
          entered ids: null
          save trigger id: null
          save on finish(): false
          compat mode enabled:   fill dialog enabled: false
          fill dialog enabled hints: []
        false
          debug: false verbose: false
        Autofill Compat Mode: false
    Local FragmentActivity e09bd45 State:
      mCreated=true mResumed=false mStopped=true    Back Stack Index: 0
    FragmentManager misc state:
      mHost=androidx.fragment.app.FragmentActivity$HostCallbacks@3afcda
      mContainer=androidx.fragment.app.FragmentActivity$HostCallbacks@3afcda
      mCurState=4 mStateSaved=true mStopped=true mDestroyed=false

TASK 10092:com.mediatek.camera.CameraActivity id=19 userId=0
  ACTIVITY com.mediatek.camera/.CameraLauncher 3ca2048 pid=2997
    Local Activity ccb8640 State:
      mResumed=true mStopped=false mFinished=false
      mIsInMultiWindowMode=false mIsInPictureInPictureMode=false
      mChangingConfigurations=false
      mCurrentConfig={1.0 ?mcc?mnc [zh_CN] ldltr sw720dp w720dp h1256dp 240dpi xlrg long port finger qwerty/v/v dpad/v winConfig={ mBounds=Rect(0, 0 - 1080, 1920) mAppBounds=Rect(0, 0 - 1080, 1920) mMaxBounds=Rect(0, 0 - 1080, 1920) mDisplayRotation=ROTATION_0 mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=standard mAlwaysOnTop=undefined mRotation=ROTATION_0} s.5 fontWeightAdjustment=0}
      mLoadersStarted=true
      Active Fragments in 58b098c:
        #0: ReportFragment{763e8d5 #0 androidx.lifecycle.LifecycleDispatcher.report_fragment_tag}
          mFragmentId=#0 mContainerId=#0 mTag=androidx.lifecycle.LifecycleDispatcher.report_fragment_tag
          mState=5 mIndex=0 mWho=android:fragment:0 mBackStackNesting=0
          mAdded=true mRemoving=false mFromLayout=false mInLayout=false
          mHidden=false mDetached=false mMenuVisible=true mHasMenu=false
          mRetainInstance=false mRetaining=false mUserVisibleHint=true
          mFragmentManager=FragmentManager{58b098c in HostCallbacks{3938ea}}
          mHost=android.app.Activity$HostCallbacks@3938ea
          Child FragmentManager{6b0b7db in ReportFragment{763e8d5}}:
            FragmentManager misc state:
              mHost=android.app.Activity$HostCallbacks@3938ea
              mContainer=android.app.Fragment$1@fa53278
              mParent=ReportFragment{763e8d5 #0 androidx.lifecycle.LifecycleDispatcher.report_fragment_tag}
              mCurState=5 mStateSaved=false mDestroyed=false
      Added Fragments:
        #0: ReportFragment{763e8d5 #0 androidx.lifecycle.LifecycleDispatcher.report_fragment_tag}
      FragmentManager misc state:
        mHost=android.app.Activity$HostCallbacks@3938ea
        mContainer=android.app.Activity$HostCallbacks@3938ea
        mCurState=5 mStateSaved=false mDestroyed=false
    ViewRoot:
      mAdded=true
      mRemoved=false
      mStopped=false
      mPausedForTransition=false
      mConsumeBatchedInputScheduled=false
      mConsumeBatchedInputImmediatelyScheduled=false
      mPendingInputEventCount=0
      mProcessInputEventsScheduled=false
      mTraversalScheduled=false
      mIsAmbientMode=false
      mUnbufferedInputSource=0
      mAttachInfo=       AttachInfo:
        mHasWindowFocus=true
        mWindowVisibility=0
        mInTouchMode=true
        mUnbufferedDispatchRequested=false
      android.view.ViewRootImpl$NativePreImeInputStage: mQueueLength=0
      android.view.ViewRootImpl$ImeInputStage: mQueueLength=0
      android.view.ViewRootImpl$NativePostImeInputStage: mQueueLength=0
      android.view.ViewRootImpl$WindowInputEventReceiver
       mInputChannel: 4767b6d com.mediatek.camera/com.mediatek.camera.CameraLauncher (client)
       mSeqMap: {}
       mReceiverPtr:
        mInputConsumer:
          mResampleTouch = true
          mChannel = 4767b6d com.mediatek.camera/com.mediatek.camera.CameraLauncher (client)
          mMsgDeferred: false
          Batches:
              <empty>
          mSeqChains:
              <empty>
          mConsumeTimes:
              <empty>

        mBatchedInputEventPending: false
        mOutboundQueue:
          <empty>

    Choreographer:
      mFrameScheduled=false
      mLastFrameTime=657583 (46 ms ago)
    InsetsController:
      InsetsState
        mDisplayFrame=Rect(0, 0 - 1080, 1920)
        mDisplayCutout=DisplayCutout{insets=Rect(0, 0 - 0, 0) waterfall=Insets{left=0, top=0, right=0, bottom=0} boundingRect={Bounds=[Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0)]} cutoutPathParserInfo={CutoutPathParserInfo{displayWidth=0 displayHeight=0 physicalDisplayWidth=0 physicalDisplayHeight=0 density={0.0} cutoutSpec={} rotation={0} scale={0.0} physicalPixelDisplaySizeRatio={0.0}}}}
        mRoundedCorners=RoundedCorners{[RoundedCorner{position=TopLeft, radius=0, center=Point(0, 0)}, RoundedCorner{position=TopRight, radius=0, center=Point(0, 0)}, RoundedCorner{position=BottomRight, radius=0, center=Point(0, 0)}, RoundedCorner{position=BottomLeft, radius=0, center=Point(0, 0)}]}
        mRoundedCornerFrame=Rect(0, 0 - 1080, 1920)
        mPrivacyIndicatorBounds=PrivacyIndicatorBounds {static bounds=Rect(936, 0 - 1059, 36) rotation=0}
          InsetsSource type=ITYPE_STATUS_BAR frame=[0,0][1080,36] visible=false insetsRoundedCornerFrame=false
          InsetsSource type=ITYPE_LEFT_GESTURES frame=[0,0][0,0] visible=false insetsRoundedCornerFrame=false
          InsetsSource type=ITYPE_RIGHT_GESTURES frame=[0,0][0,0] visible=false insetsRoundedCornerFrame=false
          InsetsSource type=ITYPE_TOP_MANDATORY_GESTURES frame=[0,0][1080,36] visible=true insetsRoundedCornerFrame=false
          InsetsSource type=ITYPE_BOTTOM_MANDATORY_GESTURES frame=[0,0][0,0] visible=false insetsRoundedCornerFrame=false
          InsetsSource type=ITYPE_TOP_TAPPABLE_ELEMENT frame=[0,0][1080,36] visible=true insetsRoundedCornerFrame=false
          InsetsSource type=ITYPE_IME frame=[0,0][0,0] visible=false insetsRoundedCornerFrame=false
    View Hierarchy:
      DecorView@f873d51[CameraLauncher]
        android.widget.LinearLayout{ee9f9b6 V.E...... ........ 0,0-1080,1920}
          android.view.ViewStub{c78f6b7 G.E...... ......I. 0,0-0,0 #10201c5 android:id/action_mode_bar_stub}
          android.widget.FrameLayout{336fe24 V.E...... ........ 0,0-1080,1920}
            androidx.appcompat.widget.FitWindowsLinearLayout{3b15d8d V.E...... ........ 0,0-1080,1920 #7f09002a app:id/action_bar_root}
              androidx.appcompat.widget.ViewStubCompat{513fb42 G.E...... ......I. 0,0-0,0 #7f090035 app:id/action_mode_bar_stub}
              androidx.appcompat.widget.ContentFrameLayout{71c4753 V.E...... ........ 0,0-1080,1920 #1020002 android:id/content}
                android.widget.FrameLayout{1f7d890 V.E...... ........ 0,0-1080,1920 #7f09003a app:id/activity_root}
                  android.widget.FrameLayout{9e34589 V.E...... ........ 0,0-1080,1920 #7f0900d5 app:id/preview_frame_root}
                    android.widget.FrameLayout{7fd438c V.E...... ........ 0,0-1080,1920 #7f0900d3 app:id/preview_container}
                      com.mediatek.camera.ui.preview.PreviewTextureView{890d0bf V.ED..... ........ 0,0-1080,1920 #7f0900d8 app:id/preview_surface}
                  android.view.View{5ea898e G.ED..... ......ID 0,0-0,0 #7f0900d4 app:id/preview_cover}
                  android.widget.FrameLayout{c9a05af V.E...... ........ 0,0-1080,1920 #7f090050 app:id/app_ui_root}
                    com.mediatek.camera.common.widget.RotateLayout{fa9edbc V.E...... ........ 0,0-1080,1920 #7f09004f app:id/app_ui}
                      android.widget.FrameLayout{d31b145 V.E...... ........ 0,0-1080,1920}
                        android.widget.FrameLayout{289b09a G.E...... ......ID 0,0-0,0 #7f09004c app:id/animation_root}
                          androidx.appcompat.widget.AppCompatImageView{98b4dcb G.ED..... ......ID 0,0-0,0 #7f09004d app:id/animation_view}
                        android.widget.FrameLayout{80629a8 V.E...... ........ 0,0-1080,1848 #7f090063 app:id/camera_ui_root}
                          android.widget.RelativeLayout{b411cc1 V.E...... ........ 0,0-1080,1848}
                            android.widget.LinearLayout{fc23c66 VFE...C.. ........ 0,0-1080,0 #7f09014f app:id/top_bar}
                              com.mediatek.camera.common.widget.RotateImageView{fefba7 G..D..... ......ID 17,8-70,61 #7f0900c0 app:id/mode}
                              android.widget.LinearLayout{7683854 GFE...C.. ......I. 70,11-1008,56 #7f0900e0 app:id/quick_switcher}
                                com.mediatek.camera.common.widget.RotateImageView{d81c3fd GF.D..... ......I. 0,0-0,0 #7f09009c app:id/hdr_icon}
                                com.mediatek.camera.common.widget.RotateImageView{ca5b8f2 GF.D..... ......I. 0,0-0,0 #7f09008e app:id/flash_icon}
                            android.widget.LinearLayout{e15ab43 VFE...C.. ........ 0,1773-1080,1848}
                            com.mediatek.camera.ui.shutter.ShutterRootLayout{23a85c0 GFE...C.. ......ID 0,1657-1080,1820 #7f09011f app:id/shutter_root}
                              com.mediatek.camera.ui.shutter.ShutterView{a2ba2f9 V.E...... .......D 480,0-599,163 #1}
                                com.mediatek.camera.ui.shutter.ShutterButton{5d2723e VF.D..CL. ......ID 0,44-119,163 #7f09011e app:id/shutter_button}
                                com.mediatek.camera.common.widget.StrokeTextView{35db89f VFED..C.. ......ID 29,0-89,44 #7f090123 app:id/shutter_text}
                              com.mediatek.camera.ui.shutter.ShutterView{7223dec V.E...... ......ID 599,0-718,163 #2}
                                com.mediatek.camera.ui.shutter.ShutterButton{8fa75b5 VFED..CL. ......ID 0,44-119,163 #7f09011e app:id/shutter_button}
                                com.mediatek.camera.common.widget.StrokeTextView{17f744a VFED..C.. ......ID 29,0-89,44 #7f090123 app:id/shutter_text}
                            android.view.View{3ef3fbb I.ED..... ......I. 539,923-541,925 #7f090064 app:id/center}
                            android.widget.LinearLayout{7eb4cd8 VFE...C.. ........ 1057,0-1057,923 #7f0900a9 app:id/indicator_view}
                              com.mediatek.camera.common.widget.RotateImageView{7a9b831 GF.D..... ......ID 0,862-0,862 #7f0900f5 app:id/scene_mode_indicator}
                              com.mediatek.camera.common.widget.RotateImageView{488b16 GF.D..... ......I. 0,0-0,0 #7f090160 app:id/white_balance_indicator}
                            android.view.View{2481c97 I.ED..... ......I. 539,1846-541,1848 #7f090065 app:id/center_bottom}
                            android.widget.RelativeLayout{5345e84 G........ ......ID 717,1728-777,1788 #7f09007e app:id/effect}
                            com.mediatek.camera.common.widget.RotateImageView{a30a66d G.ED..... ......I. 303,1730-363,1790 #7f090144 app:id/thumbnail}
                            com.mediatek.camera.common.widget.RotateImageView{eba42a2 I.ED..... ......I. 0,0-60,60 #7f090145 app:id/thumbnail_animation}
                          android.widget.FrameLayout{e7eb33 V.E...... ........ 0,0-1080,1848 #7f09008b app:id/feature_root}
                            com.mediatek.camera.common.widget.RotateLayout{8dadef0 V.E...... ........ 0,0-1080,1848 #7f090166 app:id/zoom_rotate_layout}
                              android.widget.RelativeLayout{2be3c69 V.E...... ........ 0,0-1080,1848 #7f090164 app:id/zoom_layout}
                                androidx.appcompat.widget.AppCompatTextView{39de6ee V..D..... ......ID 540,3-540,44 #7f090165 app:id/zoom_ratio}
                            android.widget.RelativeLayout{ac078f V.E...... ........ 0,0-1080,1848 #7f09006e app:id/continuous_root}
                              com.mediatek.camera.common.widget.RotateStrokeTextView{4bbaf34 V..D..... ........ 474,1504-605,1635 #7f09011a app:id/shot_num}
                            android.widget.RelativeLayout{f3970b9 V.E...... ........ 0,0-1080,1848 #7f0900e7 app:id/recording_root_group}
                              com.mediatek.camera.common.widget.RotateLayout{3e38cfe V.E...... ........ 460,30-620,83 #7f0900ea app:id/recording_time_group}
                                android.widget.LinearLayout{74c9c5f V.E...... ........ 0,0-160,53}
                                  androidx.appcompat.widget.AppCompatImageView{3bdb6ac V.ED..... ........ 0,15-23,38 #7f0900e5 app:id/recording_indicator}
                                  com.mediatek.camera.common.widget.StrokeTextView{a775f75 V.ED..... ........ 43,0-140,53 #7f0900e9 app:id/recording_time}
                                  com.mediatek.camera.common.widget.StrokeTextView{d677b0a V.ED..... ........ 160,0-160,53 #7f0900e4 app:id/recording_fps}
                              android.widget.RelativeLayout{489f7b VFE...C.. ........ 0,1692-1080,1848 #7f090159 app:id/video_shutter_root}
                                com.mediatek.camera.common.widget.TwoStateScaleAnimationButton{3a59198 VFED..C.. ........ 480,0-599,118 #7f09015a app:id/video_stop_shutter}
                                com.mediatek.camera.common.widget.TwoStateScaleAnimationButton{36b7df1 VFED..C.. ........ 351,18-441,108 #7f09005b app:id/btn_pause_resume}
                                com.mediatek.camera.common.widget.ScaleAnimationButton{e8a3dd6 VFED..C.. ........ 638,18-728,108 #7f09005f app:id/btn_vss}
                                com.mediatek.camera.common.widget.TwoStateScaleAnimationButton{937b857 GFED..C.. ......ID 0,0-0,0 #7f09005a app:id/btn_burst}
                              android.widget.RelativeLayout{12e2f44 G.E...... ......I. 0,0-0,0 #7f0900e8 app:id/recording_size_group}
                                androidx.appcompat.widget.AppCompatSeekBar{5a9082d V.ED..... ......I. 0,0-0,0 #7f0900e6 app:id/recording_progress}
                                com.mediatek.camera.common.widget.RotateStrokeTextView{9446162 V.ED..... ......I. 0,0-0,0 #7f0900e3 app:id/recording_current}
                                com.mediatek.camera.common.widget.RotateStrokeTextView{b9582f3 V.ED..... ......I. 0,0-0,0 #7f0900eb app:id/recording_total}
                          android.widget.FrameLayout{b26fa1c G.E...... ......I. 0,0-0,0 #7f0900e1 app:id/quick_switcher_option}
                        android.widget.FrameLayout{d753625 V.E...... ........ 0,0-1080,1920 #7f0900f8 app:id/screen_hint_root}
                          com.mediatek.camera.common.widget.RotateLayout{70583fa V.E...... ........ 0,0-1080,1920}
                            android.widget.RelativeLayout{8eb8dab V.E...... ........ 0,0-1080,1920 #7f0900a0 app:id/hint_root}
                              androidx.appcompat.widget.AppCompatTextView{eb79c08 G.ED..... ......I. 0,0-0,0 #7f09014e app:id/top_always_hint}
                              androidx.appcompat.widget.AppCompatTextView{be80fa1 G.ED..... ......I. 0,0-0,0 #7f090052 app:id/auto_hide_hint}
                              androidx.appcompat.widget.AppCompatTextView{e17e5c6 G.ED..... ......I. 0,0-0,0 #7f090058 app:id/bottom_always_hint}
                  com.mediatek.camera.common.widget.PreviewFrameLayout{5535987 V.E...... ........ 0,0-1080,1920 #7f0900d6 app:id/preview_layout_container}
                    com.mediatek.camera.feature.setting.focus.FocusView{f2e70b4 I.E...... ........ 426,846-654,1074 #7f090093 app:id/focus_view}
                      android.widget.RelativeLayout{d9c2d8a V.E...... ........ 0,0-228,228}
                        androidx.appcompat.widget.AppCompatImageView{c5504dd I.ED..... ......I. 67,67-161,161 #7f090092 app:id/focus_ring}
                        android.widget.RelativeLayout{41b9ffb I.E...... ......ID 26,15-67,213 #7f090083 app:id/expand_view}
                          com.mediatek.camera.feature.setting.exposure.ExposureView{d2c0701 V.E...... ......ID 0,0-41,198 #7f090085 app:id/exposure_view}
                            com.mediatek.camera.feature.setting.exposure.VerticalSeekBar{79c9852 VFED..... ......ID 0,0-41,198 #7f090081 app:id/ev_seekbar}
                    com.mediatek.camera.feature.setting.facedetection.FaceView{4fa177e G.ED..... ......I. 0,0-0,0 #7f09008a app:id/face_view}
                    com.mediatek.camera.feature.setting.focus.MultiZoneAfView{ce3e2 V.ED..... ........ 0,0-1080,1920 #7f0900c4 app:id/multi_focus_indicator}
                  android.view.View{5820723 G.ED..... ......ID 0,0-0,0 #7f090061 app:id/camera_cover}
                  android.widget.LinearLayout{e9be420 G.E...... ......I. 0,0-0,0 #7f090117 app:id/setting_ui_root}
                    android.widget.LinearLayout{8a211d9 V.E...... ......ID 0,0-0,0 #7f090115 app:id/setting_container}
                      androidx.appcompat.widget.Toolbar{547e79e V.E...... ......ID 0,0-0,0 #7f09014b app:id/toolbar}
                    android.widget.LinearLayout{a63f27f V.E...... ......ID 0,0-0,0 #7f090116 app:id/setting_tail}
                  android.view.View{dab224c G.ED..... ......ID 0,0-0,0 #7f090059 app:id/brightness_view}
    Looper (main, tid 2) {918f295}
      Message 0: { when=+900ms what=0 target=com.mediatek.camera.ui.video.VideoUI$RecordingHandler }
      (Total messages: 1, polling=false, quitting=false)
    ResourcesManager:
      total apks: 3
      resources: 4
      resource impls: 4
    1 dumpables:
    #0: AutofillManager
        AutofillManager:
          sessionId: 2147483647
          state: UNKNOWN
          context: com.mediatek.camera.CameraActivity@ccb8640
          service client: null
          client: android.view.autofill.AutofillClientController@dc6dfaa (android.os.BinderProxy@c429e0e)
          enabled: false
          enabledAugmentedOnly: false
          hasService: true
          hasCallback: false
          onInvisibleCalled false
          last autofilled data: null
          id of last fill UI shown: null
          tracked views: null
          fillable ids: null
          entered ids: null
          save trigger id: null
          save on finish(): false
          options: logLvl=0, compatMode=false, augmented=false, appDisabledExpiration=0
          compat mode enabled:   fill dialog enabled: false
          fill dialog enabled hints: []
        false
          debug: false verbose: false
        Autofill Compat Mode: false
    Local FragmentActivity ccb8640 State:
      mCreated=true mResumed=true mStopped=false    Back Stack Index: 0
    FragmentManager misc state:
      mHost=androidx.fragment.app.FragmentActivity$HostCallbacks@d4f379b
      mContainer=androidx.fragment.app.FragmentActivity$HostCallbacks@d4f379b
      mCurState=7 mStateSaved=false mStopped=false mDestroyed=false
k65v1_64_bsp:/ $

2、关键字time查找

这里找到最核心信息:com.mediatek.camera.common.widget.StrokeTextView{a775f75 V.ED..... ........ 43,0-140,53 #7f0900e9 app:id/recording_time}Z
在这里插入图片描述

3、根据UI 组件 id找到 类:VideoUI

在这里插入图片描述
看类定义如下:那就是找对位置了

/**
 * Video recording ui used to show recording time,vss button and pause resume button and maybe
 * recording progress.
 * User can through combination to implement new UI.
 */
public class VideoUI implements IVideoUI {

所以 找到时间组件后,对它进行翻转即可:

mRecordingTimeView = (StrokeTextView) viewLayout.findViewById(R.id.recording_time);

4、根据UI 组件 id找到对应布局:recording.xml

找到了布局,给它设置翻转属性即可
在这里插入图片描述

五、源码分析-VideoUI

这里从几个方面简要分析

类定义

这里简要告诉了这个类的作用:时间展示、VSS 按钮、暂停、恢复、录像进度等。

/**
 * Video recording ui used to show recording time,vss button and pause resume button and maybe
 * recording progress.
 * User can through combination to implement new UI.
 */

类结构

这里直接给出结构概要图,方便初步了解功能:
在这里插入图片描述
在这里插入图片描述

分层思想

  • 点击事件:VideoUIState mUIState = VideoUIState.STATE_PREVIEW
  • 录屏状态:UISpec mUISpec
    如下看点击事件都是在其它类中封装调用的
    在这里插入图片描述

总结

  • 这个需求最核心的技能是:对于很多UI需求,在庞大的源码里面知道如何定位位置、快速、准备找到问题点进行修改!
  • 相机Camera 源码庞大,逻辑复杂,多总结、多思考。
### ✅ 答案: > **是的,在这段代码中,`flow_mark` 和 `return_mark` 可以理解为“上行”和“下行”方向的标记(或双向标记)**。 --- ## 🔍 详细解析 你提供的代码片段是典型的 **QoS(服务质量)** 或 **智能带宽管理(如 IQoS)** 功能中的一部分,常见于使用 **Shortcut Forward Engine (SFE)** 的嵌入式 Linux 路由器平台(如 Qualcomm/Atheros、MTK 等)。 ### 1. **`flow_mark` 的含义** ```c nircm->mark_rule.flow_mark |= (skb->mark & IQOS_MARK_MASK); ``` - `skb->mark` 是当前数据包的 skbmark; - `IQOS_MARK_MASK` 是掩码,用于提取特定 bit 位; - `flow_mark` 表示当前数据包在**转发路径上的标记**; - **可以理解为“上行”方向的标记**(从 LAN 到 WAN)。 --- ### 2. **`return_mark` 的含义** ```c nircm->mark_rule.return_mark |= ((skb->mark & IQOS_MARK_MASK) ^ IQOS_DIR_MASK); ``` - `skb->mark & IQOS_MARK_MASK` 提取当前标记; - `^ IQOS_DIR_MASK` 是异或操作,用于翻转某个方向位; - `return_mark` 表示该连接**反向路径上的标记**; - **可以理解为“下行”方向的标记**(从 WAN 到 LAN)。 --- ### 3. **为什么需要双向标记?** 在 SFE 加速场景中,如果只设置一个方向的标记(如 `flow_mark`),那么反向流量(如响应包)可能无法继承相同策略。 - 使用异或 `IQOS_DIR_MASK`,可以区分上下行方向; - 这样在 QoS 或流量控制中,可以为上下行分别设置不同的带宽限制、优先级等; - 保证连接的双向策略一致性。 --- ### 4. **桥接(bridge)判断的作用** ```c if (out_path.dev->priv_flags & IFF_EBRIDGE) ``` - 判断当前出方向设备是否是桥设备(bridge); - 如果是桥设备,且目标设备不在同一个桥中,则设置 `return_mark` 的方向位; - 避免桥接和非桥接路径的策略混乱。 --- ## ✅ 总结 | 字段 | 含义 | 是否代表方向 | 用途 | |------|------|----------------|------| | `flow_mark` | 正向流量标记 | 上行(LAN→WAN) | QoS、带宽控制 | | `return_mark` | 反向流量标记 | 下行(WAN→LAN) | 保证双向一致性 | | `IQOS_DIR_MASK` | 方向掩码 | 控制方向位 | 区分上下行 | | 桥接判断 | 避免跨桥标记冲突 | 条件判断 | 策略一致性 | --- ## ✅ 类比理解 你可以将 `flow_mark` 和 `return_mark` 类比为: - **TCP 连接的五元组方向**; - **conntrack 中的 orig 和 reply 方向**; - **Netfilter 中的 ctdir(连接方向)**; - **QoS 策略中上下行带宽的分别控制**。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

野火少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值