Skip to content

AppCleaner: Fix ACS automation not working on VIVO ROMs with Android 14#1325

Merged
d4rken merged 1 commit into
mainfrom
appcleaner-acs-vivo-android14
Jul 24, 2024
Merged

AppCleaner: Fix ACS automation not working on VIVO ROMs with Android 14#1325
d4rken merged 1 commit into
mainfrom
appcleaner-acs-vivo-android14

Conversation

@d4rken
Copy link
Copy Markdown
Member

@d4rken d4rken commented Jul 22, 2024

Vivo changed the target from a clickable text view:

14: className=android.widget.TextView, text=Clear cache, isClickable=true, isEnabled=true, viewIdResourceName=com.android.settings:id/button, pkgName=com.android.settings

to a nested textview with a clickable parent:

crawl():-----------11: className=android.widget.FrameLayout, text='null', isClickable=false, isEnabled=true, viewIdResourceName=null, pkgName=com.android.settings, identity=6ca774f
crawl():------------12: className=android.widget.LinearLayout, text='null', isClickable=false, isEnabled=true, viewIdResourceName=null, pkgName=com.android.settings, identity=e357d09
crawl():-------------13: className=android.widget.RelativeLayout, text='null', isClickable=false, isEnabled=true, viewIdResourceName=null, pkgName=com.android.settings, identity=6d52b0e
crawl():--------------14: className=android.widget.LinearLayout, text='null', isClickable=true, isEnabled=true, viewIdResourceName=com.android.settings:id/button, pkgName=com.android.settings, identity=6b5c92f
crawl():---------------15: className=android.widget.Button, text='Clear cache', isClickable=false, isEnabled=true, viewIdResourceName=com.android.settings:id/vbutton_title, pkgName=com.android.settings, identity=80d2b3c

Vivo changed the target from a clickable text view:

```
14: className=android.widget.TextView, text=Clear cache, isClickable=true, isEnabled=true, viewIdResourceName=com.android.settings:id/button, pkgName=com.android.settings
```

to a nested textview with a clickable parent:

```
crawl():-----------11: className=android.widget.FrameLayout, text='null', isClickable=false, isEnabled=true, viewIdResourceName=null, pkgName=com.android.settings, identity=6ca774f
crawl():------------12: className=android.widget.LinearLayout, text='null', isClickable=false, isEnabled=true, viewIdResourceName=null, pkgName=com.android.settings, identity=e357d09
crawl():-------------13: className=android.widget.RelativeLayout, text='null', isClickable=false, isEnabled=true, viewIdResourceName=null, pkgName=com.android.settings, identity=6d52b0e
crawl():--------------14: className=android.widget.LinearLayout, text='null', isClickable=true, isEnabled=true, viewIdResourceName=com.android.settings:id/button, pkgName=com.android.settings, identity=6b5c92f
crawl():---------------15: className=android.widget.Button, text='Clear cache', isClickable=false, isEnabled=true, viewIdResourceName=com.android.settings:id/vbutton_title, pkgName=com.android.settings, identity=80d2b3c
```
@d4rken d4rken added bug Something isn't working as expected c: AppCleaner labels Jul 22, 2024
@d4rken d4rken merged commit 266a627 into main Jul 24, 2024
@d4rken d4rken deleted the appcleaner-acs-vivo-android14 branch July 24, 2024 14:44
d4rken added a commit that referenced this pull request May 31, 2025
This commit introduces separate automation specifications and labels for FuntouchOS and OriginOS, which were previously grouped under a general "Vivo" category.

Prompted by a change in the recent OriginOS5, the clear cache button is an unclickable textview with a clickable parent layout. Similar to recent FuntouchOS versions but different IDs.

For both FuntouchOS and OriginOS, I've simplified the node action to always look for the clear cache label, and then select that node, or the next clickable parent if available. No more specific ID filtering. Too brittle. Likely unnecessarily specific.

Theoretically a split between both VIVO OSs was not necessary in this change, but is good for the future where more changes will likely become necessary.

Re #1325 #1382

```java
  windowRoot: text='null', class=android.widget.FrameLayout, clickable=false, checkable=false enabled=true, id=null pkg=com.android.settings, identity=3e3bf2d, bounds=Rect(0, 0 - 1440, 3168)
  -- START -- EventType: TYPE_WINDOW_CONTENT_CHANGED; EventTime: 20639894; PackageName: eu.darken.sdmse; MovementGranularity: 0; Action: 0; ContentChangeTypes: [CONTENT_CHANGE_TYPE_TEXT]; WindowChangeTypes: [] [ ClassName: android.widget.TextView; Text: []; ContentDescription: null; ItemCount: -1; CurrentItemIndex: -1; Enabled: true; Password: false; Checked: false; FullScreen: false; Scrollable: false; ImportantForAccessibility: true; AccessibilityDataSensitive: false; BeforeText: null; FromIndex: -1; ToIndex: -1; ScrollX: 0; ScrollY: 0; MaxScrollX: 0; MaxScrollY: 0; ScrollDeltaX: -1; ScrollDeltaY: -1; AddedCount: -1; RemovedCount: -1; ParcelableData: null; DisplayId: 0 ]; recordCount: 0
  0: text='null', class=android.widget.FrameLayout, clickable=false, checkable=false enabled=true, id=null pkg=com.android.settings, identity=f217ce6, bounds=Rect(1440, 0 - 2880, 3168)
  -1: text='null', class=android.widget.LinearLayout, clickable=false, checkable=false enabled=true, id=null pkg=com.android.settings, identity=346acd4, bounds=Rect(0, 0 - 1440, 3168)
  --2: text='null', class=android.widget.FrameLayout, clickable=false, checkable=false enabled=true, id=android:id/content pkg=com.android.settings, identity=db85e7d, bounds=Rect(0, 0 - 1440, 3168)
  ---3: text='null', class=android.widget.LinearLayout, clickable=false, checkable=false enabled=true, id=com.android.settings:id/content_parent pkg=com.android.settings, identity=5f88172, bounds=Rect(0, 0 - 1440, 3168)
  ----4: text='null', class=android.widget.FrameLayout, clickable=false, checkable=false enabled=true, id=com.android.settings:id/content_frame pkg=com.android.settings, identity=26c09c3, bounds=Rect(0, 0 - 1440, 3168)
  -----5: text='null', class=android.widget.LinearLayout, clickable=false, checkable=false enabled=true, id=null pkg=com.android.settings, identity=2cbc240, bounds=Rect(0, 0 - 1440, 3168)
  ------6: text='null', class=android.widget.FrameLayout, clickable=false, checkable=false enabled=true, id=com.android.settings:id/main_content pkg=com.android.settings, identity=3716579, bounds=Rect(0, 0 - 1440, 3168)
  -------7: text='null', class=android.widget.RelativeLayout, clickable=false, checkable=false enabled=true, id=com.android.settings:id/bbk_zonelist_bottom pkg=com.android.settings, identity=8c942be, bounds=Rect(0, 0 - 1440, 3168)
  --------8: text='null', class=android.widget.LinearLayout, clickable=false, checkable=false enabled=true, id=android:id/list_container pkg=com.android.settings, identity=8cac26c, bounds=Rect(0, 0 - 1440, 3168)
  ---------9: text='null', class=android.widget.LinearLayout, clickable=false, checkable=false enabled=true, id=com.android.settings:id/nestedlayout pkg=com.android.settings, identity=119e035, bounds=Rect(0, 0 - 1440, 3168)
  ----------10: text='null', class=androidx.recyclerview.widget.RecyclerView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/recycler_view pkg=com.android.settings, identity=852ccca, bounds=Rect(0, 0 - 1440, 3168)
  -----------11: text='null', class=android.widget.FrameLayout, clickable=false, checkable=false enabled=true, id=null pkg=com.android.settings, identity=8d2e9b3, bounds=Rect(0, 548 - 1440, 844)
  ------------12: text='null', class=android.widget.LinearLayout, clickable=false, checkable=false enabled=true, id=com.android.settings:id/entity_header pkg=com.android.settings, identity=8743b70, bounds=Rect(0, 548 - 1440, 844)
  -------------13: text='null', class=android.widget.RelativeLayout, clickable=false, checkable=false enabled=true, id=com.android.settings:id/entity_header_content pkg=com.android.settings, identity=429d76e, bounds=Rect(80, 548 - 1440, 844)
  --------------14: text='null', class=android.widget.ImageView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/entity_header_icon pkg=com.android.settings, identity=4399e9c, bounds=Rect(80, 636 - 200, 756)
  --------------14: text='null', class=android.widget.LinearLayout, clickable=false, checkable=false enabled=true, id=null pkg=com.android.settings, identity=2886e0f, bounds=Rect(248, 617 - 1344, 774)
  ---------------15: text='三星網際網路', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/entity_header_title pkg=com.android.settings, identity=f9ffc7a, bounds=Rect(248, 617 - 1344, 703)
  ---------------15: text='版本28.0.0.59', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/entity_header_summary pkg=com.android.settings, identity=38440a5, bounds=Rect(248, 715 - 1344, 774)
  -------------13: text='null', class=android.widget.LinearLayout, clickable=false, checkable=false enabled=true, id=com.android.settings:id/entity_header_links pkg=com.android.settings, identity=c399ee9, bounds=Rect(1440, 548 - 1440, 844)
  -----------11: text='null', class=android.widget.LinearLayout, clickable=false, checkable=false enabled=true, id=null pkg=com.android.settings, identity=902b22, bounds=Rect(80, 844 - 1360, 892)
  ------------12: text='null', class=android.view.ViewGroup, clickable=false, checkable=false enabled=true, id=com.android.settings:id/preference_heading pkg=com.android.settings, identity=667dc2b, bounds=Rect(80, 844 - 1360, 892)
  -----------11: text='null', class=android.view.ViewGroup, clickable=false, checkable=false enabled=true, id=null pkg=com.android.settings, identity=482e0ed, bounds=Rect(80, 892 - 1360, 1093)
  ------------12: text='總共', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/title pkg=com.android.settings, identity=81d4221, bounds=Rect(1576, 958 - 1704, 1044)
  ------------12: text='506.25 MB', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/summary pkg=com.android.settings, identity=3900888, bounds=Rect(2485, 966 - 2744, 1036)
  -----------11: text='null', class=android.view.ViewGroup, clickable=false, checkable=false enabled=true, id=null pkg=com.android.settings, identity=9d8f304, bounds=Rect(80, 1093 - 1360, 1277)
  ------------12: text='應用程式', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/title pkg=com.android.settings, identity=c861007, bounds=Rect(1576, 1142 - 1832, 1228)
  ------------12: text='408.68 MB', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/summary pkg=com.android.settings, identity=5216646, bounds=Rect(2480, 1150 - 2744, 1220)
  -----------11: text='null', class=android.view.ViewGroup, clickable=false, checkable=false enabled=true, id=null pkg=com.android.settings, identity=c083317, bounds=Rect(80, 1277 - 1360, 1461)
  ------------12: text='數據', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/title pkg=com.android.settings, identity=eeadf5d, bounds=Rect(1576, 1326 - 1704, 1412)
  ------------12: text='8.44 MB', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/summary pkg=com.android.settings, identity=a612534, bounds=Rect(2543, 1334 - 2744, 1404)
  -----------11: text='null', class=android.view.ViewGroup, clickable=true, checkable=false enabled=true, id=null pkg=com.android.settings, identity=38eb96, bounds=Rect(80, 1461 - 1360, 1662)
  ------------12: text='清除資料', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/title pkg=com.android.settings, identity=8fda0d2, bounds=Rect(1576, 1510 - 1832, 1596)
  -----------11: text='null', class=android.widget.LinearLayout, clickable=false, checkable=false enabled=true, id=null pkg=com.android.settings, identity=6954ab1, bounds=Rect(80, 1662 - 1360, 1727)
  ------------12: text='null', class=android.view.ViewGroup, clickable=false, checkable=false enabled=true, id=com.android.settings:id/preference_heading pkg=com.android.settings, identity=f69a5a3, bounds=Rect(1520, 1662 - 2800, 1727)
  -----------11: text='null', class=android.view.ViewGroup, clickable=false, checkable=false enabled=true, id=null pkg=com.android.settings, identity=8d79958, bounds=Rect(80, 1727 - 1360, 1928)
  ------------12: text='快取', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/title pkg=com.android.settings, identity=afb1459, bounds=Rect(1576, 1793 - 1704, 1879)
  ------------12: text='89.13 MB', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/summary pkg=com.android.settings, identity=f8560a0, bounds=Rect(2527, 1801 - 2744, 1871)
  -----------11: text='null', class=android.view.ViewGroup, clickable=true, checkable=false enabled=true, id=null pkg=com.android.settings, identity=3e2ee3b, bounds=Rect(80, 1928 - 1360, 2129)
  ------------12: text='清除快取', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/title pkg=com.android.settings, identity=2f0f81e, bounds=Rect(1576, 1977 - 1832, 2063)
  --------8: text='null', class=android.widget.LinearLayout, clickable=true, checkable=false enabled=true, id=com.android.settings:id/list_container_footer pkg=com.android.settings, identity=cfb7f1f, bounds=Rect(0, 3168 - 1440, 3168)
  -1: text='null', class=android.widget.FrameLayout, clickable=false, checkable=false enabled=true, id=com.android.settings:id/bbk_title_view pkg=com.android.settings, identity=5347227, bounds=Rect(0, 0 - 1440, 500)
  --2: text='null', class=android.view.ViewGroup, clickable=false, checkable=false enabled=true, id=com.android.settings:id/originui_vtoolbar_vtoolbarinternal_container_rom14_0 pkg=com.android.settings, identity=166f8ff, bounds=Rect(1464, 164 - 2856, 500)
  ---3: text='null', class=android.widget.ImageButton, clickable=true, checkable=false enabled=true, id=com.android.settings:id/originui_vtoolbar_navigation_view_rom14_0 pkg=com.android.settings, identity=83f9d15, bounds=Rect(1464, 240 - 1648, 424)
  ----4: text='null', class=android.widget.ImageButton, clickable=true, checkable=false enabled=true, id=com.android.settings:id/originui_vtoolbar_navigation_view_btn_rom14_0 pkg=com.android.settings, identity=830782a, bounds=Rect(1464, 240 - 1648, 424)
  ---3: text='儲存空間', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/originui_vtoolbar_normal_title_rom14_0 pkg=com.android.settings, identity=cefe6cc, bounds=Rect(1656, 295 - 1912, 370)
```
d4rken added a commit that referenced this pull request Jun 1, 2025
This commit introduces separate automation specifications and labels for FuntouchOS and OriginOS, which were previously grouped under a general "Vivo" category.

Prompted by a change in the recent OriginOS5, the clear cache button is an unclickable textview with a clickable parent layout. Similar to recent FuntouchOS versions but different IDs.

For both FuntouchOS and OriginOS, I've simplified the node action to always look for the clear cache label, and then select that node, or the next clickable parent if available. No more specific ID filtering. Too brittle. Likely unnecessarily specific.

Theoretically a split between both VIVO OSs was not necessary in this change, but is good for the future where more changes will likely become necessary.

Re #1325 #1382

```java
  windowRoot: text='null', class=android.widget.FrameLayout, clickable=false, checkable=false enabled=true, id=null pkg=com.android.settings, identity=3e3bf2d, bounds=Rect(0, 0 - 1440, 3168)
  -- START -- EventType: TYPE_WINDOW_CONTENT_CHANGED; EventTime: 20639894; PackageName: eu.darken.sdmse; MovementGranularity: 0; Action: 0; ContentChangeTypes: [CONTENT_CHANGE_TYPE_TEXT]; WindowChangeTypes: [] [ ClassName: android.widget.TextView; Text: []; ContentDescription: null; ItemCount: -1; CurrentItemIndex: -1; Enabled: true; Password: false; Checked: false; FullScreen: false; Scrollable: false; ImportantForAccessibility: true; AccessibilityDataSensitive: false; BeforeText: null; FromIndex: -1; ToIndex: -1; ScrollX: 0; ScrollY: 0; MaxScrollX: 0; MaxScrollY: 0; ScrollDeltaX: -1; ScrollDeltaY: -1; AddedCount: -1; RemovedCount: -1; ParcelableData: null; DisplayId: 0 ]; recordCount: 0
  0: text='null', class=android.widget.FrameLayout, clickable=false, checkable=false enabled=true, id=null pkg=com.android.settings, identity=f217ce6, bounds=Rect(1440, 0 - 2880, 3168)
  -1: text='null', class=android.widget.LinearLayout, clickable=false, checkable=false enabled=true, id=null pkg=com.android.settings, identity=346acd4, bounds=Rect(0, 0 - 1440, 3168)
  --2: text='null', class=android.widget.FrameLayout, clickable=false, checkable=false enabled=true, id=android:id/content pkg=com.android.settings, identity=db85e7d, bounds=Rect(0, 0 - 1440, 3168)
  ---3: text='null', class=android.widget.LinearLayout, clickable=false, checkable=false enabled=true, id=com.android.settings:id/content_parent pkg=com.android.settings, identity=5f88172, bounds=Rect(0, 0 - 1440, 3168)
  ----4: text='null', class=android.widget.FrameLayout, clickable=false, checkable=false enabled=true, id=com.android.settings:id/content_frame pkg=com.android.settings, identity=26c09c3, bounds=Rect(0, 0 - 1440, 3168)
  -----5: text='null', class=android.widget.LinearLayout, clickable=false, checkable=false enabled=true, id=null pkg=com.android.settings, identity=2cbc240, bounds=Rect(0, 0 - 1440, 3168)
  ------6: text='null', class=android.widget.FrameLayout, clickable=false, checkable=false enabled=true, id=com.android.settings:id/main_content pkg=com.android.settings, identity=3716579, bounds=Rect(0, 0 - 1440, 3168)
  -------7: text='null', class=android.widget.RelativeLayout, clickable=false, checkable=false enabled=true, id=com.android.settings:id/bbk_zonelist_bottom pkg=com.android.settings, identity=8c942be, bounds=Rect(0, 0 - 1440, 3168)
  --------8: text='null', class=android.widget.LinearLayout, clickable=false, checkable=false enabled=true, id=android:id/list_container pkg=com.android.settings, identity=8cac26c, bounds=Rect(0, 0 - 1440, 3168)
  ---------9: text='null', class=android.widget.LinearLayout, clickable=false, checkable=false enabled=true, id=com.android.settings:id/nestedlayout pkg=com.android.settings, identity=119e035, bounds=Rect(0, 0 - 1440, 3168)
  ----------10: text='null', class=androidx.recyclerview.widget.RecyclerView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/recycler_view pkg=com.android.settings, identity=852ccca, bounds=Rect(0, 0 - 1440, 3168)
  -----------11: text='null', class=android.widget.FrameLayout, clickable=false, checkable=false enabled=true, id=null pkg=com.android.settings, identity=8d2e9b3, bounds=Rect(0, 548 - 1440, 844)
  ------------12: text='null', class=android.widget.LinearLayout, clickable=false, checkable=false enabled=true, id=com.android.settings:id/entity_header pkg=com.android.settings, identity=8743b70, bounds=Rect(0, 548 - 1440, 844)
  -------------13: text='null', class=android.widget.RelativeLayout, clickable=false, checkable=false enabled=true, id=com.android.settings:id/entity_header_content pkg=com.android.settings, identity=429d76e, bounds=Rect(80, 548 - 1440, 844)
  --------------14: text='null', class=android.widget.ImageView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/entity_header_icon pkg=com.android.settings, identity=4399e9c, bounds=Rect(80, 636 - 200, 756)
  --------------14: text='null', class=android.widget.LinearLayout, clickable=false, checkable=false enabled=true, id=null pkg=com.android.settings, identity=2886e0f, bounds=Rect(248, 617 - 1344, 774)
  ---------------15: text='三星網際網路', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/entity_header_title pkg=com.android.settings, identity=f9ffc7a, bounds=Rect(248, 617 - 1344, 703)
  ---------------15: text='版本28.0.0.59', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/entity_header_summary pkg=com.android.settings, identity=38440a5, bounds=Rect(248, 715 - 1344, 774)
  -------------13: text='null', class=android.widget.LinearLayout, clickable=false, checkable=false enabled=true, id=com.android.settings:id/entity_header_links pkg=com.android.settings, identity=c399ee9, bounds=Rect(1440, 548 - 1440, 844)
  -----------11: text='null', class=android.widget.LinearLayout, clickable=false, checkable=false enabled=true, id=null pkg=com.android.settings, identity=902b22, bounds=Rect(80, 844 - 1360, 892)
  ------------12: text='null', class=android.view.ViewGroup, clickable=false, checkable=false enabled=true, id=com.android.settings:id/preference_heading pkg=com.android.settings, identity=667dc2b, bounds=Rect(80, 844 - 1360, 892)
  -----------11: text='null', class=android.view.ViewGroup, clickable=false, checkable=false enabled=true, id=null pkg=com.android.settings, identity=482e0ed, bounds=Rect(80, 892 - 1360, 1093)
  ------------12: text='總共', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/title pkg=com.android.settings, identity=81d4221, bounds=Rect(1576, 958 - 1704, 1044)
  ------------12: text='506.25 MB', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/summary pkg=com.android.settings, identity=3900888, bounds=Rect(2485, 966 - 2744, 1036)
  -----------11: text='null', class=android.view.ViewGroup, clickable=false, checkable=false enabled=true, id=null pkg=com.android.settings, identity=9d8f304, bounds=Rect(80, 1093 - 1360, 1277)
  ------------12: text='應用程式', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/title pkg=com.android.settings, identity=c861007, bounds=Rect(1576, 1142 - 1832, 1228)
  ------------12: text='408.68 MB', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/summary pkg=com.android.settings, identity=5216646, bounds=Rect(2480, 1150 - 2744, 1220)
  -----------11: text='null', class=android.view.ViewGroup, clickable=false, checkable=false enabled=true, id=null pkg=com.android.settings, identity=c083317, bounds=Rect(80, 1277 - 1360, 1461)
  ------------12: text='數據', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/title pkg=com.android.settings, identity=eeadf5d, bounds=Rect(1576, 1326 - 1704, 1412)
  ------------12: text='8.44 MB', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/summary pkg=com.android.settings, identity=a612534, bounds=Rect(2543, 1334 - 2744, 1404)
  -----------11: text='null', class=android.view.ViewGroup, clickable=true, checkable=false enabled=true, id=null pkg=com.android.settings, identity=38eb96, bounds=Rect(80, 1461 - 1360, 1662)
  ------------12: text='清除資料', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/title pkg=com.android.settings, identity=8fda0d2, bounds=Rect(1576, 1510 - 1832, 1596)
  -----------11: text='null', class=android.widget.LinearLayout, clickable=false, checkable=false enabled=true, id=null pkg=com.android.settings, identity=6954ab1, bounds=Rect(80, 1662 - 1360, 1727)
  ------------12: text='null', class=android.view.ViewGroup, clickable=false, checkable=false enabled=true, id=com.android.settings:id/preference_heading pkg=com.android.settings, identity=f69a5a3, bounds=Rect(1520, 1662 - 2800, 1727)
  -----------11: text='null', class=android.view.ViewGroup, clickable=false, checkable=false enabled=true, id=null pkg=com.android.settings, identity=8d79958, bounds=Rect(80, 1727 - 1360, 1928)
  ------------12: text='快取', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/title pkg=com.android.settings, identity=afb1459, bounds=Rect(1576, 1793 - 1704, 1879)
  ------------12: text='89.13 MB', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/summary pkg=com.android.settings, identity=f8560a0, bounds=Rect(2527, 1801 - 2744, 1871)
  -----------11: text='null', class=android.view.ViewGroup, clickable=true, checkable=false enabled=true, id=null pkg=com.android.settings, identity=3e2ee3b, bounds=Rect(80, 1928 - 1360, 2129)
  ------------12: text='清除快取', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/title pkg=com.android.settings, identity=2f0f81e, bounds=Rect(1576, 1977 - 1832, 2063)
  --------8: text='null', class=android.widget.LinearLayout, clickable=true, checkable=false enabled=true, id=com.android.settings:id/list_container_footer pkg=com.android.settings, identity=cfb7f1f, bounds=Rect(0, 3168 - 1440, 3168)
  -1: text='null', class=android.widget.FrameLayout, clickable=false, checkable=false enabled=true, id=com.android.settings:id/bbk_title_view pkg=com.android.settings, identity=5347227, bounds=Rect(0, 0 - 1440, 500)
  --2: text='null', class=android.view.ViewGroup, clickable=false, checkable=false enabled=true, id=com.android.settings:id/originui_vtoolbar_vtoolbarinternal_container_rom14_0 pkg=com.android.settings, identity=166f8ff, bounds=Rect(1464, 164 - 2856, 500)
  ---3: text='null', class=android.widget.ImageButton, clickable=true, checkable=false enabled=true, id=com.android.settings:id/originui_vtoolbar_navigation_view_rom14_0 pkg=com.android.settings, identity=83f9d15, bounds=Rect(1464, 240 - 1648, 424)
  ----4: text='null', class=android.widget.ImageButton, clickable=true, checkable=false enabled=true, id=com.android.settings:id/originui_vtoolbar_navigation_view_btn_rom14_0 pkg=com.android.settings, identity=830782a, bounds=Rect(1464, 240 - 1648, 424)
  ---3: text='儲存空間', class=android.widget.TextView, clickable=false, checkable=false enabled=true, id=com.android.settings:id/originui_vtoolbar_normal_title_rom14_0 pkg=com.android.settings, identity=cefe6cc, bounds=Rect(1656, 295 - 1912, 370)
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working as expected c: AppCleaner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant