diff --git a/oeffi/AndroidManifest.xml b/oeffi/AndroidManifest.xml
index 52bad01..c74769f 100644
--- a/oeffi/AndroidManifest.xml
+++ b/oeffi/AndroidManifest.xml
@@ -63,7 +63,7 @@
diff --git a/oeffi/build.gradle b/oeffi/build.gradle
index 0c62bf5..a22c812 100644
--- a/oeffi/build.gradle
+++ b/oeffi/build.gradle
@@ -4,15 +4,16 @@ apply plugin: 'androidsvgdrawable'
configurations {
all*.exclude group: 'org.json', module: 'json'
all*.exclude group: 'net.sf.kxml', module: 'kxml2'
- all*.exclude group: 'android.arch.lifecycle', module: 'runtime'
+ all*.exclude group: 'androidx.legacy', module: 'legacy-support-core-ui'
+ all*.exclude group: 'androidx.lifecycle', module: 'lifecycle-runtime'
}
dependencies {
compile project(':enabler')
compile 'de.schildbach.wallet:integration-android:2.0'
- compile 'com.android.support:support-annotations:28.0.0'
- compile 'com.android.support:recyclerview-v7:28.0.0'
- compile 'com.android.support:drawerlayout:28.0.0'
+ compile 'androidx.annotation:annotation:1.0.0'
+ compile 'androidx.recyclerview:recyclerview:1.0.0'
+ compile 'androidx.drawerlayout:drawerlayout:1.0.0'
compile 'com.squareup.okhttp3:okhttp:3.11.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.11.0'
compile 'com.google.guava:guava:26.0-android'
diff --git a/oeffi/proguard.cfg b/oeffi/proguard.cfg
index 57bfc7a..6163477 100644
--- a/oeffi/proguard.cfg
+++ b/oeffi/proguard.cfg
@@ -44,8 +44,8 @@
}
# android-support
--dontwarn android.support.**
--dontnote android.support.**
+-dontwarn androidx.core.**
+-dontnote androidx.core.**
# OkHttp
-dontwarn okio.DeflaterSink
diff --git a/oeffi/res/layout/directions_content.xml b/oeffi/res/layout/directions_content.xml
index 33a3ccd..66f35b1 100644
--- a/oeffi/res/layout/directions_content.xml
+++ b/oeffi/res/layout/directions_content.xml
@@ -5,7 +5,7 @@
android:baselineAligned="false"
android:orientation="horizontal" >
-
@@ -47,7 +47,7 @@
android:foreground="@drawable/view_shadow_bottom"
android:foregroundGravity="top|fill_horizontal" >
-
@@ -86,7 +86,7 @@
-
+
-
diff --git a/oeffi/res/layout/navigation_drawer.xml b/oeffi/res/layout/navigation_drawer.xml
index ece0747..53d9d1d 100644
--- a/oeffi/res/layout/navigation_drawer.xml
+++ b/oeffi/res/layout/navigation_drawer.xml
@@ -7,7 +7,7 @@
android:clickable="true"
android:orientation="vertical" >
-
-
diff --git a/oeffi/res/layout/plans_picker_content.xml b/oeffi/res/layout/plans_picker_content.xml
index 7aa5236..8e4bc2b 100644
--- a/oeffi/res/layout/plans_picker_content.xml
+++ b/oeffi/res/layout/plans_picker_content.xml
@@ -1,5 +1,5 @@
-
@@ -74,7 +74,7 @@
android:layout_height="match_parent"
android:layout_weight="1" >
-
@@ -94,4 +94,4 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/oeffi/res/layout/stations_content.xml b/oeffi/res/layout/stations_content.xml
index 3cabe7f..5ff9f83 100644
--- a/oeffi/res/layout/stations_content.xml
+++ b/oeffi/res/layout/stations_content.xml
@@ -5,7 +5,7 @@
android:baselineAligned="false"
android:orientation="horizontal" >
-
@@ -113,7 +113,7 @@
android:layout_height="match_parent"
android:layout_weight="1" >
-
-
+
- {
private final Context context;
diff --git a/oeffi/src/de/schildbach/oeffi/directions/list/QueryHistoryViewHolder.java b/oeffi/src/de/schildbach/oeffi/directions/list/QueryHistoryViewHolder.java
index 8f94175..a327e69 100644
--- a/oeffi/src/de/schildbach/oeffi/directions/list/QueryHistoryViewHolder.java
+++ b/oeffi/src/de/schildbach/oeffi/directions/list/QueryHistoryViewHolder.java
@@ -27,7 +27,6 @@ import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import android.content.Context;
-import android.support.v7.widget.RecyclerView;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
@@ -37,6 +36,7 @@ import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.PopupMenu;
+import androidx.recyclerview.widget.RecyclerView;
public class QueryHistoryViewHolder extends RecyclerView.ViewHolder {
private final Context context;
diff --git a/oeffi/src/de/schildbach/oeffi/network/NetworkPickerActivity.java b/oeffi/src/de/schildbach/oeffi/network/NetworkPickerActivity.java
index 6de7c60..872e014 100644
--- a/oeffi/src/de/schildbach/oeffi/network/NetworkPickerActivity.java
+++ b/oeffi/src/de/schildbach/oeffi/network/NetworkPickerActivity.java
@@ -71,15 +71,15 @@ import android.os.Handler;
import android.os.HandlerThread;
import android.os.Process;
import android.preference.PreferenceManager;
-import android.support.v4.app.ActivityCompat;
-import android.support.v4.content.ContextCompat;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
import android.view.KeyEvent;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.TextView;
+import androidx.core.app.ActivityCompat;
+import androidx.core.content.ContextCompat;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
public class NetworkPickerActivity extends Activity implements ActivityCompat.OnRequestPermissionsResultCallback,
LocationHelper.Callback, NetworkClickListener, NetworkContextMenuItemListener {
diff --git a/oeffi/src/de/schildbach/oeffi/network/list/NetworkViewHolder.java b/oeffi/src/de/schildbach/oeffi/network/list/NetworkViewHolder.java
index 3a5127a..7093aaa 100644
--- a/oeffi/src/de/schildbach/oeffi/network/list/NetworkViewHolder.java
+++ b/oeffi/src/de/schildbach/oeffi/network/list/NetworkViewHolder.java
@@ -24,13 +24,13 @@ import de.schildbach.oeffi.network.NetworkResources;
import android.content.Context;
import android.content.res.Resources;
-import android.support.v7.widget.RecyclerView;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.PopupMenu;
import android.widget.TextView;
+import androidx.recyclerview.widget.RecyclerView;
public class NetworkViewHolder extends RecyclerView.ViewHolder {
private final Context context;
diff --git a/oeffi/src/de/schildbach/oeffi/network/list/NetworksAdapter.java b/oeffi/src/de/schildbach/oeffi/network/list/NetworksAdapter.java
index c8522a3..d37745d 100644
--- a/oeffi/src/de/schildbach/oeffi/network/list/NetworksAdapter.java
+++ b/oeffi/src/de/schildbach/oeffi/network/list/NetworksAdapter.java
@@ -26,9 +26,9 @@ import de.schildbach.oeffi.stations.NetworkContentProvider;
import de.schildbach.pte.NetworkId;
import android.content.Context;
-import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.ViewGroup;
+import androidx.recyclerview.widget.RecyclerView;
public class NetworksAdapter extends RecyclerView.Adapter {
private final Context context;
diff --git a/oeffi/src/de/schildbach/oeffi/network/list/SeparatorViewHolder.java b/oeffi/src/de/schildbach/oeffi/network/list/SeparatorViewHolder.java
index 2b9e2a1..ad334ef 100644
--- a/oeffi/src/de/schildbach/oeffi/network/list/SeparatorViewHolder.java
+++ b/oeffi/src/de/schildbach/oeffi/network/list/SeparatorViewHolder.java
@@ -17,9 +17,9 @@
package de.schildbach.oeffi.network.list;
-import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.TextView;
+import androidx.recyclerview.widget.RecyclerView;
public class SeparatorViewHolder extends RecyclerView.ViewHolder {
private final TextView textView;
diff --git a/oeffi/src/de/schildbach/oeffi/plans/PlansPickerActivity.java b/oeffi/src/de/schildbach/oeffi/plans/PlansPickerActivity.java
index 89f4c00..489a068 100644
--- a/oeffi/src/de/schildbach/oeffi/plans/PlansPickerActivity.java
+++ b/oeffi/src/de/schildbach/oeffi/plans/PlansPickerActivity.java
@@ -58,16 +58,16 @@ import android.location.LocationManager;
import android.net.ConnectivityManager;
import android.net.Uri;
import android.os.Bundle;
-import android.support.v4.app.ActivityCompat;
-import android.support.v4.content.ContextCompat;
-import android.support.v4.content.pm.ShortcutInfoCompat;
-import android.support.v4.content.pm.ShortcutManagerCompat;
-import android.support.v4.graphics.drawable.IconCompat;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
+import androidx.core.app.ActivityCompat;
+import androidx.core.content.ContextCompat;
+import androidx.core.content.pm.ShortcutInfoCompat;
+import androidx.core.content.pm.ShortcutManagerCompat;
+import androidx.core.graphics.drawable.IconCompat;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
import okhttp3.Cache;
import okhttp3.HttpUrl;
diff --git a/oeffi/src/de/schildbach/oeffi/plans/list/PlanViewHolder.java b/oeffi/src/de/schildbach/oeffi/plans/list/PlanViewHolder.java
index 8f733e7..2b99bd9 100644
--- a/oeffi/src/de/schildbach/oeffi/plans/list/PlanViewHolder.java
+++ b/oeffi/src/de/schildbach/oeffi/plans/list/PlanViewHolder.java
@@ -26,7 +26,6 @@ import de.schildbach.oeffi.network.NetworkResources;
import android.content.Context;
import android.graphics.drawable.Drawable;
-import android.support.v7.widget.RecyclerView;
import android.text.format.DateFormat;
import android.view.MenuItem;
import android.view.View;
@@ -38,6 +37,7 @@ import android.widget.ImageView;
import android.widget.PopupMenu;
import android.widget.ProgressBar;
import android.widget.TextView;
+import androidx.recyclerview.widget.RecyclerView;
import okhttp3.Call;
public class PlanViewHolder extends RecyclerView.ViewHolder {
diff --git a/oeffi/src/de/schildbach/oeffi/plans/list/PlansAdapter.java b/oeffi/src/de/schildbach/oeffi/plans/list/PlansAdapter.java
index 196d879..58448ac 100644
--- a/oeffi/src/de/schildbach/oeffi/plans/list/PlansAdapter.java
+++ b/oeffi/src/de/schildbach/oeffi/plans/list/PlansAdapter.java
@@ -38,9 +38,9 @@ import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Handler;
import android.provider.BaseColumns;
-import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.ViewGroup;
+import androidx.recyclerview.widget.RecyclerView;
import okhttp3.Cache;
import okhttp3.Call;
import okhttp3.Callback;
diff --git a/oeffi/src/de/schildbach/oeffi/stations/FavoriteStationsActivity.java b/oeffi/src/de/schildbach/oeffi/stations/FavoriteStationsActivity.java
index 8e1de08..27005a3 100644
--- a/oeffi/src/de/schildbach/oeffi/stations/FavoriteStationsActivity.java
+++ b/oeffi/src/de/schildbach/oeffi/stations/FavoriteStationsActivity.java
@@ -39,11 +39,11 @@ import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ViewAnimator;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
public class FavoriteStationsActivity extends OeffiActivity
implements StationClickListener, StationContextMenuItemListener {
diff --git a/oeffi/src/de/schildbach/oeffi/stations/NearestFavoriteStationWidgetService.java b/oeffi/src/de/schildbach/oeffi/stations/NearestFavoriteStationWidgetService.java
index 861a220..713d8ef 100644
--- a/oeffi/src/de/schildbach/oeffi/stations/NearestFavoriteStationWidgetService.java
+++ b/oeffi/src/de/schildbach/oeffi/stations/NearestFavoriteStationWidgetService.java
@@ -62,11 +62,11 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Process;
-import android.support.v4.app.JobIntentService;
-import android.support.v4.content.ContextCompat;
import android.text.format.DateFormat;
import android.view.View;
import android.widget.RemoteViews;
+import androidx.core.app.JobIntentService;
+import androidx.core.content.ContextCompat;
public class NearestFavoriteStationWidgetService extends JobIntentService {
private AppWidgetManager appWidgetManager;
diff --git a/oeffi/src/de/schildbach/oeffi/stations/StationContextMenu.java b/oeffi/src/de/schildbach/oeffi/stations/StationContextMenu.java
index 76c6032..8c13777 100644
--- a/oeffi/src/de/schildbach/oeffi/stations/StationContextMenu.java
+++ b/oeffi/src/de/schildbach/oeffi/stations/StationContextMenu.java
@@ -39,9 +39,6 @@ import android.content.Intent;
import android.content.pm.PackageManager;
import android.database.Cursor;
import android.net.Uri;
-import android.support.v4.content.pm.ShortcutInfoCompat;
-import android.support.v4.content.pm.ShortcutManagerCompat;
-import android.support.v4.graphics.drawable.IconCompat;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
@@ -49,6 +46,9 @@ import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.PopupMenu;
+import androidx.core.content.pm.ShortcutInfoCompat;
+import androidx.core.content.pm.ShortcutManagerCompat;
+import androidx.core.graphics.drawable.IconCompat;
public class StationContextMenu extends PopupMenu {
public StationContextMenu(final Context context, final View anchor, final NetworkId network, final Location station,
diff --git a/oeffi/src/de/schildbach/oeffi/stations/StationDetailsActivity.java b/oeffi/src/de/schildbach/oeffi/stations/StationDetailsActivity.java
index c48740d..e6ebf1a 100644
--- a/oeffi/src/de/schildbach/oeffi/stations/StationDetailsActivity.java
+++ b/oeffi/src/de/schildbach/oeffi/stations/StationDetailsActivity.java
@@ -75,8 +75,6 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Process;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
import android.text.format.DateFormat;
import android.text.format.DateUtils;
import android.view.LayoutInflater;
@@ -87,6 +85,8 @@ import android.view.WindowManager;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.ViewAnimator;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
public class StationDetailsActivity extends OeffiActivity implements StationsAware {
private static final String INTENT_EXTRA_NETWORK = StationDetailsActivity.class.getName() + ".network";
diff --git a/oeffi/src/de/schildbach/oeffi/stations/StationsActivity.java b/oeffi/src/de/schildbach/oeffi/stations/StationsActivity.java
index a7bfe8b..b312792 100644
--- a/oeffi/src/de/schildbach/oeffi/stations/StationsActivity.java
+++ b/oeffi/src/de/schildbach/oeffi/stations/StationsActivity.java
@@ -112,11 +112,6 @@ import android.os.Handler;
import android.os.HandlerThread;
import android.os.Process;
import android.provider.Settings;
-import android.support.v4.app.ActivityCompat;
-import android.support.v4.content.ContextCompat;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
-import android.support.v7.widget.helper.ItemTouchHelper;
import android.text.format.DateUtils;
import android.view.MenuItem;
import android.view.View;
@@ -126,6 +121,11 @@ import android.widget.Button;
import android.widget.PopupMenu;
import android.widget.TextView;
import android.widget.ViewAnimator;
+import androidx.core.app.ActivityCompat;
+import androidx.core.content.ContextCompat;
+import androidx.recyclerview.widget.ItemTouchHelper;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
import okhttp3.HttpUrl;
public class StationsActivity extends OeffiMainActivity implements StationsAware, LocationAware,
diff --git a/oeffi/src/de/schildbach/oeffi/stations/list/FavoriteStationViewHolder.java b/oeffi/src/de/schildbach/oeffi/stations/list/FavoriteStationViewHolder.java
index 138575c..cf2aeb3 100644
--- a/oeffi/src/de/schildbach/oeffi/stations/list/FavoriteStationViewHolder.java
+++ b/oeffi/src/de/schildbach/oeffi/stations/list/FavoriteStationViewHolder.java
@@ -26,13 +26,13 @@ import de.schildbach.pte.dto.Location;
import android.content.Context;
import android.content.res.Resources;
-import android.support.v7.widget.RecyclerView;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageButton;
import android.widget.PopupMenu;
import android.widget.PopupMenu.OnMenuItemClickListener;
import android.widget.TextView;
+import androidx.recyclerview.widget.RecyclerView;
public class FavoriteStationViewHolder extends RecyclerView.ViewHolder {
private final Context context;
diff --git a/oeffi/src/de/schildbach/oeffi/stations/list/FavoriteStationsAdapter.java b/oeffi/src/de/schildbach/oeffi/stations/list/FavoriteStationsAdapter.java
index 66477ec..4007a40 100644
--- a/oeffi/src/de/schildbach/oeffi/stations/list/FavoriteStationsAdapter.java
+++ b/oeffi/src/de/schildbach/oeffi/stations/list/FavoriteStationsAdapter.java
@@ -29,9 +29,9 @@ import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.provider.BaseColumns;
-import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.ViewGroup;
+import androidx.recyclerview.widget.RecyclerView;
public class FavoriteStationsAdapter extends RecyclerView.Adapter {
private final Context context;
diff --git a/oeffi/src/de/schildbach/oeffi/stations/list/StationViewHolder.java b/oeffi/src/de/schildbach/oeffi/stations/list/StationViewHolder.java
index 7166c40..fd1d4c7 100644
--- a/oeffi/src/de/schildbach/oeffi/stations/list/StationViewHolder.java
+++ b/oeffi/src/de/schildbach/oeffi/stations/list/StationViewHolder.java
@@ -55,7 +55,6 @@ import android.content.Context;
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.Typeface;
-import android.support.v7.widget.RecyclerView;
import android.text.format.DateUtils;
import android.view.Display;
import android.view.LayoutInflater;
@@ -67,6 +66,7 @@ import android.widget.ImageButton;
import android.widget.PopupMenu;
import android.widget.PopupMenu.OnMenuItemClickListener;
import android.widget.TextView;
+import androidx.recyclerview.widget.RecyclerView;
public class StationViewHolder extends RecyclerView.ViewHolder {
public final View favoriteView;
diff --git a/oeffi/src/de/schildbach/oeffi/stations/list/StationsAdapter.java b/oeffi/src/de/schildbach/oeffi/stations/list/StationsAdapter.java
index 7cc262e..0069a2c 100644
--- a/oeffi/src/de/schildbach/oeffi/stations/list/StationsAdapter.java
+++ b/oeffi/src/de/schildbach/oeffi/stations/list/StationsAdapter.java
@@ -30,10 +30,10 @@ import de.schildbach.pte.NetworkId;
import de.schildbach.pte.dto.Product;
import android.content.Context;
-import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import androidx.recyclerview.widget.RecyclerView;
public class StationsAdapter extends RecyclerView.Adapter implements CompassNeedleView.Callback {
private final Context context;
diff --git a/oeffi/src/de/schildbach/oeffi/util/DividerItemDecoration.java b/oeffi/src/de/schildbach/oeffi/util/DividerItemDecoration.java
index b0ddfa7..99188d4 100644
--- a/oeffi/src/de/schildbach/oeffi/util/DividerItemDecoration.java
+++ b/oeffi/src/de/schildbach/oeffi/util/DividerItemDecoration.java
@@ -21,9 +21,9 @@ import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
import android.view.View;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
public class DividerItemDecoration extends RecyclerView.ItemDecoration {
private static final int[] ATTRS = new int[] { android.R.attr.listDivider };
diff --git a/oeffi/src/de/schildbach/oeffi/util/ErrorReporter.java b/oeffi/src/de/schildbach/oeffi/util/ErrorReporter.java
index 2d8e714..3170cf9 100644
--- a/oeffi/src/de/schildbach/oeffi/util/ErrorReporter.java
+++ b/oeffi/src/de/schildbach/oeffi/util/ErrorReporter.java
@@ -60,8 +60,8 @@ import android.os.Environment;
import android.os.Handler;
import android.os.Looper;
import android.os.StatFs;
-import android.support.v4.app.ActivityManagerCompat;
-import android.support.v4.content.FileProvider;
+import androidx.core.app.ActivityManagerCompat;
+import androidx.core.content.FileProvider;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.HttpUrl;
diff --git a/oeffi/src/de/schildbach/oeffi/util/NavigationMenuAdapter.java b/oeffi/src/de/schildbach/oeffi/util/NavigationMenuAdapter.java
index eb01f8a..54df590 100644
--- a/oeffi/src/de/schildbach/oeffi/util/NavigationMenuAdapter.java
+++ b/oeffi/src/de/schildbach/oeffi/util/NavigationMenuAdapter.java
@@ -30,7 +30,6 @@ import android.content.res.Resources;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.os.Build;
-import android.support.v7.widget.RecyclerView;
import android.util.TypedValue;
import android.view.ActionProvider;
import android.view.ContextMenu.ContextMenuInfo;
@@ -43,6 +42,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
+import androidx.recyclerview.widget.RecyclerView;
public class NavigationMenuAdapter extends RecyclerView.Adapter {
private final Resources res;