Status Update
Comments
au...@google.com <au...@google.com> #2
<transition xmlns:android="
<item android:drawable="@drawable/test_drawable_blue"/>
<item android:drawable="@drawable/test_drawable_green"/>
</transition>
where blue/green drawables look like this:
<shape
xmlns:android="
android:shape="rectangle">
<size
android:width="@dimen/drawable_large_size"
android:height="@dimen/drawable_small_size" />
<solid
android:color="@color/test_blue" />
</shape>
Then added this test:
@Test
public void testMutateTransitionDrawable() {
Drawable drawable = ResourcesCompat.getDrawable(mResources,
R.drawable.test_transition_drawable, null);
assertTrue(drawable instanceof TransitionDrawable);
Drawable mutated = drawable.mutate();
assertTrue(drawable instanceof TransitionDrawable);
assertTrue(mutated instanceof TransitionDrawable);
}
It passes on the device. Going to also try on other earlier devices a bit later in the day once they are charged.
ch...@google.com <ch...@google.com> #3
ch...@google.com <ch...@google.com> #4
yb...@google.com <yb...@google.com> #5
we don't want to make them public API. It is more of a fallback thing we use to make it easier to use libraries. Also, w/ the migration to Flow & coroutines; we should probably not invest in any more executors.
ki...@google.com <ki...@google.com> #6
ki...@google.com <ki...@google.com> #7
ki...@google.com <ki...@google.com> #8
AppCompat's ActivityChooserModel is a copy of
Adding clm@ and adamp@ to comment on this deprecation that doesn't seem to have documentation on what existing internal and external usages are expected to do - including in the framework itself.
yb...@google.com <yb...@google.com> #9
kirillg@, we are evaluating KMP and if that happens, we'll be likely be moving things to kotlin. Besides that, the guidance for new jetpack libraries has been to use coroutines.
For platform, I'm not sure how important this is if it is already working fine. Mainly, asynctask has is utterly verbose and misleading in certain cases so we do not want people to use it in the public.
ap...@google.com <ap...@google.com> #10
The Android API Council <
consistency and sustainability, and we've just added this bug to our hotlist of pending reviews.
We'll wait until you mark this bug as 'Fixed' before starting our review, but please reach out
if you'd like us to review it sooner.
CHANGES TO palette/palette/api/current.txt
CHANGES TO palette/palette/api/public_plus_experimental_current.txt
The links above may take several days to start working. Generated from
[Gerrit:
[API-Approvers:aurimas@google.com]
[LIBRARY_API_REVIEW_TAG:palette/palette/api/1.1.0-alpha01.txt]
ap...@google.com <ap...@google.com> #11
Branch: androidx-platform-dev
commit ed18608fa10d09eade8ccb879011ca8bd5fef7a1
Author: Chris Banes <chrisbanes@google.com>
Date: Fri Feb 07 21:36:02 2020
Suppress/migrate from deprecated APIs in Android R
- Migrate usages of Handler() to using Handler(Looper)
- Suppress usages of AsyncTask
- Suppress usages of Path.isConvex()
- Suppress usages of WindowInsets.getSystemWindowInset[Left,Top,Right,Bottom]
- Suppress usages of Display.getMetrics()
- Suppress usages of WindowManager.getDefaultDisplay()
- Suppress usages of ChooserTarget
- Suppress usages of various CameraDevice APIs
- Suppress usages of View.SYSTEM_UI_FLAG_*
- Suppress usages of setDeviceCredentialAllowed
- Deprecated Palette.Builder.generateAsync() since it returns an
AsyncTask
- Ignore SparseArray.contains tests in core-ktx
Test: ./gradlew bOS
BUG: 149049019
BUG: 149045579
BUG: 149171629
Change-Id: I101e8896a7c2703c88f0d13812c417ed1c794c4e
M ads/ads-identifier-benchmark/src/androidTest/java/androidx/ads/identifier/benchmark/AdvertisingIdBenchmark.java
M appcompat/appcompat/api/restricted_1.2.0-alpha03.txt
M appcompat/appcompat/api/restricted_current.txt
M appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/BaseBasicsTestCase.java
M appcompat/appcompat/src/main/java/androidx/appcompat/view/menu/CascadingMenuPopup.java
M appcompat/appcompat/src/main/java/androidx/appcompat/view/menu/MenuPopupHelper.java
M appcompat/appcompat/src/main/java/androidx/appcompat/widget/ActionBarOverlayLayout.java
M appcompat/appcompat/src/main/java/androidx/appcompat/widget/ActivityChooserModel.java
M asynclayoutinflater/asynclayoutinflater/src/main/java/androidx/asynclayoutinflater/view/AsyncLayoutInflater.java
M biometric/biometric/src/main/java/androidx/biometric/BiometricFragment.java
M biometric/biometric/src/main/java/androidx/biometric/FingerprintDialogFragment.java
M browser/browser/src/androidTest/java/androidx/browser/customtabs/PostMessageTest.java
M browser/browser/src/androidTest/java/androidx/browser/trusted/TrustedWebActivityServiceConnectionPoolTest.java
M browser/browser/src/main/java/androidx/browser/browseractions/BrowserServiceFileProvider.java
M browser/browser/src/main/java/androidx/browser/trusted/TrustedWebActivityServiceConnectionPool.java
M browser/browser/src/test/java/androidx/browser/trusted/ConnectionHolderTest.java
M camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/CaptureSessionTest.java
M camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatDeviceTest.java
M camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/ImageAnalysisConfigProvider.java
M camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/ImageCaptureConfigProvider.java
M camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/PreviewConfigProvider.java
M camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/SupportedSurfaceCombination.java
M camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/VideoCaptureConfigProvider.java
M camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatApi23Impl.java
M camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatApi24Impl.java
M camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatBaseImpl.java
M camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/Camera2DeviceSurfaceManagerTest.java
M camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/SupportedSurfaceCombinationTest.java
M camera/camera-core/src/androidTest/java/androidx/camera/core/impl/DeferrableSurfacesTest.java
M camera/camera-testing/src/main/java/androidx/camera/testing/DeferrableSurfacesUtil.java
M camera/camera-testing/src/main/java/androidx/camera/testing/activity/Camera2TestActivity.java
M camera/camera-view/src/androidTest/java/androidx/camera/view/TextureViewMeteringPointFactoryTest.java
M camera/camera-view/src/main/java/androidx/camera/view/ScaleTypeTransform.java
M camera/camera-view/src/main/java/androidx/camera/view/preview/transform/RotationTransform.java
M camera/integration-tests/coretestapp/src/main/java/androidx/camera/integration/core/CameraXActivity.java
M camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/ImageUtils.kt
M camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2Controller.kt
M camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2PreviewSessionStateCallback.kt
M camera/integration-tests/viewtestapp/src/main/java/androidx/camera/integration/view/CaptureViewOnTouchListener.java
M car/core/src/main/java/androidx/car/util/ColumnCalculator.java
M car/core/src/main/java/androidx/car/widget/PagedListView.java
M car/moderator/src/main/java/androidx/car/moderator/SpeedBumpController.java
M coordinatorlayout/coordinatorlayout/src/main/java/androidx/coordinatorlayout/widget/CoordinatorLayout.java
M core/core-ktx/src/androidTest/java/androidx/core/util/SparseArrayTest.kt
M core/core-ktx/src/main/java/androidx/core/util/SparseArray.kt
M core/core/src/main/java/androidx/core/app/JobIntentService.java
M core/core/src/main/java/androidx/core/hardware/display/DisplayManagerCompat.java
M core/core/src/main/java/androidx/core/provider/FontsContractCompat.java
M core/core/src/main/java/androidx/core/provider/SelfDestructiveThread.java
M core/core/src/main/java/androidx/core/view/ViewCompat.java
M core/core/src/test/java/androidx/core/view/DisplayCompatTest.java
M cursoradapter/cursoradapter/src/main/java/androidx/cursoradapter/widget/CursorAdapter.java
M drawerlayout/drawerlayout/api/restricted_1.1.0-alpha03.txt
M drawerlayout/drawerlayout/api/restricted_current.txt
M drawerlayout/drawerlayout/src/main/java/androidx/drawerlayout/widget/DrawerLayout.java
M enterprise/feedback/src/main/java/androidx/enterprise/feedback/KeyedAppStatesService.java
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentContainerViewTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/DialogFragment.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentHostCallback.java
M fragment/fragment/src/main/java/androidx/fragment/app/ListFragment.java
M leanback/leanback/src/androidTest/java/androidx/leanback/app/BrowseTestFragment.java
M leanback/leanback/src/androidTest/java/androidx/leanback/app/BrowseTestSupportFragment.java
M leanback/leanback/src/androidTest/java/androidx/leanback/app/DetailsTestFragment.java
M leanback/leanback/src/androidTest/java/androidx/leanback/app/DetailsTestSupportFragment.java
M leanback/leanback/src/androidTest/java/androidx/leanback/app/PlaybackTestFragment.java
M leanback/leanback/src/androidTest/java/androidx/leanback/app/PlaybackTestSupportFragment.java
M leanback/leanback/src/androidTest/java/androidx/leanback/app/RowsFragmentTest.java
M leanback/leanback/src/androidTest/java/androidx/leanback/app/RowsSupportFragmentTest.java
M leanback/leanback/src/main/java/androidx/leanback/app/BackgroundManager.java
M leanback/leanback/src/main/java/androidx/leanback/app/PlaybackFragment.java
M leanback/leanback/src/main/java/androidx/leanback/app/PlaybackSupportFragment.java
M leanback/leanback/src/main/java/androidx/leanback/app/ProgressBarManager.java
M leanback/leanback/src/main/java/androidx/leanback/app/SearchFragment.java
M leanback/leanback/src/main/java/androidx/leanback/app/SearchSupportFragment.java
M leanback/leanback/src/main/java/androidx/leanback/media/MediaControllerAdapter.java
M leanback/leanback/src/main/java/androidx/leanback/media/MediaPlayerAdapter.java
M leanback/leanback/src/main/java/androidx/leanback/media/MediaPlayerGlue.java
M leanback/leanback/src/main/java/androidx/leanback/widget/DetailsOverviewRowPresenter.java
M leanback/leanback/src/main/java/androidx/leanback/widget/DetailsOverviewSharedElementHelper.java
M leanback/leanback/src/main/java/androidx/leanback/widget/FullWidthDetailsOverviewRowPresenter.java
M leanback/leanback/src/main/java/androidx/leanback/widget/FullWidthDetailsOverviewSharedElementHelper.java
M leanback/leanback/src/main/java/androidx/leanback/widget/GuidedActionsStylist.java
M leanback/leanback/src/main/java/androidx/leanback/widget/SearchBar.java
M lifecycle/lifecycle-process/src/main/java/androidx/lifecycle/ProcessLifecycleOwner.java
M lifecycle/lifecycle-service/src/main/java/androidx/lifecycle/ServiceLifecycleDispatcher.java
M loader/loader/src/androidTest/java/androidx/loader/content/ModernAsyncTaskTest.java
M loader/loader/src/main/java/androidx/loader/content/AsyncTaskLoader.java
M loader/loader/src/main/java/androidx/loader/content/Loader.java
M media/media/src/main/java/android/support/v4/media/session/MediaControllerCompat.java
M media/media/src/main/java/android/support/v4/media/session/MediaSessionCompat.java
M media/version-compat-tests/current/client/src/androidTest/java/android/support/mediacompat/client/MediaControllerCompatCallbackTest.java
M media/version-compat-tests/previous/client/src/androidTest/java/android/support/mediacompat/client/MediaControllerCompatCallbackTest.java
M media2/integration-tests/testapp/src/main/java/androidx/media2/integration/testapp/VideoSelectorActivity.java
M media2/integration-tests/testapp/src/main/java/androidx/media2/integration/testapp/VideoSessionService.java
M media2/widget/src/main/java/androidx/media2/widget/SubtitleTrack.java
M mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteButton.java
M mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteChooserDialog.java
M mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteControllerDialog.java
M mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteDynamicChooserDialog.java
M mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteDynamicControllerDialog.java
M mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/RegisteredMediaRouteProviderWatcher.java
M message-browser/browser/src/main/java/androidx/message/browser/MessageLibraryService.java
M palette/palette/api/1.1.0-alpha01.txt
M palette/palette/api/current.txt
M palette/palette/api/public_plus_experimental_1.1.0-alpha01.txt
M palette/palette/api/public_plus_experimental_current.txt
M palette/palette/api/restricted_1.1.0-alpha01.txt
M palette/palette/api/restricted_current.txt
M palette/palette/src/main/java/androidx/palette/graphics/ColorCutQuantizer.java
M palette/palette/src/main/java/androidx/palette/graphics/Palette.java
M preference/preference/src/androidTest/java/androidx/preference/tests/SeekBarPreferenceTest.kt
M preference/preference/src/main/java/androidx/preference/PreferenceFragment.java
M preference/preference/src/main/java/androidx/preference/PreferenceFragmentCompat.java
M preference/preference/src/main/java/androidx/preference/PreferenceGroup.java
M preference/preference/src/main/java/androidx/preference/PreferenceGroupAdapter.java
M print/print/src/main/java/androidx/print/PrintHelper.java
M recyclerview/recyclerview/src/main/java/androidx/recyclerview/widget/MessageThreadUtil.java
M samples/Support4Demos/src/main/java/com/example/android/supportv4/Support4Demos.java
M samples/Support4Demos/src/main/java/com/example/android/supportv4/app/LoaderThrottleSupport.java
M samples/Support4Demos/src/main/java/com/example/android/supportv4/app/SimpleJobIntentService.java
M samples/Support4Demos/src/main/java/com/example/android/supportv4/content/LocalServiceBroadcaster.java
M samples/Support4Demos/src/main/java/com/example/android/supportv4/media/AlbumArtCache.java
M samples/Support4Demos/src/main/java/com/example/android/supportv4/media/model/MusicProvider.java
M samples/Support4Demos/src/main/java/com/example/android/supportv4/widget/BaseSwipeRefreshLayoutActivity.java
M samples/Support7Demos/src/main/java/com/example/android/supportv7/Support7Demos.java
M samples/Support7Demos/src/main/java/com/example/android/supportv7/graphics/ImageLoader.java
M samples/Support7Demos/src/main/java/com/example/android/supportv7/graphics/PaletteActivity.java
M samples/Support7Demos/src/main/java/com/example/android/supportv7/graphics/PaletteDetailActivity.java
M samples/Support7Demos/src/main/java/com/example/android/supportv7/media/LocalPlayer.java
M samples/Support7Demos/src/main/java/com/example/android/supportv7/media/OverlayDisplayWindow.java
M samples/Support7Demos/src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java
M samples/Support7Demos/src/main/java/com/example/android/supportv7/util/DiffUtilActivity.java
M samples/Support7Demos/src/main/java/com/example/android/supportv7/view/CardViewActivity.java
M samples/SupportAnimationDemos/src/main/java/com/example/android/support/animation/BrowseActivity.java
M samples/SupportCarDemos/src/main/java/com/example/androidx/car/SupportCarDemoActivity.java
M samples/SupportCarDemos/src/main/java/com/example/androidx/car/VerticallyCenteredListDemo.java
M samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/BackgroundHelper.java
M samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/BrowseAnimationFragment.java
M samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/BrowseErrorActivity.java
M samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/BrowseErrorSupportActivity.java
M samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/BrowseFragment.java
M samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/BrowseSupportFragment.java
M samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/DetailsFragment.java
M samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/DetailsSupportFragment.java
M samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/NewDetailsFragment.java
M samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/NewDetailsSupportFragment.java
M samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/PlaybackControlGlue.java
M samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/PlaybackSeekAsyncDataProvider.java
M samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/PlaybackTransportControlGlueSample.java
M samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/PlayerAdapter.java
M samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/SearchFragment.java
M samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/SearchSupportFragment.java
M samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/VerticalGridFragment.java
M samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/VerticalGridSupportFragment.java
M samples/SupportPreferenceDemos/src/main/java/com/example/androidx/preference/MainActivity.java
M samples/SupportSliceDemos/src/main/java/com/example/androidx/slice/demos/SliceSelectionDialog.java
M samples/SupportTransitionDemos/src/main/java/com/example/android/support/transition/SupportTransitionDemos.java
M samples/SupportVectorDrawableDemos/src/main/java/com/example/android/support/vectordrawable/app/SupportVectorDrawableDemos.java
M sharetarget/sharetarget/src/main/java/androidx/sharetarget/ChooserTargetServiceCompat.java
M slices/test/src/main/java/androidx/slice/test/SampleSliceProvider.java
M slices/test/src/main/java/androidx/slice/test/SliceBroadcastReceiver.java
M slices/view/src/androidTest/java/androidx/slice/widget/CachedSliceLiveDataTest.java
M slices/view/src/androidTest/java/androidx/slice/widget/SliceLiveDataTest.java
M slices/view/src/main/java/androidx/slice/SliceViewManagerBase.java
M slices/view/src/main/java/androidx/slice/widget/RowView.java
M slices/view/src/main/java/androidx/slice/widget/SliceLiveData.java
M slices/view/src/main/java/androidx/slice/widget/SliceView.java
M textclassifier/src/androidTest/java/androidx/textclassifier/widget/FloatingToolbarTest.java
M ui/integration-tests/demos/src/main/java/androidx/ui/demos/MainActivity.kt
M ui/integration-tests/test/src/main/java/androidx/ui/benchmark/android/AndroidTestCaseRunner.kt
M ui/ui-framework/src/androidTest/java/androidx/ui/core/test/AndroidLayoutDrawTest.kt
M ui/ui-graphics/src/main/java/androidx/ui/graphics/Path.kt
M ui/ui-layout/integration-tests/layout-demos/src/main/java/androidx/ui/layout/demos/ComplexLayoutDemos.kt
M ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/LayoutTest.kt
M ui/ui-material/integration-tests/material-demos/src/main/java/androidx/ui/material/demos/ProgressIndicatorActivity.kt
M ui/ui-material/integration-tests/material-studies/src/main/java/androidx/ui/material/studies/MainActivity.kt
M ui/ui-platform/src/main/java/androidx/ui/core/AndroidOwner.kt
M ui/ui-test/src/main/java/androidx/ui/test/android/AndroidComposeTestCaseRunner.kt
M ui/ui-tooling/src/androidTest/java/androidx/ui/tooling/ToolingTest.kt
M viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/BrowseActivity.kt
M wear/wear/src/main/java/androidx/wear/widget/BoxInsetLayout.java
M wear/wear/src/main/java/androidx/wear/widget/WearableRecyclerView.java
M wear/wear/src/main/java/androidx/wear/widget/drawer/WearableDrawerLayout.java
M webkit/integration-tests/testapp/src/main/java/com/example/androidx/webkit/AssetLoaderInternalStorageActivity.java
M webkit/integration-tests/testapp/src/main/java/com/example/androidx/webkit/GiantInterstitialActivity.java
M webkit/integration-tests/testapp/src/main/java/com/example/androidx/webkit/RendererTerminationActivity.java
M webkit/webkit/src/main/java/androidx/webkit/TracingController.java
M work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageRecyclerViewAdapter.java
ki...@google.com <ki...@google.com>
al...@google.com <al...@google.com> #12
We have minSdkVersion
is lower than when it was deprecated?
Anyway, in unowned libraries we have:
https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:core/core/src/main/java/androidx/core/app/JobIntentService.java?q=android.os.AsyncTask%20file:src%2Fmain&ss=androidx&start=11 https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:appcompat/appcompat/src/main/java/androidx/appcompat/widget/ActivityChooserModel.java?q=android.os.AsyncTask%20file:src%2Fmain&ss=androidx&start=11
And a couple of instances in deprecated sample apps which we'll leave alone.
For the owned libraries, we'll leave it up to their owners to deal with AsyncTask
.
al...@google.com <al...@google.com> #13
ActivityChooserModel
in the platform still using AsyncTask
, so still leaving that alone.
JobIntentService
should be deprecated.
al...@google.com <al...@google.com> #14
Double-checked with Framework team, general consensus is that JobIntentService
should be avoided.
ap...@google.com <ap...@google.com> #15
Branch: androidx-main
commit 91130b6571d2b5d075e1031105ed39e31b153036
Author: Alan Viverette <alanv@google.com>
Date: Wed May 26 16:30:47 2021
Deprecate JobIntentService in favor of WorkManager
Relnote: JobIntentService has been deprecated in favor of WorkManager
Fixes: 149049019
Test: N/A deprecation only
Change-Id: Ic7749b06bf8365cb949cfd0139d3d4fae1e129c3
M core/core/api/1.6.0-beta03.txt
M core/core/api/current.txt
M core/core/api/public_plus_experimental_1.6.0-beta03.txt
M core/core/api/public_plus_experimental_current.txt
M core/core/api/restricted_1.6.0-beta03.txt
M core/core/api/restricted_current.txt
M core/core/src/androidTest/java/androidx/core/app/JobIntentServiceTest.java
M core/core/src/main/java/androidx/core/app/JobIntentService.java
Description
AsyncTask is now deprecated in Android R and there are several usages in AndroidX. This is a tracking to migrate or suppress them.