gitextract_kzfq42ja/ ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── config.yml │ │ ├── issue_en_template_bug.yml │ │ ├── issue_en_template_question.yml │ │ ├── issue_en_template_suggest.yml │ │ ├── issue_zh_template_bug.yml │ │ ├── issue_zh_template_question.yml │ │ └── issue_zh_template_suggest.yml │ └── workflows/ │ └── android.yml ├── .gitignore ├── Details-en.md ├── Details-zh.md ├── HelpDoc-en.md ├── HelpDoc-zh.md ├── LICENSE ├── README-en.md ├── README.md ├── app/ │ ├── AppSignature.jks │ ├── build.gradle │ ├── gradle.properties │ ├── proguard-rules.pro │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ ├── java/ │ │ └── com/ │ │ └── hjq/ │ │ └── permissions/ │ │ └── demo/ │ │ ├── AppApplication.java │ │ ├── HealthDataPrivacyPolicyActivity.java │ │ ├── MainActivity.java │ │ ├── WindowLifecycleManager.java │ │ ├── example/ │ │ │ ├── ExampleAccessibilityService.java │ │ │ ├── ExampleDeviceAdminReceiver.java │ │ │ ├── ExampleNotificationListenerService.java │ │ │ └── ExampleVpnService.java │ │ └── permission/ │ │ ├── PermissionConverter.java │ │ ├── PermissionDescription.java │ │ └── PermissionInterceptor.java │ └── res/ │ ├── drawable/ │ │ └── permission_description_popup_bg.xml │ ├── layout/ │ │ ├── activity_main.xml │ │ ├── health_data_privacy_policy_activity.xml │ │ └── permission_description_popup.xml │ ├── values/ │ │ ├── colors.xml │ │ ├── strings_demo.xml │ │ ├── strings_permission.xml │ │ └── styles.xml │ ├── values-v21/ │ │ └── styles.xml │ ├── values-zh/ │ │ ├── strings_demo.xml │ │ └── strings_permission.xml │ └── xml/ │ ├── accessibility_service_config.xml │ ├── device_admin_config.xml │ └── locales_config.xml ├── build.gradle ├── common.gradle ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── jitpack.yml ├── library/ │ ├── build.gradle │ ├── proguard-permissions.pro │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ └── java/ │ └── com/ │ └── hjq/ │ └── permissions/ │ ├── DefaultPermissionDescription.java │ ├── DefaultPermissionInterceptor.java │ ├── OnPermissionCallback.java │ ├── OnPermissionDescription.java │ ├── OnPermissionInterceptor.java │ ├── XXPermissions.java │ ├── core/ │ │ ├── OnPermissionFragmentCallback.java │ │ ├── PermissionChannelImpl.java │ │ ├── PermissionChannelImplByRequestPermissions.java │ │ ├── PermissionChannelImplByStartActivity.java │ │ └── PermissionRequestMainLogic.java │ ├── fragment/ │ │ ├── IFragmentCallback.java │ │ ├── IFragmentMethod.java │ │ ├── IFragmentMethodExtension.java │ │ ├── IFragmentMethodNative.java │ │ ├── factory/ │ │ │ ├── PermissionFragmentFactory.java │ │ │ ├── PermissionFragmentFactoryByAndroid.java │ │ │ └── PermissionFragmentFactoryByAndroidX.java │ │ └── impl/ │ │ ├── android/ │ │ │ ├── PermissionAndroidFragment.java │ │ │ ├── PermissionAndroidFragmentByRequestPermissions.java │ │ │ └── PermissionAndroidFragmentByStartActivity.java │ │ └── androidx/ │ │ ├── PermissionAndroidXFragment.java │ │ ├── PermissionAndroidXFragmentByRequestPermissions.java │ │ └── PermissionAndroidXFragmentByStartActivity.java │ ├── manager/ │ │ ├── ActivityOrientationManager.java │ │ ├── AlreadyRequestPermissionsManager.java │ │ └── PermissionRequestCodeManager.java │ ├── manifest/ │ │ ├── AndroidManifestInfo.java │ │ ├── AndroidManifestParser.java │ │ └── node/ │ │ ├── ActivityManifestInfo.java │ │ ├── ApplicationManifestInfo.java │ │ ├── BroadcastReceiverManifestInfo.java │ │ ├── IntentFilterManifestInfo.java │ │ ├── MetaDataManifestInfo.java │ │ ├── PermissionManifestInfo.java │ │ ├── ServiceManifestInfo.java │ │ └── UsesSdkManifestInfo.java │ ├── permission/ │ │ ├── PermissionChannel.java │ │ ├── PermissionGroups.java │ │ ├── PermissionLists.java │ │ ├── PermissionNames.java │ │ ├── PermissionPageType.java │ │ ├── base/ │ │ │ ├── BasePermission.java │ │ │ └── IPermission.java │ │ ├── common/ │ │ │ ├── DangerousPermission.java │ │ │ └── SpecialPermission.java │ │ ├── dangerous/ │ │ │ ├── AccessBackgroundLocationPermission.java │ │ │ ├── AccessMediaLocationPermission.java │ │ │ ├── BluetoothAdvertisePermission.java │ │ │ ├── BluetoothConnectPermission.java │ │ │ ├── BluetoothScanPermission.java │ │ │ ├── BodySensorsBackgroundPermission.java │ │ │ ├── BodySensorsPermission.java │ │ │ ├── GetInstalledAppsPermission.java │ │ │ ├── HealthDataBasePermission.java │ │ │ ├── NearbyWifiDevicesPermission.java │ │ │ ├── PostNotificationsPermission.java │ │ │ ├── ReadExternalStoragePermission.java │ │ │ ├── ReadHealthDataHistoryPermission.java │ │ │ ├── ReadHealthDataInBackgroundPermission.java │ │ │ ├── ReadHealthRatePermission.java │ │ │ ├── ReadMediaAudioPermission.java │ │ │ ├── ReadMediaImagesPermission.java │ │ │ ├── ReadMediaVideoPermission.java │ │ │ ├── ReadMediaVisualUserSelectedPermission.java │ │ │ ├── ReadPhoneNumbersPermission.java │ │ │ ├── StandardDangerousPermission.java │ │ │ ├── StandardFitnessAndWellnessDataPermission.java │ │ │ ├── StandardHealthRecordsPermission.java │ │ │ └── WriteExternalStoragePermission.java │ │ └── special/ │ │ ├── AccessNotificationPolicyPermission.java │ │ ├── BindAccessibilityServicePermission.java │ │ ├── BindDeviceAdminPermission.java │ │ ├── BindNotificationListenerServicePermission.java │ │ ├── BindVpnServicePermission.java │ │ ├── ManageExternalStoragePermission.java │ │ ├── ManageMediaPermission.java │ │ ├── NotificationServicePermission.java │ │ ├── PackageUsageStatsPermission.java │ │ ├── PictureInPicturePermission.java │ │ ├── RequestIgnoreBatteryOptimizationsPermission.java │ │ ├── RequestInstallPackagesPermission.java │ │ ├── ScheduleExactAlarmPermission.java │ │ ├── SystemAlertWindowPermission.java │ │ ├── UseFullScreenIntentPermission.java │ │ └── WriteSettingsPermission.java │ ├── start/ │ │ ├── IStartActivityDelegate.java │ │ ├── StartActivityAgent.java │ │ ├── StartActivityDelegateByActivity.java │ │ ├── StartActivityDelegateByContext.java │ │ ├── StartActivityDelegateByFragmentAndroid.java │ │ └── StartActivityDelegateByFragmentAndroidX.java │ └── tools/ │ ├── PermissionApi.java │ ├── PermissionChecker.java │ ├── PermissionSettingPage.java │ ├── PermissionTaskHandler.java │ ├── PermissionUtils.java │ └── PermissionVersion.java └── settings.gradle