gitextract_z6y5c1r5/ ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ └── feature_request.yml │ └── workflows/ │ ├── Build-Apk.yml │ └── Build-Release.yml ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── app/ │ ├── .gitignore │ ├── build.gradle.kts │ ├── proguard-rules.pro │ ├── schemas/ │ │ └── li.songe.gkd.db.AppDb/ │ │ ├── 1.json │ │ ├── 10.json │ │ ├── 11.json │ │ ├── 12.json │ │ ├── 13.json │ │ ├── 14.json │ │ ├── 2.json │ │ ├── 3.json │ │ ├── 4.json │ │ ├── 5.json │ │ ├── 6.json │ │ ├── 7.json │ │ ├── 8.json │ │ └── 9.json │ └── src/ │ ├── androidTest/ │ │ └── kotlin/ │ │ └── li/ │ │ └── songe/ │ │ └── gkd/ │ │ └── ExampleInstrumentedTest.kt │ ├── gkd/ │ │ └── AndroidManifest.xml │ ├── main/ │ │ ├── AndroidManifest.xml │ │ ├── aidl/ │ │ │ └── li/ │ │ │ └── songe/ │ │ │ └── gkd/ │ │ │ └── shizuku/ │ │ │ ├── CommandResult.aidl │ │ │ └── IUserService.aidl │ │ ├── kotlin/ │ │ │ ├── com/ │ │ │ │ └── google/ │ │ │ │ └── android/ │ │ │ │ └── accessibility/ │ │ │ │ └── selecttospeak/ │ │ │ │ └── SelectToSpeakService.kt │ │ │ └── li/ │ │ │ └── songe/ │ │ │ └── gkd/ │ │ │ ├── App.kt │ │ │ ├── MainActivity.kt │ │ │ ├── MainViewModel.kt │ │ │ ├── OpenFileActivity.kt │ │ │ ├── OpenSchemeActivity.kt │ │ │ ├── OpenTileActivity.kt │ │ │ ├── a11y/ │ │ │ │ ├── A11yCommonImpl.kt │ │ │ │ ├── A11yContext.kt │ │ │ │ ├── A11yExt.kt │ │ │ │ ├── A11yFeat.kt │ │ │ │ ├── A11yRuleEngine.kt │ │ │ │ └── A11yState.kt │ │ │ ├── data/ │ │ │ │ ├── A11yEventLog.kt │ │ │ │ ├── ActionLog.kt │ │ │ │ ├── ActivityLog.kt │ │ │ │ ├── AppConfig.kt │ │ │ │ ├── AppInfo.kt │ │ │ │ ├── AppRule.kt │ │ │ │ ├── AppVisitLog.kt │ │ │ │ ├── AttrInfo.kt │ │ │ │ ├── BaseSnapshot.kt │ │ │ │ ├── CategoryConfig.kt │ │ │ │ ├── ComplexSnapshot.kt │ │ │ │ ├── DeviceInfo.kt │ │ │ │ ├── GithubPoliciesAsset.kt │ │ │ │ ├── GkdAction.kt │ │ │ │ ├── GlobalRule.kt │ │ │ │ ├── NodeInfo.kt │ │ │ │ ├── RawSubscription.kt │ │ │ │ ├── ResolvedGroup.kt │ │ │ │ ├── ResolvedRule.kt │ │ │ │ ├── RpcError.kt │ │ │ │ ├── Snapshot.kt │ │ │ │ ├── SubsConfig.kt │ │ │ │ ├── SubsItem.kt │ │ │ │ ├── SubsVersion.kt │ │ │ │ ├── TransferData.kt │ │ │ │ ├── UserInfo.kt │ │ │ │ └── Value.kt │ │ │ ├── db/ │ │ │ │ └── AppDb.kt │ │ │ ├── notif/ │ │ │ │ ├── Notif.kt │ │ │ │ ├── NotifChannel.kt │ │ │ │ └── StopServiceReceiver.kt │ │ │ ├── permission/ │ │ │ │ ├── PermissionDialog.kt │ │ │ │ └── PermissionState.kt │ │ │ ├── service/ │ │ │ │ ├── A11yService.kt │ │ │ │ ├── ActivityService.kt │ │ │ │ ├── ActivityTileService.kt │ │ │ │ ├── BaseTileService.kt │ │ │ │ ├── ButtonService.kt │ │ │ │ ├── ButtonTileService.kt │ │ │ │ ├── EventService.kt │ │ │ │ ├── EventTileService.kt │ │ │ │ ├── ExposeService.kt │ │ │ │ ├── GkdTileService.kt │ │ │ │ ├── HttpService.kt │ │ │ │ ├── HttpTileService.kt │ │ │ │ ├── MatchTileService.kt │ │ │ │ ├── OverlayWindowService.kt │ │ │ │ ├── ScreenshotService.kt │ │ │ │ ├── SnapshotTileService.kt │ │ │ │ └── StatusService.kt │ │ │ ├── shizuku/ │ │ │ │ ├── AccessibilityManager.kt │ │ │ │ ├── ActivityManager.kt │ │ │ │ ├── ActivityTaskManager.kt │ │ │ │ ├── AppOpsService.kt │ │ │ │ ├── AutomationService.kt │ │ │ │ ├── CommandResult.kt │ │ │ │ ├── HiddenCast.kt │ │ │ │ ├── InputManager.kt │ │ │ │ ├── InputShellCommand.kt │ │ │ │ ├── PackageManager.kt │ │ │ │ ├── ProxyUiAutomationConnection.kt │ │ │ │ ├── ShizukuApi.kt │ │ │ │ ├── TaskStackListener.kt │ │ │ │ ├── UserManager.kt │ │ │ │ ├── UserService.kt │ │ │ │ └── WindowManager.kt │ │ │ ├── store/ │ │ │ │ ├── SettingsStore.kt │ │ │ │ ├── StorageExt.kt │ │ │ │ └── StoreExt.kt │ │ │ ├── ui/ │ │ │ │ ├── A11yEventLogPage.kt │ │ │ │ ├── A11yEventLogVm.kt │ │ │ │ ├── A11yScopeAppListPage.kt │ │ │ │ ├── A11yScopeAppListVm.kt │ │ │ │ ├── AboutPage.kt │ │ │ │ ├── AboutVm.kt │ │ │ │ ├── ActionLogPage.kt │ │ │ │ ├── ActionLogVm.kt │ │ │ │ ├── ActivityLogPage.kt │ │ │ │ ├── ActivityLogVm.kt │ │ │ │ ├── AdvancedPage.kt │ │ │ │ ├── AdvancedVm.kt │ │ │ │ ├── AppConfigPage.kt │ │ │ │ ├── AppConfigVm.kt │ │ │ │ ├── AppOpsAllowPage.kt │ │ │ │ ├── AppOpsAllowVm.kt │ │ │ │ ├── AuthA11yPage.kt │ │ │ │ ├── AuthA11yVm.kt │ │ │ │ ├── BlockA11yAppListPage.kt │ │ │ │ ├── BlockA11yAppListVm.kt │ │ │ │ ├── EditBlockAppListPage.kt │ │ │ │ ├── EditBlockAppListVm.kt │ │ │ │ ├── ImagePreviewPage.kt │ │ │ │ ├── SlowGroupPage.kt │ │ │ │ ├── SnapshotPage.kt │ │ │ │ ├── SnapshotVm.kt │ │ │ │ ├── SubsAppGroupListPage.kt │ │ │ │ ├── SubsAppGroupListVm.kt │ │ │ │ ├── SubsAppListPage.kt │ │ │ │ ├── SubsAppListVm.kt │ │ │ │ ├── SubsCategoryPage.kt │ │ │ │ ├── SubsCategoryVm.kt │ │ │ │ ├── SubsGlobalGroupExcludePage.kt │ │ │ │ ├── SubsGlobalGroupExcludeVm.kt │ │ │ │ ├── SubsGlobalGroupListPage.kt │ │ │ │ ├── SubsGlobalGroupListVm.kt │ │ │ │ ├── UpsertRuleGroupPage.kt │ │ │ │ ├── UpsertRuleGroupVm.kt │ │ │ │ ├── WebViewPage.kt │ │ │ │ ├── component/ │ │ │ │ │ ├── AnimatedBooleanContent.kt │ │ │ │ │ ├── AnimatedIcon.kt │ │ │ │ │ ├── Animation.kt │ │ │ │ │ ├── AnimationFloatingActionButton.kt │ │ │ │ │ ├── AppBarTextField.kt │ │ │ │ │ ├── AppCheckBoxCard.kt │ │ │ │ │ ├── AppIcon.kt │ │ │ │ │ ├── AppNameText.kt │ │ │ │ │ ├── AuthButtonGroup.kt │ │ │ │ │ ├── AuthCard.kt │ │ │ │ │ ├── CopyTextCard.kt │ │ │ │ │ ├── CustomIconButton.kt │ │ │ │ │ ├── CustomOutlinedTextField.kt │ │ │ │ │ ├── DialogOptions.kt │ │ │ │ │ ├── EmptyText.kt │ │ │ │ │ ├── FixedTimeText.kt │ │ │ │ │ ├── FullscreenDialog.kt │ │ │ │ │ ├── GroupNameText.kt │ │ │ │ │ ├── Hooks.kt │ │ │ │ │ ├── InnerDisableSwitch.kt │ │ │ │ │ ├── InputSubsLinkOption.kt │ │ │ │ │ ├── ManualAuthDialog.kt │ │ │ │ │ ├── MenuExt.kt │ │ │ │ │ ├── ModifierExt.kt │ │ │ │ │ ├── MultiTextField.kt │ │ │ │ │ ├── PerfCheckbox.kt │ │ │ │ │ ├── PerfIcon.kt │ │ │ │ │ ├── PerfSwitch.kt │ │ │ │ │ ├── PerfTopAppBar.kt │ │ │ │ │ ├── QueryPkgTipCard.kt │ │ │ │ │ ├── RotatingLoadingIcon.kt │ │ │ │ │ ├── RuleGroupCard.kt │ │ │ │ │ ├── RuleGroupDialog.kt │ │ │ │ │ ├── RuleGroupState.kt │ │ │ │ │ ├── SettingItem.kt │ │ │ │ │ ├── ShareDataDialog.kt │ │ │ │ │ ├── SubsAppCard.kt │ │ │ │ │ ├── SubsItemCard.kt │ │ │ │ │ ├── SubsSheet.kt │ │ │ │ │ ├── TermsAcceptDialog.kt │ │ │ │ │ ├── TextDialog.kt │ │ │ │ │ ├── TextMenu.kt │ │ │ │ │ ├── TextSwitch.kt │ │ │ │ │ ├── TooltipIconButtonBox.kt │ │ │ │ │ ├── TowLineText.kt │ │ │ │ │ └── UploadOptions.kt │ │ │ │ ├── home/ │ │ │ │ │ ├── AppListPage.kt │ │ │ │ │ ├── ControlPage.kt │ │ │ │ │ ├── HomePage.kt │ │ │ │ │ ├── HomeVm.kt │ │ │ │ │ ├── ScaffoldExt.kt │ │ │ │ │ ├── SettingsPage.kt │ │ │ │ │ └── SubsManagePage.kt │ │ │ │ ├── icon/ │ │ │ │ │ ├── BackCloseIcon.kt │ │ │ │ │ ├── DragPan.kt │ │ │ │ │ ├── LockOpenRight.kt │ │ │ │ │ ├── ResetSettings.kt │ │ │ │ │ └── SportsBasketball.kt │ │ │ │ ├── share/ │ │ │ │ │ ├── AppFilter.kt │ │ │ │ │ ├── BaseViewModel.kt │ │ │ │ │ ├── FixedWindowInsets.kt │ │ │ │ │ ├── ListPlaceholder.kt │ │ │ │ │ ├── LocalExt.kt │ │ │ │ │ ├── ModifierExt.kt │ │ │ │ │ └── StateExt.kt │ │ │ │ └── style/ │ │ │ │ ├── Color.kt │ │ │ │ ├── Padding.kt │ │ │ │ ├── TextTransformation.kt │ │ │ │ └── Theme.kt │ │ │ └── util/ │ │ │ ├── AndroidTarget.kt │ │ │ ├── AppInfoState.kt │ │ │ ├── BarUtils.kt │ │ │ ├── CollectionExt.kt │ │ │ ├── Constants.kt │ │ │ ├── CoroutineExt.kt │ │ │ ├── FlowExt.kt │ │ │ ├── FolderExt.kt │ │ │ ├── Github.kt │ │ │ ├── ImageUtils.kt │ │ │ ├── IntentExt.kt │ │ │ ├── KeyboardUtils.kt │ │ │ ├── LifecycleCallbacks.kt │ │ │ ├── LinkLoad.kt │ │ │ ├── LoadStatus.kt │ │ │ ├── LogUtils.kt │ │ │ ├── MutexState.kt │ │ │ ├── NetworkExt.kt │ │ │ ├── NetworkUtils.kt │ │ │ ├── Option.kt │ │ │ ├── Others.kt │ │ │ ├── ScreenUtils.kt │ │ │ ├── ScreenshotUtil.kt │ │ │ ├── Singleton.kt │ │ │ ├── SnapshotExt.kt │ │ │ ├── SubsState.kt │ │ │ ├── TimeExt.kt │ │ │ ├── Toast.kt │ │ │ ├── Unit.kt │ │ │ ├── Upgrade.kt │ │ │ ├── UriUtils.kt │ │ │ └── ZipUtils.kt │ │ └── res/ │ │ ├── drawable/ │ │ │ ├── ic_anim_logo.xml │ │ │ ├── ic_anim_search_close.xml │ │ │ ├── ic_capture.xml │ │ │ ├── ic_event_list.xml │ │ │ ├── ic_flash_off.xml │ │ │ ├── ic_flash_on.xml │ │ │ ├── ic_http.xml │ │ │ ├── ic_launcher.xml │ │ │ ├── ic_launcher_background.xml │ │ │ ├── ic_launcher_foreground.xml │ │ │ ├── ic_layers.xml │ │ │ ├── ic_page_info.xml │ │ │ ├── ic_radio_button.xml │ │ │ └── ic_status.xml │ │ ├── values/ │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ ├── values-night/ │ │ │ ├── colors.xml │ │ │ └── themes.xml │ │ └── xml/ │ │ ├── ab_desc.xml │ │ ├── file_paths.xml │ │ └── network_security_config.xml │ └── test/ │ └── kotlin/ │ └── li/ │ └── songe/ │ └── gkd/ │ └── ExampleUnitTest.kt ├── build.gradle.kts ├── gradle/ │ ├── libs.versions.toml │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── hidden_api/ │ ├── .gitignore │ ├── build.gradle.kts │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ └── java/ │ ├── android/ │ │ ├── accessibilityservice/ │ │ │ ├── AccessibilityServiceInfoHidden.java │ │ │ └── IAccessibilityServiceClient.java │ │ ├── app/ │ │ │ ├── AppOpsManagerHidden.java │ │ │ ├── IActivityManager.java │ │ │ ├── IActivityTaskManager.java │ │ │ ├── IApplicationThread.java │ │ │ ├── ITaskStackListener.java │ │ │ ├── IUiAutomationConnection.java │ │ │ └── UiAutomationHidden.java │ │ ├── content/ │ │ │ ├── ContextHidden.java │ │ │ └── pm/ │ │ │ ├── IPackageManager.java │ │ │ ├── PackageInfoHidden.java │ │ │ ├── ParceledListSlice.java │ │ │ └── UserInfo.java │ │ ├── hardware/ │ │ │ └── input/ │ │ │ ├── IInputManager.java │ │ │ └── InputManagerHidden.java │ │ ├── os/ │ │ │ └── IUserManager.java │ │ ├── view/ │ │ │ ├── IWindowManager.java │ │ │ ├── KeyEventHidden.java │ │ │ ├── MotionEventHidden.java │ │ │ ├── SurfaceControlHidden.java │ │ │ └── accessibility/ │ │ │ ├── AccessibilityNodeInfoHidden.java │ │ │ └── IAccessibilityManager.java │ │ └── window/ │ │ └── ScreenCapture.java │ └── com/ │ └── android/ │ └── internal/ │ ├── R.java │ └── app/ │ └── IAppOpsService.java ├── selector/ │ ├── .gitignore │ ├── build.gradle.kts │ └── src/ │ ├── commonMain/ │ │ └── kotlin/ │ │ └── li/ │ │ └── songe/ │ │ └── selector/ │ │ ├── Exception.kt │ │ ├── FastQuery.kt │ │ ├── MatchOption.kt │ │ ├── QueryContext.kt │ │ ├── QueryPath.kt │ │ ├── QueryResult.kt │ │ ├── Selector.kt │ │ ├── Stringify.kt │ │ ├── Transform.kt │ │ ├── TypeInfo.kt │ │ ├── connect/ │ │ │ ├── ConnectExpression.kt │ │ │ ├── ConnectOperator.kt │ │ │ ├── ConnectSegment.kt │ │ │ ├── ConnectWrapper.kt │ │ │ ├── PolynomialExpression.kt │ │ │ └── TupleExpression.kt │ │ ├── parser/ │ │ │ ├── AstNode.kt │ │ │ ├── AstParser.kt │ │ │ ├── BaseParser.kt │ │ │ ├── ConnectParser.kt │ │ │ ├── PropertyParser.kt │ │ │ └── SelectorParser.kt │ │ ├── property/ │ │ │ ├── BinaryExpression.kt │ │ │ ├── CompareOperator.kt │ │ │ ├── Expression.kt │ │ │ ├── LogicalExpression.kt │ │ │ ├── LogicalOperator.kt │ │ │ ├── NotExpression.kt │ │ │ ├── PropertySegment.kt │ │ │ ├── PropertyUnit.kt │ │ │ ├── PropertyWrapper.kt │ │ │ └── ValueExpression.kt │ │ ├── toMatches.kt │ │ ├── unit/ │ │ │ ├── LogicalSelectorExpression.kt │ │ │ ├── NotSelectorExpression.kt │ │ │ ├── SelectorExpression.kt │ │ │ ├── SelectorLogicalOperator.kt │ │ │ └── UnitSelectorExpression.kt │ │ └── util.kt │ ├── jsMain/ │ │ └── kotlin/ │ │ └── li/ │ │ └── songe/ │ │ └── selector/ │ │ └── toMatches.js.kt │ ├── jvmMain/ │ │ └── kotlin/ │ │ └── li/ │ │ └── songe/ │ │ └── selector/ │ │ └── toMatches.jvm.kt │ └── jvmTest/ │ └── kotlin/ │ └── li/ │ └── songe/ │ └── selector/ │ ├── ParserUnitTest.kt │ ├── QueryUnitTest.kt │ ├── Snapshot.kt │ └── TypeUnitTest.kt ├── settings.gradle.kts └── stability_config.conf