Fixed
Status Update
Comments
su...@google.com <su...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 3582a85010eea5f6676c7ab596e5f019b4ec794f
Author: Ian Lake <ilake@google.com>
Date: Thu Nov 15 13:20:39 2018
Expand ActivityNavigator.Extras for passing flags
Instead of just being able to pass an instance
of ActivityOptionsCompat, move ActivityNavigator.Extras
to a Builder pattern and add the ability to add
any set of Intent.FLAG_ACTIVITY_ flags at runtime.
Test: updated tests
BUG: 119628354
Change-Id: If58c80ac4eafd630cb982762ea7fa802dd16ec92
M navigation/integration-tests/testapp/src/main/java/androidx/navigation/testapp/NavigationActivity.kt
M navigation/runtime/ktx/build.gradle
A navigation/runtime/ktx/src/androidTest/java/androidx/navigation/ActivityNavigatorExtrasTest.kt
A navigation/runtime/ktx/src/main/java/androidx/navigation/ActivityNavigatorExtras.kt
M navigation/runtime/src/androidTest/java/androidx/navigation/ActivityNavigatorTest.kt
M navigation/runtime/src/main/java/androidx/navigation/ActivityNavigator.java
https://android-review.googlesource.com/828140
https://goto.google.com/android-sha1/3582a85010eea5f6676c7ab596e5f019b4ec794f
Branch: androidx-master-dev
commit 3582a85010eea5f6676c7ab596e5f019b4ec794f
Author: Ian Lake <ilake@google.com>
Date: Thu Nov 15 13:20:39 2018
Expand ActivityNavigator.Extras for passing flags
Instead of just being able to pass an instance
of ActivityOptionsCompat, move ActivityNavigator.Extras
to a Builder pattern and add the ability to add
any set of Intent.FLAG_ACTIVITY_ flags at runtime.
Test: updated tests
BUG: 119628354
Change-Id: If58c80ac4eafd630cb982762ea7fa802dd16ec92
M navigation/integration-tests/testapp/src/main/java/androidx/navigation/testapp/NavigationActivity.kt
M navigation/runtime/ktx/build.gradle
A navigation/runtime/ktx/src/androidTest/java/androidx/navigation/ActivityNavigatorExtrasTest.kt
A navigation/runtime/ktx/src/main/java/androidx/navigation/ActivityNavigatorExtras.kt
M navigation/runtime/src/androidTest/java/androidx/navigation/ActivityNavigatorTest.kt
M navigation/runtime/src/main/java/androidx/navigation/ActivityNavigator.java
ch...@gmail.com <ch...@gmail.com> #3
Project: platform/frameworks/support
Branch: androidx-master-dev
commit a62e0621853c18be1d07cc8fba078d92a424e24a
Author: Ian Lake <ilake@google.com>
Date: Thu Nov 15 13:50:59 2018
Remove deprecated clearTask and launchDocument flags
Test: remaining tests still pass
BUG: 119628354
Change-Id: Ic411df16dd3a21351bbd7bac367ed98f9e66025a
M navigation/common/ktx/src/androidTest/java/androidx/navigation/NavOptionsBuilderTest.kt
M navigation/common/ktx/src/main/java/androidx/navigation/NavOptionsBuilder.kt
M navigation/common/src/main/java/androidx/navigation/NavOptions.java
M navigation/common/src/main/res/values/attrs.xml
M navigation/fragment/src/main/java/androidx/navigation/fragment/FragmentNavigator.java
M navigation/runtime/src/main/java/androidx/navigation/NavController.java
M navigation/runtime/src/main/java/androidx/navigation/NavInflater.java
https://android-review.googlesource.com/828160
https://goto.google.com/android-sha1/a62e0621853c18be1d07cc8fba078d92a424e24a
Branch: androidx-master-dev
commit a62e0621853c18be1d07cc8fba078d92a424e24a
Author: Ian Lake <ilake@google.com>
Date: Thu Nov 15 13:50:59 2018
Remove deprecated clearTask and launchDocument flags
Test: remaining tests still pass
BUG: 119628354
Change-Id: Ic411df16dd3a21351bbd7bac367ed98f9e66025a
M navigation/common/ktx/src/androidTest/java/androidx/navigation/NavOptionsBuilderTest.kt
M navigation/common/ktx/src/main/java/androidx/navigation/NavOptionsBuilder.kt
M navigation/common/src/main/java/androidx/navigation/NavOptions.java
M navigation/common/src/main/res/values/attrs.xml
M navigation/fragment/src/main/java/androidx/navigation/fragment/FragmentNavigator.java
M navigation/runtime/src/main/java/androidx/navigation/NavController.java
M navigation/runtime/src/main/java/androidx/navigation/NavInflater.java
[Deleted User] <[Deleted User]> #4
If the app:clearTask is removed, how can i do when i have a splash and guide page ?
The first page is splash and wen enter the main page, the splash should be removed,or when back from the main,it will go to splash page,that is total wrong.
The first page is splash and wen enter the main page, the splash should be removed,or when back from the main,it will go to splash page,that is total wrong.
su...@google.com <su...@google.com> #6
At current now,there is two ways to do the above。
One:
In the NavHostFragment's Activity, override the onBackPress() method,adn if the current NavDestination is MainFragment then just finish the Activity.
@Override
public void onBackPressed() {
NavDestination navDestination = mNavController.getCurrentDestination();
if (navDestination != null
&& navDestination.getId() == R.id.mainFragment) {
finish();
return;
}
super.onBackPressed();
}
Two:
Set the to MainFragment action in Navigation_graph app:popUpTo="@id/nav_graph" and app:popUpToInclusive="true"
<?xml version="1.0" encoding="utf-8"?>
<navigation
android:id="@+id/nav_graph"
xmlns:android="http://schemas.android.com/apk/res/android "
xmlns:app="http://schemas.android.com/apk/res-auto "
xmlns:tools="http://schemas.android.com/tools "
app:startDestination="@id/splashFragment">
<fragment
android:id="@+id/splashFragment"
android:name="com.ihuman.storydemo.fragment.splash.SplashFragment"
android:label="fragment_splash"
tools:layout="@layout/fragment_splash">
<action
android:id="@+id/action_splashFragment_to_mainFragment"
app:destination="@id/mainFragment"
app:enterAnim="@anim/anim_right_in"
app:exitAnim="@anim/anim_left_out"
app:popEnterAnim="@anim/anim_left_in"
app:popExitAnim="@anim/anim_right_out"
app:popUpTo="@id/nav_graph"
app:popUpToInclusive="true"/>
<action
android:id="@+id/action_splashFragment_to_guideFragment"
app:destination="@id/guideFragment"
app:enterAnim="@anim/anim_right_in"
app:exitAnim="@anim/anim_left_out"
app:popEnterAnim="@anim/anim_left_in"
app:popExitAnim="@anim/anim_right_out"
app:popUpTo="@id/nav_graph"
app:popUpToInclusive="true"/>
</fragment>
<fragment
android:id="@+id/guideFragment"
android:name="com.ihuman.storydemo.fragment.guide.GuideFragment"
android:label="GuideFragment"
tools:layout="@layout/fragment_guide">
<action
android:id="@+id/action_guideFragment_to_mainFragment"
app:destination="@id/mainFragment"
app:enterAnim="@anim/anim_right_in"
app:exitAnim="@anim/anim_left_out"
app:popEnterAnim="@anim/anim_left_in"
app:popExitAnim="@anim/anim_right_out"
app:popUpTo="@id/nav_graph"
app:popUpToInclusive="true"/>
</fragment>
<fragment
android:id="@+id/mainFragment"
android:name="com.ihuman.storydemo.fragment.main.MainFragment"
android:label="fragment_main"
tools:layout="@layout/fragment_main">
</fragment>
</navigation>
Wish for help!
One:
In the NavHostFragment's Activity, override the onBackPress() method,adn if the current NavDestination is MainFragment then just finish the Activity.
@Override
public void onBackPressed() {
NavDestination navDestination = mNavController.getCurrentDestination();
if (navDestination != null
&& navDestination.getId() == R.id.mainFragment) {
finish();
return;
}
super.onBackPressed();
}
Two:
Set the to MainFragment action in Navigation_graph app:popUpTo="@id/nav_graph" and app:popUpToInclusive="true"
<?xml version="1.0" encoding="utf-8"?>
<navigation
android:id="@+id/nav_graph"
xmlns:android="
xmlns:app="
xmlns:tools="
app:startDestination="@id/splashFragment">
<fragment
android:id="@+id/splashFragment"
android:name="com.ihuman.storydemo.fragment.splash.SplashFragment"
android:label="fragment_splash"
tools:layout="@layout/fragment_splash">
<action
android:id="@+id/action_splashFragment_to_mainFragment"
app:destination="@id/mainFragment"
app:enterAnim="@anim/anim_right_in"
app:exitAnim="@anim/anim_left_out"
app:popEnterAnim="@anim/anim_left_in"
app:popExitAnim="@anim/anim_right_out"
app:popUpTo="@id/nav_graph"
app:popUpToInclusive="true"/>
<action
android:id="@+id/action_splashFragment_to_guideFragment"
app:destination="@id/guideFragment"
app:enterAnim="@anim/anim_right_in"
app:exitAnim="@anim/anim_left_out"
app:popEnterAnim="@anim/anim_left_in"
app:popExitAnim="@anim/anim_right_out"
app:popUpTo="@id/nav_graph"
app:popUpToInclusive="true"/>
</fragment>
<fragment
android:id="@+id/guideFragment"
android:name="com.ihuman.storydemo.fragment.guide.GuideFragment"
android:label="GuideFragment"
tools:layout="@layout/fragment_guide">
<action
android:id="@+id/action_guideFragment_to_mainFragment"
app:destination="@id/mainFragment"
app:enterAnim="@anim/anim_right_in"
app:exitAnim="@anim/anim_left_out"
app:popEnterAnim="@anim/anim_left_in"
app:popExitAnim="@anim/anim_right_out"
app:popUpTo="@id/nav_graph"
app:popUpToInclusive="true"/>
</fragment>
<fragment
android:id="@+id/mainFragment"
android:name="com.ihuman.storydemo.fragment.main.MainFragment"
android:label="fragment_main"
tools:layout="@layout/fragment_main">
</fragment>
</navigation>
Wish for help!
ch...@instacart.com <ch...@instacart.com> #8
Thanks Sumir!
Description
Version used: 1.0.0-alpha12
After upgrading to alpha12, all of my Workers written in Kotlin (and CoroutineWorkers, FWIW), complain about the 'Result' return value with an error that says: "One type argument expected for class Result<out T>"
It appears that the Kotlin standard library contains a public inline Result class already:
The Kotlin Result class is automatically available in every file, so Android Studio (3.2.1) doesn't offer to import the androidx.work.Result class, causing the error since it assumes you want to use the already available kotlin Result.
There were two workarounds, neither very friendly:
1) Use the fully qualified androidx.work.Result
2) Manually adding the androidx.work.Result import statement
Note that:
- Using the fully qualified name, then using the Android Studio option to add import did not work
- Removing the doWork method entirely and using Android Studio's quick fix to implement the method did add an import to androidx.work.Result, so new classes would avoid running into this issue.