全网查询,查询结果保存到csv中

This commit is contained in:
manchuwork
2025-10-26 23:40:32 +08:00
parent 08adafd2b6
commit 4646d14f5a
18 changed files with 1779 additions and 442 deletions

616
app/demo/search.txt Normal file
View File

@@ -0,0 +1,616 @@
--------- beginning of crash
2025-10-24 13:23:03.594 28066-28066 AndroidRuntime pid-28066 E FATAL EXCEPTION: main
Process: com.loveerror.bested, PID: 28066
android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?
at android.view.ViewRootImpl.setView(ViewRootImpl.java:1728)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:472)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:172)
at android.app.Dialog.show(Dialog.java:979)
at android.app.AlertDialog$Builder.show(AlertDialog.java:1147)
at com.loveerror.bested.button.DragFloatingButton.showTextInputDialog(DragFloatingButton.kt:202)
at com.loveerror.bested.button.DragFloatingButton.showPopupMenu$lambda$2(DragFloatingButton.kt:135)
at com.loveerror.bested.button.DragFloatingButton.$r8$lambda$15zdVLm9enelGjlHBUkG8xSn6vM(Unknown Source:0)
at com.loveerror.bested.button.DragFloatingButton$$ExternalSyntheticLambda0.onMenuItemClick(D8$$SyntheticClass:0)
at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:163)
at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:947)
at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:937)
at com.android.internal.view.menu.MenuPopup.onItemClick(MenuPopup.java:146)
at android.widget.AdapterView.performItemClick(AdapterView.java:330)
at android.widget.AbsListView.performItemClick(AbsListView.java:1441)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:3527)
at android.widget.AbsListView$5.run(AbsListView.java:4672)
at android.os.Handler.handleCallback(Handler.java:966)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:293)
at android.app.ActivityThread.loopProcess(ActivityThread.java:9986)
at android.app.ActivityThread.main(ActivityThread.java:9975)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:586)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1240)
2025-10-24 13:23:11.450 28197-28197 AndroidRuntime pid-28197 E FATAL EXCEPTION: main
Process: com.loveerror.bested, PID: 28197
android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?
at android.view.ViewRootImpl.setView(ViewRootImpl.java:1728)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:472)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:172)
at android.app.Dialog.show(Dialog.java:979)
at android.app.AlertDialog$Builder.show(AlertDialog.java:1147)
at com.loveerror.bested.button.DragFloatingButton.showTextInputDialog(DragFloatingButton.kt:202)
at com.loveerror.bested.button.DragFloatingButton.showPopupMenu$lambda$2(DragFloatingButton.kt:135)
at com.loveerror.bested.button.DragFloatingButton.$r8$lambda$15zdVLm9enelGjlHBUkG8xSn6vM(Unknown Source:0)
at com.loveerror.bested.button.DragFloatingButton$$ExternalSyntheticLambda0.onMenuItemClick(D8$$SyntheticClass:0)
at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:163)
at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:947)
at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:937)
at com.android.internal.view.menu.MenuPopup.onItemClick(MenuPopup.java:146)
at android.widget.AdapterView.performItemClick(AdapterView.java:330)
at android.widget.AbsListView.performItemClick(AbsListView.java:1441)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:3527)
at android.widget.AbsListView$5.run(AbsListView.java:4672)
at android.os.Handler.handleCallback(Handler.java:966)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:293)
at android.app.ActivityThread.loopProcess(ActivityThread.java:9986)
at android.app.ActivityThread.main(ActivityThread.java:9975)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:586)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1240)
2025-10-24 13:23:19.362 28298-28298 AndroidRuntime pid-28298 E FATAL EXCEPTION: main
Process: com.loveerror.bested, PID: 28298
android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?
at android.view.ViewRootImpl.setView(ViewRootImpl.java:1728)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:472)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:172)
at android.app.Dialog.show(Dialog.java:979)
at android.app.AlertDialog$Builder.show(AlertDialog.java:1147)
at com.loveerror.bested.button.DragFloatingButton.showTextInputDialog(DragFloatingButton.kt:202)
at com.loveerror.bested.button.DragFloatingButton.showPopupMenu$lambda$2(DragFloatingButton.kt:135)
at com.loveerror.bested.button.DragFloatingButton.$r8$lambda$15zdVLm9enelGjlHBUkG8xSn6vM(Unknown Source:0)
at com.loveerror.bested.button.DragFloatingButton$$ExternalSyntheticLambda0.onMenuItemClick(D8$$SyntheticClass:0)
at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:163)
at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:947)
at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:937)
at com.android.internal.view.menu.MenuPopup.onItemClick(MenuPopup.java:146)
at android.widget.AdapterView.performItemClick(AdapterView.java:330)
at android.widget.AbsListView.performItemClick(AbsListView.java:1441)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:3527)
at android.widget.AbsListView$5.run(AbsListView.java:4672)
at android.os.Handler.handleCallback(Handler.java:966)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:293)
at android.app.ActivityThread.loopProcess(ActivityThread.java:9986)
at android.app.ActivityThread.main(ActivityThread.java:9975)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:586)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1240)
--------- beginning of system
2025-10-26 16:35:04.301 7627-7627 ActivityThread com.loveerror.bested I Remove activity client record, r= ActivityRecord{f460998 token=android.os.BinderProxy@736f2d2 {com.loveerror.bested/com.loveerror.bested.MainActivity}} token= android.os.BinderProxy@736f2d2
--------- beginning of main
2025-10-26 16:35:23.791 7627-7627 HwPartPowe...iceFactory com.loveerror.bested I add HwPartPowerOfficeFactoryImpl to memory.
2025-10-26 16:35:23.799 7627-7627 HwEditorHelperImpl com.loveerror.bested D isTouchPositionInHightlight.
2025-10-26 16:35:23.805 7627-7627 HwDragEnhancementImpl com.loveerror.bested D handleTimerDrag: false
2025-10-26 16:35:23.809 7627-7627 Choreographer com.loveerror.bested W Frame time is 24.041914 ms in the future! Check that graphics HAL is generating vsync timestamps using the correct timebase.
2025-10-26 16:35:23.812 7627-7627 HwDragEnhancementImpl com.loveerror.bested D Start long press for hw drag enhancement.
2025-10-26 16:35:23.817 7627-7627 Choreographer com.loveerror.bested W Frame time is 32.391506 ms in the future! Check that graphics HAL is generating vsync timestamps using the correct timebase.
2025-10-26 16:35:23.825 7627-7627 Choreographer com.loveerror.bested W Frame time is 40.62964 ms in the future! Check that graphics HAL is generating vsync timestamps using the correct timebase.
2025-10-26 16:35:23.834 7627-7627 Choreographer com.loveerror.bested W Frame time is 48.897984 ms in the future! Check that graphics HAL is generating vsync timestamps using the correct timebase.
2025-10-26 16:35:23.848 7627-7627 HwEditorHelperImpl com.loveerror.bested D stopLongPressingPreviewAnimation.
2025-10-26 16:35:23.848 7627-7627 HwEditorHelperImpl com.loveerror.bested D removeDrawableView.
2025-10-26 16:35:23.848 7627-7627 HwEditorHelperImpl com.loveerror.bested E removeDrawableView decorview is null.
2025-10-26 16:35:23.856 7627-7627 InputMethodManager com.loveerror.bested I getNextServedViewLocked mCurRootView is android.view.ViewRootImpl@74296fa
2025-10-26 16:35:23.856 7627-7627 InputMethodManager com.loveerror.bested I Starting input: reason=CHECK_FOCUS
2025-10-26 16:35:23.865 7627-7627 InputMethodManager com.loveerror.bested I Starting input: Bind resultString=SUCCESS_WITH_IME_SESSION
2025-10-26 16:35:23.866 7627-7627 Compatibil...geReporter com.loveerror.bested D Compat change id reported: 163400105; UID 10407; state: ENABLED
2025-10-26 16:35:23.867 7627-7627 InputMethodManager com.loveerror.bested I showSoftInput, displayId=-1,callers=android.view.inputmethod.InputMethodManager.showSoftInput:1785 android.view.inputmethod.InputMethodManager.showSoftInput:1723 android.widget.TextView.onTouchEvent:11527 android.view.View.dispatchTouchEvent:14955
2025-10-26 16:35:23.868 7627-7627 InputMethodManager com.loveerror.bested D showSoftInput() view=android.widget.EditText{cade397 VFED..CL. .F.P..ID 0,0-420,388 aid=1} flags=0 reason=SHOW_SOFT_INPUT
2025-10-26 16:35:23.879 7627-7627 WebViewDragEnhancement com.loveerror.bested D dragReset.
2025-10-26 16:35:23.879 7627-7627 WebViewDragEnhancement com.loveerror.bested D dragReset cacheSize = 0
2025-10-26 16:35:23.928 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,105], mVisible=true}
2025-10-26 16:35:23.928 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,0][0,0], mVisible=false}
2025-10-26 16:35:23.930 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,105], mVisible=true}
2025-10-26 16:35:23.930 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,0][0,0], mVisible=false}
2025-10-26 16:35:23.936 7627-7627 InsetsSourceConsumer com.loveerror.bested D ViewUI_insets setControl -> ITYPE_IME on
2025-10-26 16:35:23.938 7627-7627 InsetsController com.loveerror.bested D ViewUI_insets show(ime(), fromIme=true)
2025-10-26 16:35:23.940 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets applyAnimation types:8,show:true, this:android.view.InsetsController@cbad74e
2025-10-26 16:35:23.940 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets controlAnimation types: 8
2025-10-26 16:35:23.940 7627-7627 InsetsController com.loveerror.bested D ViewUI_insets controlAnimation after canel existing types: 8
2025-10-26 16:35:23.948 7627-8056 SceneHelper com.loveerror.bested D notifyState ltpo1.0 push currentPackageName=com.loveerror.bested ltpo10SceneState=3009 scene=IME
2025-10-26 16:35:23.948 7627-8056 HwViewRootImpl com.loveerror.bested I Add sceneId 96 topId: 0
2025-10-26 16:35:23.963 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,105], mVisible=true}
2025-10-26 16:35:23.964 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,0][0,0], mVisible=false}
2025-10-26 16:35:23.966 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,105], mVisible=true}
2025-10-26 16:35:23.967 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,0][0,0], mVisible=false}
2025-10-26 16:35:24.015 7627-7635 oveerror.beste com.loveerror.bested I Compiler allocated 5042KB to compile void android.view.ViewRootImpl.performTraversals()
2025-10-26 16:35:24.338 7627-8056 SceneHelper com.loveerror.bested D notifyState ltpo1.0 push currentPackageName=com.loveerror.bested ltpo10SceneState=3010 scene=IME
2025-10-26 16:35:24.338 7627-8056 HwViewRootImpl com.loveerror.bested I remove sceneId 96 topId: 0
2025-10-26 16:35:26.013 7627-7627 HwDragEnhancementImpl com.loveerror.bested D handleTimerDrag: false
2025-10-26 16:35:26.026 7627-7627 Choreographer com.loveerror.bested W Frame time is 15.51419 ms in the future! Check that graphics HAL is generating vsync timestamps using the correct timebase.
2025-10-26 16:35:26.033 7627-7627 HwDragEnhancementImpl com.loveerror.bested D Start long press for hw drag enhancement.
2025-10-26 16:35:26.051 7627-7627 Choreographer com.loveerror.bested W Frame time is 6.726208 ms in the future! Check that graphics HAL is generating vsync timestamps using the correct timebase.
2025-10-26 16:35:26.067 7627-7627 Choreographer com.loveerror.bested W Frame time is 24.138264 ms in the future! Check that graphics HAL is generating vsync timestamps using the correct timebase.
2025-10-26 16:35:26.098 7627-7627 WebViewDragEnhancement com.loveerror.bested D dragReset.
2025-10-26 16:35:26.098 7627-7627 WebViewDragEnhancement com.loveerror.bested D dragReset cacheSize = 0
2025-10-26 16:35:26.122 7627-7627 AudioManager com.loveerror.bested V querySoundEffectsEnabled...
2025-10-26 16:35:26.122 7627-7627 AudioManager com.loveerror.bested I querySoundEffectsEnabled fail id: 0
2025-10-26 16:35:26.127 7627-7627 InputMethodManager com.loveerror.bested I setNextServedViewLocked in view is null
2025-10-26 16:35:26.128 7627-7627 InputMethodManager com.loveerror.bested I FINISH INPUT: mServedView = :android.widget.EditText{cade397 VFED..CL. .F...... 0,0-420,388 aid=1},focus=true,windowFocus=true,autofillUiShowing=false,window=android.view.ViewRootImpl$W@5303461,displayId=0,temporaryDetach=false,hasImeFocus=true
2025-10-26 16:35:26.129 7627-7627 InputMethodManager com.loveerror.bested I getServedView is android.widget.EditText{cade397 VFED..CL. .F...... 0,0-420,388 aid=1}
2025-10-26 16:35:26.129 7627-7627 InputMethodManager com.loveerror.bested I setServedViewLocked in view is null
2025-10-26 16:35:26.131 7627-7627 InputMethodManager com.loveerror.bested I set currentRootView to : null
2025-10-26 16:35:26.148 7627-7692 OpenGLRenderer com.loveerror.bested D endAllActiveAnimators on 0xb400007bf44edc00 (RippleDrawable) with handle 0xb400007c05b85e00
2025-10-26 16:35:26.163 7627-7627 InsetsSourceConsumer com.loveerror.bested I ViewUI_insets mSourceControl is null notifyControlRevoked type: 0
2025-10-26 16:35:26.168 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,105], mVisible=true}
2025-10-26 16:35:26.169 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,0][0,0], mVisible=false}
2025-10-26 16:35:26.171 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,105], mVisible=true}
2025-10-26 16:35:26.171 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,0][0,0], mVisible=false}
2025-10-26 16:35:26.189 7627-8073 System.out com.loveerror.bested I === targetHint请输入集团名称 findNodeByHint Tree Start ===
2025-10-26 16:35:26.192 7627-8073 System.out com.loveerror.bested I 请输入集团名称 android.widget.FrameLayout [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:35:26.199 7627-7627 InputMethodManager com.loveerror.bested I mCurRootView is null
2025-10-26 16:35:26.199 7627-7627 InputMethodManager com.loveerror.bested I mCurRootView is null
2025-10-26 16:35:26.222 7627-8073 System.out com.loveerror.bested I 请输入集团名称 android.widget.ImageView [text=] [desc=] [id=com.ZJMCCMCRM:id/back] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:35:26.226 7627-8073 System.out com.loveerror.bested I 请输入集团名称 android.widget.TextView [text=全网查询] [desc=] [id=com.ZJMCCMCRM:id/title] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=true] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:35:26.228 7627-8073 System.out com.loveerror.bested I 请输入集团名称 android.widget.LinearLayout [text=] [desc=] [id=com.ZJMCCMCRM:id/close_left] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:35:26.230 7627-8073 System.out com.loveerror.bested I 请输入集团名称 android.widget.LinearLayout [text=] [desc=] [id=com.ZJMCCMCRM:id/close_right] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:35:26.231 7627-8073 System.out com.loveerror.bested I 请输入集团名称 android.webkit.WebView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:35:26.233 7627-8073 System.out com.loveerror.bested I 请输入集团名称 android.webkit.WebView [text=全网查询] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=true] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:35:26.235 7627-8073 System.out com.loveerror.bested I 请输入集团名称 android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:35:26.236 7627-8073 System.out com.loveerror.bested I 请输入集团名称 android.view.View [text=] [desc=] [id=view-frame] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:35:26.238 7627-8073 System.out com.loveerror.bested I 请输入集团名称 android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:35:26.240 7627-8073 System.out com.loveerror.bested I 请输入集团名称 android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:35:26.242 7627-8073 System.out com.loveerror.bested I 请输入集团名称 android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:35:26.243 7627-8073 System.out com.loveerror.bested I 请输入集团名称 android.widget.TextView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:35:26.245 7627-8073 System.out com.loveerror.bested I 请输入集团名称 android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:35:26.247 7627-8073 System.out com.loveerror.bested I 请输入集团名称 android.widget.EditText [text=天猫] [desc=] [id=] [hint=请输入集团名称] [clickable=true] [longClickable=false] [editable=true] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:35:26.247 7627-8073 System.out com.loveerror.bested I === targetHint请输入集团名称 findNodeByHint Tree End [find] ===
2025-10-26 16:35:26.247 7627-8073 System.out com.loveerror.bested I === targetHint请输入集团名称 findNodeByHint Tree End [find] ===
2025-10-26 16:35:26.247 7627-8073 System.out com.loveerror.bested I === targetHint请输入集团名称 findNodeByHint Tree End [find] ===
2025-10-26 16:35:26.247 7627-8073 System.out com.loveerror.bested I === targetHint请输入集团名称 findNodeByHint Tree End [find] ===
2025-10-26 16:35:26.248 7627-8073 System.out com.loveerror.bested I === targetHint请输入集团名称 findNodeByHint Tree End [find] ===
2025-10-26 16:35:26.248 7627-8073 System.out com.loveerror.bested I === targetHint请输入集团名称 findNodeByHint Tree End [find] ===
2025-10-26 16:35:26.248 7627-8073 System.out com.loveerror.bested I === targetHint请输入集团名称 findNodeByHint Tree End [find] ===
2025-10-26 16:35:26.248 7627-8073 System.out com.loveerror.bested I === targetHint请输入集团名称 findNodeByHint Tree End [find] ===
2025-10-26 16:35:26.248 7627-8073 System.out com.loveerror.bested I === targetHint请输入集团名称 findNodeByHint Tree End ===
2025-10-26 16:35:26.254 7627-8073 System.out com.loveerror.bested I 已填写集团名称: 天猫
2025-10-26 16:35:26.258 7627-8073 System.out com.loveerror.bested I === after 已点击兄弟节点 View Tree Start ===
2025-10-26 16:35:26.261 7627-8073 System.out com.loveerror.bested I after 已点击兄弟节点 android.widget.FrameLayout [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:35:26.263 7627-8073 System.out com.loveerror.bested I android.widget.ImageView [text=] [desc=] [id=com.ZJMCCMCRM:id/back] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:35:26.266 7627-8073 System.out com.loveerror.bested I android.widget.TextView [text=全网查询] [desc=] [id=com.ZJMCCMCRM:id/title] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=true] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:35:26.268 7627-8073 System.out com.loveerror.bested I android.widget.LinearLayout [text=] [desc=] [id=com.ZJMCCMCRM:id/close_left] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:35:26.271 7627-8073 System.out com.loveerror.bested I android.widget.LinearLayout [text=] [desc=] [id=com.ZJMCCMCRM:id/close_right] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:35:26.273 7627-8073 System.out com.loveerror.bested I android.webkit.WebView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:35:26.283 7627-8073 System.out com.loveerror.bested I android.webkit.WebView [text=全网查询] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=true] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:35:26.311 7627-8073 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:35:26.313 7627-8073 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=view-frame] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:35:26.343 7627-8073 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:35:26.344 7627-8073 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:35:26.346 7627-8073 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:35:26.351 7627-8073 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:35:26.353 7627-8073 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:35:26.354 7627-8073 System.out com.loveerror.bested I android.widget.EditText [text=天猫] [desc=] [id=] [hint=请输入集团名称] [clickable=true] [longClickable=false] [editable=true] [focusable=true] [focus=true] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=true] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:35:26.355 7627-8073 System.out com.loveerror.bested I android.widget.Button [text=搜索] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:35:26.355 7627-8073 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=1.23452384164.123412415] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:35:26.356 7627-7627 RmeSchedManager com.loveerror.bested I init Rme, version is: v1.0
2025-10-26 16:35:26.363 7627-8073 System.out com.loveerror.bested I android.widget.TextView [text=返回主页] [desc=] [id=com.ZJMCCMCRM:id/closebtn] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=true] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=false]
2025-10-26 16:35:26.363 7627-8073 System.out com.loveerror.bested I === after 已点击兄弟节点 View Tree End ===
2025-10-26 16:35:27.972 7627-8073 System.out com.loveerror.bested I 点击搜索按钮结果: true
2025-10-26 16:35:53.124 7627-7627 HwDragEnhancementImpl com.loveerror.bested D handleTimerDrag: false
2025-10-26 16:35:53.156 7627-7627 HwDragEnhancementImpl com.loveerror.bested D Start long press for hw drag enhancement.
2025-10-26 16:35:53.352 7627-7627 MouseWheelSynthesizer com.loveerror.bested D mMoveStepInDp: 64, mMoveStepInPixel: 192, mUpTimeDelayed: 100
2025-10-26 16:35:53.357 7627-7627 ViewRootImpl com.loveerror.bested D ViewUI ViewRootImpl mIsInProductivePCDisplay: false
2025-10-26 16:35:53.375 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,105], mVisible=true}
2025-10-26 16:35:53.375 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,0][0,0], mVisible=false}
2025-10-26 16:35:53.382 7627-7627 InsetsSourceConsumer com.loveerror.bested D ViewUI_insets setControl -> ITYPE_STATUS_BAR on PopupWindow:90bfb55
2025-10-26 16:35:53.382 7627-7627 InsetsSourceConsumer com.loveerror.bested D ViewUI_insets setControl mType:0, requestedVisible:true, getLeash:null, needAnimation:false, mIsAnimationPending:false, getRootViewTitle:PopupWindow:90bfb55
2025-10-26 16:35:53.384 7627-7627 InputEventReceiver com.loveerror.bested D dispatchInputInterval 1000000
2025-10-26 16:35:53.388 7627-7627 HwSoraManager com.loveerror.bested I SORA is disabled for PopupWindow:90bfb55
2025-10-26 16:35:53.388 7627-7627 mDecorView com.loveerror.bested D invokePopup mDecorView params: width=480, height=1008
2025-10-26 16:35:53.391 7627-7627 WebViewDragEnhancement com.loveerror.bested D dragReset.
2025-10-26 16:35:53.391 7627-7627 WebViewDragEnhancement com.loveerror.bested D dragReset cacheSize = 0
2025-10-26 16:35:53.392 7627-7627 RmeSchedManager com.loveerror.bested I init Rme, version is: v1.0
2025-10-26 16:35:53.394 7627-7627 ImeFocusController com.loveerror.bested I ViewUI imeDisplayId:0 contextDisplayId:0
2025-10-26 16:35:53.406 7627-7627 BufferQueueCore com.loveerror.bested D BufferQueueCore: mDebugHwFlow=0, mIsBufferQueueLogVSupport=0.
2025-10-26 16:35:53.407 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,105], mVisible=true}
2025-10-26 16:35:53.407 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,0][0,0], mVisible=false}
2025-10-26 16:35:53.413 7627-7627 InsetsSourceConsumer com.loveerror.bested D ViewUI_insets setControl -> ITYPE_STATUS_BAR on PopupWindow:90bfb55
2025-10-26 16:35:53.413 7627-7627 InsetsSourceConsumer com.loveerror.bested D ViewUI_insets setControl mType:0, requestedVisible:true, getLeash:Surface(name=Surface(name=bc96bf3 StatusBar)/@0x711d416 - animation-leash of insets_animation)/@0x19046f8, needAnimation:false, mIsAnimationPending:false, getRootViewTitle:PopupWindow:90bfb55
2025-10-26 16:35:53.418 7627-7692 OpenGLRenderer com.loveerror.bested E Unable to match the desired swap behavior.
2025-10-26 16:35:53.595 7627-7627 HwViewRootImpl com.loveerror.bested I removeInvalidNode all the node in jank list is out of time
2025-10-26 16:35:53.597 7627-7692 OpenGLRenderer com.loveerror.bested D disableOutlineDraw is true
2025-10-26 16:35:53.597 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,105], mVisible=true}
2025-10-26 16:35:53.597 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,0][0,0], mVisible=false}
2025-10-26 16:35:54.428 7627-7627 HwDragEnhancementImpl com.loveerror.bested D handleTimerDrag: false
2025-10-26 16:35:54.428 7627-7627 HwDragEnhancementImpl com.loveerror.bested D handleTimerDrag: false
2025-10-26 16:35:54.429 7627-7627 HwDragEnhancementImpl com.loveerror.bested D handleTimerDrag: false
2025-10-26 16:35:54.431 7627-7627 HwDragEnhancementImpl com.loveerror.bested D handleTimerDrag: false
2025-10-26 16:35:54.446 7627-7627 Choreographer com.loveerror.bested W Frame time is 0.100186996 ms in the future! Check that graphics HAL is generating vsync timestamps using the correct timebase.
2025-10-26 16:35:54.450 7627-7627 HwDragEnhancementImpl com.loveerror.bested D Start long press for hw drag enhancement.
2025-10-26 16:35:54.488 7627-7627 WebViewDragEnhancement com.loveerror.bested D dragReset.
2025-10-26 16:35:54.488 7627-7627 WebViewDragEnhancement com.loveerror.bested D dragReset cacheSize = 0
2025-10-26 16:35:54.509 7627-7627 AudioManager com.loveerror.bested V querySoundEffectsEnabled...
2025-10-26 16:35:54.509 7627-7627 AudioManager com.loveerror.bested I querySoundEffectsEnabled fail id: 0
2025-10-26 16:35:54.509 7627-7627 System.out com.loveerror.bested I Attempting to show text input dialog for: 查询公司是否注册
2025-10-26 16:35:54.522 7627-7627 InputMethodManager com.loveerror.bested I mCurRootView is null
2025-10-26 16:35:54.522 7627-7627 InputMethodManager com.loveerror.bested I mCurRootView is null
2025-10-26 16:35:54.527 7627-7627 InputMethodManager com.loveerror.bested I mCurRootView is null
2025-10-26 16:35:54.528 7627-7627 InputMethodManager com.loveerror.bested I mCurRootView is null
2025-10-26 16:35:54.545 7627-7627 DecorView[] com.loveerror.bested I pkgName:com.loveerror.bested old windowMode:0 new windoMode:1, isFixedSize:false, isStackNeedCaptionView:true
2025-10-26 16:35:54.563 7627-7627 SmartSlideOverScroller com.loveerror.bested I start init SmartSlideOverScroller and get the overscroller config
2025-10-26 16:35:54.563 7627-7627 SmartSlide...llerConfig com.loveerror.bested I get the overscroller config
2025-10-26 16:35:54.570 7627-7627 HwAdaptiveFrameManager com.loveerror.bested D transmitPackageInfo sHardVelocity=40=617
2025-10-26 16:35:54.581 7627-7627 SmartSlideOverScroller com.loveerror.bested I start init SmartSlideOverScroller and get the overscroller config
2025-10-26 16:35:54.582 7627-7627 SmartSlide...llerConfig com.loveerror.bested I get the overscroller config
2025-10-26 16:35:54.587 7627-7627 HwAdaptiveFrameManager com.loveerror.bested D transmitPackageInfo sHardVelocity=40=617
2025-10-26 16:35:54.605 7627-7627 Settings com.loveerror.bested W Setting device_provisioned has moved from android.provider.Settings.Secure to android.provider.Settings.Global.
2025-10-26 16:35:54.605 7627-7627 Dialog com.loveerror.bested I show dialog,width:-2,height:-2
2025-10-26 16:35:54.608 7627-7627 MouseWheelSynthesizer com.loveerror.bested D mMoveStepInDp: 64, mMoveStepInPixel: 192, mUpTimeDelayed: 100
2025-10-26 16:35:54.609 7627-7627 ViewRootImpl com.loveerror.bested D ViewUI ViewRootImpl mIsInProductivePCDisplay: false
2025-10-26 16:35:54.624 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,105], mVisible=true}
2025-10-26 16:35:54.624 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,0][0,0], mVisible=false}
2025-10-26 16:35:54.630 7627-7627 InsetsSourceConsumer com.loveerror.bested D ViewUI_insets setControl -> ITYPE_STATUS_BAR on
2025-10-26 16:35:54.630 7627-7627 InsetsSourceConsumer com.loveerror.bested D ViewUI_insets setControl mType:0, requestedVisible:true, getLeash:null, needAnimation:false, mIsAnimationPending:false, getRootViewTitle:
2025-10-26 16:35:54.632 7627-7627 InputEventReceiver com.loveerror.bested D dispatchInputInterval 1000000
2025-10-26 16:35:54.636 7627-7627 HwSoraManager com.loveerror.bested I SORA is disabled for
2025-10-26 16:35:54.637 7627-7627 ZrHung.App...rentWindow com.loveerror.bested D TransparentWindow mHungConfigStatus = 0,mHungConfigEnable = 1
2025-10-26 16:35:54.650 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,105], mVisible=true}
2025-10-26 16:35:54.650 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,0][0,0], mVisible=false}
2025-10-26 16:35:54.652 7627-7627 InsetsSourceConsumer com.loveerror.bested I ViewUI_insets mSourceControl is null notifyControlRevoked type: 0
2025-10-26 16:35:54.670 7627-8265 HiTouch_HiTouchSensor com.loveerror.bested I HiTouch restricted: Sub windows restricted.
2025-10-26 16:35:54.670 7627-8265 HiTouch_Pr...reDetector com.loveerror.bested D onAttached, package=com.loveerror.bested, windowType=2038, mIsHiTouchRestricted=true
2025-10-26 16:35:54.717 7627-7627 BufferQueueCore com.loveerror.bested D BufferQueueCore: mDebugHwFlow=0, mIsBufferQueueLogVSupport=0.
2025-10-26 16:35:54.722 7627-7627 InsetsSourceConsumer com.loveerror.bested D ViewUI_insets setControl -> ITYPE_STATUS_BAR on
2025-10-26 16:35:54.722 7627-7627 InsetsSourceConsumer com.loveerror.bested D ViewUI_insets setControl mType:0, requestedVisible:true, getLeash:Surface(name=Surface(name=bc96bf3 StatusBar)/@0x711d416 - animation-leash of insets_animation)/@0x34f07da, needAnimation:false, mIsAnimationPending:false, getRootViewTitle:
2025-10-26 16:35:54.729 7627-7692 OpenGLRenderer com.loveerror.bested E Unable to match the desired swap behavior.
2025-10-26 16:35:54.770 7627-7692 OpenGLRenderer com.loveerror.bested D disableOutlineDraw is true
2025-10-26 16:35:54.822 7627-7627 ImeFocusController com.loveerror.bested I ViewUI imeDisplayId:0 contextDisplayId:0
2025-10-26 16:35:54.822 7627-7627 InputMethodManager com.loveerror.bested I set currentRootView to : android.view.ViewRootImpl@86ff871
2025-10-26 16:35:54.826 7627-7627 InputMethodManager com.loveerror.bested I Starting input: reason=WINDOW_FOCUS_GAIN
2025-10-26 16:35:54.828 7627-7627 InputMethodManager com.loveerror.bested I Starting input: Bind resultString=SUCCESS_WITH_IME_SESSION
2025-10-26 16:35:54.857 7627-7627 InsetsSourceConsumer com.loveerror.bested D ViewUI_insets setControl -> ITYPE_IME on
2025-10-26 16:35:55.580 7627-7627 HwDragEnhancementImpl com.loveerror.bested D handleTimerDrag: false
2025-10-26 16:35:55.580 7627-7627 HwDragEnhancementImpl com.loveerror.bested D handleTimerDrag: false
2025-10-26 16:35:55.581 7627-7627 HwDragEnhancementImpl com.loveerror.bested D handleTimerDrag: false
2025-10-26 16:35:55.581 7627-7627 HwDragEnhancementImpl com.loveerror.bested D handleTimerDrag: false
2025-10-26 16:35:55.582 7627-7627 HwDragEnhancementImpl com.loveerror.bested D handleTimerDrag: false
2025-10-26 16:35:55.582 7627-7627 HwDragEnhancementImpl com.loveerror.bested D handleTimerDrag: false
2025-10-26 16:35:55.583 7627-7627 HwDragEnhancementImpl com.loveerror.bested D handleTimerDrag: false
2025-10-26 16:35:55.592 7627-7627 Choreographer com.loveerror.bested W Frame time is 16.148571 ms in the future! Check that graphics HAL is generating vsync timestamps using the correct timebase.
2025-10-26 16:35:55.594 7627-7627 HwDragEnhancementImpl com.loveerror.bested D Start long press for hw drag enhancement.
2025-10-26 16:35:55.599 7627-7627 Choreographer com.loveerror.bested W Frame time is 25.643759 ms in the future! Check that graphics HAL is generating vsync timestamps using the correct timebase.
2025-10-26 16:35:55.624 7627-7627 Choreographer com.loveerror.bested W Frame time is 16.602488 ms in the future! Check that graphics HAL is generating vsync timestamps using the correct timebase.
2025-10-26 16:35:55.633 7627-7627 Choreographer com.loveerror.bested W Frame time is 24.969028 ms in the future! Check that graphics HAL is generating vsync timestamps using the correct timebase.
2025-10-26 16:35:55.641 7627-7627 Choreographer com.loveerror.bested W Frame time is 33.334526 ms in the future! Check that graphics HAL is generating vsync timestamps using the correct timebase.
2025-10-26 16:35:55.656 7627-7627 WebViewDragEnhancement com.loveerror.bested D dragReset.
2025-10-26 16:35:55.656 7627-7627 WebViewDragEnhancement com.loveerror.bested D dragReset cacheSize = 0
2025-10-26 16:35:56.661 7627-7627 HwEditorHelperImpl com.loveerror.bested D isTouchPositionInHightlight.
2025-10-26 16:35:56.667 7627-7627 HwDragEnhancementImpl com.loveerror.bested D handleTimerDrag: false
2025-10-26 16:35:56.694 7627-7627 Choreographer com.loveerror.bested W Frame time is 9.135331 ms in the future! Check that graphics HAL is generating vsync timestamps using the correct timebase.
2025-10-26 16:35:56.721 7627-7627 HwDragEnhancementImpl com.loveerror.bested D Start long press for hw drag enhancement.
2025-10-26 16:35:56.724 7627-7627 HwEditorHelperImpl com.loveerror.bested D stopLongPressingPreviewAnimation.
2025-10-26 16:35:56.724 7627-7627 HwEditorHelperImpl com.loveerror.bested D removeDrawableView.
2025-10-26 16:35:56.724 7627-7627 HwEditorHelperImpl com.loveerror.bested E removeDrawableView decorview is null.
2025-10-26 16:35:56.731 7627-7627 InputMethodManager com.loveerror.bested I getNextServedViewLocked mCurRootView is android.view.ViewRootImpl@86ff871
2025-10-26 16:35:56.731 7627-7627 InputMethodManager com.loveerror.bested I Starting input: reason=CHECK_FOCUS
2025-10-26 16:35:56.739 7627-7627 InputMethodManager com.loveerror.bested I Starting input: Bind resultString=SUCCESS_WITH_IME_SESSION
2025-10-26 16:35:56.741 7627-7627 InputMethodManager com.loveerror.bested I showSoftInput, displayId=-1,callers=android.view.inputmethod.InputMethodManager.showSoftInput:1785 android.view.inputmethod.InputMethodManager.showSoftInput:1723 android.widget.TextView.onTouchEvent:11527 android.view.View.dispatchTouchEvent:14955
2025-10-26 16:35:56.741 7627-7627 InputMethodManager com.loveerror.bested D showSoftInput() view=android.widget.EditText{f56b832 VFED..CL. .F.P..ID 0,0-420,388 aid=3} flags=0 reason=SHOW_SOFT_INPUT
2025-10-26 16:35:56.751 7627-7627 WebViewDragEnhancement com.loveerror.bested D dragReset.
2025-10-26 16:35:56.751 7627-7627 WebViewDragEnhancement com.loveerror.bested D dragReset cacheSize = 0
2025-10-26 16:35:56.776 7627-7689 OpenGLRenderer com.loveerror.bested D gpu complete is not signaled
2025-10-26 16:35:56.787 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,105], mVisible=true}
2025-10-26 16:35:56.787 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,0][0,0], mVisible=false}
2025-10-26 16:35:56.789 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,105], mVisible=true}
2025-10-26 16:35:56.789 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,0][0,0], mVisible=false}
2025-10-26 16:35:56.795 7627-7627 InsetsSourceConsumer com.loveerror.bested D ViewUI_insets setControl -> ITYPE_IME on
2025-10-26 16:35:56.796 7627-7627 InsetsController com.loveerror.bested D ViewUI_insets show(ime(), fromIme=true)
2025-10-26 16:35:56.797 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets applyAnimation types:8,show:true, this:android.view.InsetsController@6828548
2025-10-26 16:35:56.797 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets controlAnimation types: 8
2025-10-26 16:35:56.797 7627-7627 InsetsController com.loveerror.bested D ViewUI_insets controlAnimation after canel existing types: 8
2025-10-26 16:35:56.800 7627-8056 SceneHelper com.loveerror.bested D notifyState ltpo1.0 push currentPackageName=com.loveerror.bested ltpo10SceneState=3009 scene=IME
2025-10-26 16:35:56.800 7627-8056 HwViewRootImpl com.loveerror.bested I Add sceneId 96 topId: 0
2025-10-26 16:35:56.811 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,105], mVisible=true}
2025-10-26 16:35:56.812 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,0][0,0], mVisible=false}
2025-10-26 16:35:56.814 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,105], mVisible=true}
2025-10-26 16:35:56.814 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,0][0,0], mVisible=false}
2025-10-26 16:35:57.193 7627-8056 SceneHelper com.loveerror.bested D notifyState ltpo1.0 push currentPackageName=com.loveerror.bested ltpo10SceneState=3010 scene=IME
2025-10-26 16:35:57.194 7627-8056 HwViewRootImpl com.loveerror.bested I remove sceneId 96 topId: 0
2025-10-26 16:36:01.506 7627-7627 HwDragEnhancementImpl com.loveerror.bested D handleTimerDrag: false
2025-10-26 16:36:01.546 7627-7627 Choreographer com.loveerror.bested W Frame time is 4.911785 ms in the future! Check that graphics HAL is generating vsync timestamps using the correct timebase.
2025-10-26 16:36:01.552 7627-7627 HwDragEnhancementImpl com.loveerror.bested D Start long press for hw drag enhancement.
2025-10-26 16:36:01.555 7627-7627 Choreographer com.loveerror.bested W Frame time is 11.886955 ms in the future! Check that graphics HAL is generating vsync timestamps using the correct timebase.
2025-10-26 16:36:01.570 7627-7627 WebViewDragEnhancement com.loveerror.bested D dragReset.
2025-10-26 16:36:01.570 7627-7627 WebViewDragEnhancement com.loveerror.bested D dragReset cacheSize = 0
2025-10-26 16:36:01.595 7627-7627 AudioManager com.loveerror.bested V querySoundEffectsEnabled...
2025-10-26 16:36:01.595 7627-7627 AudioManager com.loveerror.bested I querySoundEffectsEnabled fail id: 0
2025-10-26 16:36:01.598 7627-7627 InputMethodManager com.loveerror.bested I setNextServedViewLocked in view is null
2025-10-26 16:36:01.599 7627-7627 InputMethodManager com.loveerror.bested I FINISH INPUT: mServedView = :android.widget.EditText{f56b832 VFED..CL. .F...... 0,0-420,388 aid=3},focus=true,windowFocus=true,autofillUiShowing=false,window=android.view.ViewRootImpl$W@94a47a8,displayId=0,temporaryDetach=false,hasImeFocus=true
2025-10-26 16:36:01.599 7627-7627 InputMethodManager com.loveerror.bested I getServedView is android.widget.EditText{f56b832 VFED..CL. .F...... 0,0-420,388 aid=3}
2025-10-26 16:36:01.599 7627-7627 InputMethodManager com.loveerror.bested I setServedViewLocked in view is null
2025-10-26 16:36:01.602 7627-7627 InputMethodManager com.loveerror.bested I set currentRootView to : null
2025-10-26 16:36:01.612 7627-7692 OpenGLRenderer com.loveerror.bested D endAllActiveAnimators on 0xb400007b82467c00 (RippleDrawable) with handle 0xb400007b966af380
2025-10-26 16:36:01.628 7627-7627 InsetsSourceConsumer com.loveerror.bested I ViewUI_insets mSourceControl is null notifyControlRevoked type: 0
2025-10-26 16:36:01.632 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,105], mVisible=true}
2025-10-26 16:36:01.632 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,0][0,0], mVisible=false}
2025-10-26 16:36:01.637 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,105], mVisible=true}
2025-10-26 16:36:01.637 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,0][0,0], mVisible=false}
2025-10-26 16:36:01.657 7627-8310 System.out com.loveerror.bested I === targetHint请输入集团名称 findNodeByHint Tree Start ===
2025-10-26 16:36:01.657 7627-8310 System.out com.loveerror.bested I 请输入集团名称 android.widget.FrameLayout [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:01.675 7627-7627 InputMethodManager com.loveerror.bested I mCurRootView is null
2025-10-26 16:36:01.676 7627-7627 InputMethodManager com.loveerror.bested I mCurRootView is null
2025-10-26 16:36:01.676 7627-8310 System.out com.loveerror.bested I 请输入集团名称 android.widget.ImageView [text=] [desc=] [id=com.ZJMCCMCRM:id/back] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:36:01.676 7627-8310 System.out com.loveerror.bested I 请输入集团名称 android.widget.TextView [text=全网查询] [desc=] [id=com.ZJMCCMCRM:id/title] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=true] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:01.676 7627-8310 System.out com.loveerror.bested I 请输入集团名称 android.widget.LinearLayout [text=] [desc=] [id=com.ZJMCCMCRM:id/close_left] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:36:01.677 7627-8310 System.out com.loveerror.bested I 请输入集团名称 android.widget.LinearLayout [text=] [desc=] [id=com.ZJMCCMCRM:id/close_right] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:36:01.677 7627-8310 System.out com.loveerror.bested I 请输入集团名称 android.webkit.WebView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:01.678 7627-8310 System.out com.loveerror.bested I 请输入集团名称 android.webkit.WebView [text=全网查询] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=true] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:36:01.679 7627-8310 System.out com.loveerror.bested I 请输入集团名称 android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:01.680 7627-8310 System.out com.loveerror.bested I 请输入集团名称 android.view.View [text=] [desc=] [id=view-frame] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:01.680 7627-8310 System.out com.loveerror.bested I 请输入集团名称 android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:01.681 7627-8310 System.out com.loveerror.bested I 请输入集团名称 android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:01.682 7627-8310 System.out com.loveerror.bested I 请输入集团名称 android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:01.682 7627-8310 System.out com.loveerror.bested I 请输入集团名称 android.widget.TextView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:01.683 7627-8310 System.out com.loveerror.bested I 请输入集团名称 android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:01.684 7627-8310 System.out com.loveerror.bested I 请输入集团名称 android.widget.EditText [text=天猫] [desc=] [id=] [hint=请输入集团名称] [clickable=true] [longClickable=false] [editable=true] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:36:01.684 7627-8310 System.out com.loveerror.bested I === targetHint请输入集团名称 findNodeByHint Tree End [find] ===
2025-10-26 16:36:01.684 7627-8310 System.out com.loveerror.bested I === targetHint请输入集团名称 findNodeByHint Tree End [find] ===
2025-10-26 16:36:01.684 7627-8310 System.out com.loveerror.bested I === targetHint请输入集团名称 findNodeByHint Tree End [find] ===
2025-10-26 16:36:01.684 7627-8310 System.out com.loveerror.bested I === targetHint请输入集团名称 findNodeByHint Tree End [find] ===
2025-10-26 16:36:01.684 7627-8310 System.out com.loveerror.bested I === targetHint请输入集团名称 findNodeByHint Tree End [find] ===
2025-10-26 16:36:01.684 7627-8310 System.out com.loveerror.bested I === targetHint请输入集团名称 findNodeByHint Tree End [find] ===
2025-10-26 16:36:01.685 7627-8310 System.out com.loveerror.bested I === targetHint请输入集团名称 findNodeByHint Tree End [find] ===
2025-10-26 16:36:01.685 7627-8310 System.out com.loveerror.bested I === targetHint请输入集团名称 findNodeByHint Tree End [find] ===
2025-10-26 16:36:01.685 7627-8310 System.out com.loveerror.bested I === targetHint请输入集团名称 findNodeByHint Tree End ===
2025-10-26 16:36:01.710 7627-8310 System.out com.loveerror.bested I 已填写集团名称: 天猫
2025-10-26 16:36:01.715 7627-8310 System.out com.loveerror.bested I === after 已点击兄弟节点 View Tree Start ===
2025-10-26 16:36:01.716 7627-8310 System.out com.loveerror.bested I after 已点击兄弟节点 android.widget.FrameLayout [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:01.717 7627-8310 System.out com.loveerror.bested I android.widget.ImageView [text=] [desc=] [id=com.ZJMCCMCRM:id/back] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:36:01.722 7627-8310 System.out com.loveerror.bested I android.widget.TextView [text=全网查询] [desc=] [id=com.ZJMCCMCRM:id/title] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=true] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:01.727 7627-8310 System.out com.loveerror.bested I android.widget.LinearLayout [text=] [desc=] [id=com.ZJMCCMCRM:id/close_left] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:36:01.738 7627-8310 System.out com.loveerror.bested I android.widget.LinearLayout [text=] [desc=] [id=com.ZJMCCMCRM:id/close_right] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:36:01.753 7627-8310 System.out com.loveerror.bested I android.webkit.WebView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:01.754 7627-8310 System.out com.loveerror.bested I android.webkit.WebView [text=全网查询] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=true] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:36:01.755 7627-8310 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:01.756 7627-8310 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=view-frame] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:01.756 7627-8310 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:01.757 7627-8310 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:01.757 7627-8310 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:01.757 7627-8310 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:01.758 7627-8310 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:01.758 7627-8310 System.out com.loveerror.bested I android.widget.EditText [text=天猫] [desc=] [id=] [hint=请输入集团名称] [clickable=true] [longClickable=false] [editable=true] [focusable=true] [focus=true] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=true] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:36:01.759 7627-8310 System.out com.loveerror.bested I android.widget.Button [text=搜索] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:36:01.759 7627-8310 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=1.23452384164.123412415] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:01.770 7627-8310 System.out com.loveerror.bested I android.widget.TextView [text=返回主页] [desc=] [id=com.ZJMCCMCRM:id/closebtn] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=true] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=false]
2025-10-26 16:36:01.770 7627-8310 System.out com.loveerror.bested I === after 已点击兄弟节点 View Tree End ===
2025-10-26 16:36:01.820 7627-7627 RmeSchedManager com.loveerror.bested I init Rme, version is: v1.0
2025-10-26 16:36:17.567 7627-8310 System.out com.loveerror.bested I 点击搜索按钮结果: true
2025-10-26 16:36:46.687 7627-7627 HwDragEnhancementImpl com.loveerror.bested D handleTimerDrag: false
2025-10-26 16:36:46.708 7627-7627 Choreographer com.loveerror.bested W Frame time is 3.600421 ms in the future! Check that graphics HAL is generating vsync timestamps using the correct timebase.
2025-10-26 16:36:46.715 7627-7627 HwDragEnhancementImpl com.loveerror.bested D Start long press for hw drag enhancement.
2025-10-26 16:36:46.725 7627-7627 Choreographer com.loveerror.bested W Frame time is 3.242608 ms in the future! Check that graphics HAL is generating vsync timestamps using the correct timebase.
2025-10-26 16:36:46.750 7627-7627 Choreographer com.loveerror.bested W Frame time is 1.568748 ms in the future! Check that graphics HAL is generating vsync timestamps using the correct timebase.
2025-10-26 16:36:47.075 7627-7627 MouseWheelSynthesizer com.loveerror.bested D mMoveStepInDp: 64, mMoveStepInPixel: 192, mUpTimeDelayed: 100
2025-10-26 16:36:47.077 7627-7627 ViewRootImpl com.loveerror.bested D ViewUI ViewRootImpl mIsInProductivePCDisplay: false
2025-10-26 16:36:47.097 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,105], mVisible=true}
2025-10-26 16:36:47.097 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,0][0,0], mVisible=false}
2025-10-26 16:36:47.109 7627-7627 InsetsSourceConsumer com.loveerror.bested D ViewUI_insets setControl -> ITYPE_STATUS_BAR on PopupWindow:e4a803e
2025-10-26 16:36:47.109 7627-7627 InsetsSourceConsumer com.loveerror.bested D ViewUI_insets setControl mType:0, requestedVisible:true, getLeash:null, needAnimation:false, mIsAnimationPending:false, getRootViewTitle:PopupWindow:e4a803e
2025-10-26 16:36:47.111 7627-7627 InputEventReceiver com.loveerror.bested D dispatchInputInterval 1000000
2025-10-26 16:36:47.117 7627-7627 HwSoraManager com.loveerror.bested I SORA is disabled for PopupWindow:e4a803e
2025-10-26 16:36:47.117 7627-7627 mDecorView com.loveerror.bested D invokePopup mDecorView params: width=480, height=1008
2025-10-26 16:36:47.122 7627-7627 WebViewDragEnhancement com.loveerror.bested D dragReset.
2025-10-26 16:36:47.122 7627-7627 WebViewDragEnhancement com.loveerror.bested D dragReset cacheSize = 0
2025-10-26 16:36:47.123 7627-7627 RmeSchedManager com.loveerror.bested I init Rme, version is: v1.0
2025-10-26 16:36:47.127 7627-7627 ImeFocusController com.loveerror.bested I ViewUI imeDisplayId:0 contextDisplayId:0
2025-10-26 16:36:47.148 7627-7627 BufferQueueCore com.loveerror.bested D BufferQueueCore: mDebugHwFlow=0, mIsBufferQueueLogVSupport=0.
2025-10-26 16:36:47.151 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,105], mVisible=true}
2025-10-26 16:36:47.152 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,0][0,0], mVisible=false}
2025-10-26 16:36:47.162 7627-7627 InsetsSourceConsumer com.loveerror.bested D ViewUI_insets setControl -> ITYPE_STATUS_BAR on PopupWindow:e4a803e
2025-10-26 16:36:47.162 7627-7627 InsetsSourceConsumer com.loveerror.bested D ViewUI_insets setControl mType:0, requestedVisible:true, getLeash:Surface(name=Surface(name=bc96bf3 StatusBar)/@0x711d416 - animation-leash of insets_animation)/@0x6245bb5, needAnimation:false, mIsAnimationPending:false, getRootViewTitle:PopupWindow:e4a803e
2025-10-26 16:36:47.171 7627-7692 OpenGLRenderer com.loveerror.bested E Unable to match the desired swap behavior.
2025-10-26 16:36:47.568 7627-7692 OpenGLRenderer com.loveerror.bested D disableOutlineDraw is true
2025-10-26 16:36:47.570 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,105], mVisible=true}
2025-10-26 16:36:47.570 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,0][0,0], mVisible=false}
2025-10-26 16:36:47.572 7627-7641 OpenGLRenderer com.loveerror.bested I Davey! PopupWindow:e4a803e. duration=792ms; Flags=1, FrameTimelineVsyncId=8231734, IntendedVsync=375068874453702, Vsync=375069224453688, InputEventId=0, HandleInputStart=375069230758392, AnimationStart=375069230854746, PerformTraversalsStart=375069230882350, DrawStart=375069644821413, FrameDeadline=375068891120368, FrameInterval=375069230090684, FrameStartTime=16666666, SyncQueued=375069661807350, SyncStart=375069662247454, IssueDrawCommandsStart=375069662391725, SwapBuffers=375069663663079, FrameCompleted=375069667459433, DequeueBufferDuration=17187, QueueBufferDuration=1906771, GpuCompleted=375069666209433, SwapBuffersCompleted=375069667459433, DisplayPresentTime=0, MetaDataFps=0,
2025-10-26 16:36:47.588 7627-7627 HwViewRootImpl com.loveerror.bested I removeInvalidNode jank list is null
2025-10-26 16:36:52.551 7627-7627 HwDragEnhancementImpl com.loveerror.bested D handleTimerDrag: false
2025-10-26 16:36:52.552 7627-7627 HwDragEnhancementImpl com.loveerror.bested D handleTimerDrag: false
2025-10-26 16:36:52.554 7627-7627 HwDragEnhancementImpl com.loveerror.bested D handleTimerDrag: false
2025-10-26 16:36:52.556 7627-7627 HwDragEnhancementImpl com.loveerror.bested D handleTimerDrag: false
2025-10-26 16:36:52.562 7627-7627 Choreographer com.loveerror.bested W Frame time is 9.037928 ms in the future! Check that graphics HAL is generating vsync timestamps using the correct timebase.
2025-10-26 16:36:52.568 7627-7627 HwDragEnhancementImpl com.loveerror.bested D Start long press for hw drag enhancement.
2025-10-26 16:36:52.613 7627-7627 WebViewDragEnhancement com.loveerror.bested D dragReset.
2025-10-26 16:36:52.613 7627-7627 WebViewDragEnhancement com.loveerror.bested D dragReset cacheSize = 0
2025-10-26 16:36:52.630 7627-7627 HwViewRootImpl com.loveerror.bested I removeInvalidNode all the node in jank list is out of time
2025-10-26 16:36:52.641 7627-7627 AudioManager com.loveerror.bested V querySoundEffectsEnabled...
2025-10-26 16:36:52.641 7627-7627 AudioManager com.loveerror.bested I querySoundEffectsEnabled fail id: 0
2025-10-26 16:36:52.672 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,105], mVisible=true}
2025-10-26 16:36:52.672 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,0][0,0], mVisible=false}
2025-10-26 16:36:52.677 7627-7627 InsetsSourceConsumer com.loveerror.bested I ViewUI_insets mSourceControl is null notifyControlRevoked type: 0
2025-10-26 16:36:52.713 7627-7627 System.out com.loveerror.bested I === View Tree Start ===
2025-10-26 16:36:52.715 7627-7627 System.out com.loveerror.bested I android.widget.FrameLayout [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.817 7627-7627 System.out com.loveerror.bested I android.widget.ImageView [text=] [desc=] [id=com.ZJMCCMCRM:id/back] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:36:52.818 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=全网查询] [desc=] [id=com.ZJMCCMCRM:id/title] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=true] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.820 7627-7627 System.out com.loveerror.bested I android.widget.LinearLayout [text=] [desc=] [id=com.ZJMCCMCRM:id/close_left] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:36:52.822 7627-7627 System.out com.loveerror.bested I android.widget.LinearLayout [text=] [desc=] [id=com.ZJMCCMCRM:id/close_right] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:36:52.824 7627-7627 System.out com.loveerror.bested I android.webkit.WebView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.826 7627-7627 System.out com.loveerror.bested I android.webkit.WebView [text=全网查询] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=true] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:36:52.828 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.830 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=view-frame] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.832 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.834 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.836 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.838 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.840 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.842 7627-7627 System.out com.loveerror.bested I android.widget.EditText [text=天猫] [desc=] [id=] [hint=请输入集团名称] [clickable=true] [longClickable=false] [editable=true] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:36:52.844 7627-7627 System.out com.loveerror.bested I android.widget.Button [text=搜索] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=true] [focus=true] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=true] [enabled=true] [focusable=true] [accessible=false] [visible=true]
2025-10-26 16:36:52.846 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.848 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江天猫技术有限公司(57171447535)] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.850 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.852 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.855 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江省杭州市余杭区文一西路969号] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.857 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=A1] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.859 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=在网客户] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.861 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=归属客户经理:张慈] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.863 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.865 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=永康市天猫玻璃制品厂(57179481821)] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.867 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.872 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.878 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江省@金华市@永康市@永康城区@总部中心金山大厦3楼] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.884 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=C1] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.889 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=离网客户] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.894 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=归属客户经理:FW陈有双(铁通)] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.895 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.901 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江天猫网络有限公司(57171447534)] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.907 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.911 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.916 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江省@杭州市@余杭区@闲林镇五常开发区@五常大道168号3幢5层506室] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.921 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=C1] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.926 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=在网客户] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.931 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=归属客户经理:黄仕芳(铁通)] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.933 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.939 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=诸暨天猫针纺有限公司(57175393059)] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.947 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.953 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.960 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江省@绍兴市@诸暨市@大唐镇@倪村路188号] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.974 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=C1] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:52.988 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=在网客户] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:53.003 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=归属客户经理:汪玲] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:53.004 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:53.019 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江天猫校园技术服务有限公司(57171682712)] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:53.034 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:53.041 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:53.049 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江省@杭州市@余杭区@闲林镇五常开发区@文一幢5层561室] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:53.058 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=D] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:53.070 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=潜在客户] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:53.080 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=归属客户经理:王懿] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:53.083 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:53.094 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=杭州天猫优选电子商务有限公司(571711532758)] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:53.112 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:53.127 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:53.138 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江省杭州市余杭区五常街道文一西路969号3幢4层495] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:53.149 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=D] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:53.159 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=在网客户] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:53.177 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=归属客户经理:王懿] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:53.179 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:53.189 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=杭州天猫车站科技有限公司(57171659038)] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:53.200 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:53.209 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:53.217 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江省杭州市余杭区五常街道文一西路969号阿里巴巴西溪园区3号楼5F] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:53.225 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=D] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.232 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=在网客户] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.243 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=归属客户经理:许捷] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.246 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.259 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江天猫技术有限公司温州分公司(57177634893)] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.276 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.289 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.304 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江省@温州市@瓯海区@郭溪街道@金州工业区3楼] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.318 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=D] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.333 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=离网客户] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.347 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=归属客户经理:周佳佳] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.352 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.366 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江天猫供应链管理有限公司(57171739022)] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.382 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.395 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.408 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江省@杭州市@余杭区@闲林镇五常开发区@海创园] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.422 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=D] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.436 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=在网客户] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.450 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=归属客户经理:王懿] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.455 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.469 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=余姚市天猫电器有限公司(57174498257)] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.485 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.498 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.509 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江省@宁波市@余姚市@低塘街道@郑巷村横埭] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.526 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=D] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.543 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=在网客户] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.559 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=归属客户经理:郑蓥] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.563 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.578 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=吴江市庙港华丰纺织厂劳天猫分部(57175478310)] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.594 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.608 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.622 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江省@绍兴市@柯桥区@钱清镇@106县道] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.636 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=D] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.650 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=离网客户] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.664 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=归属客户经理:周小红] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.668 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.682 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江天猫机电科技有限公司(571751040074)] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.700 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.716 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.730 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江省绍兴市诸暨市次坞镇迪奥路13号] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.744 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=D] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.769 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=潜在客户] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.787 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=归属客户经理:周航波] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.794 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.812 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=杭州萧山天猫数码有限公司(571751033322)] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.833 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.852 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.871 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江省@杭州市@萧山区@城厢街道@浙江省杭州市萧山区城厢街道萧绍路1258号二层] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.893 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=D] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.917 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=在网客户] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.946 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=归属客户经理:周宣] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.955 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:53.979 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=绍兴微鲸贸易有限公司天猫部门(57175477320)] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.005 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.028 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.047 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江省@绍兴市@柯桥区@杨汛桥镇@窗帘产业园] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.064 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=D] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.084 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=离网客户] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.105 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=归属客户经理:洪佳铭] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.113 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.135 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=杭州天猫校园技术服务有限公司(571711532880)] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.160 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.186 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.216 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江省杭州市余杭区五常街道爱橙街2号1幢] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.238 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=D] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.260 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=在网客户] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.288 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=归属客户经理:王懿] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.297 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.322 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=仙居县车品天猫店王奕佳店(57176518906)] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.350 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.372 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.396 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江省@台州市@仙居县@官路镇@东张村溪滩街9弄25号] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.420 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=D] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.443 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=在网客户] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.471 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=归属客户经理:] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.480 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.508 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=天台飞天工旗舰店(天猫)(57176521785)] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.536 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.565 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.587 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江省@台州市@天台县@坦头镇@鱼山村] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.610 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=D] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.634 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=在网客户] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.660 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=归属客户经理:范晓燕] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.670 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.692 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=杭州怀瑾科技有限公司(电商--千岁好天猫旗舰店)(57176469586)] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.716 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.740 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.759 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江省@台州市@椒江区@白云街道@中心大道227号台州移动机房大楼] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.782 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=D] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.805 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=离网客户] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.828 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=归属客户经理:] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.835 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.857 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=台州市路桥天猫机电设备厂(57176570514)] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.880 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.904 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.925 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江省@台州市@路桥区@金清镇@文昌路港湾印象斜对面] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.946 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=D] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.970 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=在网客户] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:54.996 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=归属客户经理:冯茜茜] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:55.005 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:55.032 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=藤原天猫商城(57176518465)] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:55.067 7627-7627 System.out com.loveerror.bested I android.view.View [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:55.096 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:55.120 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=浙江省台州市温岭市泽国镇夹屿村双峰大道8] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:55.145 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=D] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:55.173 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=潜在客户] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:55.199 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=归属客户经理:李志涵] [desc=] [id=] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=false]
2025-10-26 16:36:55.207 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=] [desc=] [id=1.23452384164.123412415] [hint=] [clickable=false] [longClickable=false] [editable=false] [focusable=false] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=true] [password=false] [multiple=false] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=false] [accessible=false] [visible=true]
2025-10-26 16:36:55.214 7627-7627 System.out com.loveerror.bested I android.widget.TextView [text=返回主页] [desc=] [id=com.ZJMCCMCRM:id/closebtn] [hint=] [clickable=true] [longClickable=false] [editable=false] [focusable=true] [focus=false] [selected=false] [checkable=false] [checked=false] [scrollable=false] [visibleToUser=false] [password=false] [multiple=true] [accessibilityFocus=false] [package=com.ZJMCCMCRM] [focused=false] [enabled=true] [focusable=true] [accessible=false] [visible=false]
2025-10-26 16:36:55.214 7627-7627 System.out com.loveerror.bested I === View Tree End ===
2025-10-26 16:36:55.216 7627-7627 Choreographer com.loveerror.bested I Skipped 152 frames! The application may be doing too much work on its main thread.
2025-10-26 16:36:55.216 7627-7627 RmeSchedManager com.loveerror.bested I init Rme, version is: v1.0
2025-10-26 16:36:55.245 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][1080,105], mVisible=true}
2025-10-26 16:36:55.246 7627-7627 InsetsController com.loveerror.bested I ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,0][0,0], mVisible=false}
2025-10-26 16:36:55.279 7627-7627 HwViewRootImpl com.loveerror.bested I removeInvalidNode jank list is null
2025-10-26 16:37:55.692 7627-7627 WindowManager com.loveerror.bested I trimMemory level: 5

View File

@@ -6,6 +6,7 @@ import android.content.Intent
import android.view.accessibility.AccessibilityEvent
import com.loveerror.bested.handler.ZjMccmCrm
import com.loveerror.bested.tool.AccessibilityTool
import com.loveerror.bested.tool.RootNodeCallbackImpl
import com.loveerror.bested.tool.WebViewTool
class UIInspectorService : AccessibilityService() {
@@ -15,8 +16,9 @@ class UIInspectorService : AccessibilityService() {
override fun onServiceConnected() {
super.onServiceConnected()
val rootNodeCallbackImpl = RootNodeCallbackImpl(uiInspectorService = this)
// 初始化 ZjMccmCrm
zjMccmCrm = ZjMccmCrm(this)
zjMccmCrm = ZjMccmCrm(rootNodeCallbackImpl)
zjMccmCrm.initialize(this)
// 设置配置
serviceInfo = createServiceInfo()
@@ -36,6 +38,10 @@ class UIInspectorService : AccessibilityService() {
or AccessibilityEvent.TYPE_VIEW_FOCUSED
or AccessibilityEvent.TYPE_WINDOWS_CHANGED
or AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED
or AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED
or AccessibilityEvent.TYPE_VIEW_SCROLLED
or AccessibilityEvent.TYPE_VIEW_TEXT_SELECTION_CHANGED
or AccessibilityEvent.TYPES_ALL_MASK
-> {
handleWindowChangeOpt(event)
}

View File

@@ -1,18 +1,14 @@
package com.loveerror.bested
import android.app.Application
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import android.os.Build
import android.provider.Settings
import com.loveerror.bested.button.DragFloatingButton
import com.loveerror.bested.button.GlobalFloatingButtonManager
import com.loveerror.bested.task.TaskManager
class MyApplication : Application() {
private lateinit var buttonManager: GlobalFloatingButtonManager
private lateinit var broadcastReceiver: BroadcastReceiver
override fun onCreate() {
super.onCreate()
instance = this
@@ -27,6 +23,11 @@ class MyApplication : Application() {
}
fun getFloatingButton(context: Context): DragFloatingButton {
return buttonManager.getFloatingButton(context)
}
override fun onTerminate() {
super.onTerminate()
buttonManager.cleanup() // 清理包括广播注销

View File

@@ -1,10 +1,10 @@
package com.loveerror.bested
import android.view.accessibility.AccessibilityNodeInfo
import android.accessibilityservice.AccessibilityService
import android.view.accessibility.AccessibilityEvent
import android.view.accessibility.AccessibilityNodeInfo
import com.loveerror.bested.tool.RootNodeCallback
class SelectAccessibility(private val service: UIInspectorService) {
class SelectAccessibility(private val service: RootNodeCallback) {
fun handleSelectPopup(event: AccessibilityEvent) {
@@ -18,7 +18,7 @@ class SelectAccessibility(private val service: UIInspectorService) {
// 延迟一小段时间确保弹窗完全加载
Thread.sleep(500)
val root = service.rootInActiveWindow
val root = service.getRootNodeReceived()
if (root != null) {
// 查找所有可点击的选项
traverseAndFindOptions(root)
@@ -67,7 +67,7 @@ class SelectAccessibility(private val service: UIInspectorService) {
}
fun selectOptionByText(optionText: String) {
val root = service.rootInActiveWindow
val root = service.getRootNodeReceived()
if (root != null) {
val optionNodes = root.findAccessibilityNodeInfosByText(optionText)
optionNodes.firstOrNull()?.let { node ->

View File

@@ -2,19 +2,22 @@ package com.loveerror.bested.button
enum class ActionEvent {
START_ACTION("com.loveerror.bested.START_ACTION", "启动按钮"),
FILL_ACTION("com.loveerror.bested.FILL_ACTION", "填充表单"),
START_ACTION("com.loveerror.bested.START_ACTION", "去普通建档"),
FILL_ACTION("com.loveerror.bested.FILL_ACTION", "普通建档填充表单"),
SET_DATA_SOURCE("com.loveerror.bested.SET_DATA_SOURCE", "设置数据源"),
HIDE_FLOATING_BUTTON("com.loveerror.bested.HIDE_FLOATING_BUTTON", "隐藏悬浮按钮"),
PRINT_CURRENT_PAGE("com.loveerror.bested.PRINT_CURRENT_PAGE", "打印当前界面"),
QUERY_COMPANY_REGISTER("com.loveerror.bested.QUERY_COMPANY_REGISTER", "查询公司是否注册",isDisplay = true, menuWithText = true),
UNKNOWN("com.loveerror.bested.UNKNOWN", "未知",isDisplay = false);
constructor(event: String, menuName: String, isDisplay: Boolean = true, menuWithText: Boolean= false){
QUERY_COMPANY_REGISTER("com.loveerror.bested.QUERY_COMPANY_REGISTER", "去全网查询",isDisplay = true),
QUERY_COMPANY_SEARCH_ACTION("com.loveerror.bested.QUERY_COMPANY_SEARCH_ACTION", "查询公司是否注册",isDisplay = true, menuWithText = listOf("companyNames")),
UNKNOWN("com.loveerror.bested.UNKNOWN", "未知",isDisplay = false, enable = false);
constructor(event: String, menuName: String, isDisplay: Boolean = true, menuWithText: List<String> = emptyList(), enable: Boolean = true){
this.event = event
this.menuName = menuName
this.menuWithText = menuWithText
this.isDisplay = isDisplay
this.enable = enable
}
val menuName: String
@@ -22,7 +25,8 @@ enum class ActionEvent {
val isDisplay: Boolean
val menuWithText: Boolean
val menuWithText: List<String>
val enable: Boolean
companion object {
fun getByMenuName(menuName: String) :ActionEvent {

View File

@@ -0,0 +1,46 @@
// 新建文件 CircularProgressDrawable.kt
package com.loveerror.bested.button
import android.graphics.Canvas
import android.graphics.Color
import android.graphics.Paint
import android.graphics.RectF
import android.graphics.drawable.Drawable
class CircularProgressDrawable : Drawable() {
private var progress = 0
private val paint = Paint(Paint.ANTI_ALIAS_FLAG)
private val rectF = RectF()
fun setProgress(progress: Int) {
this.progress = progress.coerceIn(0, 100)
invalidateSelf()
}
override fun draw(canvas: Canvas) {
val bounds = bounds
rectF.set(bounds)
// 绘制蓝色背景圆
paint.style = Paint.Style.FILL
paint.color = Color.BLUE
canvas.drawOval(rectF, paint)
// 绘制绿色进度扇形
if (progress > 0) {
paint.color = Color.GREEN
val sweepAngle = 360f * progress / 100f
canvas.drawArc(rectF, -90f, sweepAngle, true, paint)
}
}
override fun setAlpha(alpha: Int) {
paint.alpha = alpha
}
override fun setColorFilter(colorFilter: android.graphics.ColorFilter?) {
paint.colorFilter = colorFilter
}
override fun getOpacity(): Int = android.graphics.PixelFormat.TRANSLUCENT
}

View File

@@ -13,8 +13,8 @@ import android.widget.EditText
import android.widget.PopupMenu
import android.app.Activity
import android.content.ContextWrapper
import android.app.Application
import android.widget.Toast
import android.widget.LinearLayout
class DragFloatingButton(context: Context) : View(context) {
private val paint = Paint().apply {
isAntiAlias = true
@@ -31,22 +31,27 @@ class DragFloatingButton(context: Context) : View(context) {
init {
// 初始化时创建正确的 WindowManager.LayoutParams
layoutParams = WindowManager.LayoutParams(
this.layoutParams = WindowManager.LayoutParams(
150, 150,
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE or WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN,
PixelFormat.TRANSLUCENT
)
this.layoutParams = layoutParams
}
override fun onDraw(canvas: Canvas) {
super.onDraw(canvas)
canvas.let {
// 绘制圆形按钮
paint.color = Color.BLUE
it.drawCircle(width / 2f, height / 2f, minOf(width, height) / 2f, paint)
// 绘制菜单图标(三个点)
if (isProgressVisible && progressDrawable != null) {
// 设置进度drawable的边界
progressDrawable?.setBounds(0, 0, width, height)
progressDrawable?.draw(canvas)
} else {
// 绘制原始按钮
paint.color = Color.BLUE
canvas.drawCircle(width / 2f, height / 2f, minOf(width, height) / 2f, paint)
// 绘制菜单图标
paint.color = Color.WHITE
paint.strokeWidth = 8f
val centerX = width / 2f
@@ -54,9 +59,9 @@ class DragFloatingButton(context: Context) : View(context) {
val dotRadius = 4f
val spacing = 12f
it.drawCircle(centerX, centerY - spacing, dotRadius, paint)
it.drawCircle(centerX, centerY, dotRadius, paint)
it.drawCircle(centerX, centerY + spacing, dotRadius, paint)
canvas.drawCircle(centerX, centerY - spacing, dotRadius, paint)
canvas.drawCircle(centerX, centerY, dotRadius, paint)
canvas.drawCircle(centerX, centerY + spacing, dotRadius, paint)
}
}
@@ -83,10 +88,6 @@ class DragFloatingButton(context: Context) : View(context) {
windowManager.updateViewLayout(this, layoutParams!!)
}
// if (layoutParams == null) {
// layoutParams = this.layoutParams as? WindowManager.LayoutParams
// }
originalX = layoutParams?.x ?: 0
originalY = layoutParams?.y ?: 0
isDragging = false
@@ -130,7 +131,7 @@ class DragFloatingButton(context: Context) : View(context) {
for (item in ActionEvent.entries){
if (item.isDisplay) {
// 检查是否需要文本输入
if (item.menuWithText) {
if (item.menuWithText.isNotEmpty()) {
popup.menu.add(0, item.ordinal, 0, item.menuName).setOnMenuItemClickListener {
showTextInputDialog(item)
true
@@ -144,44 +145,45 @@ class DragFloatingButton(context: Context) : View(context) {
// 为不需要文本输入的菜单项设置监听器
popup.setOnMenuItemClickListener { item ->
val actionEvent = ActionEvent.entries.find { it.ordinal == item.itemId }
if (actionEvent != null && !actionEvent.menuWithText) {
if (actionEvent != null && actionEvent.menuWithText.isEmpty()) {
triggerActionEvent(actionEvent)
}
true
}
popup.show()
// popup.setOnMenuItemClickListener { item ->
// val actionEvent = ActionEvent.getByMenuName(item.title.toString())
// try {
// context.sendBroadcast(android.content.Intent(actionEvent.event).apply {
// setPackage(context.packageName)
// })
// } catch (e: IllegalArgumentException) {
// // 处理枚举值不存在的情况
// e.printStackTrace()
// println("枚举值不存在: ${item.title},${actionEvent}, ${e.toString()}")
// }
// true
// }
//
// popup.show()
}
private fun showTextInputDialog(actionEvent: ActionEvent) {
println("Attempting to show text input dialog for: ${actionEvent.menuName}")
// 根据 actionEvent.menuWithText 创建对应数量的editText 放到一个 linearLayout 中
val editTexts = arrayListOf<EditText>()
val linearLayout = LinearLayout(context).apply {
// 设置布局参数
layoutParams = LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT
)
}
for (menuWithText in actionEvent.menuWithText) {
val editText = EditText(context).apply {
inputType = InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_FLAG_MULTI_LINE
setLines(5)
gravity = Gravity.TOP or Gravity.START
setTextIsSelectable(true)
movementMethod = ScrollingMovementMethod.getInstance()
hint = menuWithText
tag = menuWithText
}
linearLayout.addView(editText)
editTexts.add(editText)
}
val dialog = AlertDialog.Builder(context)
.setTitle("请输入公司名称")
.setView(editText)
.setView(linearLayout)
.setPositiveButton("确定", null) // 先设置为null稍后手动处理
.setNegativeButton("取消", null)
.create()
@@ -190,16 +192,22 @@ class DragFloatingButton(context: Context) : View(context) {
dialog.setOnShowListener {
val positiveButton = dialog.getButton(AlertDialog.BUTTON_POSITIVE)
positiveButton.setOnClickListener {
val textWithTags = mutableListOf<TextWithTag>()
// 遍历editText eeditTexts
for (editText in editTexts) {
val inputText = editText.text.toString().trim()
// 如果文本为空,则显示提示并不关闭对话框
if (inputText.isEmpty()) {
// 在EditText下方显示错误提示
editText.error = "请输入公司名称"
editText.error = "请输入"+editText.hint
// 不关闭对话框
return@setOnClickListener
}
textWithTags.add(TextWithTag(inputText, editText.tag.toString()))
}
// 输入有效,触发事件并关闭对话框
triggerActionEvent(actionEvent, inputText)
triggerActionEvent(actionEvent, textWithTags)
dialog.dismiss()
}
}
@@ -210,7 +218,14 @@ class DragFloatingButton(context: Context) : View(context) {
dialog.show()
}
class TextWithTag {
var text: String
var tag: String
constructor(text: String, tag: String) {
this.text = text
this.tag = tag
}
}
private fun getContextForDialog(): Context? {
var currentContext = context
@@ -223,14 +238,14 @@ class DragFloatingButton(context: Context) : View(context) {
return null
}
private fun triggerActionEvent(actionEvent: ActionEvent, textInput: String? = null) {
private fun triggerActionEvent(actionEvent: ActionEvent, textInputs: MutableList<TextWithTag> = mutableListOf()) {
try {
val intent = android.content.Intent(actionEvent.event).apply {
setPackage(context.packageName)
}
// 如果有文本输入添加到Intent中
textInput?.let {
intent.putExtra("textInput", it)
for(textWithTag in textInputs){
intent.putExtra(textWithTag.tag, textWithTag.text)
}
context.sendBroadcast(intent)
} catch (e: IllegalArgumentException) {
@@ -238,6 +253,32 @@ class DragFloatingButton(context: Context) : View(context) {
println("枚举值不存在: $actionEvent, ${e.toString()}")
}
}
///
private var progressDrawable: CircularProgressDrawable? = null
private var isProgressVisible = false
// 设置进度值
fun setProgress(progress: Int) {
if (progressDrawable == null) {
progressDrawable = CircularProgressDrawable()
}
progressDrawable?.setProgress(progress)
if (isProgressVisible) {
invalidate()
}
}
// 显示/隐藏进度条
fun showProgress(show: Boolean) {
isProgressVisible = show
if (show && progressDrawable == null) {
progressDrawable = CircularProgressDrawable()
}
invalidate()
}
}

View File

@@ -18,6 +18,13 @@ class GlobalFloatingButtonManager(private val context: Context) {
private var broadcastReceiver: BroadcastReceiver? = null
private var isEnabled = true // 添加启用状态标志
fun getFloatingButton(context: Context): DragFloatingButton {
if (floatingButton == null) {
floatingButton = DragFloatingButton(context.applicationContext)
}
return floatingButton!!
}
fun initialize() {
// 注册广播接收器
broadcastReceiver = object : BroadcastReceiver() {

View File

@@ -0,0 +1,38 @@
package com.loveerror.bested.handler
class FieldName {
val defaultValue: String
val type: FieldType
constructor(fieldName: String, hintText: String, defaultValue: String, type: FieldType = FieldType.TEXT){
this.fieldName = fieldName
this.hintText = hintText
this.defaultValue = defaultValue
this.type = type
}
val fieldName: String
val hintText: String
}
enum class FieldType {
TEXT,
SELECT,
SEARCH_SELECT,
CHECKBOX,
RADIO,
DATE,
TIME,
NUMBER,
CURRENCY,
EMAIL,
PHONE,
ADDRESS,
URL,
PASSWORD,
FILE,
IMAGE,
VIDEO,
AUDIO,
OTHER
}

View File

@@ -1,56 +1,20 @@
package com.loveerror.bested.handler
import android.view.accessibility.AccessibilityNodeInfo
import com.loveerror.bested.UIInspectorService
import com.loveerror.bested.tool.AccessibilityTool
import com.loveerror.bested.tool.AccessibilityTool.Companion.performBottomSheetSelection
import com.loveerror.bested.tool.NodeToolHint
import com.loveerror.bested.tool.NodeToolText
import com.loveerror.bested.tool.NodeToolTime
import com.loveerror.bested.tool.RootNodeCallback
class NormalGroupCreateForm (private val uiInspectorService: UIInspectorService){
class NormalGroupCreateForm(private val rootNodeCallback: RootNodeCallback) {
fun getRootInActiveWindow(): AccessibilityNodeInfo? {
return uiInspectorService.rootInActiveWindow
}
class FieldName {
val fieldName: String
val hintText: String
val defaultValue: String
val type: FieldType
constructor(fieldName: String, hintText: String, defaultValue: String, type: FieldType = FieldType.TEXT){
this.fieldName = fieldName
this.hintText = hintText
this.defaultValue = defaultValue
this.type = type
}
}
enum class FieldType {
TEXT,
SELECT,
SEARCH_SELECT,
CHECKBOX,
RADIO,
DATE,
TIME,
NUMBER,
CURRENCY,
EMAIL,
PHONE,
ADDRESS,
URL,
PASSWORD,
FILE,
IMAGE,
VIDEO,
AUDIO,
OTHER
return rootNodeCallback.getRootNodeReceived()
}
var fields = arrayListOf<FieldName>()
init {
fields.add(FieldName("集团名称", "请输入集团名称", "集团abc", FieldType.TEXT))
fields.add(FieldName("证件名称", "证件名称", "jituan", FieldType.TEXT))
@@ -66,11 +30,8 @@ class NormalGroupCreateForm (private val uiInspectorService: UIInspectorService)
fields.add(FieldName("集团等级", "", "D", FieldType.TEXT))
fields.add(FieldName("建筑物名称", "请输入搜索地址", "金牛座", FieldType.SEARCH_SELECT))
fields.add(FieldName("细分客群", "", "其他", FieldType.SELECT))
}
/**
* 自动填充普通集团建档表单
* @param root AccessibilityNodeInfo根节点
@@ -97,21 +58,40 @@ class NormalGroupCreateForm (private val uiInspectorService: UIInspectorService)
for (field in fields) {
if (field.type == FieldType.SELECT) {
performBottomSheetSelection(root, field.fieldName, fieldMap[field.fieldName] ?: field.defaultValue)
AccessibilityTool.performBottomSheetSelection(
rootNodeCallback = rootNodeCallback,
field.fieldName,
fieldMap[field.fieldName] ?: field.defaultValue
)
} else if (field.type == FieldType.TIME) {
// 格式化证件有效期 >2090-11-23 格式化为2090-11-23
val date = normalizeExpiryDate(fieldMap[field.fieldName] ?: field.defaultValue, field.defaultValue)
performBottomTimeSelection(root, field.fieldName,date)
val date = AccessibilityTool.normalizeExpiryDate(
fieldMap[field.fieldName] ?: field.defaultValue, field.defaultValue
)
AccessibilityTool.performBottomTimeSelection(
rootNodeCallback,
field.fieldName,
date
)
} else if (field.type == FieldType.SEARCH_SELECT) {
performBottomSearchSelection(root, field.fieldName, field.hintText, fieldMap[field.fieldName] ?: field.defaultValue)
AccessibilityTool.performBottomSearchSelection(
rootNodeCallback, field.fieldName,
field.hintText, fieldMap[field.fieldName] ?: field.defaultValue
)
} else {
fillEditTextByHintText(root,fieldMap[field.fieldName] ?: field.defaultValue, field.fieldName, field.hintText)
AccessibilityTool.fillEditTextByHintText(
root, fieldMap[field.fieldName] ?: field.defaultValue, field.fieldName,
field.hintText
)
}
}
AccessibilityTool.printViewTree(uiInspectorService.rootInActiveWindow,"after 已点击兄弟节点")
var rootNew = uiInspectorService.rootInActiveWindow
AccessibilityTool.printViewTree(
rootNodeCallback.getRootNodeReceived(),
"after 已点击兄弟节点"
)
var rootNew = rootNodeCallback.getRootNodeReceived()
var peopleCountNode = NodeToolText.findNodeByText(rootNew, "请输入人数")
@@ -132,13 +112,17 @@ class NormalGroupCreateForm (private val uiInspectorService: UIInspectorService)
} else {
println("未找到可点击的兄弟节点")
}
rootNew = uiInspectorService.rootInActiveWindow
rootNew = rootNodeCallback.getRootNodeReceived()
peopleCountNode = NodeToolText.findNodeByText(rootNew, "请输入人数")
}
fillEditText(peopleCountNode, fieldMap["员工数"] ?: "1","员工数")
AccessibilityTool.fillEditText(peopleCountNode, fieldMap["员工数"] ?: "1", "员工数")
// fillEditTextByHintText(rootNew,fieldMap["员工数"] ?: "1", "员工数", "请输入人数")
clickToOpenBottomSheetAddress(root, "请点击此处打点","浙江省杭州市余杭区高顺路8号五常西溪软件园金牛座A座")
clickToOpenBottomSheetAddress(
root,
"请点击此处打点",
"浙江省杭州市余杭区高顺路8号五常西溪软件园金牛座A座"
)
// 示例:点击"集团状态"触发底部选择,选择"在网集团"
// fillCompanyNameField(root, groupName)
@@ -147,7 +131,11 @@ class NormalGroupCreateForm (private val uiInspectorService: UIInspectorService)
}
// 打点
private fun clickToOpenBottomSheetAddress(root: AccessibilityNodeInfo, triggerText: String,address: String) {
private fun clickToOpenBottomSheetAddress(
root: AccessibilityNodeInfo,
triggerText: String,
address: String
) {
//
val triggerNode = NodeToolText.findNodeByText(root, triggerText)
@@ -189,7 +177,8 @@ class NormalGroupCreateForm (private val uiInspectorService: UIInspectorService)
return
}
// 获取搜索 按钮 前面挨着的 android.widget.EditText [text=] [desc=] [id=search] 元素
val searchEditText = NodeToolText.findPreviousSiblingNode(searchButton, "android.widget.EditText")
val searchEditText =
NodeToolText.findPreviousSiblingNode(searchButton, "android.widget.EditText")
if (searchEditText == null) {
println("未找到搜索框")
return
@@ -232,7 +221,7 @@ class NormalGroupCreateForm (private val uiInspectorService: UIInspectorService)
Thread.sleep(2000)
var newAddress = NodeToolText.findNodeByText(getRootInActiveWindow(),"新增")
val newAddress = NodeToolText.findNodeByText(getRootInActiveWindow(), "新增")
if (newAddress == null) {
println("未找到新增")
return
@@ -241,9 +230,9 @@ class NormalGroupCreateForm (private val uiInspectorService: UIInspectorService)
Thread.sleep(3000)
performBottomSheetSelection(getRootInActiveWindow(), "区县","余杭区")
performBottomSheetSelection(rootNodeCallback, "区县", "余杭区")
Thread.sleep(1000)
performBottomSheetSelection(getRootInActiveWindow(), "街道","五常街道")
performBottomSheetSelection(rootNodeCallback, "街道", "五常街道")
Thread.sleep(1000)
val addressDetail = NodeToolHint.findNodeByHint(getRootInActiveWindow(), "请输入详细地址")
if (addressDetail == null) {
@@ -291,259 +280,22 @@ class NormalGroupCreateForm (private val uiInspectorService: UIInspectorService)
return false // 5次尝试后仍未找到
}
private fun performBottomSearchSelection(
root: AccessibilityNodeInfo,
fieldName: String,
hintText: String ,
searchWord: String,
){
try {
// 1. 点击触发元素打开搜索对话框
clickToOpenBottomSheet(root, fieldName)
// 2. 等待对话框完全显示
Thread.sleep(1000)
// 3. 获取更新后的根节点
val newRoot = getRootInActiveWindow() ?: root
// 4. 查找搜索输入框
val searchEditText = NodeToolHint.findNodeByHint(newRoot, hintText)
if (searchEditText != null && searchEditText.isEditable) {
// 5. 输入搜索关键词
AccessibilityTool.inputText(searchEditText, searchWord)
println("已在搜索框中输入: $searchWord")
AccessibilityTool.performSearchEnter(searchEditText)
// 6. 等待搜索结果加载
Thread.sleep(5000)
// 7. 选择第一个搜索结果(如果有)
selectFirstSearchResult(newRoot)
} else {
println("未找到搜索输入框或输入框不可编辑")
}
} catch (e: Exception) {
println("搜索选择操作失败: ${e.message}")
}
}
private fun selectFirstSearchResult(root: AccessibilityNodeInfo) {
// 查找可点击的搜索结果项
// 根据UI树搜索结果可能在 "没有更多了..." 之前
val searchResult = findClickableSearchResult(root)
if (searchResult != null && searchResult.isClickable) {
AccessibilityTool.ensureNodeVisible(searchResult)
AccessibilityTool.performClick(searchResult)
println("已选择第一个搜索结果")
// 点击确认按钮
Thread.sleep(500)
val confirmButton = NodeToolText.findNodeByText(root, "确认")
?: NodeToolText.findNodeByText(root, "确定")
if (confirmButton?.isClickable == true) {
AccessibilityTool.performClick(confirmButton)
println("已点击确认按钮")
}
} else {
println("未找到可点击的搜索结果")
}
}
private fun findClickableSearchResult(root: AccessibilityNodeInfo): AccessibilityNodeInfo? {
// 遍历查找可点击的搜索结果项
// 这里可以根据具体的UI结构进行调整
return NodeToolText.findNodeByText(root, "金牛座") // 示例匹配
}
private fun normalizeExpiryDate(dateString: String, defaultValue: String="2090-11-23", maxValue: String="2090-11-23"): String {
// 如果不是日期格式,返回默认值
if (!dateString.matches(Regex("\\d{4}-\\d{2}-\\d{2}"))) {
return defaultValue // 默认值
}
// 比较日期是否大于最大值
val inputDate = dateString.replace("-", "").toIntOrNull() ?: 0
val maxDateValue = maxValue.replace("-", "").toIntOrNull() ?: 20901123
return if (inputDate > maxDateValue) {
maxValue // 限制最大值
} else {
dateString // 保持原值
}
}
private fun performBottomTimeSelection(
root: AccessibilityNodeInfo,
fieldName: String,
date: String,
) {
// 校验格式是否为日期格式
if (!date.matches(Regex("\\d{4}-\\d{2}-\\d{2}"))) {
throw IllegalArgumentException("Invalid date format. Please provide a date in the format YYYY-MM-DD.")
}
// 解析出年、月、日
val (year, month, day) = date.split("-")
// 1. 点击触发元素打开底部对话框
clickToOpenBottomSheet(root, fieldName)
// 2. 等待对话框完全显示
Thread.sleep(1000)
NodeToolTime.selectDateWithRetry(root, year, month, day,
{ getRootInActiveWindow() })
}
// 点击可点击的触发元素来显示底部选择对话框
fun clickToOpenBottomSheet(root: AccessibilityNodeInfo, triggerText: String) {
val triggerNode = NodeToolText.findNodeByText(root, triggerText)
if (triggerNode != null && triggerNode.isClickable) {
AccessibilityTool.ensureNodeVisible(triggerNode)
AccessibilityTool.performClick(triggerNode)
Thread.sleep(1000) // 等待对话框弹出
}else{
var parent = triggerNode?.parent
while (parent != null) {
if (parent.isClickable) {
AccessibilityTool.ensureNodeVisible(parent)
AccessibilityTool.performClick(parent)
return
}
parent = parent.parent
}
}
}
// 完整流程:点击触发 -> 选择选项
fun performBottomSheetSelection(root: AccessibilityNodeInfo?, triggerText: String, optionText: String) {
if(root == null){
return
}
// 1. 点击触发元素打开底部对话框
clickToOpenBottomSheet(root, triggerText)
// 2. 等待对话框完全显示
Thread.sleep(1000)
// 3. 选择目标选项
selectOptionFromBottomSheet(optionText)
// 4. 明确点击确认按钮 dubbo check
val newRoot = uiInspectorService.rootInActiveWindow
clickConfirmButton(newRoot)
Thread.sleep(500) // 等待确认操作完成
}
// 在底部对话框中选择指定选项
fun selectOptionFromBottomSheet(optionText: String, confirm: Boolean = true) {
// 获取更新后的根节点
val newRoot = uiInspectorService.rootInActiveWindow
// 查找并点击选项
val optionNode = NodeToolText.findNodeByText(newRoot, optionText)
if (optionNode != null) {
AccessibilityTool.ensureNodeVisible(optionNode)
if (optionNode.isClickable) {
AccessibilityTool.performClick(optionNode)
println("已选择底部选项: $optionText")
// 根据需要点击确认或取消按钮
if (confirm) {
clickConfirmButton(newRoot)
} else {
clickCancelButton(newRoot)
}
}
} else {
println("未找到底部选项: $optionText")
}
}
// 点击确认按钮
private fun clickConfirmButton(root: AccessibilityNodeInfo): Boolean {
val confirmButton = NodeToolText.findNodeByText(root, "确定")
?: NodeToolText.findNodeByText(root, "确认")
println("查找确认按钮: ${confirmButton != null}")
if (confirmButton != null) {
println("确认按钮属性 - clickable: ${confirmButton.isClickable}, visibleToUser: ${confirmButton.isVisibleToUser}")
if (confirmButton.isClickable) {
AccessibilityTool.ensureNodeVisible(confirmButton)
AccessibilityTool.performClick(confirmButton)
println("已点击确认按钮")
return true
} else {
println("确认按钮不可点击")
}
} else {
println("未找到确认按钮")
// 打印当前界面树以便调试
AccessibilityTool.printViewTree(root, "确认按钮未找到时的界面树")
}
return false
}
// 点击取消按钮
private fun clickCancelButton(root: AccessibilityNodeInfo) {
val cancelButton = NodeToolText.findNodeByText(root, "取消")
if (cancelButton != null && cancelButton.isClickable) {
AccessibilityTool.performClick(cancelButton)
println("已点击取消按钮")
}
}
private fun expandClassificationSection(root: AccessibilityNodeInfo) {
var peopleCountNode = NodeToolText.findNodeByText(root, "请输入人数")
if (peopleCountNode == null) {
println("未找到员工数输入框")
val targetNode = NodeToolText.findNodeByText(root, "分类信息")
val nextSibling = NodeToolText.findNextSiblingNode(targetNode)
if (nextSibling != null && nextSibling.isClickable) {
AccessibilityTool.ensureNodeVisible(nextSibling)
AccessibilityTool.performClick(nextSibling)
Thread.sleep(2000)
println("已点击兄弟节点")
} else {
println("未找到可点击的兄弟节点")
}
}
}
/**
* 填写集团名称字段
* 根据UI树分析查找hint为"请输入集团名称"的EditText并填入值
*/
private fun fillGroupNameField(root: AccessibilityNodeInfo, value: String) {
fillEditTextByHintText(root,value, "集团名称","请输入集团名称")
AccessibilityTool.fillEditTextByHintText(root, value, "集团名称", "请输入集团名称")
}
private fun fillCompanyNameField(root: AccessibilityNodeInfo, value: String) {
fillEditTextByHintText(root,value, "证件名称","证件名称")
AccessibilityTool.fillEditTextByHintText(root, value, "证件名称", "证件名称")
}
private fun fillEditTextByHintText(root: AccessibilityNodeInfo, value: String, fieldName : String, hintText: String) {
var editTextNode = NodeToolHint.findNodeByHint(root, hintText)
fillEditText(editTextNode,value,fieldName)
}
private fun fillEditText(editText: AccessibilityNodeInfo?, value: String, fieldName : String) {
if (editText == null) {
return
}
if (editText.isEditable) {
AccessibilityTool.inputText(editText, value)
println("已填写$fieldName: $value")
} else {
println("未找到${fieldName}输入框或输入框不可编辑")
}
}
/**
* 选择集团状态

View File

@@ -0,0 +1,387 @@
package com.loveerror.bested.handler
import android.content.Intent
import android.os.Handler
import android.os.Looper
import android.view.accessibility.AccessibilityNodeInfo
import com.loveerror.bested.button.DragFloatingButton
import com.loveerror.bested.tool.AccessibilityTool
import com.loveerror.bested.tool.AccessibilityTool.Companion.performBottomSheetSelection
import com.loveerror.bested.tool.CsvTool
import com.loveerror.bested.tool.NodeToolHint
import com.loveerror.bested.tool.NodeToolText
import com.loveerror.bested.tool.RootNodeCallback
import com.loveerror.bested.tool.StorageTool
import java.text.SimpleDateFormat
import java.util.Date
import java.util.Locale
class SearchCompanyForm(private val rootNodeCallback: RootNodeCallback,
private val floatingButton: DragFloatingButton? = null) {
var fields = arrayListOf<FieldName>()
init {
fields.add(FieldName("集团名称", "请输入集团名称", "", FieldType.TEXT))
}
fun getRootInActiveWindow(): AccessibilityNodeInfo?{
return rootNodeCallback.getRootNodeReceived()
}
fun autoFillForm(root: AccessibilityNodeInfo, intent: Intent) {
val companyNames = intent.getStringExtra("companyNames")
if (companyNames.isNullOrEmpty()) {
return
}
// split by \n and trim and ignore empty
val companies = companyNames.split("\n").map { it.trim() }.filter { it.isNotEmpty() }.distinct()
if(companies.isEmpty()){
return
}
val resultsAll = arrayListOf<CompanyInfo>()
// 添加进度跟踪
val totalCompanies = companies.size
println("开始搜索 $totalCompanies 个公司...")
for ((index, company) in companies.withIndex()) {
// 使用ASCII进度条显示进度
val progress = ((index + 1) * 100 / totalCompanies)
updateProgress(progress)
println(" 正在搜索: $company")
println("进度: $progress% ($index+1/$totalCompanies) - 正在搜索: $company")
val fieldMap = mapOf<String, String>(
"集团名称" to company,
)
// 搜索公司
val results = searchCompany(root,fieldMap)
if(results.isEmpty()){
resultsAll.add(CompanyInfo(company,"N", "", "", "",
AddressInfo("", "", "", "", detail = ""),
"", "", ""))
continue
}
// for results to set item.searchName = company
for (item in results) {
item.searchName = company
item.isArchived = "X "+item.manager
}
resultsAll.addAll( results)
// 可选:添加延迟避免请求过于频繁
if (index < companies.size - 1) {
Thread.sleep(500) // 每个搜索之间间隔500ms
}
}
// 显示100%完成进度
updateProgress(100)
println("搜索完成,共找到 ${resultsAll.size} 条记录")
writeResultsToCsv(resultsAll)
}
interface ProgressCallback {
fun onProgressUpdate(current: Int, total: Int, message: String)
}
private fun updateProgress(progress: Int) {
// 更新控制台进度条
printProgressBar(progress)
Handler(Looper.getMainLooper()).postDelayed({
// 更新悬浮按钮进度(如果可用)
floatingButton?.showProgress(true)
floatingButton?.setProgress(progress)
}, 500)
}
private fun printProgressBar(progress: Int, width: Int = 30) {
val completed = (width * progress / 100)
val bar = "[" + "".repeat(completed) + "".repeat(width - completed) + "] $progress%"
print("\r$bar")
if (progress == 100) println() // 完成后换行
}
private fun searchCompany(
root: AccessibilityNodeInfo,
fieldMap: Map<String, String>
): List<CompanyInfo> {
for(field in fields){
if (field.type == FieldType.SELECT){
performBottomSheetSelection(rootNodeCallback, field.fieldName, fieldMap[field.fieldName] ?: field.defaultValue)
}else if(field.type == FieldType.TIME){
// 格式化证件有效期 >2090-11-23 格式化为2090-11-23
val date = AccessibilityTool.normalizeExpiryDate(fieldMap[field.fieldName] ?: field.defaultValue, field.defaultValue)
AccessibilityTool.performBottomTimeSelection(rootNodeCallback, field.fieldName,date)
}else if (field.type == FieldType.SEARCH_SELECT){
AccessibilityTool.performBottomSearchSelection(rootNodeCallback, field.fieldName,
field.hintText, fieldMap[field.fieldName] ?: field.defaultValue)
}else{
AccessibilityTool.fillEditTextByHintText(root,fieldMap[field.fieldName] ?: field.defaultValue, field.fieldName,
field.hintText
)
}
}
val searchInput = NodeToolHint.findNodeByHint(getRootInActiveWindow(), "请输入集团名称")
if (searchInput == null) {
println("未找到搜索输入框")
return emptyList()
}
// AccessibilityTool.fillEditTextByHintText(root,"天买", "请输入集团名称",
// "请输入集团名称"
// )
Handler(Looper.getMainLooper()).postDelayed({
AccessibilityTool.performSearchEnter(searchInput)
}, 500)
Thread.sleep(1000)
for(i in 0..20){
val loading = NodeToolText.findNodeByText(getRootInActiveWindow(), "加载中")
if (loading == null) {
break
}
println()
println("等待加载完成")
Thread.sleep(1000)
}
val root = getRootInActiveWindow()
if (root == null) {
println("未找到根节点")
return listOf()
}
val results = parseSearchResults(root)
println(results)
return results
// val searchResult = NodeToolText.findNodeByText(getRootInActiveWindow(), "查询结果")
// 写入CSV文件
}
// 在 SearchCompanyForm 类中修改 writeResultsToCsv 方法
private fun writeResultsToCsv(results: List<CompanyInfo>) {
val csvTool = CsvTool()
// 生成包含时间戳的文件名
val timeStamp = SimpleDateFormat("yyyyMMdd_HHmmss_SSS", Locale.getDefault()).format(Date())
val fileName = "company_results_$timeStamp.csv"
// 获取存储路径
val filePath = StorageTool.getStorageFilePath(fileName)
// 定义表头
val headers = listOf("搜索公司名称","建档",
"公司名称", "公司ID", "完整地址", "省份", "城市",
"区域", "街道", "详细地址", "客户类型", "客户状态", "客户经理"
)
// 写入CSV文件
csvTool.writeToFile(
data = results,
filePath = filePath,
headers = headers
) { companyInfo ->
listOf(
companyInfo.searchName,
companyInfo.isArchived,
companyInfo.name,
companyInfo.companyId,
companyInfo.address,
companyInfo.addressInfo.province,
companyInfo.addressInfo.city,
companyInfo.addressInfo.district,
companyInfo.addressInfo.street,
companyInfo.addressInfo.detail,
companyInfo.customerType,
companyInfo.customerStatus,
companyInfo.manager
)
}
println("CSV文件已保存至: $filePath")
}
fun parseSearchResults(root: AccessibilityNodeInfo): List<CompanyInfo> {
val results = ArrayList<CompanyInfo>()
// 查找所有包含公司信息的容器节点
// 根据日志分析,每个结果项都是一个 android.view.View 容器
// 这里需要根据实际UI结构调整查找逻辑
val resultContainers = findAllResultContainers(root)
for (container in resultContainers) {
val (companyName, companyId) = extractCompanyNameAndId(extractChildText(container, 0))
val address = extractChildText(container, 2)
val companyInfo = CompanyInfo(
searchName = "",
isArchived = "X",
name = companyName,
companyId= companyId,
address = address,
addressInfo = parseAddress(address),
customerType = extractChildText(container, 3),
customerStatus = extractChildText(container, 4),
manager = extractMangerName(extractChildText(container, 5)),
)
if(companyInfo.name.isEmpty()){
println()
println("未找到公司名称:"+ companyInfo)
continue
}
results.add(companyInfo)
}
return results
}
private fun extractCompanyNameAndId(text: String): Pair<String, String> {
if (text.isEmpty()) return Pair("", "")
// 使用正则表达式匹配公司名称和ID
val regex = "(.+)\\((\\d+)\\)".toRegex()
val matchResult = regex.find(text)
return if (matchResult != null) {
val companyName = matchResult.groupValues[1].trim()
val companyId = matchResult.groupValues[2].trim()
Pair(companyName, companyId)
} else {
println("未匹配到公司名称和ID: $text")
Pair("", "")
}
}
private fun extractMangerName(text: String): String {
if (text.isEmpty()) return ""
// 使用正则表达式提取"归属客户经理:"后的姓名
val regex = "归属客户经理:(.+)".toRegex()
val matchResult = regex.find(text)
return if (matchResult != null) {
matchResult.groupValues[1].trim()
} else {
println("未匹配到客户经理信息: $text")
""
}
}
data class CompanyInfo(
var searchName: String,
// 是否建档
var isArchived: String,
val name: String,
val companyId: String,
val address: String,
val addressInfo: AddressInfo,
val customerType: String,
val customerStatus: String,
val manager: String
)
private fun parseAddress(address: String): AddressInfo {
if (address.isEmpty()) return AddressInfo("", "", "", "", "")
// 按 "@" 分割地址
val parts = address.split("@")
return when (parts.size) {
5 -> {
// 完整格式: 省@市@区@街道@详细地址
AddressInfo(
province = parts[0],
city = parts[1],
district = parts[2],
street = parts[3],
detail = parts[4]
)
}
in 1..4 -> {
// 不完整格式处理
println("地址格式不完整: $address")
AddressInfo(
province = if (parts.size > 0) parts[0] else "",
city = if (parts.size > 1) parts[1] else "",
district = if (parts.size > 2) parts[2] else "",
street = if (parts.size > 3) parts[3] else "",
detail = ""
)
}
else -> {
// 超过5个部分的情况
println("地址格式异常: $address")
AddressInfo("", "", "", "", "")
}
}
}
data class AddressInfo(
val province: String,
val city: String,
val district: String,
val street: String,
val detail: String
)
// 需要实现的具体解析辅助方法
private fun findAllResultContainers(root: AccessibilityNodeInfo): List<AccessibilityNodeInfo> {
// 实现查找所有结果容器的逻辑
// 可以根据特定的布局特征识别结果项
//
val searchBtn = NodeToolText.findNodeByText(root, "搜索")
val endNode = NodeToolText.findNodeByText(root,"没有更多了")
// if (node == null || node.parent == null) return null
val parent = searchBtn?.parent
if (parent == null) return emptyList()
val childCount = parent.childCount
var found = false
val list = ArrayList<AccessibilityNodeInfo>()
for (i in 0 until childCount) {
val child = parent.getChild(i)
if (found && child != null) {
list.add(child)
}
if (child == searchBtn) {
found = true
}
if(child == endNode){
break
}
}
return list // 没有找到兄弟节点
}
private fun extractChildText(container: AccessibilityNodeInfo, idx: Int): String {
// 移除重复定义的idx变量
if(container.childCount >= idx+1){
val child = container.getChild(idx) // 先获取子节点
return child?.text?.toString() ?: "" // 对子节点进行空值检查
}
return ""
}
}

View File

@@ -8,33 +8,29 @@ import android.os.Build
import android.view.accessibility.AccessibilityEvent
import android.view.accessibility.AccessibilityNodeInfo
import androidx.core.content.ContextCompat
import com.loveerror.bested.MyApplication
import com.loveerror.bested.SelectAccessibility
import com.loveerror.bested.UIInspectorService
import com.loveerror.bested.button.ActionEvent
import com.loveerror.bested.button.DragFloatingButton
import com.loveerror.bested.tool.AccessibilityTool
import com.loveerror.bested.tool.NodeToolText
import com.loveerror.bested.tool.RootNodeCallback
class ZjMccmCrm(private val uiInspectorService: UIInspectorService) {
class ZjMccmCrm(private val rootNodeCallback: RootNodeCallback) {
private lateinit var selectAccessibility: SelectAccessibility
private var broadcastReceiver: BroadcastReceiver? = null
fun initialize(context: Context) {
val listOfActionEvent = listOf(
ActionEvent.START_ACTION,
ActionEvent.FILL_ACTION,
// ActionEvent.SET_DATA_SOURCE,
// ActionEvent.HIDE_FLOATING_BUTTON,
ActionEvent.PRINT_CURRENT_PAGE
)
val listOfActionEvent = ActionEvent.entries.filter { it.enable }
// 注册广播接收器
broadcastReceiver = object : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
when (intent.action) {
ActionEvent.START_ACTION.event -> {
startJobAsync()
startJobAsync(intent)
}
ActionEvent.FILL_ACTION.event -> {
@@ -42,7 +38,26 @@ class ZjMccmCrm(private val uiInspectorService: UIInspectorService) {
}
ActionEvent.PRINT_CURRENT_PAGE.event -> {
AccessibilityTool.printViewTree(uiInspectorService.rootInActiveWindow)
AccessibilityTool.printViewTree(rootNodeCallback.getRootNodeReceived())
}
ActionEvent.QUERY_COMPANY_REGISTER.event -> {
val stateMachine = ZJMCCMCRMStateMachine(rootNodeCallback)
stateMachine.navigateToSearchCompanyPage(intent)
// if (companyName != null) {
// val queryCompanyRegister = QueryCompanyRegister(uiInspectorService)
// queryCompanyRegister.queryCompanyRegister(companyName)
// }
}
ActionEvent.QUERY_COMPANY_SEARCH_ACTION.event -> {
// 通过全局管理器获取
val floatingButton = MyApplication.getInstance().getFloatingButton(context)
searchCompanyActionAsync(intent,floatingButton)
}
else -> {
@@ -52,6 +67,8 @@ class ZjMccmCrm(private val uiInspectorService: UIInspectorService) {
}
}
@@ -60,7 +77,7 @@ class ZjMccmCrm(private val uiInspectorService: UIInspectorService) {
registerReceiver(filter, context)
}
selectAccessibility = SelectAccessibility(uiInspectorService)
selectAccessibility = SelectAccessibility(rootNodeCallback)
// selectAccessibility.handleSelectPopup(event)
@@ -94,14 +111,25 @@ class ZjMccmCrm(private val uiInspectorService: UIInspectorService) {
if (root == null) {
return@Thread
}
var normalGroupCreateForm = NormalGroupCreateForm(uiInspectorService)
val normalGroupCreateForm = NormalGroupCreateForm(rootNodeCallback)
normalGroupCreateForm.autoFillForm(root)
}.start()
}
private fun searchCompanyActionAsync(intent: Intent, floatingButton: DragFloatingButton) {
Thread {
val root = rootInActiveWindow()
if (root == null) {
return@Thread
}
val searchCompanyForm = SearchCompanyForm(rootNodeCallback,floatingButton)
searchCompanyForm.autoFillForm(root, intent)
}.start()
}
fun someOptEvent(event: AccessibilityEvent?){
// 获取根节点
val root = uiInspectorService.rootInActiveWindow
val root = rootNodeCallback.getRootNodeReceived()
if (root != null) {
val editText = AccessibilityTool.findEditTextAfterLabel(root, "集团名称")
@@ -115,10 +143,10 @@ class ZjMccmCrm(private val uiInspectorService: UIInspectorService) {
}
}
private fun startJobAsync() {
private fun startJobAsync(intent: Intent) {
val stateMachine = ZJMCCMCRMStateMachine(uiInspectorService)
stateMachine.navigateToNormalGroupCreatePage()
val stateMachine = ZJMCCMCRMStateMachine(rootNodeCallback)
stateMachine.navigateToNormalGroupCreatePage(intent)
}
@@ -135,7 +163,7 @@ class ZjMccmCrm(private val uiInspectorService: UIInspectorService) {
private var lastViewTreeHash: Int = 0
private fun rootInActiveWindow(): AccessibilityNodeInfo? {
val root = uiInspectorService.rootInActiveWindow
val root = rootNodeCallback.getRootNodeReceived()
return root
}
private fun handleContentChange() {
@@ -217,6 +245,10 @@ class ZjMccmCrm(private val uiInspectorService: UIInspectorService) {
return NodeToolText.hasNodeWithText(root,"普通建档","集团状态","证件名称")
}
fun isCompanySearchPage(root: AccessibilityNodeInfo): Boolean {
return NodeToolText.hasNodeWithText(root,"全网查询","搜索")
}
}

View File

@@ -1,17 +1,23 @@
package com.loveerror.bested.handler
import android.content.Intent
import android.view.accessibility.AccessibilityNodeInfo
import com.loveerror.bested.UIInspectorService
import com.loveerror.bested.tool.AccessibilityTool
import com.loveerror.bested.tool.RootNodeCallback
class ZJMCCMCRMStateMachine(private val uiInspectorService: UIInspectorService) {
class ZJMCCMCRMStateMachine(private val rootNodeCallback: RootNodeCallback) {
private var currentState: ZJMCCMCRMState = ZJMCCMCRMState.UNKNOWN
private var targetState: ZJMCCMCRMState = ZJMCCMCRMState.UNKNOWN
private val zjMccmCrm = ZjMccmCrm(uiInspectorService)
private val zjMccmCrm = ZjMccmCrm(rootNodeCallback)
fun navigateToNormalGroupCreatePage() {
fun navigateToNormalGroupCreatePage(intent: Intent) {
targetState = ZJMCCMCRMState.NORMAL_GROUP_CREATE_PAGE
executeWorkflow()
executeWorkflow(intent)
}
fun navigateToSearchCompanyPage(intent: Intent) {
targetState = ZJMCCMCRMState.SEARCH_COMPANY_PAGE
executeWorkflow(intent)
}
// 定义状态转换映射
@@ -19,18 +25,20 @@ class ZJMCCMCRMStateMachine(private val uiInspectorService: UIInspectorService)
Pair(ZJMCCMCRMState.HOME_PAGE, ZJMCCMCRMState.GROUP_ALL_APPS_LIST) to ::handleHomePageToGroupAllAppsList,
Pair(ZJMCCMCRMState.GROUP_ALL_APPS_LIST, ZJMCCMCRMState.GROUP_CREATE_SELECT_PAGE) to ::handleAllAppsListToGroupCreateSelectPage,
Pair(ZJMCCMCRMState.GROUP_CREATE_SELECT_PAGE, ZJMCCMCRMState.NORMAL_GROUP_CREATE_PAGE) to ::handleGroupCreateSelectPageToNormalGroupCreatePage,
Pair(ZJMCCMCRMState.HOME_PAGE, ZJMCCMCRMState.SEARCH_COMPANY_PAGE) to ::handleHomePageToSearchCompanyPage
// Pair(ZJMCCMCRMState.HOME_PAGE, ZJMCCMCRMState.GROUP_ALL_APPS_LIST) to ::handleHomePageToSearchCompanyPage,
Pair(ZJMCCMCRMState.GROUP_ALL_APPS_LIST, ZJMCCMCRMState.SEARCH_COMPANY_PAGE) to ::handleAllAppsListToSearchCompanyPage,
)
private fun executeWorkflow() {
private fun executeWorkflow(intent : Intent?) {
Thread {
executeWorkflowInner()
executeWorkflowInner(intent)
return@Thread
}.start()
}
private fun executeWorkflowInner() {
private fun executeWorkflowInner(intent: Intent?) {
val root = getRootInActiveWindow()
if (root == null) {
@@ -43,9 +51,14 @@ class ZJMCCMCRMStateMachine(private val uiInspectorService: UIInspectorService)
// 更新当前状态
updateState(root)
var count = 100
// &&
while (targetState != ZJMCCMCRMState.UNKNOWN && currentState != targetState) {
count--
if(count <= 0){
println("无法从当前状态导航到目标状态")
break }
// 检查是否可以导航到目标状态
if (!canNavigateToTarget()) {
println("无法从当前状态导航到目标状态")
@@ -72,8 +85,11 @@ class ZJMCCMCRMStateMachine(private val uiInspectorService: UIInspectorService)
// 使用状态映射执行相应动作
val transitionHandler = stateTransitionMap[Pair(currentState, nextState)]
if (transitionHandler != null) {
transitionHandler.invoke(root)
transitionHandler.invoke(root,intent)
currentState = nextState
}else{
println("无法从当前状态导航到目标状态")
break
}
updateState(root)
@@ -81,7 +97,7 @@ class ZJMCCMCRMStateMachine(private val uiInspectorService: UIInspectorService)
}
private fun getRootInActiveWindow(): AccessibilityNodeInfo? {
return uiInspectorService.rootInActiveWindow
return rootNodeCallback.getRootNodeReceived()
}
@@ -93,6 +109,10 @@ class ZJMCCMCRMStateMachine(private val uiInspectorService: UIInspectorService)
// 从任何状态都可以导航到 NORMAL_GROUP_CREATE_PAGE
true
}
ZJMCCMCRMState.SEARCH_COMPANY_PAGE -> {
// 从任何状态都可以导航到 SEARCH_COMPANY_PAGE
true
}
else -> false
}
}
@@ -108,6 +128,14 @@ class ZJMCCMCRMStateMachine(private val uiInspectorService: UIInspectorService)
else -> ZJMCCMCRMState.UNKNOWN
}
}
ZJMCCMCRMState.SEARCH_COMPANY_PAGE -> {
// 确定到达目标状态的下一个必要步骤
when (currentState) {
ZJMCCMCRMState.HOME_PAGE -> ZJMCCMCRMState.GROUP_ALL_APPS_LIST
ZJMCCMCRMState.GROUP_ALL_APPS_LIST -> ZJMCCMCRMState.SEARCH_COMPANY_PAGE
else -> ZJMCCMCRMState.UNKNOWN
}
}
else -> ZJMCCMCRMState.UNKNOWN
}
}
@@ -119,26 +147,30 @@ class ZJMCCMCRMStateMachine(private val uiInspectorService: UIInspectorService)
zjMccmCrm.isGroupAllAppsList(root) -> ZJMCCMCRMState.GROUP_ALL_APPS_LIST
zjMccmCrm.isGroupCreateSelectPage(root) -> ZJMCCMCRMState.GROUP_CREATE_SELECT_PAGE
zjMccmCrm.isNormalGroupCreatePage(root) -> ZJMCCMCRMState.NORMAL_GROUP_CREATE_PAGE
zjMccmCrm.isCompanySearchPage(root) -> ZJMCCMCRMState.SEARCH_COMPANY_PAGE
else -> ZJMCCMCRMState.UNKNOWN
}
}
private fun handleHomePageToGroupAllAppsList(root: AccessibilityNodeInfo) {
private fun handleHomePageToGroupAllAppsList(root: AccessibilityNodeInfo,intent: Intent?) {
AccessibilityTool.printViewTree(root)
AccessibilityTool.clickButtonByText(root, "常用功能", "全部")
println("常用功能 全部 clicked")
Thread.sleep(1000)
}
private fun handleAllAppsListToGroupCreateSelectPage(root: AccessibilityNodeInfo) {
private fun handleAllAppsListToGroupCreateSelectPage(root: AccessibilityNodeInfo,intent: Intent?) {
AccessibilityTool.printViewTree(root)
val updatedRoot = uiInspectorService.rootInActiveWindow
val updatedRoot = rootNodeCallback.getRootNodeReceived()
if(updatedRoot== null){
return
}
AccessibilityTool.clickButtonByText(updatedRoot, "集团新建")
Thread.sleep(10 * 1000)
}
private fun handleGroupCreateSelectPageToNormalGroupCreatePage(root: AccessibilityNodeInfo) {
private fun handleGroupCreateSelectPageToNormalGroupCreatePage(root: AccessibilityNodeInfo,intent: Intent?) {
AccessibilityTool.printViewTree(root, "before普通建档")
AccessibilityTool.clickButtonByText(root, "普通建档")
Thread.sleep(15 * 1000)
@@ -146,7 +178,13 @@ class ZJMCCMCRMStateMachine(private val uiInspectorService: UIInspectorService)
AccessibilityTool.printViewTree(root, "after普通建档")
}
private fun handleHomePageToSearchCompanyPage(root: AccessibilityNodeInfo) {
private fun handleAllAppsListToSearchCompanyPage(root: AccessibilityNodeInfo,intent: Intent?) {
// val companyName = intent?.getStringExtra("textInput")
// if (companyName == null) {
// println("companyName is null")
// return
// }
AccessibilityTool.printViewTree(root)
AccessibilityTool.clickButtonByText(root, "全网查询")
println("全网查询 clicked")

View File

@@ -8,6 +8,259 @@ import android.view.accessibility.AccessibilityNodeInfo
class AccessibilityTool {
companion object {
fun fillEditTextByHintText(root: AccessibilityNodeInfo, value: String, fieldName : String, hintText: String) {
val editTextNode = NodeToolHint.findNodeByHint(root, hintText)
fillEditText(editTextNode,value,fieldName)
}
fun fillEditText(editText: AccessibilityNodeInfo?, value: String, fieldName : String) {
if (editText == null) {
return
}
if (editText.isEditable) {
AccessibilityTool.inputText(editText, value)
println("已填写$fieldName: $value")
} else {
println("未找到${fieldName}输入框或输入框不可编辑")
}
}
fun performBottomSearchSelection(
rootNodeCallback: RootNodeCallback,
fieldName: String,
hintText: String ,
searchWord: String,
){
try {
// 1. 点击触发元素打开搜索对话框
AccessibilityTool.clickToOpenBottomSheet(rootNodeCallback.getRootNodeReceived(), fieldName)
// 2. 等待对话框完全显示
Thread.sleep(1000)
// 3. 获取更新后的根节点
val newRoot = rootNodeCallback.getRootNodeReceived()
if (newRoot == null){
return
}
// 4. 查找搜索输入框
val searchEditText = NodeToolHint.findNodeByHint(newRoot, hintText)
if (searchEditText != null && searchEditText.isEditable) {
// 5. 输入搜索关键词
AccessibilityTool.inputText(searchEditText, searchWord)
println("已在搜索框中输入: $searchWord")
AccessibilityTool.performSearchEnter(searchEditText)
// 6. 等待搜索结果加载
Thread.sleep(5000)
// 7. 选择第一个搜索结果(如果有)
selectFirstSearchResult(rootNodeCallback)
} else {
println("未找到搜索输入框或输入框不可编辑")
}
} catch (e: Exception) {
println("搜索选择操作失败: ${e.message}")
}
}
private fun findClickableSearchResult(root: AccessibilityNodeInfo): AccessibilityNodeInfo? {
// 遍历查找可点击的搜索结果项
// 这里可以根据具体的UI结构进行调整
return NodeToolText.findNodeByText(root, "金牛座") // 示例匹配
}
private fun selectFirstSearchResult(rootNodeCallback: RootNodeCallback) {
val root = rootNodeCallback.getRootNodeReceived()
if(root == null){
return
}
// 查找可点击的搜索结果项
// 根据UI树搜索结果可能在 "没有更多了..." 之前
val searchResult = findClickableSearchResult(root)
if (searchResult != null && searchResult.isClickable) {
AccessibilityTool.ensureNodeVisible(searchResult)
AccessibilityTool.performClick(searchResult)
println("已选择第一个搜索结果")
// 点击确认按钮
Thread.sleep(500)
val confirmButton = NodeToolText.findNodeByText(root, "确认")
?: NodeToolText.findNodeByText(root, "确定")
if (confirmButton?.isClickable == true) {
AccessibilityTool.performClick(confirmButton)
println("已点击确认按钮")
}
} else {
println("未找到可点击的搜索结果")
}
}
fun performBottomTimeSelection(
rootNodeCallback: RootNodeCallback,
fieldName: String,
date: String,
) {
// 校验格式是否为日期格式
if (!date.matches(Regex("\\d{4}-\\d{2}-\\d{2}"))) {
throw IllegalArgumentException("Invalid date format. Please provide a date in the format YYYY-MM-DD.")
}
// 解析出年、月、日
val (year, month, day) = date.split("-")
// 1. 点击触发元素打开底部对话框
clickToOpenBottomSheet(rootNodeCallback.getRootNodeReceived(), fieldName)
// 2. 等待对话框完全显示
Thread.sleep(1000)
NodeToolTime.selectDateWithRetry(rootNodeCallback, year, month, day)
}
fun normalizeExpiryDate(dateString: String, defaultValue: String="2090-11-23", maxValue: String="2090-11-23"): String {
// 如果不是日期格式,返回默认值
if (!dateString.matches(Regex("\\d{4}-\\d{2}-\\d{2}"))) {
return defaultValue // 默认值
}
// 比较日期是否大于最大值
val inputDate = dateString.replace("-", "").toIntOrNull() ?: 0
val maxDateValue = maxValue.replace("-", "").toIntOrNull() ?: 20901123
return if (inputDate > maxDateValue) {
maxValue // 限制最大值
} else {
dateString // 保持原值
}
}
fun performBottomSheetSelection(rootNodeCallback: RootNodeCallback, triggerText: String, optionText: String) {
val root = rootNodeCallback.getRootNodeReceived()
if(root == null){
return
}
// 1. 点击触发元素打开底部对话框
clickToOpenBottomSheet(root, triggerText)
// 2. 等待对话框完全显示
Thread.sleep(1000)
// 3. 选择目标选项
selectOptionFromBottomSheet(rootNodeCallback,optionText)
// 4. 明确点击确认按钮 dubbo check
clickConfirmButton(rootNodeCallback)
Thread.sleep(500) // 等待确认操作完成
}
// 点击可点击的触发元素来显示底部选择对话框
fun clickToOpenBottomSheet(root: AccessibilityNodeInfo?, triggerText: String) {
if (root == null) {
return
}
val triggerNode = NodeToolText.findNodeByText(root, triggerText)
if (triggerNode != null && triggerNode.isClickable) {
AccessibilityTool.ensureNodeVisible(triggerNode)
AccessibilityTool.performClick(triggerNode)
Thread.sleep(1000) // 等待对话框弹出
}else{
var parent = triggerNode?.parent
while (parent != null) {
if (parent.isClickable) {
AccessibilityTool.ensureNodeVisible(parent)
AccessibilityTool.performClick(parent)
return
}
parent = parent.parent
}
}
}
// 在底部对话框中选择指定选项
fun selectOptionFromBottomSheet(rootNodeCallback: RootNodeCallback,optionText: String, confirm: Boolean = true) {
// 获取更新后的根节点
val newRoot = rootNodeCallback.getRootNodeReceived()
if (newRoot == null) {
return
}
// 查找并点击选项
val optionNode = NodeToolText.findNodeByText(newRoot, optionText)
if (optionNode != null) {
AccessibilityTool.ensureNodeVisible(optionNode)
if (optionNode.isClickable) {
AccessibilityTool.performClick(optionNode)
println("已选择底部选项: $optionText")
// 根据需要点击确认或取消按钮
if (confirm) {
clickConfirmButton(rootNodeCallback)
} else {
clickCancelButton(newRoot)
}
}
} else {
println("未找到底部选项: $optionText")
}
}
// 点击确认按钮
private fun clickConfirmButton(rootNodeCallback: RootNodeCallback): Boolean {
val root = rootNodeCallback.getRootNodeReceived()
if (root == null) {
return false
}
val confirmButton = NodeToolText.findNodeByText(root, "确定")
?: NodeToolText.findNodeByText(root, "确认")
println("查找确认按钮: ${confirmButton != null}")
if (confirmButton != null) {
println("确认按钮属性 - clickable: ${confirmButton.isClickable}, visibleToUser: ${confirmButton.isVisibleToUser}")
if (confirmButton.isClickable) {
AccessibilityTool.ensureNodeVisible(confirmButton)
AccessibilityTool.performClick(confirmButton)
println("已点击确认按钮")
return true
} else {
println("确认按钮不可点击")
}
} else {
println("未找到确认按钮")
// 打印当前界面树以便调试
AccessibilityTool.printViewTree(root, "确认按钮未找到时的界面树")
}
return false
}
// 点击取消按钮
private fun clickCancelButton(root: AccessibilityNodeInfo) {
val cancelButton = NodeToolText.findNodeByText(root, "取消")
if (cancelButton != null && cancelButton.isClickable) {
AccessibilityTool.performClick(cancelButton)
println("已点击取消按钮")
}
}
private fun expandClassificationSection(root: AccessibilityNodeInfo) {
val peopleCountNode = NodeToolText.findNodeByText(root, "请输入人数")
if (peopleCountNode == null) {
println("未找到员工数输入框")
val targetNode = NodeToolText.findNodeByText(root, "分类信息")
val nextSibling = NodeToolText.findNextSiblingNode(targetNode)
if (nextSibling != null && nextSibling.isClickable) {
AccessibilityTool.ensureNodeVisible(nextSibling)
AccessibilityTool.performClick(nextSibling)
Thread.sleep(2000)
println("已点击兄弟节点")
} else {
println("未找到可点击的兄弟节点")
}
}
}
fun dismissPopupByClickingMask(root: AccessibilityNodeInfo?) {
if (root == null) return
// 方法1: 查找最大的可点击背景视图
@@ -113,27 +366,32 @@ class AccessibilityTool {
return false
}
private fun imeEnter(searchEditText: AccessibilityNodeInfo): Boolean{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
if(searchEditText.performAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_IME_ENTER.id)){
println("已通过 IME_ENTER 执行搜索")
return true
}
}
return false
}
fun performSearchEnter(searchEditText: AccessibilityNodeInfo) {
try {
if(imeEnter(searchEditText)){
println("performSearchEnter 已通过 IME_ENTER 执行搜索")
return
}
// 方法1: 使用 ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE 发送回车
val arguments = Bundle()
arguments.putCharSequence(AccessibilityNodeInfo.ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE, "\n")
if (searchEditText.performAction(AccessibilityNodeInfo.ACTION_SET_TEXT, arguments)) {
println("已发送回车键执行搜索")
return
} else {
println("通过 ACTION_SET_TEXT 发送回车失败")
}
// 方法2: 如果上述方法失败,尝试使用 IME_ACTION
if (if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
searchEditText.performAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_IME_ENTER.id)
} else {
TODO("VERSION.SDK_INT < R")
}
) {
println("已通过 IME_ENTER 执行搜索")
return
}
} catch (e: Exception) {
println("执行搜索操作失败: ${e.message}")
}

View File

@@ -0,0 +1,62 @@
package com.loveerror.bested.tool
class CsvTool {
/**
* 将数据列表写入CSV文件
* @param data 数据列表
* @param filePath 文件路径
* @param headers 表头列表
* @param rowMapper 行映射函数将每个对象转换为CSV行数据
*/
fun <T> writeToFile(
data: List<T>,
filePath: String,
headers: List<String>,
rowMapper: (T) -> List<String>
) {
if (data.isEmpty()) return
try {
java.io.FileWriter(filePath).use { writer ->
// 写入表头
writer.write(headers.joinToString(",") + "\n")
// 写入数据行
data.forEach { item ->
val row = rowMapper(item).joinToString(",") { escapeCsvField(it) }
writer.write(row + "\n")
}
}
} catch (e: java.io.IOException) {
e.printStackTrace()
}
}
/**
* CSV字段转义处理
*/
private fun escapeCsvField(field: String): String {
return if (field.contains(",") || field.contains("\"") || field.contains("\n")) {
"\"" + field.replace("\"", "\"\"") + "\""
} else {
field
}
}
}
/**
* val csvTool = CsvTool()
* val persons = listOf(
* Person("张三", 25, "北京"),
* Person("李四", 30, "上海")
* )
*
* // 简单使用
* csvTool.writeToFile(
* data = persons,
* filePath = "persons.csv",
* headers = listOf("姓名", "年龄", "城市")
* ) { person ->
* listOf(person.name, person.age.toString(), person.city)
* }
*/

View File

@@ -4,12 +4,15 @@ import android.view.accessibility.AccessibilityNodeInfo
class NodeToolTime {
companion object {
fun selectDateWithRetry(root: AccessibilityNodeInfo, year: String, month: String, day: String, getUpdatedRoot: () -> AccessibilityNodeInfo?, maxRetries: Int = 3): Boolean {
fun selectDateWithRetry(rootNodeCallback: RootNodeCallback?, year: String, month: String, day: String, maxRetries: Int = 3): Boolean {
if(rootNodeCallback == null)
return false
for (i in 0 until maxRetries) {
try {
if (isTimePickerVisible(getUpdatedRoot())) {
selectDate(root, year, month, day,getUpdatedRoot)
if (isTimePickerVisible(rootNodeCallback.getRootNodeReceived())) {
selectDate(rootNodeCallback, year, month, day)
return true
} else {
Thread.sleep(1000)
@@ -21,21 +24,23 @@ class NodeToolTime {
}
return false
}
fun selectDate(root: AccessibilityNodeInfo, year: String, month: String, day: String, getUpdatedRoot: () -> AccessibilityNodeInfo?) {
fun selectDate(rootNodeCallback: RootNodeCallback?, year: String, month: String, day: String) {
val root = rootNodeCallback?.getRootNodeReceived() ?: return
try {
// 选择年份
selectYear(root, year)
Thread.sleep(500) // 等待动画完成
// 重新获取根节点以确保获取到更新后的UI树
val updatedRoot = getUpdatedRoot() // 需要实现获取更新后根节点的方法
val updatedRoot = rootNodeCallback.getRootNodeReceived() // 需要实现获取更新后根节点的方法
// 选择月份
selectMonth(updatedRoot ?: root, month)
Thread.sleep(500)
// 再次更新根节点
val finalRoot = getUpdatedRoot() ?: updatedRoot ?: root
val finalRoot = rootNodeCallback.getRootNodeReceived() ?: updatedRoot ?: root
// 选择日期
selectDay(finalRoot, day)

View File

@@ -0,0 +1,15 @@
package com.loveerror.bested.tool
import android.view.accessibility.AccessibilityNodeInfo
import com.loveerror.bested.UIInspectorService
fun interface RootNodeCallback {
fun getRootNodeReceived(): AccessibilityNodeInfo
}
class RootNodeCallbackImpl(private var uiInspectorService: UIInspectorService) : RootNodeCallback {
override fun getRootNodeReceived(): AccessibilityNodeInfo {
return uiInspectorService.rootInActiveWindow
}
}

View File

@@ -0,0 +1,29 @@
package com.loveerror.bested.tool
import android.os.Environment
import java.io.File
class StorageTool {
companion object{
fun getStorageFilePath(fileName: String): String {
// 检查外部存储是否可用
val externalStorageState = Environment.getExternalStorageState()
val isExternalStorageAvailable = externalStorageState == Environment.MEDIA_MOUNTED
// 优先使用外部存储SD卡
val directory = if (isExternalStorageAvailable) {
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
} else {
// 使用内部存储的下载目录
File(Environment.getExternalStorageDirectory(), "Download")
}
// 确保目录存在
if (!directory.exists()) {
directory.mkdirs()
}
return File(directory, fileName).absolutePath
}
}
}