Fixed
Status Update
Comments
su...@google.com <su...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-master-dev
commit f85de8f1f4a1f025bcd6ae566c9ce3b4c8f1f06c
Author: Daniel Santiago Rivera <danysantiago@google.com>
Date: Thu Jan 24 16:28:34 2019
Use fully qualified ClassName for action method return names.
Using complete ClassName for action return types helps child direction
classes correctly generate their inherited action method. More precisely
it allows for deep nested direction classes to correctly import the
inner NavDirection class generated in a grandfather direction class.
Bug: 123347762
Test: ./gradlew navigation:navigation-safe-args-gradle-plugin:test \
navigation:navigation-safe-args-generator:test
Change-Id: I62a0b10b33bfe496d930782a7ef0d7269a75df96
M navigation/safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/java/JavaNavWriter.kt
M navigation/safe-args-generator/src/tests/test-data/expected/nav_generator_test/java/nested_overridden_action/InnerSettingsDirections.java
M navigation/safe-args-generator/src/tests/test-data/expected/nav_generator_test/java/nested_overridden_action/InnerSettingsFragmentDirections.java
M navigation/safe-args-generator/src/tests/test-data/expected/nav_generator_test/java/nested_overridden_action/SettingsDirections.java
M navigation/safe-args-generator/src/tests/test-data/expected/nav_generator_test/java/nested_overridden_action/SettingsFragmentDirections.java
M navigation/safe-args-generator/src/tests/test-data/expected/nav_generator_test/kotlin/nested_overridden_action/InnerSettingsDirections.kt
M navigation/safe-args-generator/src/tests/test-data/expected/nav_generator_test/kotlin/nested_overridden_action/InnerSettingsFragmentDirections.kt
M navigation/safe-args-generator/src/tests/test-data/expected/nav_generator_test/kotlin/nested_overridden_action/SettingsDirections.kt
M navigation/safe-args-generator/src/tests/test-data/expected/nav_generator_test/kotlin/nested_overridden_action/SettingsFragmentDirections.kt
M navigation/safe-args-generator/src/tests/test-data/nested_overridden_action_test.xml
M navigation/safe-args-gradle-plugin/src/test/test-data/app-project-kotlin/src/main/res/navigation/nav_nested_test.xml
M navigation/safe-args-gradle-plugin/src/test/test-data/app-project/src/main/res/navigation/nav_nested_test.xml
https://android-review.googlesource.com/885199
https://goto.google.com/android-sha1/f85de8f1f4a1f025bcd6ae566c9ce3b4c8f1f06c
Branch: androidx-master-dev
commit f85de8f1f4a1f025bcd6ae566c9ce3b4c8f1f06c
Author: Daniel Santiago Rivera <danysantiago@google.com>
Date: Thu Jan 24 16:28:34 2019
Use fully qualified ClassName for action method return names.
Using complete ClassName for action return types helps child direction
classes correctly generate their inherited action method. More precisely
it allows for deep nested direction classes to correctly import the
inner NavDirection class generated in a grandfather direction class.
Bug: 123347762
Test: ./gradlew navigation:navigation-safe-args-gradle-plugin:test \
navigation:navigation-safe-args-generator:test
Change-Id: I62a0b10b33bfe496d930782a7ef0d7269a75df96
M navigation/safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/java/JavaNavWriter.kt
M navigation/safe-args-generator/src/tests/test-data/expected/nav_generator_test/java/nested_overridden_action/InnerSettingsDirections.java
M navigation/safe-args-generator/src/tests/test-data/expected/nav_generator_test/java/nested_overridden_action/InnerSettingsFragmentDirections.java
M navigation/safe-args-generator/src/tests/test-data/expected/nav_generator_test/java/nested_overridden_action/SettingsDirections.java
M navigation/safe-args-generator/src/tests/test-data/expected/nav_generator_test/java/nested_overridden_action/SettingsFragmentDirections.java
M navigation/safe-args-generator/src/tests/test-data/expected/nav_generator_test/kotlin/nested_overridden_action/InnerSettingsDirections.kt
M navigation/safe-args-generator/src/tests/test-data/expected/nav_generator_test/kotlin/nested_overridden_action/InnerSettingsFragmentDirections.kt
M navigation/safe-args-generator/src/tests/test-data/expected/nav_generator_test/kotlin/nested_overridden_action/SettingsDirections.kt
M navigation/safe-args-generator/src/tests/test-data/expected/nav_generator_test/kotlin/nested_overridden_action/SettingsFragmentDirections.kt
M navigation/safe-args-generator/src/tests/test-data/nested_overridden_action_test.xml
M navigation/safe-args-gradle-plugin/src/test/test-data/app-project-kotlin/src/main/res/navigation/nav_nested_test.xml
M navigation/safe-args-gradle-plugin/src/test/test-data/app-project/src/main/res/navigation/nav_nested_test.xml
ra...@google.com <ra...@google.com> #3
This has been fixed internally and will be available in the next release.
Note that the Kotlin Safe Args plugin (using apply plugin: 'androidx.navigation.safeargs.kotlin') is not affected by this bug, so if you're in a Kotlin only project, consider switching to that as a workaround.
Note that when fixing this issue, we did find another issue, filed ashttps://issuetracker.google.com/issues/123374541 that *does* affect the Kotlin code gen specifically when using a argument name with the same name as the enum class you've set as the default value (in your example app, the android:name="ToolbarType"). Feel free to star that issue to track progress on that issue and note the workaround listed there).
Note that the Kotlin Safe Args plugin (using apply plugin: 'androidx.navigation.safeargs.kotlin') is not affected by this bug, so if you're in a Kotlin only project, consider switching to that as a workaround.
Note that when fixing this issue, we did find another issue, filed as
Description
Version used:alpha-08
Devices/Android versions reproduced on:
HP Slate 6 Voice Tab - android 4.4.2, model :HSTNH-B19C ,kernal version :3.4.39
Problem Description:
Work Manager Start working on previous night to morining when app is opens. I have removed the app in Task Manager
Open my app not started. I have to see log:
first :
09-26 10:41:36.014 17329-17329/com.impecsoft.SmartTrends D/DebugDB: Open
09-26 10:41:36.034 17329-17343/com.impecsoft.SmartTrends E/SQLiteConnection: open, nativeOpen
09-26 10:41:36.054 17329-17343/com.impecsoft.SmartTrends D/dalvikvm: GC_FOR_ALLOC freed 352K, 13% free 2979K/3412K, paused 11ms, total 11ms
09-26 10:41:36.074 17329-17343/com.impecsoft.SmartTrends E/SQLiteConnection: open, nativeOpen
09-26 10:41:36.094 17329-17343/com.impecsoft.SmartTrends E/SystemAlarmDispatcher: Unexpected error in onHandleIntent
java.lang.NullPointerException
at androidx.work.impl.background.systemalarm.DelayMetCommandHandler.handleProcessWork(DelayMetCommandHandler.java:149)
at androidx.work.impl.background.systemalarm.CommandHandler.handleDelayMet(CommandHandler.java:241)
at androidx.work.impl.background.systemalarm.CommandHandler.onHandleIntent(CommandHandler.java:178)
at androidx.work.impl.background.systemalarm.SystemAlarmDispatcher$1.run(SystemAlarmDispatcher.java:259)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
and again open my app:
09-26 10:50:22.698 18119-18119/com.impecsoft.SmartTrends W/dalvikvm: Unable to resolve superclass of Landroidx/work/impl/background/systemjob/SystemJobService; (85)
Link of class 'Landroidx/work/impl/background/systemjob/SystemJobService;' failed
09-26 10:50:22.698 18119-18119/com.impecsoft.SmartTrends E/dalvikvm: Could not find class 'androidx.work.impl.background.systemjob.SystemJobService', referenced from method androidx.work.impl.Schedulers.createBestAvailableBackgroundScheduler
09-26 10:50:22.698 18119-18119/com.impecsoft.SmartTrends W/dalvikvm: VFY: unable to resolve const-class 3074 (Landroidx/work/impl/background/systemjob/SystemJobService;) in Landroidx/work/impl/Schedulers;
09-26 10:50:22.698 18119-18119/com.impecsoft.SmartTrends D/dalvikvm: VFY: replacing opcode 0x1c at 0x000e
09-26 10:50:22.698 18119-18119/com.impecsoft.SmartTrends V/ApplicationPackageManager: setComponentEnabledSetting() componentName=ComponentInfo{com.impecsoft.SmartTrends/androidx.work.impl.background.systemalarm.SystemAlarmService}, newState= 1
09-26 10:50:22.708 18119-18119/com.impecsoft.SmartTrends W/dalvikvm: Unable to resolve superclass of Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback; (484)
Link of class 'Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback;' failed
09-26 10:50:22.708 18119-18119/com.impecsoft.SmartTrends E/dalvikvm: Could not find class 'androidx.work.impl.constraints.trackers.NetworkStateTracker$NetworkStateCallback', referenced from method androidx.work.impl.constraints.trackers.NetworkStateTracker.<init>
09-26 10:50:22.708 18119-18119/com.impecsoft.SmartTrends W/dalvikvm: VFY: unable to resolve new-instance 3097 (Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback;) in Landroidx/work/impl/constraints/trackers/NetworkStateTracker;
09-26 10:50:22.708 18119-18119/com.impecsoft.SmartTrends D/dalvikvm: VFY: replacing opcode 0x22 at 0x0015
09-26 10:50:22.708 18119-18119/com.impecsoft.SmartTrends I/dalvikvm: Could not find method android.net.ConnectivityManager.getActiveNetwork, referenced from method androidx.work.impl.constraints.trackers.NetworkStateTracker.isActiveNetworkValidated
09-26 10:50:22.708 18119-18119/com.impecsoft.SmartTrends W/dalvikvm: VFY: unable to resolve virtual method 2474: Landroid/net/ConnectivityManager;.getActiveNetwork ()Landroid/net/Network;
09-26 10:50:22.708 18119-18119/com.impecsoft.SmartTrends D/dalvikvm: VFY: replacing opcode 0x6e at 0x000a
09-26 10:50:22.708 18119-18119/com.impecsoft.SmartTrends W/dalvikvm: Unable to resolve superclass of Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback; (484)
Link of class 'Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback;' failed
09-26 10:50:22.718 18119-18119/com.impecsoft.SmartTrends I/dalvikvm: Could not find method android.net.ConnectivityManager.registerDefaultNetworkCallback, referenced from method androidx.work.impl.constraints.trackers.NetworkStateTracker.startTracking
09-26 10:50:22.718 18119-18119/com.impecsoft.SmartTrends W/dalvikvm: VFY: unable to resolve virtual method 2481: Landroid/net/ConnectivityManager;.registerDefaultNetworkCallback (Landroid/net/ConnectivityManager$NetworkCallback;)V
09-26 10:50:22.718 18119-18119/com.impecsoft.SmartTrends D/dalvikvm: VFY: replacing opcode 0x6e at 0x0014
09-26 10:50:22.718 18119-18119/com.impecsoft.SmartTrends W/dalvikvm: Unable to resolve superclass of Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback; (484)
Link of class 'Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback;' failed
09-26 10:50:22.718 18119-18119/com.impecsoft.SmartTrends I/dalvikvm: Could not find method android.net.ConnectivityManager.unregisterNetworkCallback, referenced from method androidx.work.impl.constraints.trackers.NetworkStateTracker.stopTracking
09-26 10:50:22.718 18119-18119/com.impecsoft.SmartTrends W/dalvikvm: VFY: unable to resolve virtual method 2482: Landroid/net/ConnectivityManager;.unregisterNetworkCallback (Landroid/net/ConnectivityManager$NetworkCallback;)V
09-26 10:50:22.718 18119-18119/com.impecsoft.SmartTrends D/dalvikvm: VFY: replacing opcode 0x6e at 0x0014
09-26 10:50:22.718 18119-18119/com.impecsoft.SmartTrends W/dalvikvm: Unable to resolve superclass of Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback; (484)
Link of class 'Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback;' failed
09-26 10:50:22.718 18119-18119/com.impecsoft.SmartTrends D/dalvikvm: DexOpt: unable to opt direct call 0x5fe4 at 0x17 in Landroidx/work/impl/constraints/trackers/NetworkStateTracker;.<init>
09-26 10:50:22.728 18119-18119/com.impecsoft.SmartTrends I/dalvikvm: Could not find method android.content.Context.createDeviceProtectedStorageContext, referenced from method android.support.v4.content.ContextCompat.createDeviceProtectedStorageContext
If this is a bug in the library, we would appreciate if you could attach:
- Sample project to trigger the issue.
- A screenrecord or screenshots showing the issue (if UI related).