To enable 'swipe-to-refresh' support via the {@link android.widget.ListView} we need to
diff --git a/src/main/java/eu/siacs/conversations/ui/widget/TextInputEditText.java b/src/main/java/eu/siacs/conversations/ui/widget/TextInputEditText.java
index 747e59916..c6b9968b3 100644
--- a/src/main/java/eu/siacs/conversations/ui/widget/TextInputEditText.java
+++ b/src/main/java/eu/siacs/conversations/ui/widget/TextInputEditText.java
@@ -12,7 +12,7 @@ import java.lang.reflect.Field;
* A wrapper class to fix some weird fuck ups on Meizu devices
* credit goes to the people in this thread https://github.com/android-in-china/Compatibility/issues/11
*/
-public class TextInputEditText extends android.support.design.widget.TextInputEditText {
+public class TextInputEditText extends com.google.android.material.textfield.TextInputEditText {
public TextInputEditText(Context context) {
super(context);
diff --git a/src/main/java/eu/siacs/conversations/ui/widget/UnreadCountCustomView.java b/src/main/java/eu/siacs/conversations/ui/widget/UnreadCountCustomView.java
index f981fcf7a..cfe291f73 100644
--- a/src/main/java/eu/siacs/conversations/ui/widget/UnreadCountCustomView.java
+++ b/src/main/java/eu/siacs/conversations/ui/widget/UnreadCountCustomView.java
@@ -6,7 +6,7 @@ import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Typeface;
-import android.support.v4.content.ContextCompat;
+import androidx.core.content.ContextCompat;
import android.util.AttributeSet;
import android.view.View;
diff --git a/src/main/java/eu/siacs/conversations/utils/Android360pFormatStrategy.java b/src/main/java/eu/siacs/conversations/utils/Android360pFormatStrategy.java
index 761eff2a3..b2da09f97 100644
--- a/src/main/java/eu/siacs/conversations/utils/Android360pFormatStrategy.java
+++ b/src/main/java/eu/siacs/conversations/utils/Android360pFormatStrategy.java
@@ -3,7 +3,7 @@ package eu.siacs.conversations.utils;
import android.media.MediaCodecInfo;
import android.media.MediaFormat;
import android.os.Build;
-import android.support.annotation.RequiresApi;
+import androidx.annotation.RequiresApi;
import android.util.Log;
import net.ypresto.androidtranscoder.format.MediaFormatExtraConstants;
diff --git a/src/main/java/eu/siacs/conversations/utils/Android720pFormatStrategy.java b/src/main/java/eu/siacs/conversations/utils/Android720pFormatStrategy.java
index 981866951..47ad515eb 100644
--- a/src/main/java/eu/siacs/conversations/utils/Android720pFormatStrategy.java
+++ b/src/main/java/eu/siacs/conversations/utils/Android720pFormatStrategy.java
@@ -3,7 +3,7 @@ package eu.siacs.conversations.utils;
import android.media.MediaCodecInfo;
import android.media.MediaFormat;
import android.os.Build;
-import android.support.annotation.RequiresApi;
+import androidx.annotation.RequiresApi;
import android.util.Log;
import net.ypresto.androidtranscoder.format.MediaFormatExtraConstants;
diff --git a/src/main/java/eu/siacs/conversations/utils/Compatibility.java b/src/main/java/eu/siacs/conversations/utils/Compatibility.java
index b03ad5454..e11ea42d7 100644
--- a/src/main/java/eu/siacs/conversations/utils/Compatibility.java
+++ b/src/main/java/eu/siacs/conversations/utils/Compatibility.java
@@ -10,12 +10,11 @@ import android.os.Build;
import android.preference.Preference;
import android.preference.PreferenceCategory;
import android.preference.PreferenceManager;
-import android.support.annotation.BoolRes;
-import android.support.v4.content.ContextCompat;
+import androidx.annotation.BoolRes;
+import androidx.core.content.ContextCompat;
import android.util.Log;
import java.util.Arrays;
-import java.util.Collections;
import java.util.List;
import eu.siacs.conversations.Config;
diff --git a/src/main/java/eu/siacs/conversations/utils/Emoticons.java b/src/main/java/eu/siacs/conversations/utils/Emoticons.java
index 26dc205b4..39106caa8 100644
--- a/src/main/java/eu/siacs/conversations/utils/Emoticons.java
+++ b/src/main/java/eu/siacs/conversations/utils/Emoticons.java
@@ -29,7 +29,7 @@
package eu.siacs.conversations.utils;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import android.util.LruCache;
import java.util.ArrayList;
diff --git a/src/main/java/eu/siacs/conversations/utils/ExceptionHandler.java b/src/main/java/eu/siacs/conversations/utils/ExceptionHandler.java
index 68672156b..808abbdb4 100644
--- a/src/main/java/eu/siacs/conversations/utils/ExceptionHandler.java
+++ b/src/main/java/eu/siacs/conversations/utils/ExceptionHandler.java
@@ -1,7 +1,7 @@
package eu.siacs.conversations.utils;
import android.content.Context;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.io.PrintWriter;
import java.io.StringWriter;
diff --git a/src/main/java/eu/siacs/conversations/utils/ExceptionHelper.java b/src/main/java/eu/siacs/conversations/utils/ExceptionHelper.java
index ca515e8fa..9ad6b5d3d 100644
--- a/src/main/java/eu/siacs/conversations/utils/ExceptionHelper.java
+++ b/src/main/java/eu/siacs/conversations/utils/ExceptionHelper.java
@@ -6,7 +6,7 @@ import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.Signature;
import android.preference.PreferenceManager;
-import android.support.v7.app.AlertDialog;
+import androidx.appcompat.app.AlertDialog;
import android.util.Log;
import java.io.BufferedReader;
diff --git a/src/main/java/eu/siacs/conversations/utils/IrregularUnicodeDetector.java b/src/main/java/eu/siacs/conversations/utils/IrregularUnicodeDetector.java
index 832e0dc56..52936fcfa 100644
--- a/src/main/java/eu/siacs/conversations/utils/IrregularUnicodeDetector.java
+++ b/src/main/java/eu/siacs/conversations/utils/IrregularUnicodeDetector.java
@@ -32,7 +32,7 @@ package eu.siacs.conversations.utils;
import android.annotation.TargetApi;
import android.content.Context;
import android.os.Build;
-import android.support.annotation.ColorInt;
+import androidx.annotation.ColorInt;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.SpannableStringBuilder;
diff --git a/src/main/java/eu/siacs/conversations/utils/PermissionUtils.java b/src/main/java/eu/siacs/conversations/utils/PermissionUtils.java
index 852dedc00..f025c256f 100644
--- a/src/main/java/eu/siacs/conversations/utils/PermissionUtils.java
+++ b/src/main/java/eu/siacs/conversations/utils/PermissionUtils.java
@@ -4,7 +4,7 @@ import android.Manifest;
import android.app.Activity;
import android.content.pm.PackageManager;
import android.os.Build;
-import android.support.v4.app.ActivityCompat;
+import androidx.core.app.ActivityCompat;
import com.google.common.collect.ImmutableList;
diff --git a/src/main/java/eu/siacs/conversations/utils/Resolver.java b/src/main/java/eu/siacs/conversations/utils/Resolver.java
index 2afec6225..27685a65d 100644
--- a/src/main/java/eu/siacs/conversations/utils/Resolver.java
+++ b/src/main/java/eu/siacs/conversations/utils/Resolver.java
@@ -2,7 +2,7 @@ package eu.siacs.conversations.utils;
import android.content.ContentValues;
import android.database.Cursor;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import android.util.Log;
import java.io.IOException;
diff --git a/src/main/java/eu/siacs/conversations/utils/SSLSocketHelper.java b/src/main/java/eu/siacs/conversations/utils/SSLSocketHelper.java
index 13b33570b..6835f5d3f 100644
--- a/src/main/java/eu/siacs/conversations/utils/SSLSocketHelper.java
+++ b/src/main/java/eu/siacs/conversations/utils/SSLSocketHelper.java
@@ -1,7 +1,7 @@
package eu.siacs.conversations.utils;
import android.os.Build;
-import android.support.annotation.RequiresApi;
+import androidx.annotation.RequiresApi;
import android.util.Log;
import org.conscrypt.Conscrypt;
diff --git a/src/main/java/eu/siacs/conversations/utils/StylingHelper.java b/src/main/java/eu/siacs/conversations/utils/StylingHelper.java
index 4d4339a42..d434be126 100644
--- a/src/main/java/eu/siacs/conversations/utils/StylingHelper.java
+++ b/src/main/java/eu/siacs/conversations/utils/StylingHelper.java
@@ -32,8 +32,8 @@ package eu.siacs.conversations.utils;
import android.content.Context;
import android.graphics.Color;
import android.graphics.Typeface;
-import android.support.annotation.ColorInt;
-import android.support.v4.content.ContextCompat;
+import androidx.annotation.ColorInt;
+import androidx.core.content.ContextCompat;
import android.text.Editable;
import android.text.ParcelableSpan;
import android.text.Spannable;
diff --git a/src/main/java/eu/siacs/conversations/utils/ThemeHelper.java b/src/main/java/eu/siacs/conversations/utils/ThemeHelper.java
index bd50ab0ae..36e8d8179 100644
--- a/src/main/java/eu/siacs/conversations/utils/ThemeHelper.java
+++ b/src/main/java/eu/siacs/conversations/utils/ThemeHelper.java
@@ -36,9 +36,9 @@ import android.content.res.Resources;
import android.content.res.TypedArray;
import android.os.Build;
import android.preference.PreferenceManager;
-import android.support.annotation.StyleRes;
-import android.support.design.widget.Snackbar;
-import android.support.v4.content.ContextCompat;
+import androidx.annotation.StyleRes;
+import com.google.android.material.snackbar.Snackbar;
+import androidx.core.content.ContextCompat;
import android.util.TypedValue;
import android.widget.TextView;
@@ -103,8 +103,8 @@ public class ThemeHelper {
final float size = typedArray.getDimension(0,0f);
typedArray.recycle();
if (size != 0f) {
- final TextView text = snackbar.getView().findViewById(android.support.design.R.id.snackbar_text);
- final TextView action = snackbar.getView().findViewById(android.support.design.R.id.snackbar_action);
+ final TextView text = snackbar.getView().findViewById(com.google.android.material.R.id.snackbar_text);
+ final TextView action = snackbar.getView().findViewById(com.google.android.material.R.id.snackbar_action);
if (text != null && action != null) {
text.setTextSize(TypedValue.COMPLEX_UNIT_PX, size);
action.setTextSize(TypedValue.COMPLEX_UNIT_PX, size);
diff --git a/src/main/java/eu/siacs/conversations/utils/TimeFrameUtils.java b/src/main/java/eu/siacs/conversations/utils/TimeFrameUtils.java
index 6ad1325be..b96370dc3 100644
--- a/src/main/java/eu/siacs/conversations/utils/TimeFrameUtils.java
+++ b/src/main/java/eu/siacs/conversations/utils/TimeFrameUtils.java
@@ -31,7 +31,7 @@ package eu.siacs.conversations.utils;
import android.content.Context;
import android.os.SystemClock;
-import android.support.annotation.PluralsRes;
+import androidx.annotation.PluralsRes;
import java.util.Locale;
diff --git a/src/main/java/eu/siacs/conversations/utils/UIHelper.java b/src/main/java/eu/siacs/conversations/utils/UIHelper.java
index bf87dd0bd..fbbbe8752 100644
--- a/src/main/java/eu/siacs/conversations/utils/UIHelper.java
+++ b/src/main/java/eu/siacs/conversations/utils/UIHelper.java
@@ -1,7 +1,7 @@
package eu.siacs.conversations.utils;
import android.content.Context;
-import android.support.annotation.ColorInt;
+import androidx.annotation.ColorInt;
import android.text.SpannableStringBuilder;
import android.text.format.DateFormat;
import android.text.format.DateUtils;
diff --git a/src/main/java/eu/siacs/conversations/utils/XmppUri.java b/src/main/java/eu/siacs/conversations/utils/XmppUri.java
index 52f84f24b..7be4766f3 100644
--- a/src/main/java/eu/siacs/conversations/utils/XmppUri.java
+++ b/src/main/java/eu/siacs/conversations/utils/XmppUri.java
@@ -1,7 +1,7 @@
package eu.siacs.conversations.utils;
import android.net.Uri;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
diff --git a/src/main/java/eu/siacs/conversations/xmpp/InvalidJid.java b/src/main/java/eu/siacs/conversations/xmpp/InvalidJid.java
index a990dc5c1..f3a21c36f 100644
--- a/src/main/java/eu/siacs/conversations/xmpp/InvalidJid.java
+++ b/src/main/java/eu/siacs/conversations/xmpp/InvalidJid.java
@@ -29,7 +29,7 @@
package eu.siacs.conversations.xmpp;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import eu.siacs.conversations.xmpp.stanzas.AbstractStanza;
diff --git a/src/main/java/eu/siacs/conversations/xmpp/WrappedJid.java b/src/main/java/eu/siacs/conversations/xmpp/WrappedJid.java
index aeee5c6e4..42fa7f3ae 100644
--- a/src/main/java/eu/siacs/conversations/xmpp/WrappedJid.java
+++ b/src/main/java/eu/siacs/conversations/xmpp/WrappedJid.java
@@ -1,7 +1,7 @@
package eu.siacs.conversations.xmpp;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import org.jxmpp.jid.Jid;
import org.jxmpp.jid.impl.JidCreate;
diff --git a/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java b/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java
index 2054dfa53..59fc3977a 100644
--- a/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java
+++ b/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java
@@ -5,7 +5,7 @@ import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.SystemClock;
import android.security.KeyChain;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import android.util.Base64;
import android.util.Log;
import android.util.Pair;
diff --git a/src/main/java/eu/siacs/conversations/xmpp/jingle/stanzas/Content.java b/src/main/java/eu/siacs/conversations/xmpp/jingle/stanzas/Content.java
index f27efb1e2..e945e4b4b 100644
--- a/src/main/java/eu/siacs/conversations/xmpp/jingle/stanzas/Content.java
+++ b/src/main/java/eu/siacs/conversations/xmpp/jingle/stanzas/Content.java
@@ -1,6 +1,6 @@
package eu.siacs.conversations.xmpp.jingle.stanzas;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.google.common.base.Preconditions;
diff --git a/src/main/java/eu/siacs/conversations/xmpp/jingle/stanzas/JinglePacket.java b/src/main/java/eu/siacs/conversations/xmpp/jingle/stanzas/JinglePacket.java
index 21b1d5089..d4c5fd745 100644
--- a/src/main/java/eu/siacs/conversations/xmpp/jingle/stanzas/JinglePacket.java
+++ b/src/main/java/eu/siacs/conversations/xmpp/jingle/stanzas/JinglePacket.java
@@ -1,6 +1,6 @@
package eu.siacs.conversations.xmpp.jingle.stanzas;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.google.common.base.CaseFormat;
import com.google.common.base.Preconditions;
diff --git a/src/main/java/eu/siacs/conversations/xmpp/jingle/stanzas/Reason.java b/src/main/java/eu/siacs/conversations/xmpp/jingle/stanzas/Reason.java
index 9e4c8d95d..c419045b0 100644
--- a/src/main/java/eu/siacs/conversations/xmpp/jingle/stanzas/Reason.java
+++ b/src/main/java/eu/siacs/conversations/xmpp/jingle/stanzas/Reason.java
@@ -1,6 +1,6 @@
package eu.siacs.conversations.xmpp.jingle.stanzas;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.google.common.base.CaseFormat;
diff --git a/src/main/res/layout/account_row.xml b/src/main/res/layout/account_row.xml
index 75e3c2e54..914ee1950 100644
--- a/src/main/res/layout/account_row.xml
+++ b/src/main/res/layout/account_row.xml
@@ -44,7 +44,7 @@
android:textAppearance="@style/TextAppearance.Conversations.Body2" />
-