Fixed
Status Update
Comments
il...@google.com <il...@google.com>
il...@google.com <il...@google.com>
ap...@google.com <ap...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-master-dev
commit c60f33e229e31ab328ef6b59dab63b264954831c
Author: Alexandre Elias <aelias@google.com>
Date: Fri Jul 10 16:23:09 2020
Semantics no-op cleanups
Partly in response to lmr's broad code review, I did a pass of
superficial API/implementation cleanup. The main changes are:
- I changed each Boolean SemanticsProperty where false is equivalent to
not being present to take "Unit" instead. This is conceptually
clearer: it avoids questions like "can I cancel out a semantics from a
merged child by setting it to false?" Because "property = Unit" looks
weird, I also changed the style of these to "property()".
- I moved the Semantics id generator closer to where it's used, in
SemanticsModifierCore. I made it internal and an AtomicInt.
(Note that integer ids are heavily used in the Android
AccessibilityNodeInfo APIs so I can't simply remove them entirely.)
- I deleted dead code. Some examples include SemanticsHintOverrides,
a public API not connected to anything, and SemanticsPropertyKey
merge() open method which is never called. (In both cases I have
a different plan in mind for accessibility.)
Fixes: 145951226
Fixes: 145955412
Test: existing tests
Relnote: "Single-value semantics properties now use a calling style.
For example, 'semantics { hidden = true }' is now written as:
'semantics { hidden() }'."
Change-Id: Ic1afd12ea22c926babc9662f1804d80b33aa0cfc
M ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/benchmark/test/LayoutNodeModifierBenchmark.kt
M ui/ui-core/api/0.1.0-dev15.txt
M ui/ui-core/api/current.txt
M ui/ui-core/api/public_plus_experimental_0.1.0-dev15.txt
M ui/ui-core/api/public_plus_experimental_current.txt
M ui/ui-core/api/restricted_0.1.0-dev15.txt
M ui/ui-core/api/restricted_current.txt
M ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/graphics/vector/VectorTest.kt
M ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/semantics/SemanticsTests.kt
M ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AndroidActuals.kt
M ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AndroidComposeView.kt
M ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AndroidComposeViewAccessibilityDelegateCompat.kt
M ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AndroidPopup.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/core/Expect.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/core/semantics/SemanticsConfiguration.kt
D ui/ui-core/src/commonMain/kotlin/androidx/ui/core/semantics/SemanticsHintOverrides.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/core/semantics/SemanticsModifier.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/core/semantics/SemanticsNode.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/core/semantics/SemanticsOwner.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/core/semantics/SemanticsWrapper.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/semantics/SemanticsProperties.kt
M ui/ui-foundation/api/0.1.0-dev15.txt
M ui/ui-foundation/api/current.txt
M ui/ui-foundation/api/public_plus_experimental_0.1.0-dev15.txt
M ui/ui-foundation/api/public_plus_experimental_current.txt
M ui/ui-foundation/api/restricted_0.1.0-dev15.txt
M ui/ui-foundation/api/restricted_current.txt
M ui/ui-foundation/src/main/java/androidx/ui/foundation/Clickable.kt
M ui/ui-foundation/src/main/java/androidx/ui/foundation/Dialog.kt
M ui/ui-foundation/src/main/java/androidx/ui/foundation/Scroller.kt
M ui/ui-foundation/src/main/java/androidx/ui/foundation/selection/Selectable.kt
M ui/ui-foundation/src/main/java/androidx/ui/foundation/selection/Toggleable.kt
M ui/ui-foundation/src/main/java/androidx/ui/foundation/semantics/FoundationSemanticsProperties.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/ButtonTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/CardTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/CheckboxScreenshotTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/RadioButtonScreenshotTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/ScaffoldTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/SnackbarTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/SurfaceTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/ripple/RippleIndicationTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/textfield/TextFieldScreenshotTest.kt
M ui/ui-material/src/main/java/androidx/ui/material/AppBar.kt
M ui/ui-material/src/main/java/androidx/ui/material/TextFieldImpl.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/AssertsTest.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/CallSemanticsActionTest.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/ErrorMessagesTest.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/FindersTest.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/PrintToStringTest.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/ScrollToTest.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/TextActionsTest.kt
M ui/ui-test/src/main/java/androidx/ui/test/Actions.kt
M ui/ui-test/src/main/java/androidx/ui/test/Filters.kt
M ui/ui-text/api/0.1.0-dev15.txt
M ui/ui-text/api/current.txt
M ui/ui-text/api/public_plus_experimental_0.1.0-dev15.txt
M ui/ui-text/api/public_plus_experimental_current.txt
M ui/ui-text/api/restricted_0.1.0-dev15.txt
M ui/ui-text/api/restricted_current.txt
M ui/ui-text/src/commonMain/kotlin/androidx/ui/text/CoreTextField.kt
M ui/ui-text/src/commonMain/kotlin/androidx/ui/text/TextSemanticsProperties.kt
https://android-review.googlesource.com/1360099
Branch: androidx-master-dev
commit c60f33e229e31ab328ef6b59dab63b264954831c
Author: Alexandre Elias <aelias@google.com>
Date: Fri Jul 10 16:23:09 2020
Semantics no-op cleanups
Partly in response to lmr's broad code review, I did a pass of
superficial API/implementation cleanup. The main changes are:
- I changed each Boolean SemanticsProperty where false is equivalent to
not being present to take "Unit" instead. This is conceptually
clearer: it avoids questions like "can I cancel out a semantics from a
merged child by setting it to false?" Because "property = Unit" looks
weird, I also changed the style of these to "property()".
- I moved the Semantics id generator closer to where it's used, in
SemanticsModifierCore. I made it internal and an AtomicInt.
(Note that integer ids are heavily used in the Android
AccessibilityNodeInfo APIs so I can't simply remove them entirely.)
- I deleted dead code. Some examples include SemanticsHintOverrides,
a public API not connected to anything, and SemanticsPropertyKey
merge() open method which is never called. (In both cases I have
a different plan in mind for accessibility.)
Fixes: 145951226
Fixes: 145955412
Test: existing tests
Relnote: "Single-value semantics properties now use a calling style.
For example, 'semantics { hidden = true }' is now written as:
'semantics { hidden() }'."
Change-Id: Ic1afd12ea22c926babc9662f1804d80b33aa0cfc
M ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/benchmark/test/LayoutNodeModifierBenchmark.kt
M ui/ui-core/api/0.1.0-dev15.txt
M ui/ui-core/api/current.txt
M ui/ui-core/api/public_plus_experimental_0.1.0-dev15.txt
M ui/ui-core/api/public_plus_experimental_current.txt
M ui/ui-core/api/restricted_0.1.0-dev15.txt
M ui/ui-core/api/restricted_current.txt
M ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/graphics/vector/VectorTest.kt
M ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/semantics/SemanticsTests.kt
M ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AndroidActuals.kt
M ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AndroidComposeView.kt
M ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AndroidComposeViewAccessibilityDelegateCompat.kt
M ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AndroidPopup.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/core/Expect.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/core/semantics/SemanticsConfiguration.kt
D ui/ui-core/src/commonMain/kotlin/androidx/ui/core/semantics/SemanticsHintOverrides.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/core/semantics/SemanticsModifier.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/core/semantics/SemanticsNode.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/core/semantics/SemanticsOwner.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/core/semantics/SemanticsWrapper.kt
M ui/ui-core/src/commonMain/kotlin/androidx/ui/semantics/SemanticsProperties.kt
M ui/ui-foundation/api/0.1.0-dev15.txt
M ui/ui-foundation/api/current.txt
M ui/ui-foundation/api/public_plus_experimental_0.1.0-dev15.txt
M ui/ui-foundation/api/public_plus_experimental_current.txt
M ui/ui-foundation/api/restricted_0.1.0-dev15.txt
M ui/ui-foundation/api/restricted_current.txt
M ui/ui-foundation/src/main/java/androidx/ui/foundation/Clickable.kt
M ui/ui-foundation/src/main/java/androidx/ui/foundation/Dialog.kt
M ui/ui-foundation/src/main/java/androidx/ui/foundation/Scroller.kt
M ui/ui-foundation/src/main/java/androidx/ui/foundation/selection/Selectable.kt
M ui/ui-foundation/src/main/java/androidx/ui/foundation/selection/Toggleable.kt
M ui/ui-foundation/src/main/java/androidx/ui/foundation/semantics/FoundationSemanticsProperties.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/ButtonTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/CardTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/CheckboxScreenshotTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/RadioButtonScreenshotTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/ScaffoldTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/SnackbarTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/SurfaceTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/ripple/RippleIndicationTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/textfield/TextFieldScreenshotTest.kt
M ui/ui-material/src/main/java/androidx/ui/material/AppBar.kt
M ui/ui-material/src/main/java/androidx/ui/material/TextFieldImpl.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/AssertsTest.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/CallSemanticsActionTest.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/ErrorMessagesTest.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/FindersTest.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/PrintToStringTest.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/ScrollToTest.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/TextActionsTest.kt
M ui/ui-test/src/main/java/androidx/ui/test/Actions.kt
M ui/ui-test/src/main/java/androidx/ui/test/Filters.kt
M ui/ui-text/api/0.1.0-dev15.txt
M ui/ui-text/api/current.txt
M ui/ui-text/api/public_plus_experimental_0.1.0-dev15.txt
M ui/ui-text/api/public_plus_experimental_current.txt
M ui/ui-text/api/restricted_0.1.0-dev15.txt
M ui/ui-text/api/restricted_current.txt
M ui/ui-text/src/commonMain/kotlin/androidx/ui/text/CoreTextField.kt
M ui/ui-text/src/commonMain/kotlin/androidx/ui/text/TextSemanticsProperties.kt
ap...@google.com <ap...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-master-dev
commit ea3efb930d824d90fad541fd492096dbf463d701
Author: Jeremy Woods <jbwoods@google.com>
Date: Tue Apr 14 11:56:57 2020
Integrate NavDeepLinkRequest into NavController
Added methods to navigate by NavDeepLinkRequest. Developers can build a
NavDeepLinkRequest with uri, action, and mimetype and navigate to a
destination with a matching NavDeepLink.
Test: new NavInflaterTest tests
Bug: 136573074
Bug: 135334841
Change-Id: Icc6e43139e0ff099abda4e0d15d53c868d3a5a61
M navigation/navigation-common-ktx/api/2.3.0-alpha05.txt
M navigation/navigation-common-ktx/api/current.txt
M navigation/navigation-common-ktx/api/public_plus_experimental_2.3.0-alpha05.txt
M navigation/navigation-common-ktx/api/public_plus_experimental_current.txt
M navigation/navigation-common-ktx/api/restricted_2.3.0-alpha05.txt
M navigation/navigation-common-ktx/api/restricted_current.txt
M navigation/navigation-common-ktx/src/main/java/androidx/navigation/NavDestinationBuilder.kt
M navigation/navigation-common/api/2.3.0-alpha05.txt
M navigation/navigation-common/api/current.txt
M navigation/navigation-common/api/public_plus_experimental_2.3.0-alpha05.txt
M navigation/navigation-common/api/public_plus_experimental_current.txt
M navigation/navigation-common/api/restricted_2.3.0-alpha05.txt
M navigation/navigation-common/api/restricted_current.txt
M navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDestinationAndroidTest.kt
A navigation/navigation-common/src/androidTest/java/androidx/navigation/test/NavDestination.kt
M navigation/navigation-common/src/main/java/androidx/navigation/NavDeepLink.java
M navigation/navigation-common/src/main/java/androidx/navigation/NavDeepLinkRequest.java
M navigation/navigation-common/src/main/java/androidx/navigation/NavDestination.java
M navigation/navigation-common/src/main/java/androidx/navigation/NavGraph.java
M navigation/navigation-common/src/main/res/values/attrs.xml
M navigation/navigation-runtime/api/2.3.0-alpha05.txt
M navigation/navigation-runtime/api/current.txt
M navigation/navigation-runtime/api/public_plus_experimental_2.3.0-alpha05.txt
M navigation/navigation-runtime/api/public_plus_experimental_current.txt
M navigation/navigation-runtime/api/restricted_2.3.0-alpha05.txt
M navigation/navigation-runtime/api/restricted_current.txt
M navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavControllerTest.kt
M navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavInflaterTest.kt
A navigation/navigation-runtime/src/androidTest/res/navigation/nav_deeplink.xml
M navigation/navigation-runtime/src/androidTest/res/navigation/nav_simple.xml
M navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.java
M navigation/navigation-runtime/src/main/java/androidx/navigation/NavInflater.java
https://android-review.googlesource.com/1279632
Branch: androidx-master-dev
commit ea3efb930d824d90fad541fd492096dbf463d701
Author: Jeremy Woods <jbwoods@google.com>
Date: Tue Apr 14 11:56:57 2020
Integrate NavDeepLinkRequest into NavController
Added methods to navigate by NavDeepLinkRequest. Developers can build a
NavDeepLinkRequest with uri, action, and mimetype and navigate to a
destination with a matching NavDeepLink.
Test: new NavInflaterTest tests
Bug: 136573074
Bug: 135334841
Change-Id: Icc6e43139e0ff099abda4e0d15d53c868d3a5a61
M navigation/navigation-common-ktx/api/2.3.0-alpha05.txt
M navigation/navigation-common-ktx/api/current.txt
M navigation/navigation-common-ktx/api/public_plus_experimental_2.3.0-alpha05.txt
M navigation/navigation-common-ktx/api/public_plus_experimental_current.txt
M navigation/navigation-common-ktx/api/restricted_2.3.0-alpha05.txt
M navigation/navigation-common-ktx/api/restricted_current.txt
M navigation/navigation-common-ktx/src/main/java/androidx/navigation/NavDestinationBuilder.kt
M navigation/navigation-common/api/2.3.0-alpha05.txt
M navigation/navigation-common/api/current.txt
M navigation/navigation-common/api/public_plus_experimental_2.3.0-alpha05.txt
M navigation/navigation-common/api/public_plus_experimental_current.txt
M navigation/navigation-common/api/restricted_2.3.0-alpha05.txt
M navigation/navigation-common/api/restricted_current.txt
M navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDestinationAndroidTest.kt
A navigation/navigation-common/src/androidTest/java/androidx/navigation/test/NavDestination.kt
M navigation/navigation-common/src/main/java/androidx/navigation/NavDeepLink.java
M navigation/navigation-common/src/main/java/androidx/navigation/NavDeepLinkRequest.java
M navigation/navigation-common/src/main/java/androidx/navigation/NavDestination.java
M navigation/navigation-common/src/main/java/androidx/navigation/NavGraph.java
M navigation/navigation-common/src/main/res/values/attrs.xml
M navigation/navigation-runtime/api/2.3.0-alpha05.txt
M navigation/navigation-runtime/api/current.txt
M navigation/navigation-runtime/api/public_plus_experimental_2.3.0-alpha05.txt
M navigation/navigation-runtime/api/public_plus_experimental_current.txt
M navigation/navigation-runtime/api/restricted_2.3.0-alpha05.txt
M navigation/navigation-runtime/api/restricted_current.txt
M navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavControllerTest.kt
M navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavInflaterTest.kt
A navigation/navigation-runtime/src/androidTest/res/navigation/nav_deeplink.xml
M navigation/navigation-runtime/src/androidTest/res/navigation/nav_simple.xml
M navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.java
M navigation/navigation-runtime/src/main/java/androidx/navigation/NavInflater.java
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 1b403fbbb5085738d7fd2f203ecd3df43523f502
Author: Jeremy Woods <jbwoods@google.com>
Date: Mon Apr 06 17:56:22 2020
Add action and mimetype support for NavDeepLink
Currently only Uris are supported for navigation deeplinks. We should
add support for intent actions and mimetypes. This will allow for
additional flexibility when using navigation.
This change makes NavDeepLink public and adds a complimentary
NavDeepLinkRequest class.
Test: NavDeepLinkActionTest and NavDeepLinkMimeTypeTest
Bug: 136573074
Bug: 135334841
Change-Id: I2cbebdd314e25254dd3a713490b02d07ab8dacd8
M navigation/navigation-common/api/2.3.0-alpha05.txt
M navigation/navigation-common/api/current.txt
M navigation/navigation-common/api/public_plus_experimental_2.3.0-alpha05.txt
M navigation/navigation-common/api/public_plus_experimental_current.txt
M navigation/navigation-common/api/restricted_2.3.0-alpha05.txt
M navigation/navigation-common/api/restricted_current.txt
A navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkActionTest.kt
A navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkMimeTypeTest.kt
M navigation/navigation-common/src/main/java/androidx/navigation/NavDeepLink.java
A navigation/navigation-common/src/main/java/androidx/navigation/NavDeepLinkRequest.java
https://android-review.googlesource.com/1279592
Branch: androidx-master-dev
commit 1b403fbbb5085738d7fd2f203ecd3df43523f502
Author: Jeremy Woods <jbwoods@google.com>
Date: Mon Apr 06 17:56:22 2020
Add action and mimetype support for NavDeepLink
Currently only Uris are supported for navigation deeplinks. We should
add support for intent actions and mimetypes. This will allow for
additional flexibility when using navigation.
This change makes NavDeepLink public and adds a complimentary
NavDeepLinkRequest class.
Test: NavDeepLinkActionTest and NavDeepLinkMimeTypeTest
Bug: 136573074
Bug: 135334841
Change-Id: I2cbebdd314e25254dd3a713490b02d07ab8dacd8
M navigation/navigation-common/api/2.3.0-alpha05.txt
M navigation/navigation-common/api/current.txt
M navigation/navigation-common/api/public_plus_experimental_2.3.0-alpha05.txt
M navigation/navigation-common/api/public_plus_experimental_current.txt
M navigation/navigation-common/api/restricted_2.3.0-alpha05.txt
M navigation/navigation-common/api/restricted_current.txt
A navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkActionTest.kt
A navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkMimeTypeTest.kt
M navigation/navigation-common/src/main/java/androidx/navigation/NavDeepLink.java
A navigation/navigation-common/src/main/java/androidx/navigation/NavDeepLinkRequest.java
jb...@google.com <jb...@google.com> #5
This has been added internally and will be available in the Navigation 2.3.0-alpha06 release.
m....@gmail.com <m....@gmail.com> #6
Thank you for finally implementing this!
il...@google.com <il...@google.com> #7
Note that this bug only covers the work on the Navigation library side. We are working with the Android Studio team to add support to the Navigation Editor and to
Until those are completed, you won't see the mime type in the visual editor and generated <intent-filter>
elements won't include your mime type in its <data>
element. You'll want to define the app:mimeType
for your <deeplink>
in XML and add an <intent-filter>
manually to your manifest, respectively.
Description
Is it possible to use deep link in navigation component witn intent filer like content// or file//? For example: content://pl.solidexplorer2.files/storage/emulated/0/Download/test.txt. I think it will be helpful for apps with navigation component that should work with content provided by other apps (like file manager). I tried this: 1) Created intent filter for activity by myself:<intent-filter
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name">
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.EDIT" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="*"
android:mimeType="*/*"
android:pathPattern=".*\\.txt"
android:scheme="content" />
</intent-filter>
2) Added deep link to my navigation graph:
<deepLink
android:id="@+id/deepLink"
app:uri="{path}.txt" />
But it seems not work. Intent delivered succesfully to activtiy and I can use it but navigaion component ignore it (I used logcat to print uri from intent)