Migrate radio app to androidx

Test: Manual
Bug: 109663478

Change-Id: If21a8ca300215a86cea26f7b4192a68886bf83f1
Merged-In: If21a8ca300215a86cea26f7b4192a68886bf83f1
diff --git a/Android.mk b/Android.mk
index 5195a10..982b031 100644
--- a/Android.mk
+++ b/Android.mk
@@ -40,12 +40,16 @@
 LOCAL_JAVA_LIBRARIES += android.car
 
 LOCAL_STATIC_ANDROID_LIBRARIES += \
-    android-support-car \
-    android-support-constraint-layout \
+    androidx.car_car \
+    androidx-constraintlayout_constraintlayout \
     car-apps-common \
     car-broadcastradio-support \
     car-stream-ui-lib
 
+# Dependency for bcradio-android-arch-room-runtime-nodeps
+LOCAL_STATIC_ANDROID_LIBRARIES += \
+    android-support-v4
+
 LOCAL_STATIC_JAVA_LIBRARIES := \
     android-arch-lifecycle-livedata \
     android-arch-persistence-db-framework \
diff --git a/res/layout/manual_tuner.xml b/res/layout/manual_tuner.xml
index c74f201..fb1f203 100644
--- a/res/layout/manual_tuner.xml
+++ b/res/layout/manual_tuner.xml
@@ -15,7 +15,7 @@
 -->
 <!-- This Layout is clickable so that clicks do not fall through to the underlying
      fragment. -->
-<android.support.constraint.ConstraintLayout
+<androidx.constraintlayout.widget.ConstraintLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_marginTop="@dimen/car_app_bar_height"
@@ -24,7 +24,7 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 
-    <android.support.constraint.Guideline
+    <androidx.constraintlayout.widget.Guideline
         android:id="@+id/center_guideline"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
@@ -96,4 +96,4 @@
         app:layout_constraintStart_toEndOf="@+id/manual_tuner_done_button"
         app:layout_constraintBottom_toBottomOf="@+id/manual_tuner_done_button"
         android:src="@drawable/ic_backspace" />
-</android.support.constraint.ConstraintLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/res/layout/radio_fragment.xml b/res/layout/radio_fragment.xml
index 87de2ad..c8cca15 100644
--- a/res/layout/radio_fragment.xml
+++ b/res/layout/radio_fragment.xml
@@ -95,7 +95,7 @@
                 android:visibility="invisible" />
         </LinearLayout>
 
-        <android.support.v7.widget.CardView
+        <androidx.cardview.widget.CardView
             android:id="@+id/radio_layout_container"
             android:layout_gravity="center_horizontal"
             android:transitionName="@string/radio_controls_transition_name"
@@ -104,6 +104,6 @@
             app:cardBackgroundColor="@color/car_card" >
 
             <include layout="@layout/radio_controls" />
-        </android.support.v7.widget.CardView>
+        </androidx.cardview.widget.CardView>
     </LinearLayout>
 </FrameLayout>
diff --git a/res/layout/radio_presets_list.xml b/res/layout/radio_presets_list.xml
index e67b038..06064dc 100644
--- a/res/layout/radio_presets_list.xml
+++ b/res/layout/radio_presets_list.xml
@@ -53,7 +53,7 @@
         app:alignDividerEndTo="@id/current_radio_station_card_controls"
         app:alignDividerStartTo="@id/current_radio_station_card_controls" />
 
-    <android.support.v7.widget.CardView
+    <androidx.cardview.widget.CardView
         android:id="@+id/current_radio_station_card"
         android:layout_gravity="bottom|center_horizontal"
         android:layout_width="match_parent"
@@ -126,5 +126,5 @@
         </RelativeLayout>
 
         <include layout="@layout/radio_controls" />
-    </android.support.v7.widget.CardView>
+    </androidx.cardview.widget.CardView>
 </FrameLayout>
diff --git a/src/com/android/car/radio/CarRadioActivity.java b/src/com/android/car/radio/CarRadioActivity.java
index 642e995..63a0e2c 100644
--- a/src/com/android/car/radio/CarRadioActivity.java
+++ b/src/com/android/car/radio/CarRadioActivity.java
@@ -21,14 +21,14 @@
 import android.hardware.radio.ProgramSelector;
 import android.hardware.radio.RadioManager;
 import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
 import android.util.Log;
 import android.util.Pair;
 
 import androidx.car.drawer.CarDrawerActivity;
 import androidx.car.drawer.CarDrawerAdapter;
 import androidx.car.drawer.DrawerItemViewHolder;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -61,7 +61,7 @@
 
     /**
      * Whether or not it is safe to make transactions on the
-     * {@link android.support.v4.app.FragmentManager}. This variable prevents a possible exception
+     * {@link androidx.fragment.app.FragmentManager}. This variable prevents a possible exception
      * when calling commit() on the FragmentManager.
      *
      * <p>The default value is {@code true} because it is only after
diff --git a/src/com/android/car/radio/MainRadioFragment.java b/src/com/android/car/radio/MainRadioFragment.java
index 109d425..d7ebb94 100644
--- a/src/com/android/car/radio/MainRadioFragment.java
+++ b/src/com/android/car/radio/MainRadioFragment.java
@@ -18,12 +18,13 @@
 
 import android.animation.ObjectAnimator;
 import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.view.animation.FastOutSlowInInterpolator;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 
+import androidx.fragment.app.Fragment;
+import androidx.interpolator.view.animation.FastOutSlowInInterpolator;
+
 /**
  * A fragment that functions as the main display of the information relating to the current radio
  * station. It also displays controls that allows the user to switch to different radio stations.
diff --git a/src/com/android/car/radio/ManualTunerFragment.java b/src/com/android/car/radio/ManualTunerFragment.java
index 6c58eb2..5eb01f4 100644
--- a/src/com/android/car/radio/ManualTunerFragment.java
+++ b/src/com/android/car/radio/ManualTunerFragment.java
@@ -19,11 +19,12 @@
 import android.hardware.radio.ProgramSelector;
 import android.hardware.radio.RadioManager;
 import android.os.Bundle;
-import android.support.v4.app.Fragment;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 
+import androidx.fragment.app.Fragment;
+
 /**
  * A fragment that allows the user to manually input a radio station to tune to.
  */
diff --git a/src/com/android/car/radio/PresetListScrollListener.java b/src/com/android/car/radio/PresetListScrollListener.java
index 527fda8..aae026a 100644
--- a/src/com/android/car/radio/PresetListScrollListener.java
+++ b/src/com/android/car/radio/PresetListScrollListener.java
@@ -18,11 +18,11 @@
 
 import android.animation.ValueAnimator;
 import android.content.Context;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
 import android.view.View;
 
 import androidx.car.widget.PagedListView;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
 
 /**
  * Listener on the preset list that will add elevation on the container holding the current
diff --git a/src/com/android/car/radio/PresetsAdapter.java b/src/com/android/car/radio/PresetsAdapter.java
index 3c1de48..a7fd198 100644
--- a/src/com/android/car/radio/PresetsAdapter.java
+++ b/src/com/android/car/radio/PresetsAdapter.java
@@ -18,13 +18,13 @@
 
 import android.annotation.Nullable;
 import android.hardware.radio.ProgramSelector;
-import android.support.v7.widget.RecyclerView;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 
 import androidx.car.widget.PagedListView;
+import androidx.recyclerview.widget.RecyclerView;
 
 import com.android.car.broadcastradio.support.Program;
 
diff --git a/src/com/android/car/radio/PresetsViewHolder.java b/src/com/android/car/radio/PresetsViewHolder.java
index a34be3f..82fcf7b 100644
--- a/src/com/android/car/radio/PresetsViewHolder.java
+++ b/src/com/android/car/radio/PresetsViewHolder.java
@@ -20,12 +20,13 @@
 import android.content.Context;
 import android.graphics.drawable.GradientDrawable;
 import android.hardware.radio.ProgramSelector;
-import android.support.v7.widget.RecyclerView;
 import android.util.Log;
 import android.view.View;
 import android.widget.ImageButton;
 import android.widget.TextView;
 
+import androidx.recyclerview.widget.RecyclerView;
+
 import com.android.car.broadcastradio.support.Program;
 import com.android.car.broadcastradio.support.platform.ProgramSelectorExt;
 import com.android.car.view.CardListBackgroundResolver;
diff --git a/src/com/android/car/radio/RadioAnimationManager.java b/src/com/android/car/radio/RadioAnimationManager.java
index 50efe97..f5bba3f 100644
--- a/src/com/android/car/radio/RadioAnimationManager.java
+++ b/src/com/android/car/radio/RadioAnimationManager.java
@@ -24,8 +24,6 @@
 import android.content.Context;
 import android.content.res.Resources;
 import android.graphics.Point;
-import android.support.v4.view.animation.FastOutSlowInInterpolator;
-import android.support.v7.widget.CardView;
 import android.view.Display;
 import android.view.View;
 import android.view.ViewGroup;
@@ -33,6 +31,8 @@
 import android.view.WindowManager;
 
 import androidx.car.utils.ColumnCalculator;
+import androidx.cardview.widget.CardView;
+import androidx.interpolator.view.animation.FastOutSlowInInterpolator;
 
 /**
  * A animation manager that is responsible for the start and exiting animation for the
diff --git a/src/com/android/car/radio/RadioPresetsFragment.java b/src/com/android/car/radio/RadioPresetsFragment.java
index a022c4a..6f1601d 100644
--- a/src/com/android/car/radio/RadioPresetsFragment.java
+++ b/src/com/android/car/radio/RadioPresetsFragment.java
@@ -23,7 +23,6 @@
 import android.content.Context;
 import android.hardware.radio.RadioManager.ProgramInfo;
 import android.os.Bundle;
-import android.support.v4.app.Fragment;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -31,6 +30,7 @@
 
 import androidx.car.widget.DayNightStyle;
 import androidx.car.widget.PagedListView;
+import androidx.fragment.app.Fragment;
 
 import com.android.car.broadcastradio.support.Program;
 import com.android.car.radio.storage.RadioStorage;
diff --git a/src/com/android/car/radio/RadioService.java b/src/com/android/car/radio/RadioService.java
index fc5a9ad..5cbe278 100644
--- a/src/com/android/car/radio/RadioService.java
+++ b/src/com/android/car/radio/RadioService.java
@@ -28,10 +28,11 @@
 import android.os.IBinder;
 import android.os.RemoteException;
 import android.support.v4.media.MediaBrowserCompat.MediaItem;
-import android.support.v4.media.MediaBrowserServiceCompat;
 import android.support.v4.media.session.PlaybackStateCompat;
 import android.util.Log;
 
+import androidx.media.MediaBrowserServiceCompat;
+
 import com.android.car.broadcastradio.support.Program;
 import com.android.car.broadcastradio.support.media.BrowseTree;
 import com.android.car.broadcastradio.support.platform.ProgramSelectorExt;