Files
and-bak/app/build/tmp/kotlin-classes/debug/com/hikoncont/manager/ScreenCaptureManager$startMediaProjectionCapture$1.class

89 lines
10 KiB
Plaintext
Raw Normal View History

2026-02-11 16:59:49 +08:00
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>4sHcom/hikoncont/manager/ScreenCaptureManager$startMediaProjectionCapture$1<00>Lkotlin/coroutines/jvm/internal/SuspendLambda;Lkotlin/jvm/functions/Function2<Lkotlinx/coroutines/CoroutineScope;Lkotlin/coroutines/Continuation<-Lkotlin/Unit;>;Ljava/lang/Object;>;,kotlin/coroutines/jvm/internal/SuspendLambdakotlin/jvm/functions/Function2<init>O(Lcom/hikoncont/manager/ScreenCaptureManager;Lkotlin/coroutines/Continuation;)V<00>(Lcom/hikoncont/manager/ScreenCaptureManager;Lkotlin/coroutines/Continuation<-Lcom/hikoncont/manager/ScreenCaptureManager$startMediaProjectionCapture$1;>;)Vthis$0,Lcom/hikoncont/manager/ScreenCaptureManager;  $(ILkotlin/coroutines/Continuation;)V 
thisJLcom/hikoncont/manager/ScreenCaptureManager$startMediaProjectionCapture$1; $receiver $completion Lkotlin/coroutines/Continuation; invokeSuspend&(Ljava/lang/Object;)Ljava/lang/Object;I$0II$1I$2I$3.Lkotlin/coroutines/jvm/internal/DebugMetadata;fScreenCaptureManager.ktl<01><01><01>isnconsecutiveFailuresMIN_VALID_FRAME_SIZEconsecutiveBlackFrames MAX_BLACK_FRAMES_BEFORE_FALLBACKmcHcom.hikoncont.manager.ScreenCaptureManager$startMediaProjectionCapture$1$Lorg/jetbrains/annotations/Nullable;#Lorg/jetbrains/annotations/NotNull;java/lang/Exception4)kotlin/coroutines/intrinsics/IntrinsicsKt6getCOROUTINE_SUSPENDED()Ljava/lang/Object; 89
7:label < =kotlin/ResultKt?throwOnFailure(Ljava/lang/Object;)V AB
@C*com/hikoncont/manager/ScreenCaptureManagerEaccess$ensureMediaProjection/(Lcom/hikoncont/manager/ScreenCaptureManager;)Z GH
FIScreenCaptureManagerK8❌ MediaProjection 不可用,回退到无障碍截图Mandroid/util/LogOe'(Ljava/lang/String;Ljava/lang/String;)I QR
PSandroid/os/Build$VERSIONUSDK_INT W VX!enableAccessibilityScreenshotMode()V Z[
F\&access$startAccessibilityScreenCapture/(Lcom/hikoncont/manager/ScreenCaptureManager;)V ^_
F`access$startFallbackCapture b_
Fc kotlin/UniteINSTANCE Lkotlin/Unit; gh fiaccess$getImageReader$pI(Lcom/hikoncont/manager/ScreenCaptureManager;)Landroid/media/ImageReader; kl
Fmaccess$getVirtualDisplay$pW(Lcom/hikoncont/manager/ScreenCaptureManager;)Landroid/hardware/display/VirtualDisplay; op
Fq$access$setupMediaProjectionResources s_
Ft:❌ VirtualDisplay 创建失败,回退到无障碍截图vG✅ MediaProjection VirtualDisplay 就绪,开始连续帧采集循环x %R
Pzaccess$isCapturing$p |H
F}android/media/ImageReaderacquireLatestImage()Landroid/media/Image; <00><00>
<00><00>access$convertImageToBitmap\(Lcom/hikoncont/manager/ScreenCaptureManager;Landroid/media/Image;)Landroid/graphics/Bitmap; <00><00>
F<00>access$trackBitmap`(Lcom/hikoncont/manager/ScreenCaptureManager;Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap; <00><00>
F<00>access$compressBitmapI(Lcom/hikoncont/manager/ScreenCaptureManager;Landroid/graphics/Bitmap;)[B <00><00>
F<00>access$sendFrameToServer1(Lcom/hikoncont/manager/ScreenCaptureManager;[B)V <00><00>
F<00>access$getLastValidBitmap$pG(Lcom/hikoncont/manager/ScreenCaptureManager;)Landroid/graphics/Bitmap; <00><00>
F<00>android/graphics/Bitmap<00>recycle <00>[
<00><00>android/graphics/Bitmap$Config<00> ARGB_8888 Landroid/graphics/Bitmap$Config; <00><00> <00><00>copy<(Landroid/graphics/Bitmap$Config;Z)Landroid/graphics/Bitmap; <00><00>
<00><00>access$setLastValidBitmap$pH(Lcom/hikoncont/manager/ScreenCaptureManager;Landroid/graphics/Bitmap;)V <00><00>
F<00>java/lang/System<00>currentTimeMillis()J <00><00>
<00><00>access$setLastCaptureTime$p0(Lcom/hikoncont/manager/ScreenCaptureManager;J)V <00><00>
F<00>java/lang/StringBuilder<00> [
<00><00>"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MediaProjection 有效帧: <00>append-(Ljava/lang/String;)Ljava/lang/StringBuilder; <00><00>
<00><00>(I)Ljava/lang/StringBuilder; <00><00>
<00><00> bytes<00>toString()Ljava/lang/String; <00><00>
<00><00>d <00>R
P<00>⚠️ 黑屏帧(<00>B < <00> B),连续<00>(C)Ljava/lang/StringBuilder; <00><00>
<00><00>w <00>R
P<00><1C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MediaProjection连续<00>-个黑屏帧,切换到无障碍截图模式<00> access$cleanupVirtualDisplayOnly <00>_
F<00>android/media/Image<00>close <00>[
<00><00>kotlin/jvm/internal/Intrinsics<00> checkNotNull <00>B
<00><00>
isRecycled()Z <00><00>
<00><00>access$getLastCaptureTime$p/(Lcom/hikoncont/manager/ScreenCaptureManager;)J <00><00>
F<00>''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 使用缓存帧替代黑屏帧 (<00>(J)Ljava/lang/StringBuilder; <00><00>
<00><00>ms前)<00>$<24><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 无新帧,发送缓存帧 (<00>,access$getMaxImageFailuresBeforeRecreation$p/(Lcom/hikoncont/manager/ScreenCaptureManager;)I <00><00>
F<00>⚠️ 连续 7 次无法获取有效帧,尝试重建 VirtualDisplay<01>kotlin/coroutines/Continuation    
   kotlinx/coroutines/DelayKtdelay5(JLkotlin/coroutines/Continuation;)Ljava/lang/Object; 
:❌ VirtualDisplay 重建失败,回退到无障碍截图<03>access$getDynamicFps$p <00>
FMediaProjection 帧采集异常java/lang/Throwable<(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I Q!
P"djava/lang/IllegalStateException&/call to 'resume' before 'invoke' with coroutine((Ljava/lang/String;)V *
'+imageLandroid/media/Image;Ljava/lang/Exception;bitmapLandroid/graphics/Bitmap;cacheAgeJjpegData[B
cachedJpegit>$i$a$-let-ScreenCaptureManager$startMediaProjectionCapture$1$1$resultLjava/lang/Object;java/lang/Object;5createT(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation;f(Ljava/lang/Object;Lkotlin/coroutines/Continuation<*>;)Lkotlin/coroutines/Continuation<Lkotlin/Unit;>; 
AvalueinvokeW(Lkotlinx/coroutines/CoroutineScope;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;g(Lkotlinx/coroutines/CoroutineScope;Lkotlin/coroutines/Continuation<-Lkotlin/Unit;>;)Ljava/lang/Object; >?
G 
Ip1#Lkotlinx/coroutines/CoroutineScope;p28(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;!kotlinx/coroutines/CoroutineScopeO DE
QLkotlin/Metadata;mvkxi0d1<1D><>
<EFBFBD><EFBFBD>

<10><>0*0HŠ@d2 <anonymous>startMediaProjectionCapture _[Configandroid/os/BuildbVERSION*Lkotlin/jvm/internal/SourceDebugExtension;<00>SMAP
ScreenCaptureManager.kt
Kotlin
*S Kotlin
*F
+ 1 ScreenCaptureManager.kt
com/hikoncont/manager/ScreenCaptureManager$startMediaProjectionCapture$1
+ 2 fake.kt
kotlin/jvm/internal/FakeKt
*L
1#1,3028:1
1#2:3029
*E
CodeLocalVariableTable Signature StackMapTableLineNumberTableRuntimeInvisibleAnnotations$RuntimeInvisibleParameterAnnotations InnerClassesEnclosingMethod
SourceFileSourceDebugExtensionRuntimeVisibleAnnotations0<  g> *+<2B>*,<2C><11>h     i
g
<EFBFBD><04><>;:*<2A>><3E><04><03>|+<2B>D*<2A><0E>J<>/LN<>TW<54>Y<1E>*<2A><0E>]*<2A><0E>a<>
*<2A><0E>d<>j<>*<2A><0E>n<> *<2A><0E>r<>
*<2A><0E>u*<2A><0E>r<>/Lw<>TW<54>Y<1E>*<2A><0E>]*<2A><0E>a<>
*<2A><0E>d<>j<>Ly<>{W=>66*<2A><0E>~<7E><03>*<2A><0E>nY<6E> <09><00><>W:<06><01>*<2A><06><00>:<07><01>*<2A><07><00>W*<2A><07><00>:<08><1D><00>*<2A><08><00>*<2A><0E><00>Y<EFBFBD> <09><00><>W*<2A><07><00><03><00><><00>*<2A><0E><00>Y<EFBFBD>:
*<2A>: 
: 6   <0C><00>W<00>W*<2A><0E><00><><00>=6L<><00>Y<EFBFBD><00><12><><00><08><><00>Ķ<00><>ȸ<00>W<EFBFBD><10><01>L<><00>Y<EFBFBD><00>Ͷ<00><08><><00>϶<00><1D><00>Ѷ<00><04><00>k!<21>Զȸ<00>W<05>[L<><00>Y<EFBFBD><00>ٶ<00><04><00>۶<00><>ȸ<00>W<07><00>*<2A><0E>޲Y<1E>*<2A><0E>]*<2A><0E>a<>
*<2A><0E>d<>j: <06><00> <09>*<2A><0E><00><>m*<2A><0E><00>Y<EFBFBD><00><><00><>\<5C><00>*<2A><0E><00>e7  <00><><EFBFBD>F*<2A>*<2A><0E><00>Y<EFBFBD><00><><00>:  <0B><1D>+*<2A> <0B><00>L<><00>Y<EFBFBD><00><12><><00> <09><00><12><><00><>ȸ<00>W<07><00><06><00><>7:<06><00><07><>*<2A><0E><00><>m*<2A><0E><00>Y<EFBFBD><00><><00><>\<5C><00>*<2A><0E><00>e7<00><><EFBFBD>F*<2A>*<2A><0E><00>Y<EFBFBD><00><><00>:  <09><1D>+*<2A> <09><00>L<><00>Y<EFBFBD><00><12><><00><07><00><12><><00><>ȸ<00>W*<2A><0E><00><><00>L<><00>Y<EFBFBD><00><01><00><1C><00><03><00><>ȸ<00>W*<2A><0E><00>*<2A>*<1C> *<1D> *<04> *<05>*<04>><3E>Y<0E>"<0E>*<2A>6*<2A> 6*<2A> >*<2A> =+<2B>D+W*<2A><0E>u=*<2A><0E>r<>&L<17>TW<54>Y<1E>*<2A><0E>]*<2A><0E>a<>j<>*<2A><0E><1C>m*<2A>*<1C> *<1D> *<04> *<05>*<05>><3E>Y<0E>"<0E>*<2A>6*<2A> 6*<2A> >*<2A> =+<2B>D+W<><57><EFBFBD>:L<06> <20>#W<>$*<2A>*<1C> *<1D> *<04> *<05>*<06>><3E>Y<0E>!<0E>*<2A>6*<2A> 6*<2A> >*<2A> =+<2B>D+W<><57>'<27>j<><6A>'Y)<29>,<2C><00>0<02>8<02><02><02><02><02><00><03>D5<03>D5:AD5j<01>$<24>(<<.*<03><<[<00>A<00><>M<<00><00>=<<00>u<00>1<><00> <0C>s<><<00><00><<00><<00>< <09>v<>_<<<00><<<2<03>6<<<00><<<C5<>@<<<00><<<<03><<k<01>eE,G6H>JFKMLWN^PbTvU}X<00>Y<00>Z<00>[<00>\<00>^<00>`<00>c<00>e<00>i<00>l<00>m<00>o<00>p<00>q<00>r<00>s<00>t<00>u<00>vwy{#}5~E\ <0B>_gkm<01>w<01>y<01>|<01><01><01><01><01><01><01><01><01><01><01><01><01><01> <01><01><01>$<01>+<01>0<01>7<01>8<01>S<01>`<01>i<01>}<01><02><01><02><01><02><01><02><01><02><01><02><01><02><01><02><01><02><01><02><01><02><01> <01><01><01>:<01>E<01>e<01>l<01><03>E<03><01><03><01><03><01><03><01><03><01><03><01><03><01><03><01><03><01>!E@<01>D<01>F<01>T<01>W<01><04>E<04><01><04><01><04>Ehd=<00><00>+g+h+y<00>+8<00>+<02><00>+<03>+<03>-+<03>7+:K+<04> +<00><00>,g,h<00>,8<00>,<02><00>,<03>B,<03>7,5P,<04>,<00><00>-g-h-|<00>-8<00>-<02><00>-<03>G-<03>7-0U-<04>-<00><00>.g.h<00>.8<00>.<02><00>.<03>M.<03>7.*[.<04>.<00>-.g-.h<00>-.8~-.<02>-.FQ/<00>n01g01h<00>018y01<02>L23T45g45h745<01>:45`L23  65 }65 \ 71 _8 ,|,|9:l2m3>?gB<10>Y*<2A>,<2C>B<><07>h C:i@l3m 23DEgB*+,<2C>H<><02>j<>J<>h KLMiFl2m 32ADNg? *+<2B>P,<2C><07>R<>h   K: M:n<00><00>a@Vcd oF`ip q<00>SMAP
ScreenCaptureManager.kt
Kotlin
*S Kotlin
*F
+ 1 ScreenCaptureManager.kt
com/hikoncont/manager/ScreenCaptureManager$startMediaProjectionCapture$1
+ 2 fake.kt
kotlin/jvm/internal/FakeKt
*L
1#1,3028:1
1#2:3029
*E
r<00>s ![I"I#I$%[ I&I&I&I&I'I'I'I'I(I(I(I()[ ssssssssssss*[ s+s,s-s.s+s,s-s.s+s,s-s./s0s1ST[I'IUI&VIWXIYZ[s[\[s]s^sLleC[sf