├── .buildscript └── configure-maven-publish.gradle ├── .github ├── CODEOWNERS ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md └── workflows │ └── android.yml ├── .gitignore ├── CHANGELOG.md ├── LICENSE.md ├── README.md ├── RELEASING.md ├── assets ├── logo.psd └── logo_512.png ├── curtains ├── api │ └── curtains.api ├── build.gradle.kts ├── curtains-proguard.pro ├── gradle.properties └── src │ ├── androidTest │ ├── AndroidManifest.xml │ ├── java │ │ └── curtains │ │ │ └── test │ │ │ ├── CurtainsRootViewListenersTest.kt │ │ │ ├── CurtainsRootViewsTest.kt │ │ │ ├── KeyEventInterceptorsTest.kt │ │ │ ├── OnContentChangedListenersTest.kt │ │ │ ├── OnDecorViewReadyTest.kt │ │ │ ├── OnNextDrawTest.kt │ │ │ ├── OnWindowFocusChangedListenersTest.kt │ │ │ ├── PullWindowFromViewTest.kt │ │ │ ├── TouchEventInterceptorsTest.kt │ │ │ ├── WindowAttachCountTest.kt │ │ │ ├── WindowTypeTest.kt │ │ │ ├── WrappedCallbackTest.kt │ │ │ ├── internal │ │ │ └── WindowCallbackNullabilityTest.kt │ │ │ └── utilities │ │ │ ├── ActivityLifecycleCallbacksAdapter.kt │ │ │ ├── BlockingQueueSubject.kt │ │ │ ├── CountDownLatchSubject.kt │ │ │ ├── HasActivityScenarioRule.kt │ │ │ ├── TestActivity.kt │ │ │ ├── TestCompatActivity.kt │ │ │ └── TestUtils.kt │ └── res │ │ └── layout │ │ └── test.xml │ └── main │ ├── AndroidManifest.xml │ └── java │ ├── android │ └── view │ │ ├── JavaViewSpy.java │ │ └── ViewSpyInternal.kt │ └── curtains │ ├── Curtains.kt │ ├── DispatchState.kt │ ├── Listeners.kt │ ├── WindowType.kt │ ├── Windows.kt │ └── internal │ ├── CurrentFrameMetricsListener.kt │ ├── FixedWindowCallback.java │ ├── Handlers.kt │ ├── NextDrawListener.kt │ ├── RootViewsSpy.kt │ ├── WindowCallbackWrapper.kt │ ├── WindowListeners.kt │ ├── WindowManagerSpy.kt │ └── WindowSpy.kt ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── sample ├── build.gradle.kts └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── squareup │ │ └── curtains │ │ └── sample │ │ ├── ExampleApplication.kt │ │ └── MainActivity.kt │ └── res │ ├── drawable │ └── logo.png │ ├── layout │ └── main.xml │ ├── mipmap-hdpi │ └── ic_launcher.png │ ├── mipmap-mdpi │ └── ic_launcher.png │ ├── mipmap-xhdpi │ └── ic_launcher.png │ ├── mipmap-xxhdpi │ └── ic_launcher.png │ └── mipmap-xxxhdpi │ └── ic_launcher.png └── settings.gradle.kts /.buildscript/configure-maven-publish.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/.buildscript/configure-maven-publish.gradle -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/.github/CODEOWNERS -------------------------------------------------------------------------------- /.github/CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/.github/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/.github/CONTRIBUTING.md -------------------------------------------------------------------------------- /.github/workflows/android.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/.github/workflows/android.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/.gitignore -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/LICENSE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/README.md -------------------------------------------------------------------------------- /RELEASING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/RELEASING.md -------------------------------------------------------------------------------- /assets/logo.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/assets/logo.psd -------------------------------------------------------------------------------- /assets/logo_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/assets/logo_512.png -------------------------------------------------------------------------------- /curtains/api/curtains.api: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/api/curtains.api -------------------------------------------------------------------------------- /curtains/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/build.gradle.kts -------------------------------------------------------------------------------- /curtains/curtains-proguard.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/curtains-proguard.pro -------------------------------------------------------------------------------- /curtains/gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/gradle.properties -------------------------------------------------------------------------------- /curtains/src/androidTest/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/androidTest/AndroidManifest.xml -------------------------------------------------------------------------------- /curtains/src/androidTest/java/curtains/test/CurtainsRootViewListenersTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/androidTest/java/curtains/test/CurtainsRootViewListenersTest.kt -------------------------------------------------------------------------------- /curtains/src/androidTest/java/curtains/test/CurtainsRootViewsTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/androidTest/java/curtains/test/CurtainsRootViewsTest.kt -------------------------------------------------------------------------------- /curtains/src/androidTest/java/curtains/test/KeyEventInterceptorsTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/androidTest/java/curtains/test/KeyEventInterceptorsTest.kt -------------------------------------------------------------------------------- /curtains/src/androidTest/java/curtains/test/OnContentChangedListenersTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/androidTest/java/curtains/test/OnContentChangedListenersTest.kt -------------------------------------------------------------------------------- /curtains/src/androidTest/java/curtains/test/OnDecorViewReadyTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/androidTest/java/curtains/test/OnDecorViewReadyTest.kt -------------------------------------------------------------------------------- /curtains/src/androidTest/java/curtains/test/OnNextDrawTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/androidTest/java/curtains/test/OnNextDrawTest.kt -------------------------------------------------------------------------------- /curtains/src/androidTest/java/curtains/test/OnWindowFocusChangedListenersTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/androidTest/java/curtains/test/OnWindowFocusChangedListenersTest.kt -------------------------------------------------------------------------------- /curtains/src/androidTest/java/curtains/test/PullWindowFromViewTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/androidTest/java/curtains/test/PullWindowFromViewTest.kt -------------------------------------------------------------------------------- /curtains/src/androidTest/java/curtains/test/TouchEventInterceptorsTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/androidTest/java/curtains/test/TouchEventInterceptorsTest.kt -------------------------------------------------------------------------------- /curtains/src/androidTest/java/curtains/test/WindowAttachCountTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/androidTest/java/curtains/test/WindowAttachCountTest.kt -------------------------------------------------------------------------------- /curtains/src/androidTest/java/curtains/test/WindowTypeTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/androidTest/java/curtains/test/WindowTypeTest.kt -------------------------------------------------------------------------------- /curtains/src/androidTest/java/curtains/test/WrappedCallbackTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/androidTest/java/curtains/test/WrappedCallbackTest.kt -------------------------------------------------------------------------------- /curtains/src/androidTest/java/curtains/test/internal/WindowCallbackNullabilityTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/androidTest/java/curtains/test/internal/WindowCallbackNullabilityTest.kt -------------------------------------------------------------------------------- /curtains/src/androidTest/java/curtains/test/utilities/ActivityLifecycleCallbacksAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/androidTest/java/curtains/test/utilities/ActivityLifecycleCallbacksAdapter.kt -------------------------------------------------------------------------------- /curtains/src/androidTest/java/curtains/test/utilities/BlockingQueueSubject.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/androidTest/java/curtains/test/utilities/BlockingQueueSubject.kt -------------------------------------------------------------------------------- /curtains/src/androidTest/java/curtains/test/utilities/CountDownLatchSubject.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/androidTest/java/curtains/test/utilities/CountDownLatchSubject.kt -------------------------------------------------------------------------------- /curtains/src/androidTest/java/curtains/test/utilities/HasActivityScenarioRule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/androidTest/java/curtains/test/utilities/HasActivityScenarioRule.kt -------------------------------------------------------------------------------- /curtains/src/androidTest/java/curtains/test/utilities/TestActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/androidTest/java/curtains/test/utilities/TestActivity.kt -------------------------------------------------------------------------------- /curtains/src/androidTest/java/curtains/test/utilities/TestCompatActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/androidTest/java/curtains/test/utilities/TestCompatActivity.kt -------------------------------------------------------------------------------- /curtains/src/androidTest/java/curtains/test/utilities/TestUtils.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/androidTest/java/curtains/test/utilities/TestUtils.kt -------------------------------------------------------------------------------- /curtains/src/androidTest/res/layout/test.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/androidTest/res/layout/test.xml -------------------------------------------------------------------------------- /curtains/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /curtains/src/main/java/android/view/JavaViewSpy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/main/java/android/view/JavaViewSpy.java -------------------------------------------------------------------------------- /curtains/src/main/java/android/view/ViewSpyInternal.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/main/java/android/view/ViewSpyInternal.kt -------------------------------------------------------------------------------- /curtains/src/main/java/curtains/Curtains.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/main/java/curtains/Curtains.kt -------------------------------------------------------------------------------- /curtains/src/main/java/curtains/DispatchState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/main/java/curtains/DispatchState.kt -------------------------------------------------------------------------------- /curtains/src/main/java/curtains/Listeners.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/main/java/curtains/Listeners.kt -------------------------------------------------------------------------------- /curtains/src/main/java/curtains/WindowType.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/main/java/curtains/WindowType.kt -------------------------------------------------------------------------------- /curtains/src/main/java/curtains/Windows.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/main/java/curtains/Windows.kt -------------------------------------------------------------------------------- /curtains/src/main/java/curtains/internal/CurrentFrameMetricsListener.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/main/java/curtains/internal/CurrentFrameMetricsListener.kt -------------------------------------------------------------------------------- /curtains/src/main/java/curtains/internal/FixedWindowCallback.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/main/java/curtains/internal/FixedWindowCallback.java -------------------------------------------------------------------------------- /curtains/src/main/java/curtains/internal/Handlers.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/main/java/curtains/internal/Handlers.kt -------------------------------------------------------------------------------- /curtains/src/main/java/curtains/internal/NextDrawListener.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/main/java/curtains/internal/NextDrawListener.kt -------------------------------------------------------------------------------- /curtains/src/main/java/curtains/internal/RootViewsSpy.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/main/java/curtains/internal/RootViewsSpy.kt -------------------------------------------------------------------------------- /curtains/src/main/java/curtains/internal/WindowCallbackWrapper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/main/java/curtains/internal/WindowCallbackWrapper.kt -------------------------------------------------------------------------------- /curtains/src/main/java/curtains/internal/WindowListeners.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/main/java/curtains/internal/WindowListeners.kt -------------------------------------------------------------------------------- /curtains/src/main/java/curtains/internal/WindowManagerSpy.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/main/java/curtains/internal/WindowManagerSpy.kt -------------------------------------------------------------------------------- /curtains/src/main/java/curtains/internal/WindowSpy.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/curtains/src/main/java/curtains/internal/WindowSpy.kt -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/gradlew.bat -------------------------------------------------------------------------------- /sample/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/sample/build.gradle.kts -------------------------------------------------------------------------------- /sample/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/sample/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /sample/src/main/java/com/squareup/curtains/sample/ExampleApplication.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/sample/src/main/java/com/squareup/curtains/sample/ExampleApplication.kt -------------------------------------------------------------------------------- /sample/src/main/java/com/squareup/curtains/sample/MainActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/sample/src/main/java/com/squareup/curtains/sample/MainActivity.kt -------------------------------------------------------------------------------- /sample/src/main/res/drawable/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/sample/src/main/res/drawable/logo.png -------------------------------------------------------------------------------- /sample/src/main/res/layout/main.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/sample/src/main/res/layout/main.xml -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/sample/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/sample/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/sample/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/sample/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/sample/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/square/curtains/HEAD/settings.gradle.kts --------------------------------------------------------------------------------