LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, res)
-LOCAL_STATIC_JAVA_LIBRARIES := \
- android-support-v8-renderscript \
- android-common
-
LOCAL_STATIC_ANDROID_LIBRARIES := \
- android-support-v4 \
- android-support-v7-appcompat \
- android-support-v7-cardview \
- android-support-v7-palette \
- android-support-v7-recyclerview
+ androidx.appcompat_appcompat \
+ androidx.cardview_cardview \
+ androidx.core_core \
+ androidx.legacy_legacy-support-v4 \
+ androidx.palette_palette \
+ androidx.recyclerview_recyclerview
LOCAL_USE_AAPT2 := true
apply plugin: 'com.android.application'
android {
- compileSdkVersion 28
+ compileSdkVersion 29
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
applicationId "org.lineageos.eleven"
minSdkVersion 26
- targetSdkVersion 28
+ targetSdkVersion 29
versionCode 3
versionName '3.0'
}
dependencies {
- // see https://developer.android.com/topic/libraries/support-library/revisions.html
- implementation "com.android.support:appcompat-v7:28.0.0"
- implementation "com.android.support:cardview-v7:28.0.0"
- implementation "com.android.support:palette-v7:28.0.0"
- implementation "com.android.support:recyclerview-v7:28.0.0"
+ implementation 'androidx.appcompat:appcompat:1.1.0'
+ implementation 'androidx.cardview:cardview:1.0.0'
+ implementation 'androidx.core:core:1.1.0'
+ implementation 'androidx.legacy:legacy-support-v4:1.0.0'
+ implementation 'androidx.palette:palette:1.0.0'
+ implementation 'androidx.recyclerview:recyclerview:1.0.0'
}
See the License for the specific language governing permissions and
limitations under the License.
-->
-<android.support.v7.widget.CardView
+<androidx.cardview.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="156dp"
</RelativeLayout>
-</android.support.v7.widget.CardView>
+</androidx.cardview.widget.CardView>
android:textSize="@dimen/text_size_medium"
android:text="@string/header_albums" />
- <android.support.v7.widget.RecyclerView
+ <androidx.recyclerview.widget.RecyclerView
android:id="@+id/albums"
android:scrollbars="none"
android:layout_width="match_parent"
android:elevation="@dimen/action_bar_elevation"
style="@style/HeaderTabTextStyle" />
- <android.support.v4.view.ViewPager
+ <androidx.viewpager.widget.ViewPager
android:id="@+id/fragment_home_phone_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
See the License for the specific language governing permissions and
limitations under the License.
-->
-<android.support.v7.widget.CardView
+<androidx.cardview.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
</LinearLayout>
-</android.support.v7.widget.CardView>
+</androidx.cardview.widget.CardView>
See the License for the specific language governing permissions and
limitations under the License.
-->
-<android.support.v7.widget.CardView
+<androidx.cardview.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
</RelativeLayout>
</RelativeLayout>
-</android.support.v7.widget.CardView>
+</androidx.cardview.widget.CardView>
import android.content.Context;
import android.content.Intent;
import android.media.AudioManager;
-import android.support.v4.content.WakefulBroadcastReceiver;
import android.util.Log;
import android.view.KeyEvent;
+import androidx.legacy.content.WakefulBroadcastReceiver;
+
public class MediaButtonIntentReceiver extends WakefulBroadcastReceiver {
private static final boolean DEBUG = false;
private static final String TAG = "MediaButtonIntentReceiver";
import android.provider.MediaStore;
import android.provider.MediaStore.Audio.AlbumColumns;
import android.provider.MediaStore.Audio.AudioColumns;
-import android.support.annotation.NonNull;
-import android.support.v4.os.BuildCompat;
import android.text.TextUtils;
import android.util.Log;
import android.util.LongSparseArray;
import android.view.KeyEvent;
+import androidx.annotation.NonNull;
+import androidx.core.os.BuildCompat;
+
import org.lineageos.eleven.Config.IdType;
import org.lineageos.eleven.appwidgets.AppWidgetLarge;
import org.lineageos.eleven.appwidgets.AppWidgetLargeAlternate;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
-import android.support.v4.app.FragmentStatePagerAdapter;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentStatePagerAdapter;
+
import org.lineageos.eleven.BuildConstants;
import org.lineageos.eleven.MusicPlaybackService;
import org.lineageos.eleven.R;
import java.util.LinkedList;
/**
- * A {@link android.support.v4.app.FragmentStatePagerAdapter} class for swiping between album art
+ * A {@link androidx.fragment.app.FragmentStatePagerAdapter} class for swiping between album art
*/
public class AlbumArtPagerAdapter extends FragmentStatePagerAdapter {
private static boolean DEBUG = false;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
-import android.support.v4.content.Loader;
import android.view.View;
import android.widget.TextView;
+import androidx.loader.content.Loader;
+
import org.lineageos.eleven.Config;
import org.lineageos.eleven.R;
import org.lineageos.eleven.cache.ImageFetcher;
import android.app.Activity;
import android.os.Bundle;
-import android.support.v4.app.LoaderManager.LoaderCallbacks;
-import android.support.v4.content.Loader;
-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.loader.app.LoaderManager;
+import androidx.loader.content.Loader;
+import androidx.recyclerview.widget.RecyclerView;
+
import org.lineageos.eleven.Config;
import org.lineageos.eleven.R;
import org.lineageos.eleven.cache.ImageFetcher;
public class ArtistDetailAlbumAdapter
extends RecyclerView.Adapter<ArtistDetailAlbumAdapter.ViewHolder>
-implements LoaderCallbacks<List<Album>>, IPopupMenuCallback {
+implements LoaderManager.LoaderCallbacks<List<Album>>, IPopupMenuCallback {
private static final int TYPE_FIRST = 1;
private static final int TYPE_MIDDLE = 2;
private static final int TYPE_LAST = 3;
import android.app.Activity;
import android.os.Bundle;
import android.provider.MediaStore;
-import android.support.v4.content.Loader;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
+import androidx.loader.content.Loader;
+
import org.lineageos.eleven.Config;
import org.lineageos.eleven.R;
import org.lineageos.eleven.cache.ImageFetcher;
package org.lineageos.eleven.adapters;
import android.app.Activity;
-import android.support.v4.app.LoaderManager.LoaderCallbacks;
-import android.support.v4.content.Loader;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.Loader;
+
import org.lineageos.eleven.Config;
import org.lineageos.eleven.R;
import org.lineageos.eleven.cache.ImageFetcher;
import java.util.Collections;
import java.util.List;
-public abstract class DetailSongAdapter extends BaseAdapter
- implements LoaderCallbacks<List<Song>>, OnItemClickListener, IPopupMenuCallback {
+public abstract class DetailSongAdapter extends BaseAdapter implements
+ LoaderManager.LoaderCallbacks<List<Song>>, OnItemClickListener, IPopupMenuCallback {
protected final Activity mActivity;
private final ImageFetcher mImageFetcher;
private final LayoutInflater mInflater;
import android.content.Context;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
-import android.support.v4.app.FragmentPagerAdapter;
import android.util.SparseArray;
import android.view.ViewGroup;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentPagerAdapter;
+
import org.lineageos.eleven.R;
import org.lineageos.eleven.ui.fragments.AlbumFragment;
import org.lineageos.eleven.ui.fragments.ArtistFragment;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.TransitionDrawable;
-import android.support.v8.renderscript.Allocation;
-import android.support.v8.renderscript.Element;
-import android.support.v8.renderscript.RenderScript;
-import android.support.v8.renderscript.ScriptIntrinsicBlur;
+import android.renderscript.Allocation;
+import android.renderscript.Element;
+import android.renderscript.RenderScript;
+import android.renderscript.ScriptIntrinsicBlur;
import android.util.Log;
import android.widget.ImageView;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.TransitionDrawable;
-import android.support.v8.renderscript.RenderScript;
+import android.renderscript.RenderScript;
import android.view.View;
import android.widget.ImageView;
package org.lineageos.eleven.loaders;
import android.content.Context;
-import android.support.v4.content.AsyncTaskLoader;
+
+import androidx.loader.content.AsyncTaskLoader;
/**
* <a href="http://code.google.com/p/android/issues/detail?id=14944">Issue
package org.lineageos.eleven.locale;
-import android.support.annotation.VisibleForTesting;
import android.text.TextUtils;
+
+import androidx.annotation.VisibleForTesting;
+
import java.util.Locale;
public class LocaleSet {
package org.lineageos.eleven.locale;
import android.content.Context;
-import android.support.annotation.VisibleForTesting;
import android.os.Build;
import android.text.TextUtils;
import android.util.Log;
+import androidx.annotation.VisibleForTesting;
+
import org.lineageos.eleven.provider.PropertiesStore;
import java.util.Locale;
package org.lineageos.eleven.locale;
import android.icu.text.AlphabeticIndex;
-import android.support.annotation.VisibleForTesting;
import android.util.Log;
+import androidx.annotation.VisibleForTesting;
+
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Locale;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
-import android.support.v4.app.DialogFragment;
import android.text.Editable;
import android.text.InputType;
import android.text.TextWatcher;
import android.widget.Button;
import android.widget.EditText;
+import androidx.fragment.app.DialogFragment;
+
import org.lineageos.eleven.R;
import org.lineageos.eleven.utils.MusicUtils;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
-import android.support.v4.app.DialogFragment;
-import android.support.v4.app.Fragment;
+
+import androidx.fragment.app.DialogFragment;
+import androidx.fragment.app.Fragment;
import org.lineageos.eleven.R;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
-import android.support.v4.app.DialogFragment;
+
+import androidx.fragment.app.DialogFragment;
import org.lineageos.eleven.Config;
import org.lineageos.eleven.R;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
-import android.support.v4.app.DialogFragment;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
+import androidx.fragment.app.DialogFragment;
+
import org.lineageos.eleven.Config;
import org.lineageos.eleven.R;
import org.lineageos.eleven.ui.activities.HomeActivity;
package org.lineageos.eleven.model;
-import android.support.annotation.NonNull;
import android.text.TextUtils;
+import androidx.annotation.NonNull;
+
import java.util.Comparator;
/**
import android.graphics.drawable.Drawable;
import android.os.Parcel;
import android.os.Parcelable;
-import android.support.v4.view.MotionEventCompat;
-import android.support.v4.view.ViewCompat;
import android.util.AttributeSet;
import android.view.Gravity;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.accessibility.AccessibilityEvent;
+
+import androidx.core.view.MotionEventCompat;
+import androidx.core.view.ViewCompat;
+
import org.lineageos.eleven.R;
public class SlidingUpPanelLayout extends ViewGroup {
import java.util.Arrays;
import android.content.Context;
-import android.support.v4.view.MotionEventCompat;
-import android.support.v4.view.VelocityTrackerCompat;
-import android.support.v4.view.ViewCompat;
-import android.support.v4.widget.ScrollerCompat;
import android.view.MotionEvent;
import android.view.VelocityTracker;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Interpolator;
+import androidx.core.view.MotionEventCompat;
+import androidx.core.view.VelocityTrackerCompat;
+import androidx.core.view.ViewCompat;
+import androidx.core.widget.ScrollerCompat;
+
/**
* ViewDragHelper is a utility class for writing custom ViewGroups. It offers a number
* of useful operations and state tracking for allowing a user to drag and reposition
package org.lineageos.eleven.ui;
import android.content.Context;
-import android.support.v4.app.Fragment;
import android.util.AttributeSet;
import android.view.Menu;
import android.view.MenuInflater;
import android.widget.PopupMenu;
import android.widget.TextView;
+import androidx.fragment.app.Fragment;
+
import org.lineageos.eleven.R;
import org.lineageos.eleven.loaders.NowPlayingCursor;
import org.lineageos.eleven.loaders.QueueLoader;
package org.lineageos.eleven.ui.activities;
-import static org.lineageos.eleven.utils.MusicUtils.mService;
-
import android.app.ActionBar;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.media.AudioManager;
import android.os.Bundle;
import android.os.IBinder;
-import android.support.v4.app.FragmentActivity;
import android.util.TypedValue;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
import android.widget.Toolbar;
+import androidx.fragment.app.FragmentActivity;
+
import org.lineageos.eleven.IElevenService;
import org.lineageos.eleven.MusicPlaybackService;
import org.lineageos.eleven.MusicStateListener;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
+import static org.lineageos.eleven.utils.MusicUtils.mService;
+
/**
* A base {@link FragmentActivity} used to update the bottom bar and
* bind to Eleven's service.
import android.graphics.Color;
import android.net.Uri;
import android.os.AsyncTask;
-import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.provider.MediaStore;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
-import android.support.v4.app.FragmentTransaction;
import android.text.TextUtils;
import android.util.Log;
import android.view.MenuItem;
import android.view.Window;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
+
import org.lineageos.eleven.Config;
import org.lineageos.eleven.R;
import org.lineageos.eleven.cache.ImageFetcher;
import android.os.IBinder;
import android.provider.BaseColumns;
import android.provider.MediaStore;
-import android.support.v4.app.FragmentActivity;
-import android.support.v4.app.LoaderManager.LoaderCallbacks;
-import android.support.v4.content.Loader;
import android.text.TextUtils;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.SearchView;
import android.widget.SearchView.OnQueryTextListener;
+import androidx.fragment.app.FragmentActivity;
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.Loader;
+
import org.lineageos.eleven.Config;
import org.lineageos.eleven.IElevenService;
import org.lineageos.eleven.R;
* @author Andrew Neal (andrewdneal@gmail.com)
*/
public class SearchActivity extends FragmentActivity implements
- LoaderCallbacks<SectionListContainer<SearchResult>>,
+ LoaderManager.LoaderCallbacks<SectionListContainer<SearchResult>>,
OnScrollListener, OnQueryTextListener, OnItemClickListener, ServiceConnection,
OnTouchListener {
/**
/**
* This handles the Loader callbacks for the search history
*/
- public class SearchHistoryCallback implements LoaderCallbacks<ArrayAdapter<String>> {
+ public class SearchHistoryCallback implements LoaderManager.LoaderCallbacks<ArrayAdapter<String>> {
@Override
public Loader<ArrayAdapter<String>> onCreateLoader(int i, Bundle bundle) {
// prep the loader in case the query takes a long time
import android.graphics.Color;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.view.ViewPager;
import android.view.View;
import android.widget.LinearLayout;
+import androidx.fragment.app.Fragment;
+import androidx.viewpager.widget.ViewPager;
+
import org.lineageos.eleven.R;
import org.lineageos.eleven.slidinguppanel.SlidingUpPanelLayout;
import org.lineageos.eleven.slidinguppanel.SlidingUpPanelLayout.SimplePanelSlideListener;
package org.lineageos.eleven.ui.fragments;
import android.os.Bundle;
-import android.support.v4.app.LoaderManager;
import android.view.View;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
+
+import androidx.loader.app.LoaderManager;
+
import org.lineageos.eleven.Config;
import org.lineageos.eleven.R;
import org.lineageos.eleven.adapters.AlbumDetailSongAdapter;
import android.os.Bundle;
import android.os.SystemClock;
-import android.support.v4.app.LoaderManager.LoaderCallbacks;
-import android.support.v4.content.Loader;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.Loader;
+
import org.lineageos.eleven.MusicStateListener;
import org.lineageos.eleven.R;
import org.lineageos.eleven.adapters.AlbumAdapter;
* @author Andrew Neal (andrewdneal@gmail.com)
*/
public class AlbumFragment extends MusicBrowserFragment implements
- LoaderCallbacks<SectionListContainer<Album>>, OnScrollListener,
+ LoaderManager.LoaderCallbacks<SectionListContainer<Album>>, OnScrollListener,
OnItemClickListener, MusicStateListener {
/**
package org.lineageos.eleven.ui.fragments;
import android.os.Bundle;
-import android.support.v4.app.LoaderManager;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewTreeObserver;
import android.widget.ImageView;
import android.widget.ListView;
+
+import androidx.loader.app.LoaderManager;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
import org.lineageos.eleven.Config;
import org.lineageos.eleven.R;
import org.lineageos.eleven.adapters.ArtistDetailAlbumAdapter;
import android.content.Context;
import android.os.Bundle;
import android.os.SystemClock;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.LoaderManager.LoaderCallbacks;
-import android.support.v4.content.Loader;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
+import androidx.fragment.app.Fragment;
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.Loader;
+
import org.lineageos.eleven.MusicStateListener;
import org.lineageos.eleven.R;
import org.lineageos.eleven.adapters.ArtistAdapter;
* @author Andrew Neal (andrewdneal@gmail.com)
*/
public class ArtistFragment extends MusicBrowserFragment implements
- LoaderCallbacks<SectionListContainer<Artist>>,
+ LoaderManager.LoaderCallbacks<SectionListContainer<Artist>>,
OnScrollListener, OnItemClickListener, MusicStateListener {
/**
import android.os.IBinder;
import android.os.Message;
import android.os.PowerManager;
-import android.support.v4.app.Fragment;
-import android.support.v4.view.ViewPager;
import android.text.Html;
import android.text.Spanned;
import android.text.TextUtils;
import android.widget.PopupMenu;
import android.widget.TextView;
+import androidx.fragment.app.Fragment;
+import androidx.viewpager.widget.ViewPager;
+
import org.lineageos.eleven.MusicPlaybackService;
import org.lineageos.eleven.R;
import org.lineageos.eleven.adapters.AlbumArtPagerAdapter;
package org.lineageos.eleven.ui.fragments;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
+import androidx.fragment.app.Fragment;
+
import org.lineageos.eleven.MusicStateListener;
import org.lineageos.eleven.R;
import org.lineageos.eleven.ui.activities.HomeActivity;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
-import android.support.v4.app.LoaderManager;
-import android.support.v4.app.LoaderManager.LoaderCallbacks;
-import android.support.v4.content.Loader;
import android.view.View;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ImageView;
import android.widget.TextView;
+
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.Loader;
+
import org.lineageos.eleven.Config;
import org.lineageos.eleven.R;
import org.lineageos.eleven.adapters.PagerAdapter;
import java.util.TreeSet;
public class PlaylistDetailFragment extends FadingBarFragment implements
- LoaderCallbacks<List<Song>>, OnItemClickListener, DropListener,
+ LoaderManager.LoaderCallbacks<List<Song>>, OnItemClickListener, DropListener,
RemoveListener, DragScrollProfile, IChildFragment {
/**
package org.lineageos.eleven.ui.fragments;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.LoaderManager.LoaderCallbacks;
-import android.support.v4.content.Loader;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
+import androidx.annotation.NonNull;
+import androidx.fragment.app.Fragment;
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.Loader;
+
import org.lineageos.eleven.Config.SmartPlaylistType;
import org.lineageos.eleven.MusicStateListener;
import org.lineageos.eleven.R;
* @author Andrew Neal (andrewdneal@gmail.com)
*/
public class PlaylistFragment extends MusicBrowserFragment implements
- LoaderCallbacks<List<Playlist>>,
+ LoaderManager.LoaderCallbacks<List<Playlist>>,
OnItemClickListener, MusicStateListener {
/**
@Override
public View onCreateView(@NonNull final LayoutInflater inflater, final ViewGroup container,
- final Bundle savedInstanceState) {
+ final Bundle savedInstanceState) {
// The View for the fragment's UI
final ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.list_base, container, false);
// Initialize the list
import android.os.Bundle;
import android.os.IBinder;
import android.provider.MediaStore;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.LoaderManager.LoaderCallbacks;
-import android.support.v4.content.Loader;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
+import androidx.fragment.app.Fragment;
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.Loader;
+
import org.lineageos.eleven.Config;
import org.lineageos.eleven.MusicPlaybackService;
import org.lineageos.eleven.R;
*
* @author Andrew Neal (andrewdneal@gmail.com)
*/
-public class QueueFragment extends Fragment implements LoaderCallbacks<List<Song>>,
+public class QueueFragment extends Fragment implements LoaderManager.LoaderCallbacks<List<Song>>,
OnItemClickListener, DropListener, RemoveListener, DragScrollProfile, ServiceConnection {
/**
import android.app.Activity;
import android.os.Bundle;
-import android.support.v4.content.Loader;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import androidx.loader.content.Loader;
+
import org.lineageos.eleven.Config;
import org.lineageos.eleven.Config.SmartPlaylistType;
import org.lineageos.eleven.R;
import android.content.Context;
import android.os.Bundle;
-import android.support.v4.app.LoaderManager;
-import android.support.v4.content.Loader;
+
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.Loader;
import org.lineageos.eleven.Config;
import org.lineageos.eleven.adapters.PagerAdapter;
/*
-* Copyright (C) 2014 The CyanogenMod Project
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
+ * Copyright (C) 2014 The CyanogenMod Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package org.lineageos.eleven.ui.fragments.phone;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.LoaderManager;
-import android.support.v4.app.LoaderManager.LoaderCallbacks;
+
+import androidx.fragment.app.Fragment;
+import androidx.loader.app.LoaderManager;
/**
* This class is used for fragments under the {@link MusicBrowserFragment}
return getParentFragment().getLoaderManager();
}
- protected void initLoader(Bundle args, LoaderCallbacks<? extends Object> callback) {
+ protected void initLoader(Bundle args,
+ LoaderManager.LoaderCallbacks<? extends Object> callback) {
getContainingLoaderManager().initLoader(getLoaderId(), args, callback);
}
- protected void restartLoader(Bundle args, LoaderCallbacks<? extends Object> callback) {
+ protected void restartLoader(Bundle args,
+ LoaderManager.LoaderCallbacks<? extends Object> callback) {
getContainingLoaderManager().restartLoader(getLoaderId(), args, callback);
}
}
package org.lineageos.eleven.ui.fragments.phone;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.view.ViewPager;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
+import androidx.fragment.app.Fragment;
+import androidx.viewpager.widget.ViewPager;
+
import org.lineageos.eleven.R;
import org.lineageos.eleven.adapters.PagerAdapter;
import org.lineageos.eleven.adapters.PagerAdapter.MusicFragments;
import android.os.Bundle;
import android.os.SystemClock;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.LoaderManager;
-import android.support.v4.app.LoaderManager.LoaderCallbacks;
-import android.support.v4.content.Loader;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
+import androidx.fragment.app.Fragment;
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.Loader;
+
import org.lineageos.eleven.Config;
import org.lineageos.eleven.MusicStateListener;
import org.lineageos.eleven.R;
* @author Andrew Neal (andrewdneal@gmail.com)
*/
public abstract class BasicSongFragment extends Fragment implements
- LoaderCallbacks<SectionListContainer<Song>>, OnItemClickListener, MusicStateListener {
+ LoaderManager.LoaderCallbacks<SectionListContainer<Song>>,
+ OnItemClickListener, MusicStateListener {
/**
* Fragment UI
package org.lineageos.eleven.ui.fragments.profile;
import android.os.Bundle;
-import android.support.v4.content.Loader;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import androidx.loader.content.Loader;
+
import org.lineageos.eleven.Config;
import org.lineageos.eleven.Config.SmartPlaylistType;
import org.lineageos.eleven.R;
import android.app.Activity;
import android.os.Bundle;
-import android.support.v4.content.Loader;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
+import androidx.loader.content.Loader;
+
import org.lineageos.eleven.Config;
import org.lineageos.eleven.Config.SmartPlaylistType;
import org.lineageos.eleven.R;
import android.app.Activity;
import android.provider.MediaStore;
-import android.support.v4.app.FragmentManager;
import android.view.MenuItem;
+
+import androidx.fragment.app.FragmentManager;
+
import org.lineageos.eleven.Config;
import org.lineageos.eleven.cache.ImageFetcher;
import org.lineageos.eleven.menu.DeleteDialog;
package org.lineageos.eleven.utils;
import android.app.Activity;
-import android.support.v4.app.FragmentManager;
import android.view.MenuItem;
+
+import androidx.fragment.app.FragmentManager;
+
import org.lineageos.eleven.Config;
import org.lineageos.eleven.menu.DeleteDialog;
import org.lineageos.eleven.menu.FragmentMenuItems;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.os.Looper;
-import android.support.v7.graphics.Palette;
import android.util.LruCache;
+import androidx.palette.graphics.Palette;
+
public class BitmapWithColors {
private static final class BitmapColors {
public final int mVibrantColor;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.MediaStore;
-import android.support.v4.app.FragmentActivity;
-import android.support.v4.app.LoaderManager;
-import android.support.v4.app.LoaderManager.LoaderCallbacks;
-import android.support.v4.content.CursorLoader;
-import android.support.v4.content.Loader;
import android.view.View;
import android.widget.TextView;
-public class GenreFetcher implements LoaderCallbacks<Cursor> {
+import androidx.fragment.app.FragmentActivity;
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.CursorLoader;
+import androidx.loader.content.Loader;
+
+public class GenreFetcher implements LoaderManager.LoaderCallbacks<Cursor> {
private static final String[] GENRE_PROJECTION = new String[] { MediaStore.Audio.Genres.NAME };
private Context mContext;
*/
package org.lineageos.eleven.utils;
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
import java.io.Closeable;
import java.net.Socket;
import android.provider.MediaStore.Audio.PlaylistsColumns;
import android.provider.MediaStore.MediaColumns;
import android.provider.Settings;
-import android.support.annotation.WorkerThread;
import android.util.Log;
import android.view.Menu;
import android.widget.Toast;
+import androidx.annotation.WorkerThread;
+
import org.lineageos.eleven.Config.IdType;
import org.lineageos.eleven.Config.SmartPlaylistType;
import org.lineageos.eleven.IElevenService;
import android.content.DialogInterface.OnClickListener;
import android.net.Uri;
import android.provider.MediaStore;
-import android.support.v4.app.FragmentManager;
+
+import androidx.fragment.app.FragmentManager;
import org.lineageos.eleven.Config;
import org.lineageos.eleven.Config.SmartPlaylistType;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
-import android.support.v4.app.FragmentManager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.PopupMenu;
+import androidx.fragment.app.FragmentManager;
+
import org.lineageos.eleven.Config;
import org.lineageos.eleven.R;
import org.lineageos.eleven.menu.CreateNewPlaylist;
import android.app.Activity;
import android.provider.MediaStore;
-import android.support.v4.app.FragmentManager;
+
+import androidx.fragment.app.FragmentManager;
import org.lineageos.eleven.menu.DeleteDialog;
import org.lineageos.eleven.menu.FragmentMenuItems;
* limitations under the License.
*/
package org.lineageos.eleven.widgets;
+
import android.content.Context;
-import android.support.v4.app.FragmentActivity;
import android.util.AttributeSet;
+import androidx.fragment.app.FragmentActivity;
+
import org.lineageos.eleven.ui.activities.SlidingPanelActivity;
public abstract class AudioActivityButton extends AudioButton {
import android.graphics.Rect;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
-import android.support.v4.content.ContextCompat;
import android.text.TextUtils;
+import androidx.core.content.ContextCompat;
+
import org.lineageos.eleven.R;
import org.lineageos.eleven.cache.ImageWorker.ImageType;
import org.lineageos.eleven.utils.BitmapWithColors;
package org.lineageos.eleven.widgets;
import android.content.Context;
-import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
+import androidx.viewpager.widget.ViewPager;
+
/**
* A custom {@link ViewPager} that is sized to be a perfect square, otherwise
* functions like a typical {@link ViewPager}.
import android.content.res.ColorStateList;
import android.content.res.TypedArray;
import android.graphics.Outline;
-import android.support.v4.view.PagerAdapter;
-import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.util.TypedValue;
import android.view.Gravity;
import android.widget.TextView;
import android.widget.Toast;
+import androidx.viewpager.widget.PagerAdapter;
+import androidx.viewpager.widget.ViewPager;
+
import org.lineageos.eleven.R;
/**