diff --git a/src/com/android/wallpaper/asset/Asset.java b/src/com/android/wallpaper/asset/Asset.java
index 5c00f86..922c4c1 100755
--- a/src/com/android/wallpaper/asset/Asset.java
+++ b/src/com/android/wallpaper/asset/Asset.java
@@ -26,11 +26,12 @@
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.TransitionDrawable;
 import android.os.AsyncTask;
-import android.support.annotation.Nullable;
 import android.widget.ImageView;
 
 import com.bumptech.glide.load.resource.bitmap.BitmapTransformation;
 
+import androidx.annotation.Nullable;
+
 /**
  * Interface representing an image asset.
  */
diff --git a/src/com/android/wallpaper/asset/ContentUriAsset.java b/src/com/android/wallpaper/asset/ContentUriAsset.java
index 123ee73..4434f86 100755
--- a/src/com/android/wallpaper/asset/ContentUriAsset.java
+++ b/src/com/android/wallpaper/asset/ContentUriAsset.java
@@ -23,7 +23,6 @@
 import android.graphics.drawable.ColorDrawable;
 import android.net.Uri;
 import android.os.AsyncTask;
-import android.support.annotation.Nullable;
 import android.util.Log;
 import android.widget.ImageView;
 
@@ -35,6 +34,8 @@
 import java.io.IOException;
 import java.io.InputStream;
 
+import androidx.annotation.Nullable;
+
 /**
  * Represents an asset located via an Android content URI.
  */
diff --git a/src/com/android/wallpaper/asset/CurrentWallpaperAssetVNLoader.java b/src/com/android/wallpaper/asset/CurrentWallpaperAssetVNLoader.java
index d3d768f..b8a7686 100755
--- a/src/com/android/wallpaper/asset/CurrentWallpaperAssetVNLoader.java
+++ b/src/com/android/wallpaper/asset/CurrentWallpaperAssetVNLoader.java
@@ -17,7 +17,6 @@
 
 import android.os.ParcelFileDescriptor;
 import android.os.ParcelFileDescriptor.AutoCloseInputStream;
-import android.support.annotation.Nullable;
 
 import com.bumptech.glide.Priority;
 import com.bumptech.glide.load.DataSource;
@@ -29,6 +28,8 @@
 
 import java.io.InputStream;
 
+import androidx.annotation.Nullable;
+
 /**
  * Glide custom model loader for {@link CurrentWallpaperAssetVN}.
  */
diff --git a/src/com/android/wallpaper/asset/DrawableResourceDecoder.java b/src/com/android/wallpaper/asset/DrawableResourceDecoder.java
index cbf8737..b7ca43e 100755
--- a/src/com/android/wallpaper/asset/DrawableResourceDecoder.java
+++ b/src/com/android/wallpaper/asset/DrawableResourceDecoder.java
@@ -16,7 +16,6 @@
 package com.android.wallpaper.asset;
 
 import android.graphics.drawable.Drawable;
-import android.support.annotation.Nullable;
 
 import com.bumptech.glide.load.Options;
 import com.bumptech.glide.load.ResourceDecoder;
@@ -25,6 +24,8 @@
 
 import java.io.IOException;
 
+import androidx.annotation.Nullable;
+
 /**
  * Identity {@link ResourceDecoder} implementation that simply passes through a Drawable.
  * <p>
diff --git a/src/com/android/wallpaper/asset/ExifInterfaceCompat.java b/src/com/android/wallpaper/asset/ExifInterfaceCompat.java
index a9034e6..6b2938e 100644
--- a/src/com/android/wallpaper/asset/ExifInterfaceCompat.java
+++ b/src/com/android/wallpaper/asset/ExifInterfaceCompat.java
@@ -1,12 +1,12 @@
 package com.android.wallpaper.asset;
 
-import android.support.media.ExifInterface;
-
 import com.android.wallpaper.compat.BuildCompat;
 
 import java.io.IOException;
 import java.io.InputStream;
 
+import androidx.exifinterface.media.ExifInterface;
+
 /**
  * Provides access to basic ExifInterface APIs using {@link android.media.ExifInterface} in OMR1+
  * SDK or SupportLibrary's {@link ExifInterface} for earlier SDK versions.
diff --git a/src/com/android/wallpaper/asset/LiveWallpaperThumbAssetLoader.java b/src/com/android/wallpaper/asset/LiveWallpaperThumbAssetLoader.java
index 9011ee6..1c6b2c6 100755
--- a/src/com/android/wallpaper/asset/LiveWallpaperThumbAssetLoader.java
+++ b/src/com/android/wallpaper/asset/LiveWallpaperThumbAssetLoader.java
@@ -16,7 +16,6 @@
 package com.android.wallpaper.asset;
 
 import android.graphics.drawable.Drawable;
-import android.support.annotation.Nullable;
 
 import com.bumptech.glide.Priority;
 import com.bumptech.glide.load.DataSource;
@@ -26,6 +25,8 @@
 import com.bumptech.glide.load.model.ModelLoaderFactory;
 import com.bumptech.glide.load.model.MultiModelLoaderFactory;
 
+import androidx.annotation.Nullable;
+
 /**
  * Glide model loader for live wallpaper thumbnails.
  */
diff --git a/src/com/android/wallpaper/asset/NexusStaticAssetLoader.java b/src/com/android/wallpaper/asset/NexusStaticAssetLoader.java
index 00bb1ee..f75154b 100755
--- a/src/com/android/wallpaper/asset/NexusStaticAssetLoader.java
+++ b/src/com/android/wallpaper/asset/NexusStaticAssetLoader.java
@@ -15,9 +15,8 @@
  */
 package com.android.wallpaper.asset;
 
-import android.support.annotation.Nullable;
-
 import com.android.wallpaper.asset.ResourceAssetLoader.ResourceAssetFetcher;
+
 import com.bumptech.glide.load.Options;
 import com.bumptech.glide.load.model.ModelLoader;
 import com.bumptech.glide.load.model.ModelLoaderFactory;
@@ -25,6 +24,8 @@
 
 import java.io.InputStream;
 
+import androidx.annotation.Nullable;
+
 /**
  * Glide ModelLoader which loads InputStreams from NexusStaticAssets.
  */
diff --git a/src/com/android/wallpaper/asset/ResourceAssetLoader.java b/src/com/android/wallpaper/asset/ResourceAssetLoader.java
index 1cd20b8..6de89ba 100755
--- a/src/com/android/wallpaper/asset/ResourceAssetLoader.java
+++ b/src/com/android/wallpaper/asset/ResourceAssetLoader.java
@@ -15,8 +15,6 @@
  */
 package com.android.wallpaper.asset;
 
-import android.support.annotation.Nullable;
-
 import com.bumptech.glide.Priority;
 import com.bumptech.glide.load.DataSource;
 import com.bumptech.glide.load.Options;
@@ -27,6 +25,8 @@
 
 import java.io.InputStream;
 
+import androidx.annotation.Nullable;
+
 /**
  * Glide ModelLoader which loads InputStreams from ResourceAssets.
  */
diff --git a/src/com/android/wallpaper/asset/StreamableAsset.java b/src/com/android/wallpaper/asset/StreamableAsset.java
index e8e2c48..d5b27b5 100755
--- a/src/com/android/wallpaper/asset/StreamableAsset.java
+++ b/src/com/android/wallpaper/asset/StreamableAsset.java
@@ -24,12 +24,13 @@
 import android.graphics.Rect;
 import android.media.ExifInterface;
 import android.os.AsyncTask;
-import android.support.annotation.Nullable;
 import android.util.Log;
 
 import java.io.IOException;
 import java.io.InputStream;
 
+import androidx.annotation.Nullable;
+
 /**
  * Represents Asset types for which bytes can be read directly, allowing for flexible bitmap
  * decoding.
diff --git a/src/com/android/wallpaper/asset/WallpaperModel.java b/src/com/android/wallpaper/asset/WallpaperModel.java
index e6b5f38..a5201f8 100755
--- a/src/com/android/wallpaper/asset/WallpaperModel.java
+++ b/src/com/android/wallpaper/asset/WallpaperModel.java
@@ -20,12 +20,13 @@
 import android.content.Context;
 import android.graphics.drawable.Drawable;
 import android.os.Build;
-import android.support.annotation.IntDef;
 import android.util.Log;
 
 import com.bumptech.glide.load.Key;
 import com.bumptech.glide.signature.ObjectKey;
 
+import androidx.annotation.IntDef;
+
 /**
  * Glide model representing wallpaper image data retrieved from {@link WallpaperManager}.
  * <p>
diff --git a/src/com/android/wallpaper/asset/WallpaperModelLoader.java b/src/com/android/wallpaper/asset/WallpaperModelLoader.java
index 7fe8a63..77b3480 100755
--- a/src/com/android/wallpaper/asset/WallpaperModelLoader.java
+++ b/src/com/android/wallpaper/asset/WallpaperModelLoader.java
@@ -16,7 +16,6 @@
 package com.android.wallpaper.asset;
 
 import android.graphics.drawable.Drawable;
-import android.support.annotation.Nullable;
 
 import com.bumptech.glide.Priority;
 import com.bumptech.glide.load.DataSource;
@@ -26,6 +25,8 @@
 import com.bumptech.glide.load.model.ModelLoaderFactory;
 import com.bumptech.glide.load.model.MultiModelLoaderFactory;
 
+import androidx.annotation.Nullable;
+
 /**
  * Custom Glide {@link ModelLoader} which can load {@link Drawable} objects from
  * {@link WallpaperModel} objects.
diff --git a/src/com/android/wallpaper/backup/MissingHashCodeGeneratorJobService.java b/src/com/android/wallpaper/backup/MissingHashCodeGeneratorJobService.java
index 07cddea..558e518 100755
--- a/src/com/android/wallpaper/backup/MissingHashCodeGeneratorJobService.java
+++ b/src/com/android/wallpaper/backup/MissingHashCodeGeneratorJobService.java
@@ -28,8 +28,6 @@
 import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
 import android.os.ParcelFileDescriptor;
-import android.support.annotation.Nullable;
-import android.support.annotation.VisibleForTesting;
 import android.util.Log;
 
 import com.android.wallpaper.asset.BitmapUtils;
@@ -44,6 +42,9 @@
 import java.io.IOException;
 import java.io.InputStream;
 
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+
 /**
  * {@link android.app.job.JobScheduler} job for generating missing hash codes for static wallpapers
  * on N+ devices.
diff --git a/src/com/android/wallpaper/compat/WallpaperManagerCompat.java b/src/com/android/wallpaper/compat/WallpaperManagerCompat.java
index 5a120cc..ef834a1 100755
--- a/src/com/android/wallpaper/compat/WallpaperManagerCompat.java
+++ b/src/com/android/wallpaper/compat/WallpaperManagerCompat.java
@@ -21,11 +21,12 @@
 import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
 import android.os.ParcelFileDescriptor;
-import android.support.annotation.IntDef;
 
 import java.io.IOException;
 import java.io.InputStream;
 
+import androidx.annotation.IntDef;
+
 /**
  * An abstraction over WallpaperManager to allow for the transitional state in which the N SDK
  * is not yet ready but we need to use new N API methods. Provides wrapper methods for the new
diff --git a/src/com/android/wallpaper/model/CategoryProvider.java b/src/com/android/wallpaper/model/CategoryProvider.java
index 7f52c48..3977d89 100755
--- a/src/com/android/wallpaper/model/CategoryProvider.java
+++ b/src/com/android/wallpaper/model/CategoryProvider.java
@@ -15,7 +15,7 @@
  */
 package com.android.wallpaper.model;
 
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
 
 /**
  * Fetches and provides wallpaper categories to any registered {@link CategoryReceiver}s.
diff --git a/src/com/android/wallpaper/model/CurrentWallpaperInfoV16.java b/src/com/android/wallpaper/model/CurrentWallpaperInfoV16.java
index e5efee6..3db46e7 100755
--- a/src/com/android/wallpaper/model/CurrentWallpaperInfoV16.java
+++ b/src/com/android/wallpaper/model/CurrentWallpaperInfoV16.java
@@ -18,8 +18,6 @@
 import android.app.Activity;
 import android.content.Context;
 import android.os.Parcel;
-import android.support.annotation.DrawableRes;
-import android.support.annotation.StringRes;
 
 import com.android.wallpaper.asset.Asset;
 import com.android.wallpaper.asset.CurrentWallpaperAssetV16;
@@ -31,6 +29,9 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.annotation.DrawableRes;
+import androidx.annotation.StringRes;
+
 /**
  * Represents the wallpaper currently set to the device for API 16 through 23. Should not be used
  * to set a new wallpaper.
diff --git a/src/com/android/wallpaper/model/CurrentWallpaperInfoVN.java b/src/com/android/wallpaper/model/CurrentWallpaperInfoVN.java
index 8d1aa03..eafbec9 100755
--- a/src/com/android/wallpaper/model/CurrentWallpaperInfoVN.java
+++ b/src/com/android/wallpaper/model/CurrentWallpaperInfoVN.java
@@ -19,8 +19,6 @@
 import android.content.Context;
 import android.os.Parcel;
 import android.os.ParcelFileDescriptor;
-import android.support.annotation.DrawableRes;
-import android.support.annotation.StringRes;
 import android.util.Log;
 
 import com.android.wallpaper.asset.Asset;
@@ -37,6 +35,9 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.annotation.DrawableRes;
+import androidx.annotation.StringRes;
+
 /**
  * Represents the currently set wallpaper on N+ devices. Should not be used to set a new wallpaper.
  */
diff --git a/src/com/android/wallpaper/model/ImageWallpaperInfo.java b/src/com/android/wallpaper/model/ImageWallpaperInfo.java
index 3195228..fcc1276 100755
--- a/src/com/android/wallpaper/model/ImageWallpaperInfo.java
+++ b/src/com/android/wallpaper/model/ImageWallpaperInfo.java
@@ -20,7 +20,6 @@
 import android.net.Uri;
 import android.os.Parcel;
 import android.os.Parcelable;
-import android.support.media.ExifInterface;
 import android.util.Log;
 
 import com.android.wallpaper.R;
@@ -34,6 +33,8 @@
 import java.util.Date;
 import java.util.List;
 
+import androidx.exifinterface.media.ExifInterface;
+
 /**
  * Represents a wallpaper image from the system's image picker.
  */
diff --git a/src/com/android/wallpaper/model/LiveWallpaperCategory.java b/src/com/android/wallpaper/model/LiveWallpaperCategory.java
index 93b88fa..253e11d 100644
--- a/src/com/android/wallpaper/model/LiveWallpaperCategory.java
+++ b/src/com/android/wallpaper/model/LiveWallpaperCategory.java
@@ -17,11 +17,12 @@
 
 import android.content.Context;
 import android.os.AsyncTask;
-import android.support.annotation.Nullable;
 
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.annotation.Nullable;
+
 
 public class LiveWallpaperCategory extends WallpaperCategory {
 
diff --git a/src/com/android/wallpaper/model/LiveWallpaperInfo.java b/src/com/android/wallpaper/model/LiveWallpaperInfo.java
index fd3f151..8944c3d 100755
--- a/src/com/android/wallpaper/model/LiveWallpaperInfo.java
+++ b/src/com/android/wallpaper/model/LiveWallpaperInfo.java
@@ -26,7 +26,6 @@
 import android.net.Uri;
 import android.os.Parcel;
 import android.service.wallpaper.WallpaperService;
-import android.support.annotation.Nullable;
 import android.util.Log;
 
 import com.android.wallpaper.R;
@@ -46,6 +45,8 @@
 import java.util.Iterator;
 import java.util.List;
 
+import androidx.annotation.Nullable;
+
 /**
  * Represents a live wallpaper from the system.
  */
diff --git a/src/com/android/wallpaper/model/WallpaperInfo.java b/src/com/android/wallpaper/model/WallpaperInfo.java
index 28ccdc1..2f605c0 100755
--- a/src/com/android/wallpaper/model/WallpaperInfo.java
+++ b/src/com/android/wallpaper/model/WallpaperInfo.java
@@ -20,15 +20,16 @@
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
 import android.os.Parcelable;
-import android.support.annotation.DrawableRes;
-import android.support.annotation.IntDef;
-import android.support.annotation.StringRes;
 
 import com.android.wallpaper.R;
 import com.android.wallpaper.asset.Asset;
 
 import java.util.List;
 
+import androidx.annotation.DrawableRes;
+import androidx.annotation.IntDef;
+import androidx.annotation.StringRes;
+
 /**
  * Interface for wallpaper info model.
  */
diff --git a/src/com/android/wallpaper/model/WallpaperMetadata.java b/src/com/android/wallpaper/model/WallpaperMetadata.java
index 289275a..22c1044 100755
--- a/src/com/android/wallpaper/model/WallpaperMetadata.java
+++ b/src/com/android/wallpaper/model/WallpaperMetadata.java
@@ -16,11 +16,12 @@
 package com.android.wallpaper.model;
 
 import android.app.WallpaperInfo;
-import android.support.annotation.DrawableRes;
-import android.support.annotation.StringRes;
 
 import java.util.List;
 
+import androidx.annotation.DrawableRes;
+import androidx.annotation.StringRes;
+
 /**
  * Lightweight wrapper for user-facing wallpaper metadata.
  */
diff --git a/src/com/android/wallpaper/model/WallpaperRotationInitializer.java b/src/com/android/wallpaper/model/WallpaperRotationInitializer.java
index b198a05..ad9eef9 100755
--- a/src/com/android/wallpaper/model/WallpaperRotationInitializer.java
+++ b/src/com/android/wallpaper/model/WallpaperRotationInitializer.java
@@ -17,7 +17,8 @@
 
 import android.content.Context;
 import android.os.Parcelable;
-import android.support.annotation.IntDef;
+
+import androidx.annotation.IntDef;
 
 /**
  * Interface for objects which initialize daily wallpaper rotations.
diff --git a/src/com/android/wallpaper/module/BitmapCropper.java b/src/com/android/wallpaper/module/BitmapCropper.java
index e23cfdc..ca38d2e 100755
--- a/src/com/android/wallpaper/module/BitmapCropper.java
+++ b/src/com/android/wallpaper/module/BitmapCropper.java
@@ -17,10 +17,11 @@
 
 import android.graphics.Bitmap;
 import android.graphics.Rect;
-import android.support.annotation.Nullable;
 
 import com.android.wallpaper.asset.Asset;
 
+import androidx.annotation.Nullable;
+
 /**
  * Interface for classes which perform crop operations on bitmaps.
  */
diff --git a/src/com/android/wallpaper/module/CurrentWallpaperInfoFactory.java b/src/com/android/wallpaper/module/CurrentWallpaperInfoFactory.java
index 6aeea8c..ed8f83f 100755
--- a/src/com/android/wallpaper/module/CurrentWallpaperInfoFactory.java
+++ b/src/com/android/wallpaper/module/CurrentWallpaperInfoFactory.java
@@ -15,11 +15,11 @@
  */
 package com.android.wallpaper.module;
 
-import android.support.annotation.Nullable;
-
 import com.android.wallpaper.model.WallpaperInfo;
 import com.android.wallpaper.module.WallpaperPreferences.PresentationMode;
 
+import androidx.annotation.Nullable;
+
 /**
  * Interface for factories which construct {@link WallpaperInfo} objects representing the device's
  * currently set wallpapers.
diff --git a/src/com/android/wallpaper/module/DailyLoggingAlarmReceiver.java b/src/com/android/wallpaper/module/DailyLoggingAlarmReceiver.java
index 0c5aa55..9055907 100755
--- a/src/com/android/wallpaper/module/DailyLoggingAlarmReceiver.java
+++ b/src/com/android/wallpaper/module/DailyLoggingAlarmReceiver.java
@@ -20,7 +20,6 @@
 import android.content.Intent;
 import android.os.PowerManager;
 import android.os.PowerManager.WakeLock;
-import android.support.annotation.Nullable;
 import android.util.Log;
 
 import com.android.wallpaper.model.WallpaperMetadata;
@@ -30,6 +29,8 @@
 
 import java.util.Calendar;
 
+import androidx.annotation.Nullable;
+
 /**
  * Performs daily logging operations when alarm is received.
  */
diff --git a/src/com/android/wallpaper/module/DefaultCurrentWallpaperInfoFactory.java b/src/com/android/wallpaper/module/DefaultCurrentWallpaperInfoFactory.java
index 165db39..f4fb4ea 100755
--- a/src/com/android/wallpaper/module/DefaultCurrentWallpaperInfoFactory.java
+++ b/src/com/android/wallpaper/module/DefaultCurrentWallpaperInfoFactory.java
@@ -16,7 +16,6 @@
 package com.android.wallpaper.module;
 
 import android.content.Context;
-import android.support.annotation.Nullable;
 
 import com.android.wallpaper.compat.BuildCompat;
 import com.android.wallpaper.compat.WallpaperManagerCompat;
@@ -28,6 +27,8 @@
 import com.android.wallpaper.module.WallpaperPreferences.PresentationMode;
 import com.android.wallpaper.module.WallpaperRefresher.RefreshListener;
 
+import androidx.annotation.Nullable;
+
 /**
  * Default implementation of {@link CurrentWallpaperInfoFactory} which actually constructs
  * {@link WallpaperInfo} instances representing the wallpapers currently set to the device.
diff --git a/src/com/android/wallpaper/module/DefaultExploreIntentChecker.java b/src/com/android/wallpaper/module/DefaultExploreIntentChecker.java
index 5c8ad18..e3ced71 100755
--- a/src/com/android/wallpaper/module/DefaultExploreIntentChecker.java
+++ b/src/com/android/wallpaper/module/DefaultExploreIntentChecker.java
@@ -21,12 +21,13 @@
 import android.content.pm.ResolveInfo;
 import android.net.Uri;
 import android.os.AsyncTask;
-import android.support.annotation.Nullable;
 
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import androidx.annotation.Nullable;
+
 /**
  * Checks whether an explore action can be taken for the given uri, i.e. whether any activity on
  * the device is capable of handling it.
diff --git a/src/com/android/wallpaper/module/DefaultWallpaperPersister.java b/src/com/android/wallpaper/module/DefaultWallpaperPersister.java
index be08a39..e2c968c 100755
--- a/src/com/android/wallpaper/module/DefaultWallpaperPersister.java
+++ b/src/com/android/wallpaper/module/DefaultWallpaperPersister.java
@@ -28,7 +28,6 @@
 import android.graphics.drawable.BitmapDrawable;
 import android.os.AsyncTask;
 import android.os.ParcelFileDescriptor;
-import android.support.annotation.Nullable;
 import android.util.Log;
 import android.view.Display;
 import android.view.WindowManager;
@@ -59,6 +58,8 @@
 import java.io.InputStream;
 import java.util.List;
 
+import androidx.annotation.Nullable;
+
 /**
  * Concrete implementation of WallpaperPersister which actually sets wallpapers to the system via
  * the WallpaperManager.
diff --git a/src/com/android/wallpaper/module/DefaultWallpaperPreferences.java b/src/com/android/wallpaper/module/DefaultWallpaperPreferences.java
index 9c84978..081e956 100755
--- a/src/com/android/wallpaper/module/DefaultWallpaperPreferences.java
+++ b/src/com/android/wallpaper/module/DefaultWallpaperPreferences.java
@@ -19,7 +19,6 @@
 import android.content.Context;
 import android.content.SharedPreferences;
 import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
-import android.support.annotation.Nullable;
 import android.util.Log;
 
 import org.json.JSONArray;
@@ -31,6 +30,8 @@
 import java.util.Date;
 import java.util.List;
 
+import androidx.annotation.Nullable;
+
 /**
  * Default implementation that writes to and reads from SharedPreferences.
  */
diff --git a/src/com/android/wallpaper/module/ExploreIntentChecker.java b/src/com/android/wallpaper/module/ExploreIntentChecker.java
index e7518b4..90c072a 100755
--- a/src/com/android/wallpaper/module/ExploreIntentChecker.java
+++ b/src/com/android/wallpaper/module/ExploreIntentChecker.java
@@ -17,7 +17,8 @@
 
 import android.content.Intent;
 import android.net.Uri;
-import android.support.annotation.Nullable;
+
+import androidx.annotation.Nullable;
 
 /**
  * Interface for an object which checks whether any activity on the device can handle ACTION_VIEW
diff --git a/src/com/android/wallpaper/module/FormFactorChecker.java b/src/com/android/wallpaper/module/FormFactorChecker.java
index 7f424c4..0fbf9eb 100755
--- a/src/com/android/wallpaper/module/FormFactorChecker.java
+++ b/src/com/android/wallpaper/module/FormFactorChecker.java
@@ -15,7 +15,7 @@
  */
 package com.android.wallpaper.module;
 
-import android.support.annotation.IntDef;
+import androidx.annotation.IntDef;
 
 /**
  * Checks the form factor of the device.
diff --git a/src/com/android/wallpaper/module/Injector.java b/src/com/android/wallpaper/module/Injector.java
index 6e2f9b4..d34f84e 100755
--- a/src/com/android/wallpaper/module/Injector.java
+++ b/src/com/android/wallpaper/module/Injector.java
@@ -17,7 +17,6 @@
 
 import android.content.Context;
 
-import android.support.v4.app.Fragment;
 import com.android.wallpaper.compat.WallpaperManagerCompat;
 import com.android.wallpaper.model.CategoryProvider;
 import com.android.wallpaper.model.WallpaperInfo;
@@ -25,6 +24,8 @@
 import com.android.wallpaper.network.Requester;
 import com.android.wallpaper.picker.PreviewFragment.PreviewMode;
 
+import androidx.fragment.app.Fragment;
+
 /**
  * Interface for a provider of "injected dependencies." (NOTE: The term "injector" is somewhat of a
  * misnomer; this is more aptly a service registry as part of a service locator design pattern.)
diff --git a/src/com/android/wallpaper/module/NetworkStatusNotifier.java b/src/com/android/wallpaper/module/NetworkStatusNotifier.java
index 31f72e2..50e52e4 100755
--- a/src/com/android/wallpaper/module/NetworkStatusNotifier.java
+++ b/src/com/android/wallpaper/module/NetworkStatusNotifier.java
@@ -15,7 +15,7 @@
  */
 package com.android.wallpaper.module;
 
-import android.support.annotation.IntDef;
+import androidx.annotation.IntDef;
 
 /**
  * Provides current status of the network. Abstraction layer above Android's ConnectivityManager
diff --git a/src/com/android/wallpaper/module/NoBackupImageWallpaper.java b/src/com/android/wallpaper/module/NoBackupImageWallpaper.java
index a132207..a76d881 100755
--- a/src/com/android/wallpaper/module/NoBackupImageWallpaper.java
+++ b/src/com/android/wallpaper/module/NoBackupImageWallpaper.java
@@ -15,6 +15,9 @@
  */
 package com.android.wallpaper.module;
 
+import static javax.microedition.khronos.egl.EGL10.EGL_NO_CONTEXT;
+import static javax.microedition.khronos.egl.EGL10.EGL_NO_SURFACE;
+
 import android.annotation.SuppressLint;
 import android.app.WallpaperColors;
 import android.app.WallpaperManager;
@@ -39,7 +42,6 @@
 import android.os.Handler;
 import android.renderscript.Matrix4f;
 import android.service.wallpaper.WallpaperService;
-import android.support.annotation.RequiresApi;
 import android.util.Log;
 import android.view.Display;
 import android.view.MotionEvent;
@@ -63,8 +65,7 @@
 import javax.microedition.khronos.egl.EGLDisplay;
 import javax.microedition.khronos.egl.EGLSurface;
 
-import static javax.microedition.khronos.egl.EGL10.EGL_NO_CONTEXT;
-import static javax.microedition.khronos.egl.EGL10.EGL_NO_SURFACE;
+import androidx.annotation.RequiresApi;
 
 /**
  * Live wallpaper service which simply renders a wallpaper from internal storage. Designed as a
diff --git a/src/com/android/wallpaper/module/PackageStatusNotifier.java b/src/com/android/wallpaper/module/PackageStatusNotifier.java
index c315818..2e90d86 100644
--- a/src/com/android/wallpaper/module/PackageStatusNotifier.java
+++ b/src/com/android/wallpaper/module/PackageStatusNotifier.java
@@ -15,7 +15,7 @@
  */
 package com.android.wallpaper.module;
 
-import android.support.annotation.IntDef;
+import androidx.annotation.IntDef;
 
 
 /**
diff --git a/src/com/android/wallpaper/module/RotatingWallpaperComponentChecker.java b/src/com/android/wallpaper/module/RotatingWallpaperComponentChecker.java
index e60a90d..8a2908a 100755
--- a/src/com/android/wallpaper/module/RotatingWallpaperComponentChecker.java
+++ b/src/com/android/wallpaper/module/RotatingWallpaperComponentChecker.java
@@ -16,7 +16,8 @@
 package com.android.wallpaper.module;
 
 import android.content.Context;
-import android.support.annotation.IntDef;
+
+import androidx.annotation.IntDef;
 
 /**
  * Checks what component is responsible for presenting the rotating wallpaper image under the
diff --git a/src/com/android/wallpaper/module/UserEventLogger.java b/src/com/android/wallpaper/module/UserEventLogger.java
index 4fb2b0d..993edf9 100755
--- a/src/com/android/wallpaper/module/UserEventLogger.java
+++ b/src/com/android/wallpaper/module/UserEventLogger.java
@@ -15,10 +15,10 @@
  */
 package com.android.wallpaper.module;
 
-import android.support.annotation.IntDef;
-
 import com.android.wallpaper.module.WallpaperPersister.WallpaperPosition;
 
+import androidx.annotation.IntDef;
+
 /**
  * Interface for logging user events in the wallpaper picker.
  */
diff --git a/src/com/android/wallpaper/module/WallpaperPersister.java b/src/com/android/wallpaper/module/WallpaperPersister.java
index bb59cb1..59fb61f 100755
--- a/src/com/android/wallpaper/module/WallpaperPersister.java
+++ b/src/com/android/wallpaper/module/WallpaperPersister.java
@@ -18,14 +18,15 @@
 import android.app.Activity;
 import android.graphics.Bitmap;
 import android.graphics.Rect;
-import android.support.annotation.IntDef;
-import android.support.annotation.Nullable;
 
 import com.android.wallpaper.asset.Asset;
 import com.android.wallpaper.model.WallpaperInfo;
 
 import java.util.List;
 
+import androidx.annotation.IntDef;
+import androidx.annotation.Nullable;
+
 /**
  * Interface for classes which persist wallpapers to the system.
  */
diff --git a/src/com/android/wallpaper/module/WallpaperPreferences.java b/src/com/android/wallpaper/module/WallpaperPreferences.java
index 2427f23..aa964cd 100755
--- a/src/com/android/wallpaper/module/WallpaperPreferences.java
+++ b/src/com/android/wallpaper/module/WallpaperPreferences.java
@@ -17,11 +17,12 @@
 
 import android.annotation.TargetApi;
 import android.os.Build;
-import android.support.annotation.IntDef;
-import android.support.annotation.Nullable;
 
 import java.util.List;
 
+import androidx.annotation.IntDef;
+import androidx.annotation.Nullable;
+
 /**
  * Interface for persisting and retrieving wallpaper specific preferences.
  */
diff --git a/src/com/android/wallpaper/module/WallpaperRefresher.java b/src/com/android/wallpaper/module/WallpaperRefresher.java
index 52e9ccf..f203b79 100755
--- a/src/com/android/wallpaper/module/WallpaperRefresher.java
+++ b/src/com/android/wallpaper/module/WallpaperRefresher.java
@@ -15,11 +15,11 @@
  */
 package com.android.wallpaper.module;
 
-import android.support.annotation.Nullable;
-
 import com.android.wallpaper.model.WallpaperMetadata;
 import com.android.wallpaper.module.WallpaperPreferences.PresentationMode;
 
+import androidx.annotation.Nullable;
+
 /**
  * Interface for classes which refresh stored wallpaper metadata against the currently set
  * wallpaper.
diff --git a/src/com/android/wallpaper/picker/BaseActivity.java b/src/com/android/wallpaper/picker/BaseActivity.java
index 0af06c7..7f2ea60 100755
--- a/src/com/android/wallpaper/picker/BaseActivity.java
+++ b/src/com/android/wallpaper/picker/BaseActivity.java
@@ -15,7 +15,7 @@
  */
 package com.android.wallpaper.picker;
 
-import android.support.v7.app.AppCompatActivity;
+import androidx.appcompat.app.AppCompatActivity;
 
 /**
  * Base activity that keeps track of whether fragment transactions are safe to commit given the
diff --git a/src/com/android/wallpaper/picker/CategoryPickerFragment.java b/src/com/android/wallpaper/picker/CategoryPickerFragment.java
index 4318315..6dc91f4 100755
--- a/src/com/android/wallpaper/picker/CategoryPickerFragment.java
+++ b/src/com/android/wallpaper/picker/CategoryPickerFragment.java
@@ -19,7 +19,6 @@
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
-import android.content.pm.LauncherApps;
 import android.content.pm.PackageManager;
 import android.graphics.Point;
 import android.graphics.PorterDuff.Mode;
@@ -29,14 +28,6 @@
 import android.os.Build.VERSION_CODES;
 import android.os.Bundle;
 import android.provider.Settings;
-import android.service.wallpaper.WallpaperService;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
-import android.support.v7.app.AlertDialog;
-import android.support.v7.widget.GridLayoutManager;
-import android.support.v7.widget.GridLayoutManager.SpanSizeLookup;
-import android.support.v7.widget.RecyclerView;
-import android.support.v7.widget.RecyclerView.ViewHolder;
 import android.text.TextUtils;
 import android.util.DisplayMetrics;
 import android.util.Log;
@@ -59,16 +50,12 @@
 import com.android.wallpaper.compat.ButtonDrawableSetterCompat;
 import com.android.wallpaper.config.Flags;
 import com.android.wallpaper.model.Category;
-import com.android.wallpaper.model.ThirdPartyAppCategory;
-import com.android.wallpaper.model.WallpaperCategory;
 import com.android.wallpaper.model.WallpaperInfo;
 import com.android.wallpaper.module.CurrentWallpaperInfoFactory;
 import com.android.wallpaper.module.CurrentWallpaperInfoFactory.WallpaperInfoCallback;
 import com.android.wallpaper.module.ExploreIntentChecker;
-import com.android.wallpaper.module.Injector;
 import com.android.wallpaper.module.InjectorProvider;
 import com.android.wallpaper.module.LockWallpaperStatusChecker;
-import com.android.wallpaper.module.PackageStatusNotifier;
 import com.android.wallpaper.module.UserEventLogger;
 import com.android.wallpaper.module.WallpaperPreferences;
 import com.android.wallpaper.module.WallpaperPreferences.PresentationMode;
@@ -79,6 +66,7 @@
 import com.android.wallpaper.util.ScreenSizeCalculator;
 import com.android.wallpaper.util.TileSizeCalculator;
 import com.android.wallpaper.widget.GridMarginDecoration;
+
 import com.bumptech.glide.Glide;
 import com.bumptech.glide.MemoryCategory;
 
@@ -86,6 +74,14 @@
 import java.util.Date;
 import java.util.List;
 
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.Fragment;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.GridLayoutManager.SpanSizeLookup;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.recyclerview.widget.RecyclerView.ViewHolder;
+
 /**
  * Displays the Main UI for picking an category of wallpapers to choose from.
  */
diff --git a/src/com/android/wallpaper/picker/CurrentWallpaperBottomSheetPresenter.java b/src/com/android/wallpaper/picker/CurrentWallpaperBottomSheetPresenter.java
index 7ea6fef..5190ec0 100755
--- a/src/com/android/wallpaper/picker/CurrentWallpaperBottomSheetPresenter.java
+++ b/src/com/android/wallpaper/picker/CurrentWallpaperBottomSheetPresenter.java
@@ -15,7 +15,7 @@
  */
 package com.android.wallpaper.picker;
 
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
 
 /**
  * Interface for a presenter class which displays the currently set wallpaper(s) in the view.
diff --git a/src/com/android/wallpaper/picker/LoadWallpaperErrorDialogFragment.java b/src/com/android/wallpaper/picker/LoadWallpaperErrorDialogFragment.java
index 23a6417..0d9e9af 100755
--- a/src/com/android/wallpaper/picker/LoadWallpaperErrorDialogFragment.java
+++ b/src/com/android/wallpaper/picker/LoadWallpaperErrorDialogFragment.java
@@ -18,12 +18,13 @@
 import android.app.Dialog;
 import android.content.DialogInterface;
 import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.v4.app.DialogFragment;
-import android.support.v7.app.AlertDialog;
 
 import com.android.wallpaper.R;
 
+import androidx.annotation.NonNull;
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.DialogFragment;
+
 /**
  * Dialog fragment which communicates a message that loading the wallpaper failed with an OK button,
  * when clicked will navigate the user back to the previous activity.
diff --git a/src/com/android/wallpaper/picker/OfflineDesktopFragment.java b/src/com/android/wallpaper/picker/OfflineDesktopFragment.java
index a4ef525..8588648 100755
--- a/src/com/android/wallpaper/picker/OfflineDesktopFragment.java
+++ b/src/com/android/wallpaper/picker/OfflineDesktopFragment.java
@@ -16,13 +16,14 @@
 package com.android.wallpaper.picker;
 
 import android.os.Bundle;
-import android.support.v4.app.Fragment;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 
 import com.android.wallpaper.R;
 
+import androidx.fragment.app.Fragment;
+
 /**
  * Displays the UI on desktop mode indicating that wallpapers are unavailable while offline.
  */
diff --git a/src/com/android/wallpaper/picker/PreviewActivity.java b/src/com/android/wallpaper/picker/PreviewActivity.java
index d38e5fd..bbedb7f 100755
--- a/src/com/android/wallpaper/picker/PreviewActivity.java
+++ b/src/com/android/wallpaper/picker/PreviewActivity.java
@@ -18,14 +18,15 @@
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
 
 import com.android.wallpaper.R;
 import com.android.wallpaper.model.InlinePreviewIntentFactory;
 import com.android.wallpaper.model.WallpaperInfo;
 import com.android.wallpaper.module.InjectorProvider;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+
 /**
  * Activity that displays a preview of a specific wallpaper and provides the ability to set the
  * wallpaper as the user's current wallpaper.
diff --git a/src/com/android/wallpaper/picker/PreviewFragment.java b/src/com/android/wallpaper/picker/PreviewFragment.java
index 33767ee..b0a7d27 100755
--- a/src/com/android/wallpaper/picker/PreviewFragment.java
+++ b/src/com/android/wallpaper/picker/PreviewFragment.java
@@ -39,15 +39,6 @@
 import android.os.Build.VERSION_CODES;
 import android.os.Bundle;
 import android.os.Handler;
-import android.support.annotation.IntDef;
-import android.support.design.widget.BottomSheetBehavior;
-import android.support.design.widget.BottomSheetBehavior.State;
-import android.support.v4.app.DialogFragment;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentActivity;
-import android.support.v4.view.ViewCompat;
-import android.support.v7.app.AppCompatActivity;
-import android.support.v7.widget.Toolbar;
 import android.util.Log;
 import android.view.Display;
 import android.view.LayoutInflater;
@@ -89,14 +80,24 @@
 import com.android.wallpaper.util.ThrowableAnalyzer;
 import com.android.wallpaper.util.WallpaperCropUtils;
 import com.android.wallpaper.widget.MaterialProgressDrawable;
+
 import com.bumptech.glide.Glide;
 import com.bumptech.glide.MemoryCategory;
 import com.davemorrissey.labs.subscaleview.ImageSource;
 import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView;
+import com.google.android.material.bottomsheet.BottomSheetBehavior;
+import com.google.android.material.bottomsheet.BottomSheetBehavior.State;
 
 import java.util.Date;
 import java.util.List;
 
+import androidx.annotation.IntDef;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.widget.Toolbar;
+import androidx.core.view.ViewCompat;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+
 /**
  * Fragment which displays the UI for previewing an individual wallpaper and its attribution
  * information.
diff --git a/src/com/android/wallpaper/picker/SetWallpaperDialogFragment.java b/src/com/android/wallpaper/picker/SetWallpaperDialogFragment.java
index 8212fdd..2f6dfa9 100755
--- a/src/com/android/wallpaper/picker/SetWallpaperDialogFragment.java
+++ b/src/com/android/wallpaper/picker/SetWallpaperDialogFragment.java
@@ -18,15 +18,16 @@
 import android.app.Dialog;
 import android.content.Context;
 import android.os.Bundle;
-import android.support.v4.app.DialogFragment;
-import android.support.v7.app.AlertDialog;
-import android.support.v7.view.ContextThemeWrapper;
 import android.view.View;
 import android.widget.Button;
 
 import com.android.wallpaper.R;
 import com.android.wallpaper.compat.ButtonDrawableSetterCompat;
 
+import androidx.appcompat.app.AlertDialog;
+import androidx.appcompat.view.ContextThemeWrapper;
+import androidx.fragment.app.DialogFragment;
+
 /**
  * Dialog fragment which shows the "Set wallpaper" destination dialog for N+ devices. Lets user
  * choose whether to set the wallpaper on the home screen, lock screen, or both.
diff --git a/src/com/android/wallpaper/picker/SetWallpaperErrorDialogFragment.java b/src/com/android/wallpaper/picker/SetWallpaperErrorDialogFragment.java
index be2f1e7..89a7d02 100755
--- a/src/com/android/wallpaper/picker/SetWallpaperErrorDialogFragment.java
+++ b/src/com/android/wallpaper/picker/SetWallpaperErrorDialogFragment.java
@@ -19,13 +19,14 @@
 import android.app.Dialog;
 import android.content.DialogInterface;
 import android.os.Bundle;
-import android.support.v4.app.DialogFragment;
-import android.support.v4.app.Fragment;
-import android.support.v7.app.AlertDialog;
 
 import com.android.wallpaper.R;
 import com.android.wallpaper.module.WallpaperPersister.Destination;
 
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.DialogFragment;
+import androidx.fragment.app.Fragment;
+
 /**
  * Dialog fragment which communicates a message that setting the wallpaper failed with an option to
  * try again.
diff --git a/src/com/android/wallpaper/picker/StandalonePreviewActivity.java b/src/com/android/wallpaper/picker/StandalonePreviewActivity.java
index b3ed13c..9eb07fc 100755
--- a/src/com/android/wallpaper/picker/StandalonePreviewActivity.java
+++ b/src/com/android/wallpaper/picker/StandalonePreviewActivity.java
@@ -21,9 +21,6 @@
 import android.net.Uri;
 import android.os.Binder;
 import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
 import android.util.Log;
 
 import com.android.wallpaper.R;
@@ -32,6 +29,10 @@
 import com.android.wallpaper.module.InjectorProvider;
 import com.android.wallpaper.module.UserEventLogger;
 
+import androidx.annotation.NonNull;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+
 /**
  * Activity that displays a preview of a specific wallpaper and provides the ability to set the
  * wallpaper as the user's current wallpaper. It's "standalone" meaning it doesn't reside in the
diff --git a/src/com/android/wallpaper/picker/StartRotationDialogFragment.java b/src/com/android/wallpaper/picker/StartRotationDialogFragment.java
index 4e7b090..5f39690 100755
--- a/src/com/android/wallpaper/picker/StartRotationDialogFragment.java
+++ b/src/com/android/wallpaper/picker/StartRotationDialogFragment.java
@@ -19,10 +19,6 @@
 import android.content.DialogInterface;
 import android.content.DialogInterface.OnClickListener;
 import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v4.app.DialogFragment;
-import android.support.v7.app.AlertDialog;
 import android.text.Html;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -33,6 +29,11 @@
 import com.android.wallpaper.model.WallpaperRotationInitializer;
 import com.android.wallpaper.module.InjectorProvider;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.DialogFragment;
+
 /**
  * Dialog which allows user to start a wallpaper rotation or cancel, as well as providing an option
  * whether to rotate wallpapers on wifi-only connections or not.
diff --git a/src/com/android/wallpaper/picker/StartRotationErrorDialogFragment.java b/src/com/android/wallpaper/picker/StartRotationErrorDialogFragment.java
index 6fef3ae..9f98b70 100755
--- a/src/com/android/wallpaper/picker/StartRotationErrorDialogFragment.java
+++ b/src/com/android/wallpaper/picker/StartRotationErrorDialogFragment.java
@@ -18,13 +18,14 @@
 import android.app.Dialog;
 import android.content.DialogInterface;
 import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.v4.app.DialogFragment;
-import android.support.v7.app.AlertDialog;
 
 import com.android.wallpaper.R;
 import com.android.wallpaper.model.WallpaperRotationInitializer.NetworkPreference;
 
+import androidx.annotation.NonNull;
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.DialogFragment;
+
 /**
  * Dialog fragment which communicates that starting a wallpaper rotation failed and gives the user
  * an option to retry starting the rotation.
diff --git a/src/com/android/wallpaper/picker/TopLevelPickerActivity.java b/src/com/android/wallpaper/picker/TopLevelPickerActivity.java
index 898a388..6353bc3 100755
--- a/src/com/android/wallpaper/picker/TopLevelPickerActivity.java
+++ b/src/com/android/wallpaper/picker/TopLevelPickerActivity.java
@@ -32,17 +32,6 @@
 import android.os.Build.VERSION_CODES;
 import android.os.Bundle;
 import android.service.wallpaper.WallpaperService;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.design.widget.BottomSheetBehavior;
-import android.support.design.widget.BottomSheetBehavior.BottomSheetCallback;
-import android.support.design.widget.TabLayout;
-import android.support.design.widget.TabLayout.OnTabSelectedListener;
-import android.support.design.widget.TabLayout.Tab;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
-import android.support.v7.app.AlertDialog;
-import android.support.v7.widget.Toolbar;
 import android.util.Log;
 import android.view.View;
 import android.view.View.OnClickListener;
@@ -87,14 +76,28 @@
 import com.android.wallpaper.picker.PreviewActivity.PreviewActivityIntentFactory;
 import com.android.wallpaper.picker.ViewOnlyPreviewActivity.ViewOnlyPreviewActivityIntentFactory;
 import com.android.wallpaper.picker.WallpaperDisabledFragment.WallpaperSupportLevel;
-import com.android.wallpaper.picker.individual.IndividualPickerActivity.IndividualPickerActivityIntentFactory;
+import com.android.wallpaper.picker.individual.IndividualPickerActivity
+        .IndividualPickerActivityIntentFactory;
 import com.android.wallpaper.picker.individual.IndividualPickerFragment;
 import com.android.wallpaper.util.ScreenSizeCalculator;
 import com.android.wallpaper.util.ThrowableAnalyzer;
 
+import com.google.android.material.bottomsheet.BottomSheetBehavior;
+import com.google.android.material.bottomsheet.BottomSheetBehavior.BottomSheetCallback;
+import com.google.android.material.tabs.TabLayout;
+import com.google.android.material.tabs.TabLayout.OnTabSelectedListener;
+import com.google.android.material.tabs.TabLayout.Tab;
+
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
+import androidx.appcompat.widget.Toolbar;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+
 /**
  * Activity allowing users to select a category of wallpapers to choose from.
  */
diff --git a/src/com/android/wallpaper/picker/ViewOnlyPreviewActivity.java b/src/com/android/wallpaper/picker/ViewOnlyPreviewActivity.java
index 922b7fc..2a22046 100755
--- a/src/com/android/wallpaper/picker/ViewOnlyPreviewActivity.java
+++ b/src/com/android/wallpaper/picker/ViewOnlyPreviewActivity.java
@@ -18,14 +18,15 @@
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
 
 import com.android.wallpaper.R;
 import com.android.wallpaper.model.InlinePreviewIntentFactory;
 import com.android.wallpaper.model.WallpaperInfo;
 import com.android.wallpaper.module.InjectorProvider;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+
 /**
  * Activity that displays a view-only preview of a specific wallpaper.
  */
diff --git a/src/com/android/wallpaper/picker/WallpaperDisabledFragment.java b/src/com/android/wallpaper/picker/WallpaperDisabledFragment.java
index 18745c8..0bd5f35 100755
--- a/src/com/android/wallpaper/picker/WallpaperDisabledFragment.java
+++ b/src/com/android/wallpaper/picker/WallpaperDisabledFragment.java
@@ -16,8 +16,6 @@
 package com.android.wallpaper.picker;
 
 import android.os.Bundle;
-import android.support.annotation.IntDef;
-import android.support.v4.app.Fragment;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -31,6 +29,9 @@
 
 import java.util.Date;
 
+import androidx.annotation.IntDef;
+import androidx.fragment.app.Fragment;
+
 /**
  * Displays the UI indicating that setting wallpaper is disabled.
  */
diff --git a/src/com/android/wallpaper/picker/WallpaperPreviewBitmapTransformation.java b/src/com/android/wallpaper/picker/WallpaperPreviewBitmapTransformation.java
index cc51265..0ee04a6 100755
--- a/src/com/android/wallpaper/picker/WallpaperPreviewBitmapTransformation.java
+++ b/src/com/android/wallpaper/picker/WallpaperPreviewBitmapTransformation.java
@@ -18,16 +18,18 @@
 import android.content.Context;
 import android.graphics.Bitmap;
 import android.graphics.Point;
-import android.support.annotation.NonNull;
 import android.view.WindowManager;
 
 import com.android.wallpaper.util.ScreenSizeCalculator;
 import com.android.wallpaper.util.WallpaperCropUtils;
+
 import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
 import com.bumptech.glide.load.resource.bitmap.BitmapTransformation;
 
 import java.security.MessageDigest;
 
+import androidx.annotation.NonNull;
+
 /**
  * Glide bitmap transformation which emulates the default preview positioning of a wallpaper image.
  */
diff --git a/src/com/android/wallpaper/picker/individual/DesktopRotationHolder.java b/src/com/android/wallpaper/picker/individual/DesktopRotationHolder.java
index d74554c..d2ab519 100755
--- a/src/com/android/wallpaper/picker/individual/DesktopRotationHolder.java
+++ b/src/com/android/wallpaper/picker/individual/DesktopRotationHolder.java
@@ -16,7 +16,6 @@
 package com.android.wallpaper.picker.individual;
 
 import android.app.Activity;
-import android.support.v7.widget.RecyclerView.ViewHolder;
 import android.view.View;
 import android.widget.ImageView;
 
@@ -28,6 +27,8 @@
 import com.android.wallpaper.module.WallpaperPreferences;
 import com.android.wallpaper.picker.RotationStarter;
 
+import androidx.recyclerview.widget.RecyclerView.ViewHolder;
+
 /**
  * IndividualHolder subclass for a wallpaper tile in the RecyclerView for which a click should
  * set the wallpaper as the current wallpaper on the device.
diff --git a/src/com/android/wallpaper/picker/individual/IndividualHolder.java b/src/com/android/wallpaper/picker/individual/IndividualHolder.java
index a8f9267..5ef61c3 100755
--- a/src/com/android/wallpaper/picker/individual/IndividualHolder.java
+++ b/src/com/android/wallpaper/picker/individual/IndividualHolder.java
@@ -17,7 +17,6 @@
 
 import android.app.Activity;
 import android.graphics.drawable.Drawable;
-import android.support.v7.widget.RecyclerView.ViewHolder;
 import android.view.View;
 import android.widget.ImageView;
 import android.widget.RelativeLayout;
@@ -28,6 +27,8 @@
 
 import java.util.List;
 
+import androidx.recyclerview.widget.RecyclerView.ViewHolder;
+
 /**
  * Base class for ViewHolders for individual wallpaper tiles.
  */
diff --git a/src/com/android/wallpaper/picker/individual/IndividualPickerActivity.java b/src/com/android/wallpaper/picker/individual/IndividualPickerActivity.java
index 50248a6..2593fca 100755
--- a/src/com/android/wallpaper/picker/individual/IndividualPickerActivity.java
+++ b/src/com/android/wallpaper/picker/individual/IndividualPickerActivity.java
@@ -25,10 +25,6 @@
 import android.graphics.drawable.Drawable;
 import android.os.Build.VERSION;
 import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
-import android.support.v4.content.ContextCompat;
-import android.support.v7.widget.Toolbar;
 import android.util.Log;
 import android.view.MenuItem;
 import android.widget.Toast;
@@ -49,6 +45,11 @@
 import com.android.wallpaper.util.ActivityUtils;
 import com.android.wallpaper.util.DiskBasedLogger;
 
+import androidx.appcompat.widget.Toolbar;
+import androidx.core.content.ContextCompat;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+
 /**
  * Activity that can be launched from the Android wallpaper picker and allows users to pick from
  * various wallpapers and enter a preview mode for specific ones.
diff --git a/src/com/android/wallpaper/picker/individual/IndividualPickerFragment.java b/src/com/android/wallpaper/picker/individual/IndividualPickerFragment.java
index 32d58e7..37c2477 100755
--- a/src/com/android/wallpaper/picker/individual/IndividualPickerFragment.java
+++ b/src/com/android/wallpaper/picker/individual/IndividualPickerFragment.java
@@ -26,12 +26,6 @@
 import android.os.Bundle;
 import android.os.Handler;
 import android.service.wallpaper.WallpaperService;
-import android.support.v4.app.DialogFragment;
-import android.support.v4.app.Fragment;
-import android.support.v7.widget.GridLayoutManager;
-import android.support.v7.widget.RecyclerView;
-import android.support.v7.widget.RecyclerView.OnScrollListener;
-import android.support.v7.widget.RecyclerView.ViewHolder;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -74,6 +68,7 @@
 import com.android.wallpaper.util.DiskBasedLogger;
 import com.android.wallpaper.util.TileSizeCalculator;
 import com.android.wallpaper.widget.GridMarginDecoration;
+
 import com.bumptech.glide.Glide;
 import com.bumptech.glide.MemoryCategory;
 
@@ -82,6 +77,13 @@
 import java.util.List;
 import java.util.Random;
 
+import androidx.fragment.app.DialogFragment;
+import androidx.fragment.app.Fragment;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.recyclerview.widget.RecyclerView.OnScrollListener;
+import androidx.recyclerview.widget.RecyclerView.ViewHolder;
+
 /**
  * Displays the Main UI for picking an individual wallpaper image.
  */
diff --git a/src/com/android/wallpaper/picker/individual/MyPhotosViewHolder.java b/src/com/android/wallpaper/picker/individual/MyPhotosViewHolder.java
index 3489ef9..67bb6ac 100755
--- a/src/com/android/wallpaper/picker/individual/MyPhotosViewHolder.java
+++ b/src/com/android/wallpaper/picker/individual/MyPhotosViewHolder.java
@@ -23,8 +23,6 @@
 import android.net.Uri;
 import android.os.AsyncTask;
 import android.provider.MediaStore;
-import android.support.annotation.Nullable;
-import android.support.v7.widget.RecyclerView.ViewHolder;
 import android.view.View;
 import android.widget.ImageView;
 
@@ -33,6 +31,9 @@
 import com.android.wallpaper.asset.ContentUriAsset;
 import com.android.wallpaper.picker.MyPhotosLauncher;
 
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView.ViewHolder;
+
 /**
  * ViewHolder for a "my photos" tile presented in an individual category grid.
  */
diff --git a/src/com/android/wallpaper/picker/individual/SelectableHolder.java b/src/com/android/wallpaper/picker/individual/SelectableHolder.java
index a8b65f5..7927533 100755
--- a/src/com/android/wallpaper/picker/individual/SelectableHolder.java
+++ b/src/com/android/wallpaper/picker/individual/SelectableHolder.java
@@ -15,7 +15,7 @@
  */
 package com.android.wallpaper.picker.individual;
 
-import android.support.annotation.IntDef;
+import androidx.annotation.IntDef;
 
 /**
  * Interface for a ViewHolder class which has a selection state which can be set by a caller.
diff --git a/src/com/android/wallpaper/util/DiskBasedLogger.java b/src/com/android/wallpaper/util/DiskBasedLogger.java
index f178573..5111376 100755
--- a/src/com/android/wallpaper/util/DiskBasedLogger.java
+++ b/src/com/android/wallpaper/util/DiskBasedLogger.java
@@ -15,13 +15,13 @@
  */
 package com.android.wallpaper.util;
 
+import static java.nio.charset.StandardCharsets.UTF_8;
+
 import android.content.Context;
 import android.os.Build;
 import android.os.Handler;
 import android.os.HandlerThread;
 import android.os.Process;
-import android.support.annotation.Nullable;
-import android.support.annotation.VisibleForTesting;
 import android.util.Log;
 
 import com.android.wallpaper.compat.BuildCompat;
@@ -41,7 +41,8 @@
 import java.util.Locale;
 import java.util.concurrent.TimeUnit;
 
-import static java.nio.charset.StandardCharsets.UTF_8;
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
 
 /**
  * Logs messages to logcat and for debuggable build types ("eng" or "userdebug") also mirrors logs
diff --git a/src/com/android/wallpaper/widget/GridMarginDecoration.java b/src/com/android/wallpaper/widget/GridMarginDecoration.java
index aac360f..fc0fbe2 100755
--- a/src/com/android/wallpaper/widget/GridMarginDecoration.java
+++ b/src/com/android/wallpaper/widget/GridMarginDecoration.java
@@ -16,11 +16,12 @@
 package com.android.wallpaper.widget;
 
 import android.graphics.Rect;
-import android.support.v7.widget.RecyclerView;
-import android.support.v7.widget.RecyclerView.ItemDecoration;
 import android.util.Log;
 import android.view.View;
 
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.recyclerview.widget.RecyclerView.ItemDecoration;
+
 /**
  * Decorates a grid view item with margins on each side. Note that this pads on the bottom and
  * right, so the containing RecyclerView should add {@code paddingTop} and {@code paddingLeft} to
diff --git a/src/com/android/wallpaper/widget/MaterialProgressDrawable.java b/src/com/android/wallpaper/widget/MaterialProgressDrawable.java
index c07a010..d4de3cb 100755
--- a/src/com/android/wallpaper/widget/MaterialProgressDrawable.java
+++ b/src/com/android/wallpaper/widget/MaterialProgressDrawable.java
@@ -29,9 +29,6 @@
 import android.graphics.RectF;
 import android.graphics.drawable.Animatable;
 import android.graphics.drawable.Drawable;
-import android.support.annotation.IntDef;
-import android.support.annotation.NonNull;
-import android.support.v4.view.animation.FastOutSlowInInterpolator;
 import android.util.DisplayMetrics;
 import android.view.View;
 import android.view.animation.Animation;
@@ -43,6 +40,10 @@
 import java.lang.annotation.RetentionPolicy;
 import java.util.ArrayList;
 
+import androidx.annotation.IntDef;
+import androidx.annotation.NonNull;
+import androidx.interpolator.view.animation.FastOutSlowInInterpolator;
+
 /**
  * Fancy progress indicator for Material theme.
  * <p>
diff --git a/src/com/android/wallpaper/widget/WallpaperThumbnailView.java b/src/com/android/wallpaper/widget/WallpaperThumbnailView.java
index 21ab64d..1006001 100755
--- a/src/com/android/wallpaper/widget/WallpaperThumbnailView.java
+++ b/src/com/android/wallpaper/widget/WallpaperThumbnailView.java
@@ -17,10 +17,11 @@
 
 import android.content.Context;
 import android.graphics.Matrix;
-import android.support.annotation.Nullable;
 import android.util.AttributeSet;
 import android.widget.ImageView;
 
+import androidx.annotation.Nullable;
+
 /**
  * Custom ImageView that mimics the home launcher screen wallpaper position by aligning start and
  * centering vertically its drawable. Scales down the image as much as possible without
