Move car media to androidx
Bug: 77333303
Test: local deplyment and test
Change-Id: I04e48eb139fcfc9e38058654ee2daa2cb062a8a6
Merged-In: I04e48eb139fcfc9e38058654ee2daa2cb062a8a6
(cherry picked from commit 3ba5dbe22222f1aa9d4a4da7274d1be2af1a9577)
(cherry picked from commit f9f3dee14778bb7b932f7241b92d91ac1d938c66)
diff --git a/Android.mk b/Android.mk
index f442d59..ece3138 100644
--- a/Android.mk
+++ b/Android.mk
@@ -37,15 +37,17 @@
LOCAL_DEX_PREOPT := false
+LOCAL_JAVA_LIBRARIES += android.car
+
LOCAL_STATIC_ANDROID_LIBRARIES += \
- android-support-car \
- android-support-constraint-layout \
- android-support-design-widget \
+ androidx.car_car \
+ androidx-constraintlayout_constraintlayout \
+ androidx.design_design \
car-apps-common \
car-media-common
LOCAL_STATIC_JAVA_LIBRARIES += \
- android-support-constraint-layout-solver
+ androidx-constraintlayout_constraintlayout-solver
include $(BUILD_PACKAGE)
diff --git a/res/layout-h1200dp/fragment_playback_with_queue.xml b/res/layout-h1200dp/fragment_playback_with_queue.xml
index 113de90..1fec4fd 100644
--- a/res/layout-h1200dp/fragment_playback_with_queue.xml
+++ b/res/layout-h1200dp/fragment_playback_with_queue.xml
@@ -14,28 +14,28 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<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:id="@+id/playback_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
- <android.support.constraint.Guideline
+ <androidx.constraintlayout.widget.Guideline
android:id="@+id/margin_start"
android:layout_width="0dp"
android:layout_height="0dp"
android:orientation="vertical"
app:layout_constraintGuide_begin="@dimen/car_margin"/>
- <android.support.constraint.Guideline
+ <androidx.constraintlayout.widget.Guideline
android:id="@+id/margin_end"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_end="@dimen/car_margin"/>
- <android.support.constraint.Guideline
+ <androidx.constraintlayout.widget.Guideline
android:id="@+id/margin_top"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -48,4 +48,4 @@
<include
layout="@layout/playback_controls"/>
-</android.support.constraint.ConstraintLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/res/layout/fragment_app_selection.xml b/res/layout/fragment_app_selection.xml
index e3834bb..431f394 100644
--- a/res/layout/fragment_app_selection.xml
+++ b/res/layout/fragment_app_selection.xml
@@ -16,7 +16,7 @@
~ limitations under the License.
~
-->
-<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:background="@color/alpha_fragment_background_color"
@@ -34,4 +34,4 @@
app:dayNightStyle="always_light"
app:showPagedListViewDivider="false" />
-</android.support.constraint.ConstraintLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/res/layout/fragment_playback.xml b/res/layout/fragment_playback.xml
index 521ecb8..b08bf8d 100644
--- a/res/layout/fragment_playback.xml
+++ b/res/layout/fragment_playback.xml
@@ -14,28 +14,28 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<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:id="@+id/playback_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
- <android.support.constraint.Guideline
+ <androidx.constraintlayout.widget.Guideline
android:id="@+id/margin_start"
android:layout_width="0dp"
android:layout_height="0dp"
android:orientation="vertical"
app:layout_constraintGuide_begin="@dimen/car_margin"/>
- <android.support.constraint.Guideline
+ <androidx.constraintlayout.widget.Guideline
android:id="@+id/margin_end"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_end="@dimen/car_margin"/>
- <android.support.constraint.Guideline
+ <androidx.constraintlayout.widget.Guideline
android:id="@+id/margin_top"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -48,4 +48,4 @@
<include
layout="@layout/playback_controls"/>
-</android.support.constraint.ConstraintLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/res/layout/media_activity.xml b/res/layout/media_activity.xml
index 97acbdb..68f912c 100644
--- a/res/layout/media_activity.xml
+++ b/res/layout/media_activity.xml
@@ -14,7 +14,7 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<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:id="@+id/application"
@@ -88,4 +88,4 @@
android:layout_width="match_parent"
app:layout_constraintTop_toTopOf="parent"/>
-</android.support.constraint.ConstraintLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/res/layout/metadata_normal.xml b/res/layout/metadata_normal.xml
index 903dc74..687d59d 100644
--- a/res/layout/metadata_normal.xml
+++ b/res/layout/metadata_normal.xml
@@ -14,7 +14,7 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<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"
xmlns:tools="http://schemas.android.com/tools"
@@ -79,4 +79,4 @@
tools:progress="70"
tools:visibility="visible"/>
-</android.support.constraint.ConstraintLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/src/com/android/car/media/AppSelectionFragment.java b/src/com/android/car/media/AppSelectionFragment.java
index 6a56c1d..a9a7f59 100644
--- a/src/com/android/car/media/AppSelectionFragment.java
+++ b/src/com/android/car/media/AppSelectionFragment.java
@@ -3,16 +3,18 @@
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
-import android.support.v7.widget.GridLayoutManager;
-import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
+import androidx.annotation.Nullable;
+import androidx.car.widget.PagedListView;
+import androidx.fragment.app.Fragment;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
import com.android.car.media.common.MediaSource;
import java.util.ArrayList;
@@ -20,8 +22,6 @@
import java.util.Set;
import java.util.stream.Collectors;
-import androidx.car.widget.PagedListView;
-
/**
* A {@link Fragment} that implements the app selection UI
*/
diff --git a/src/com/android/car/media/BrowseFragment.java b/src/com/android/car/media/BrowseFragment.java
index ecb3f6c..67178fa 100644
--- a/src/com/android/car/media/BrowseFragment.java
+++ b/src/com/android/car/media/BrowseFragment.java
@@ -21,9 +21,6 @@
import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
-import android.support.v4.app.Fragment;
-import android.support.v7.widget.GridLayoutManager;
-import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -31,6 +28,10 @@
import android.widget.ProgressBar;
import android.widget.TextView;
+import androidx.fragment.app.Fragment;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
import com.android.car.media.browse.BrowseAdapter;
import com.android.car.media.browse.ContentForwardStrategy;
import com.android.car.media.common.GridSpacingItemDecoration;
diff --git a/src/com/android/car/media/EmptyFragment.java b/src/com/android/car/media/EmptyFragment.java
index 72b6889..358667f 100644
--- a/src/com/android/car/media/EmptyFragment.java
+++ b/src/com/android/car/media/EmptyFragment.java
@@ -2,7 +2,6 @@
import android.os.Bundle;
import android.os.Handler;
-import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -11,6 +10,8 @@
import android.widget.ProgressBar;
import android.widget.TextView;
+import androidx.fragment.app.Fragment;
+
import com.android.car.media.common.MediaSource;
import com.android.car.media.widgets.ViewUtils;
diff --git a/src/com/android/car/media/MediaActivity.java b/src/com/android/car/media/MediaActivity.java
index 6f01c62..0053bb1 100644
--- a/src/com/android/car/media/MediaActivity.java
+++ b/src/com/android/car/media/MediaActivity.java
@@ -15,7 +15,6 @@
*/
package com.android.car.media;
-import android.annotation.NonNull;
import android.car.Car;
import android.content.ComponentName;
import android.content.Context;
@@ -24,15 +23,24 @@
import android.graphics.Bitmap;
import android.media.session.MediaController;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
-import android.support.v4.widget.DrawerLayout;
import android.transition.Fade;
import android.util.Log;
import android.util.TypedValue;
import android.view.View;
import android.view.ViewGroup;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+import androidx.annotation.NonNull;
+import androidx.drawerlayout.widget.DrawerLayout;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.car.drawer.CarDrawerActivity;
+import androidx.car.drawer.CarDrawerAdapter;
+
import com.android.car.media.common.ActiveMediaSourceManager;
import com.android.car.media.common.CrossfadeImageView;
import com.android.car.media.common.MediaItemMetadata;
@@ -45,14 +53,6 @@
import com.android.car.media.widgets.MetadataView;
import com.android.car.media.widgets.ViewUtils;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-import java.util.stream.Collectors;
-
-import androidx.car.drawer.CarDrawerActivity;
-import androidx.car.drawer.CarDrawerAdapter;
-
/**
* This activity controls the UI of media. It also updates the connection status for the media app
* by broadcast. Drawer menu is controlled by {@link MediaDrawerController}.
@@ -184,16 +184,16 @@
};
private DrawerLayout.DrawerListener mDrawerListener = new DrawerLayout.DrawerListener() {
@Override
- public void onDrawerSlide(@android.support.annotation.NonNull View view, float v) {
+ public void onDrawerSlide(@androidx.annotation.NonNull View view, float v) {
}
@Override
- public void onDrawerOpened(@android.support.annotation.NonNull View view) {
+ public void onDrawerOpened(@androidx.annotation.NonNull View view) {
closeAppSelector();
}
@Override
- public void onDrawerClosed(@android.support.annotation.NonNull View view) {
+ public void onDrawerClosed(@androidx.annotation.NonNull View view) {
}
@Override
diff --git a/src/com/android/car/media/MediaPlaybackModel.java b/src/com/android/car/media/MediaPlaybackModel.java
index a223893..aef706a 100644
--- a/src/com/android/car/media/MediaPlaybackModel.java
+++ b/src/com/android/car/media/MediaPlaybackModel.java
@@ -27,11 +27,12 @@
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
-import android.support.annotation.MainThread;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
import android.util.Log;
+import androidx.annotation.MainThread;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
import com.android.car.apps.common.util.Assert;
import java.util.ArrayList;
diff --git a/src/com/android/car/media/PlaybackFragment.java b/src/com/android/car/media/PlaybackFragment.java
index b7983bf..376c304 100644
--- a/src/com/android/car/media/PlaybackFragment.java
+++ b/src/com/android/car/media/PlaybackFragment.java
@@ -16,14 +16,10 @@
package com.android.car.media;
+import android.annotation.NonNull;
import android.content.Context;
import android.media.session.MediaController;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.constraint.ConstraintLayout;
-import android.support.constraint.ConstraintSet;
-import android.support.v4.app.Fragment;
-import android.support.v7.widget.RecyclerView;
import android.transition.Transition;
import android.transition.TransitionInflater;
import android.transition.TransitionListenerAdapter;
@@ -35,6 +31,16 @@
import android.widget.SeekBar;
import android.widget.TextView;
+import androidx.car.widget.ListItem;
+import androidx.car.widget.ListItemAdapter;
+import androidx.car.widget.ListItemProvider;
+import androidx.car.widget.PagedListView;
+import androidx.car.widget.TextListItem;
+import androidx.constraintlayout.widget.ConstraintLayout;
+import androidx.constraintlayout.widget.ConstraintSet;
+import androidx.fragment.app.Fragment;
+import androidx.recyclerview.widget.RecyclerView;
+
import com.android.car.media.common.MediaItemMetadata;
import com.android.car.media.common.MediaSource;
import com.android.car.media.common.PlaybackControls;
@@ -44,12 +50,6 @@
import java.util.List;
import java.util.stream.Collectors;
-import androidx.car.widget.ListItem;
-import androidx.car.widget.ListItemAdapter;
-import androidx.car.widget.ListItemProvider;
-import androidx.car.widget.PagedListView;
-import androidx.car.widget.TextListItem;
-
/**
* A {@link Fragment} that implements both the playback and the content forward browsing experience.
* It observes a {@link PlaybackModel} and updates its information depending on the currently
diff --git a/src/com/android/car/media/browse/BrowseAdapter.java b/src/com/android/car/media/browse/BrowseAdapter.java
index dd5d2ee..631c20b 100644
--- a/src/com/android/car/media/browse/BrowseAdapter.java
+++ b/src/com/android/car/media/browse/BrowseAdapter.java
@@ -19,16 +19,17 @@
import android.content.Context;
import android.media.browse.MediaBrowser;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v7.util.DiffUtil;
-import android.support.v7.widget.GridLayoutManager;
-import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.DiffUtil;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
import com.android.car.media.common.MediaItemMetadata;
import com.android.car.media.common.MediaSource;
diff --git a/src/com/android/car/media/browse/BrowseItemViewType.java b/src/com/android/car/media/browse/BrowseItemViewType.java
index 0a9e66e..63a54fe 100644
--- a/src/com/android/car/media/browse/BrowseItemViewType.java
+++ b/src/com/android/car/media/browse/BrowseItemViewType.java
@@ -16,7 +16,7 @@
package com.android.car.media.browse;
-import android.support.annotation.LayoutRes;
+import androidx.annotation.LayoutRes;
/**
* Possible view types that would be used by the {@link BrowseAdapter}.
@@ -38,7 +38,7 @@
/**
* {@link BrowseItemViewType} that take the whole width of the
- * {@link android.support.v7.widget.RecyclerView}
+ * {@link androidx.recyclerview.widget.RecyclerView}
*/
BrowseItemViewType(@LayoutRes int layoutId) {
mLayoutId = layoutId;
diff --git a/src/com/android/car/media/browse/BrowseViewData.java b/src/com/android/car/media/browse/BrowseViewData.java
index 3a6cc65..f9c2ced 100644
--- a/src/com/android/car/media/browse/BrowseViewData.java
+++ b/src/com/android/car/media/browse/BrowseViewData.java
@@ -16,10 +16,10 @@
package com.android.car.media.browse;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
import android.view.View;
+import androidx.annotation.NonNull;
+
import com.android.car.media.common.MediaItemMetadata;
import java.util.Objects;
diff --git a/src/com/android/car/media/browse/BrowseViewHolder.java b/src/com/android/car/media/browse/BrowseViewHolder.java
index c68625e..39606cf 100644
--- a/src/com/android/car/media/browse/BrowseViewHolder.java
+++ b/src/com/android/car/media/browse/BrowseViewHolder.java
@@ -17,12 +17,13 @@
package com.android.car.media.browse;
import android.content.Context;
-import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
+import androidx.recyclerview.widget.RecyclerView;
+
import com.android.car.media.common.MediaItemMetadata;
/**
diff --git a/src/com/android/car/media/drawer/MediaBrowserItemsFetcher.java b/src/com/android/car/media/drawer/MediaBrowserItemsFetcher.java
index ab2593c..eb094fc 100644
--- a/src/com/android/car/media/drawer/MediaBrowserItemsFetcher.java
+++ b/src/com/android/car/media/drawer/MediaBrowserItemsFetcher.java
@@ -23,14 +23,14 @@
import android.media.session.MediaSession;
import android.util.Log;
+import androidx.car.drawer.DrawerItemViewHolder;
+
import com.android.car.media.MediaPlaybackModel;
import com.android.car.media.R;
import java.util.ArrayList;
import java.util.List;
-import androidx.car.drawer.DrawerItemViewHolder;
-
/**
* {@link MediaItemsFetcher} implementation that fetches items from a specific {@link MediaBrowser}
* node.
diff --git a/src/com/android/car/media/drawer/MediaDrawerAdapter.java b/src/com/android/car/media/drawer/MediaDrawerAdapter.java
index c1f5e07..e1cf1b6 100644
--- a/src/com/android/car/media/drawer/MediaDrawerAdapter.java
+++ b/src/com/android/car/media/drawer/MediaDrawerAdapter.java
@@ -16,12 +16,12 @@
package com.android.car.media.drawer;
import android.content.Context;
-import android.support.annotation.Nullable;
-import android.support.v7.widget.RecyclerView;
+import androidx.annotation.Nullable;
import androidx.car.drawer.CarDrawerAdapter;
import androidx.car.drawer.CarDrawerController;
import androidx.car.drawer.DrawerItemViewHolder;
+import androidx.recyclerview.widget.RecyclerView;
/**
* Subclass of CarDrawerAdapter used by the Media app.
diff --git a/src/com/android/car/media/drawer/MediaDrawerController.java b/src/com/android/car/media/drawer/MediaDrawerController.java
index 077cd74..407bbe3 100644
--- a/src/com/android/car/media/drawer/MediaDrawerController.java
+++ b/src/com/android/car/media/drawer/MediaDrawerController.java
@@ -21,18 +21,18 @@
import android.media.session.MediaController;
import android.media.session.MediaSession;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.v4.widget.DrawerLayout;
import android.util.Log;
import android.view.View;
+import androidx.annotation.Nullable;
+import androidx.car.drawer.CarDrawerAdapter;
+import androidx.car.drawer.CarDrawerController;
+import androidx.drawerlayout.widget.DrawerLayout;
+
import com.android.car.media.MediaManager;
import com.android.car.media.MediaPlaybackModel;
import com.android.car.media.R;
-import androidx.car.drawer.CarDrawerAdapter;
-import androidx.car.drawer.CarDrawerController;
-
/**
* Manages drawer navigation and item selection.
* <p>
@@ -186,7 +186,7 @@
}
/**
- * A {@link android.support.v4.widget.DrawerLayout.DrawerListener} specifically to be used when
+ * A {@link androidx.drawerlayout.widget.DrawerLayout.DrawerListener} specifically to be used when
* the play queue has been shown in the drawer. When the drawer is closed following this
* display, this listener will reset the drawer to display the root view.
*/
diff --git a/src/com/android/car/media/drawer/MediaItemsFetcher.java b/src/com/android/car/media/drawer/MediaItemsFetcher.java
index 36c01c0..2dabd7e 100644
--- a/src/com/android/car/media/drawer/MediaItemsFetcher.java
+++ b/src/com/android/car/media/drawer/MediaItemsFetcher.java
@@ -21,14 +21,14 @@
import android.text.TextUtils;
import android.view.View;
+import androidx.car.drawer.CarDrawerAdapter;
+import androidx.car.drawer.DrawerItemViewHolder;
+
import com.android.car.apps.common.BitmapDownloader;
import com.android.car.apps.common.BitmapWorkerOptions;
import com.android.car.apps.common.UriUtils;
import com.android.car.media.R;
-import androidx.car.drawer.CarDrawerAdapter;
-import androidx.car.drawer.DrawerItemViewHolder;
-
/**
* Component that handles fetching of items for {@link MediaDrawerAdapter}.
* <p>
diff --git a/src/com/android/car/media/drawer/MediaQueueItemsFetcher.java b/src/com/android/car/media/drawer/MediaQueueItemsFetcher.java
index 4603dfd..301b4f8 100644
--- a/src/com/android/car/media/drawer/MediaQueueItemsFetcher.java
+++ b/src/com/android/car/media/drawer/MediaQueueItemsFetcher.java
@@ -22,7 +22,9 @@
import android.media.session.MediaSession;
import android.media.session.PlaybackState;
import android.os.Handler;
-import android.support.annotation.Nullable;
+
+import androidx.annotation.Nullable;
+import androidx.car.drawer.DrawerItemViewHolder;
import com.android.car.media.MediaPlaybackModel;
import com.android.car.media.R;
@@ -31,8 +33,6 @@
import java.util.Collections;
import java.util.List;
-import androidx.car.drawer.DrawerItemViewHolder;
-
/**
* {@link MediaItemsFetcher} implementation that fetches items from the {@link MediaController}'s
* currently playing queue.