Join us on the livestream at Android Dev Summit on 7-8 November 2018, starting at 10AM PDT!

AndroidX release notes

Architecture Components

For information about architecture components, see the Architecture components release notes.

November 7, 2018

Bugfix release of core-1.0.1 and appcompat-1.0.2.

Bug fixes

  • Fixed bug where PrecomputedTextCompat would crash when used with RTL AppCompatTextView. b/113070424

November 5, 2018

Monthly AndroidX update.

Updated libraries

The following libraries have entered alpha:

Activity

androidx.activity 1.0.0-alpha01 is released and introduces ComponentActivity, a new base class of the existing FragmentActivity and AppCompatActivity.

New features

  • You can now register an OnBackPressedCallback via addOnBackPressedCallback to receive onBackPressed() callbacks without needing to override the method in your activity.
  • Added a new by viewModels() Kotlin property delegate for retrieving ViewModels from a ComponentActivity.
  • Pending input events (such as clicks) are now canceled in onStop().

API changes

  • The implementation of LifecycleOwner and ViewModelStoreOwner have been moved from FragmentActivity to ComponentActivity.
  • onRetainCustomNonConfigurationInstance has been deprecated. Use a ViewModel for storing objects that need to survive configuration changes.

Core

androidx.core-ktx 1.0.1 is released with the following bug fixes:

  • Fixed bug where implementation of union and intersection were swapped.

androidx.core 1.1.0-alpha01 is released with the following API changes and bug fixes.

New features and API changes

  • NestedScrollingChild3 and NestedScrollingParent3 add the ‘consumed’ parameter to the overloaded dispatchNestedScroll and * onNestedScroll methods so that the view that drives nested scrolling can be better informed about how much scroll distance was * consumed by parents in each nested scroll pass.
  • NestedScrollView now implements NestedScrollingChild3 and NestedScrollingParent3, and therefore, the NestedScrollingChild2 and * NestedScrollingParent2 implementations of dispatchNestedScroll and onNestedScroll are not guaranteed to be called. Developers * counting on either being called should also override the new nested scrolling 3 version of dispatchNestedScroll and onNestedScroll.
  • ShortcutInfoCompat has the following new fields: Persons, categories and isLongLived. Done to advertise it can accept various types * of content.
  • Renamed SupportActivity to ComponentActivity. See androidx.activity for more info.
  • Added getMainExecutor() method, which returns an Executor link that will run enqueued tasks on the main thread associated with that * context.
  • Added compatibility implementation of Resources.getFloat.
  • Added Results Source to compat RemoteInput. This allows apps to distinguish direct and smart replies for logging purposes.
  • Added Kotlin extension functions for TextView TextWatcher actions.
  • Deprecated AccessibilityNodeInfo capability and flag setters; use actions instead.
  • Added AccessibilityPane to ViewCompat.
  • Exposed ClickableSpans on pre-O devices through the addition of AccessibilityClickableSpanCompat.
  • Deprecated AccessibilityNodeInfoCompat.setFocusable(), setClickable(), setLongClickable(), setScrollable(), and setContextClickable(). Added AccessibilityActions instead.
  • Added ViewCompat.setAccessibilityPaneTitle(), getAccessibilityPaneTitle(), setScreenReaderFocusable(), isScreenReaderFocusable(), setAccessibilityHeading(), and isAccessibilityHeading(), to backport this View accessibility functionality through API 19.
  • Added ViewCompat.enableAccessibleClickableSpanSupport() to allow developers to make non-URL ClickableSpans accessible back through API 19.

Bug fixes

  • Fixed bug that caused ResourcesCompat.getFont() crash when the network fails, when using downloadable fonts.
  • Fixed Null Pointer Exception in TypefaceCompatApi21 that occurred when ContentResolver returned null.
  • Fixed type error in Array Utils where it expected ColorStateList but got raw colors.

Fragment

androidx.fragment 1.1.0-alpha01 is released. This is the first release of the fragment-testing artifact and FragmentScenario which is built on top of the androidx.test:core APIs. See the Fragment testing documentation for more details.

New features

  • New FragmentScenario class for testing Fragments in isolation.
  • You can now set a FragmentFactory on any FragmentManager to control how new Fragment instances are instantiated.
  • Added a new by viewModels() Kotlin property delegate for retrieving ViewModels from a Fragment.
  • Pending input events (such as clicks) are now canceled in a Fragment’s onStop().

API changes

  • Significantly expanded the nullability annotations across the Fragment API surface.

Bug fixes

  • Fix an issue which caused Fragment operations to fail from within LiveData (b/77944637)

Known issues

  • Target Fragments cannot be accessed after a Fragment has been removed from the FragmentManager.
  • fragment-testing depends on androidx.test:core:1.0.0-beta01 instead of the correct androidx.test:core:1.0.0.

Preference

androidx.preference 1.1.0-alpha01 is released with the following changes.

New features

  • You can now set a SummaryProvider on a Preference to dynamically configure its summary whenever the Preference is updated, or becomes visible to the user.
  • Added default SummaryProvider implementations for ListPreference and EditTextPreference, which when set will automatically update the summary of the Preference to reflect its saved value, or ‘Not Set’ if no value has been saved. These can be set with app:useSimpleSummaryProvider=”true”
  • Added PreferenceGroup#removePreferenceRecursively which recursively finds and removes a Preference from the group, or a nested group lower down in the hierarchy.

API changes

  • PreferenceFragment and other classes using framework Fragments have been deprecated - you should use PreferenceFragmentCompat and other compat classes instead.

Bug fixes

  • Fixed iconSpaceReserved not working correctly with PreferenceCategories.
  • Fixed PreferenceCategories not using colorAccent for their title’s color below API 21.
  • Fixed some SeekBarPreference layout inconsistencies below API 21.

Versioned Parcelable

androidx.versionedparcelable 1.1.0-alpha01 is released with the following changes.

New features

  • Added support for CharSequence in all classes except VersionedParcelStream.
  • Added support for SuperClass, Set, and Map.

Bug fixes

  • Fixed a bug with checking IDs in inherited classes.

1.0.0

(September 21, 2018)

This is the stable release of AndroidX 1.0.0 and is suitable for use in production.

New features

1.0.0-rc02

(August 27, 2018)

This release candidate of AndroidX is considered feature-complete and its public API surface is stable. This release will be shipped as final stable version barring any critical issues that may arise. This release should be safe to use in production. Please report any issues to the public issue tracker.

Fixed issues

  • Proguard removes View Model Application constructor (public issue 112230489)
  • Fixed AnimatedStateListDrawableCompat constant state
  • Removed media2 dependency from mediarouter 1.0.0
  • Fragment.getViewLifecycleOwner() does not get stopped when hitting the home button (public issue 113070421)

1.0.0-rc01

(August 6, 2018)

This release candidate of AndroidX is considered feature-complete and its public API surface is stable. This release will be shipped as final stable version barring any critical issues that may arise. This release should be safe to use in production. Please report any issues to the public issue tracker.

Fixed issues

  • BottomNavigationView menu is not initialized correctly in design support library
  • PositionalDataSource doesn't correctly handle pre-pended item inserts into the database
  • Sliders are janky and not responsive
  • SlicesProviderCompat.getPinnedSpecs() doesn't add user IDs to URIs
  • RoutePlayer2: remote playback does not switch back to local playback
  • Cached slice parsing is crashing on actions
  • Google Search app crash in rendering static Slice
  • ConcurrentModificationException in RecyclerView selection library when data set changed with removing selection
  • PreferenceThemeOverlay has been updated to the latest material theme. If no custom theme is provided, PreferenceThemeOverlay is used as the default theme.
  • PreferenceThemeOverlay.v14 and PreferenceThemeOverlay.v14.Material themes have been deprecated in favour of PreferenceThemeOverlay.
  • PreferenceGroup visibility is now tied to its children - hiding a parent group will also prevent its children from being shown in the hierarchy. Use Preference.isShown() to get whether a Preference is actually displayed to the user in the hierarchy.
  • Preference.onSetInitialValue(boolean, Object) has been deprecated and replaced with onSetInitialValue(Object). PreferenceDataStore now also correctly restores default values.

1.0.0-beta01

(July 2, 2018)

This beta release of AndroidX is considered feature-complete and its public API surface is stable, barring any critical issues that may arise. While this release is safe to use in production, it may still contain bugs. Please report any issues to the public issue tracker.

Fixed issues

  • GestureSelectionHelper eating events on non-selectable items
  • Slider slices can have duplicated thumb icon when slider value is being updated
  • IconCompat broke TYPE_URI icons in alpha3
  • Crash with Preferences using Seekbar
  • Crash in Slice.toString()
  • OffsettingListUpdateCallback.onMoved() calls mCallback.onRemoved() instead of mCallback.onMoved() (Issue 110711937)

Android Studio fixes affecting AndroidX

  • gradle.properties file does not update to use AndroidX while creating project with minimum as P
  • External libraries can't compile with AndroidX enabled on Windows (Issue 79642238)
  • Converted androidx app crash when deploying
  • Failed to resolve: androidx.databinding:databinding-runtime:3.2.0-alpha16
  • Unable to deploy Rendering script app after refactoring to Android X
  • Crash when executing "Refactor to AndroidX"
  • Error: package android.support.annotation does not exist
  • ConstraintLayout classes are given the wrong class name during "Refactor to AndroidX"
  • Error: package android.support.design.R does not exist

1.0.0 alpha 3

(June 6, 2018)

Bugfix release.

Fixed issues

  • RecyclerView does not render if two projects with different AndroidX dependencies are open
  • Project fails to create and add androidx flags if gradle.properties is not present
  • Missing androidx.core.media.MediaMetadataCompat
  • Slices are falling over when larger than 64K
  • Crash in slice browser
  • Unable to migrate App to AppCompact with having androidX dependencies
  • Databinding libraries are not updated to androidx
  • Cells with large images block rest of cell content
  • Incorrect import when refactoring to Androidx
  • Slices crashing with NPE in SliceProviderCompat
  • Refactor tool error: Should not use a different version (27) than the compileSdkVersion (28)
  • Dex merge issues with trying to build refactored project (Android Sunflower)
  • AndroidX refactor tool doesn't convert dependencies containing variables
  • Espresso Test Recorder does not support androidx dependencies
  • NPE in com.example.androidx.slice.demos
  • dejetifier flatfoot problems
  • androidx.wear has bad dependency on ConstraintLayout libs
  • Full loading slices are broken
  • After refactoring to androidx adding a new activity is creating with old support code
  • dagger-android does not work with jetifier
  • Grid templates: Min width of thumbnails for grid row is 1:1 width/height ratio.
  • Enforce requiring a primary action on a slice
  • Slices for device volume will require setMin on the slider
  • Permission slices broken
  • Slices needs a new permission system
  • Need to allow auto-granting slice perms based on a perm
  • Inconsistent sizes in slice
  • NullPointerException in FontsContractCompat

1.0.0 alpha 2

(May 25, 2018)

Bugfix release.

Fixed issues

1.0.0 alpha 1

(May 8, 2018)

Initial alpha release. The package names are subject to change during the alpha period.

Known issues

  • The following libraries are not yet compatible with the AndroidX refactor:
    • com.google.dagger:dagger-android
    • com.google.android.support:wearable
    • io.fabric.tools:gradle: Requires 1.25.4 or later
  • Upgrade to version 2.16 or later forcom.google.dagger:dagger-android` to be compatible with the AndroidX refactor.
  • The Android Studio refactor tool incorrectly refactors some classes from the android.arch.persistence.room.* and android.support.v4.media.* namespaces.
    Workaround: Check and correct your import lines after running the refactor tool.
  • After using Android Studio refactor tool, full package name is used for some classes in code even though the package was imported.

Fixed issues

  • BottomNavigationView menu is not initialized correctly (AOSP issue 63375220)
  • RecyclerView getItemDecorationAt has incorrect documentation (AOSP issue 72727717)