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 747e599167e076535efffe1175f13720f4f58092..c6b9968b3ef1556caed182871840858b88b1e2b4 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 f981fcf7a90ef01a17697ff414e943fc07749901..cfe291f732808f7b3345205537153e1146ea3fed 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 761eff2a37eafb557f3582a67177239124ef3ad1..b2da09f974cf4088dd119937813868ae3e9bdf84 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 98186695139d5806c0494d650ca1fe22fb4f6a3a..47ad515eb1543fcc99b0f568bc1f78121c4c68ea 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 b03ad5454b39b85dc9f938c0af88a4c2b308c952..e11ea42d7f8feb9a31ed9c60e4e039db276e004b 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 26dc205b4d97578d3894d3981d60e4f8065f42fd..39106caa8fb58152493752bb43d0d63e02a93ea2 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 68672156bc837225c257e1d43981d3791ecceba9..808abbdb4725cacf8dbc62efc67ff3bf848ed916 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 ca515e8fadec80e216950f9c6cc1d50ff67ee35f..9ad6b5d3d480ef5b12d090e2a250140c8c0815c1 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 832e0dc561ac4222fbc660f411b40d2254ad4eef..52936fcfa2e9f1cf40d01ac5331769c4a862c61d 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 852dedc00e1e1373a660cf5e53a7a4bacbb82452..f025c256f70ee08ab175912ed4bfbe24c910e7b8 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 2afec622508a895c556028be9195da80c633291d..27685a65d56298a14fcdd3669756150bc2cc477a 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 13b33570b9a8fdba960488f8c36242fbf71f9b38..6835f5d3f83fa8c39860d84cadb5b4083250adea 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 4d4339a42ec5d1eb09139fb0a778d32928ab3779..d434be12621be0469714031f77d539b3c69451aa 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 bd50ab0aee47ad842219bc249c3c1e26dc9173a8..36e8d817953afd7d246d4c900730588263304ab8 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 6ad1325bef637ffc9e278fbd1cddc1a5f5e5d32e..b96370dc3af8286afed50443789c7ebb0e123a65 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 bf87dd0bd1b4f7843e366cfae38fd838cb53bf6a..fbbbe87527d4431361e59cc58156fac226efda68 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 52f84f24b3a364c5c356956346a486e157deadbe..7be4766f3fe20e9801ba2462815b1642893745ec 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 a990dc5c1ce1df2abff1c89f6cd091a9a138fb0e..f3a21c36f54bc055ccc73dd87e48a5ee66a47adf 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 aeee5c6e467d50f0dc8c7b54209ad868fdb1ba64..42fa7f3aea902b16a7c4ab4c764efdfddc88cfae 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 2054dfa53be1e055d739b50cacae8230aa0b1fc1..59fc3977a4d867d9d717bc0bb9a2c24cb7d892df 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 f27efb1e2a1ce62d315ef4e6937c1d6d38244840..e945e4b4bec21b911a264d8ddc92ab9c5b7e191f 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 21b1d5089cb18cb83383152674916a35848d1b31..d4c5fd745484238b02504dffaa46fe8015e7ff63 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 9e4c8d95d5d8c2be7e893b89ab35341e1ced3174..c419045b0f1ad7120da2aa67d0d8cdd7fe06f06c 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 75e3c2e54de89db9d783c51522b58734e5a0a923..914ee1950002312e4dcfbeda64954244f17737e1 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" />
-