gitextract_hhydg_6p/ ├── .gitignore ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── build.gradle ├── config.gradle ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── permission/ │ ├── .gitignore │ ├── build.gradle │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ ├── aidl/ │ │ └── com/ │ │ └── yanzhenjie/ │ │ └── permission/ │ │ └── bridge/ │ │ └── IBridge.aidl │ ├── java/ │ │ └── com/ │ │ └── yanzhenjie/ │ │ └── permission/ │ │ ├── Action.java │ │ ├── AndPermission.java │ │ ├── Boot.java │ │ ├── FileProvider.java │ │ ├── Rationale.java │ │ ├── RequestExecutor.java │ │ ├── bridge/ │ │ │ ├── BridgeActivity.java │ │ │ ├── BridgeRequest.java │ │ │ ├── BridgeService.java │ │ │ ├── Messenger.java │ │ │ ├── RequestExecutor.java │ │ │ └── RequestManager.java │ │ ├── checker/ │ │ │ ├── CalendarReadTest.java │ │ │ ├── CalendarWriteTest.java │ │ │ ├── CallLogReadTest.java │ │ │ ├── CallLogWriteTest.java │ │ │ ├── CameraTest.java │ │ │ ├── ContactsReadTest.java │ │ │ ├── ContactsWriteTest.java │ │ │ ├── DoubleChecker.java │ │ │ ├── LocationCoarseTest.java │ │ │ ├── LocationFineTest.java │ │ │ ├── PermissionChecker.java │ │ │ ├── PermissionTest.java │ │ │ ├── PhoneStateReadTest.java │ │ │ ├── RecordAudioTest.java │ │ │ ├── SensorActivityTest.java │ │ │ ├── SensorHeartTest.java │ │ │ ├── SipTest.java │ │ │ ├── SmsReadTest.java │ │ │ ├── StandardChecker.java │ │ │ ├── StorageReadTest.java │ │ │ ├── StorageWriteTest.java │ │ │ └── StrictChecker.java │ │ ├── install/ │ │ │ ├── BaseRequest.java │ │ │ ├── InstallRequest.java │ │ │ ├── NRequest.java │ │ │ ├── NRequestFactory.java │ │ │ ├── ORequest.java │ │ │ └── ORequestFactory.java │ │ ├── notify/ │ │ │ ├── BaseRequest.java │ │ │ ├── NRequest.java │ │ │ ├── NRequestFactory.java │ │ │ ├── Notify.java │ │ │ ├── ORequest.java │ │ │ ├── ORequestFactory.java │ │ │ ├── PermissionRequest.java │ │ │ ├── listener/ │ │ │ │ ├── BaseRequest.java │ │ │ │ ├── J1Request.java │ │ │ │ ├── J1RequestFactory.java │ │ │ │ ├── J2Request.java │ │ │ │ ├── J2RequestFactory.java │ │ │ │ └── ListenerRequest.java │ │ │ └── option/ │ │ │ └── NotifyOption.java │ │ ├── option/ │ │ │ └── Option.java │ │ ├── overlay/ │ │ │ ├── BaseRequest.java │ │ │ ├── LRequest.java │ │ │ ├── LRequestFactory.java │ │ │ ├── MRequest.java │ │ │ ├── MRequestFactory.java │ │ │ ├── OverlayRequest.java │ │ │ └── setting/ │ │ │ ├── LSettingPage.java │ │ │ └── MSettingPage.java │ │ ├── runtime/ │ │ │ ├── BaseRequest.java │ │ │ ├── LRequest.java │ │ │ ├── LRequestFactory.java │ │ │ ├── MRequest.java │ │ │ ├── MRequestFactory.java │ │ │ ├── Permission.java │ │ │ ├── PermissionDef.java │ │ │ ├── PermissionRequest.java │ │ │ ├── Runtime.java │ │ │ ├── option/ │ │ │ │ └── RuntimeOption.java │ │ │ └── setting/ │ │ │ ├── AllRequest.java │ │ │ ├── SettingPage.java │ │ │ └── SettingRequest.java │ │ ├── setting/ │ │ │ ├── Setting.java │ │ │ └── write/ │ │ │ ├── BaseRequest.java │ │ │ ├── LWriteRequest.java │ │ │ ├── LWriteRequestFactory.java │ │ │ ├── MWriteRequest.java │ │ │ ├── MWriteRequestFactory.java │ │ │ └── WriteRequest.java │ │ ├── source/ │ │ │ ├── ActivitySource.java │ │ │ ├── ContextSource.java │ │ │ ├── FragmentSource.java │ │ │ ├── Source.java │ │ │ ├── WrapperSource.java │ │ │ └── XFragmentSource.java │ │ ├── task/ │ │ │ ├── TaskExecutor.java │ │ │ └── WaitDialog.java │ │ └── util/ │ │ └── StringUtils.java │ └── res/ │ ├── drawable/ │ │ └── permission_shape_wait_background.xml │ ├── layout/ │ │ └── permission_dialog_wait.xml │ ├── values/ │ │ ├── dimens.xml │ │ ├── string.xml │ │ └── style.xml │ ├── values-v21/ │ │ └── style.xml │ ├── values-zh/ │ │ └── string.xml │ ├── values-zh-RHK/ │ │ └── string.xml │ ├── values-zh-RTW/ │ │ └── string.xml │ └── xml/ │ └── permission_file_paths.xml ├── sample/ │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ ├── assets/ │ │ └── android.apk │ ├── java/ │ │ └── com/ │ │ └── yanzhenjie/ │ │ └── permission/ │ │ └── sample/ │ │ ├── App.java │ │ ├── InstallRationale.java │ │ ├── NotifyListenerRationale.java │ │ ├── NotifyRationale.java │ │ ├── OverlayRationale.java │ │ ├── RuntimeRationale.java │ │ ├── WriteSettingRationale.java │ │ ├── app/ │ │ │ ├── MainActivity.java │ │ │ └── NotifyListenerService.java │ │ ├── util/ │ │ │ ├── FileUtils.java │ │ │ └── IOUtils.java │ │ └── widget/ │ │ ├── AlertWindow.java │ │ └── LauncherView.java │ └── res/ │ ├── layout/ │ │ ├── activity_main.xml │ │ └── window_launcher.xml │ └── values/ │ ├── array_string.xml │ ├── colors.xml │ ├── dimens.xml │ ├── strings.xml │ └── styles.xml └── settings.gradle