diff --git a/app/build.gradle b/app/build.gradle
index 5c3455a7..3d6caf74 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -4,8 +4,8 @@ apply plugin: 'com.github.triplet.play'
dependencies {
implementation 'eu.chainfire:libsuperuser:1.1.0.201903290044'
- implementation 'com.android.support:design:28.0.0'
- implementation 'com.android.support:recyclerview-v7:28.0.0'
+ implementation 'com.google.android.material:material:1.0.0'
+ implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'com.google.zxing:android-integration:3.3.0'
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'org.mindrot:jbcrypt:0.4'
@@ -13,11 +13,11 @@ dependencies {
implementation 'com.google.guava:guava:27.1-android'
implementation 'com.annimon:stream:1.2.1'
implementation 'com.android.volley:volley:1.1.1'
- implementation 'com.android.support.constraint:constraint-layout:1.1.3'
+ implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.google.dagger:dagger:2.23.1'
annotationProcessor "com.google.dagger:dagger-compiler:2.23.1"
- androidTestImplementation 'com.android.support.test:rules:1.0.2'
- androidTestImplementation 'com.android.support:support-annotations:28.0.0'
+ androidTestImplementation 'androidx.test:rules:1.1.0'
+ androidTestImplementation 'androidx.annotation:annotation:1.0.0'
}
apply from: 'versions.gradle'
@@ -26,8 +26,8 @@ def ourVersionName = "${versionMajor}.${versionMinor}.${versionPatch}.${versionW
android {
// Changes to these values need to be reflected in `.travis.yml`
- compileSdkVersion 28
- buildToolsVersion '28.0.3'
+ compileSdkVersion 29
+ buildToolsVersion '29.0.0'
buildTypes.debug.applicationIdSuffix ".debug"
dataBinding.enabled = true
@@ -40,11 +40,11 @@ android {
defaultConfig {
applicationId "com.github.catfriend1.syncthingandroid"
minSdkVersion 16
- targetSdkVersion 28
+ targetSdkVersion 29
versionCode ourVersionCode
versionName ourVersionName
testApplicationId 'com.github.catfriend1.syncthingandroid.test'
- testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
+ testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
}
signingConfigs {
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/activities/DeviceActivity.java b/app/src/main/java/com/nutomic/syncthingandroid/activities/DeviceActivity.java
index a30a1224..025e7185 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/activities/DeviceActivity.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/activities/DeviceActivity.java
@@ -9,8 +9,8 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.IBinder;
-import android.support.v7.app.AlertDialog;
-import android.support.v7.widget.SwitchCompat;
+import androidx.appcompat.app.AlertDialog;
+import androidx.appcompat.widget.SwitchCompat;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
@@ -53,8 +53,8 @@ import java.util.Map;
import javax.inject.Inject;
-import static android.support.v4.view.MarginLayoutParamsCompat.setMarginEnd;
-import static android.support.v4.view.MarginLayoutParamsCompat.setMarginStart;
+import static androidx.core.view.MarginLayoutParamsCompat.setMarginEnd;
+import static androidx.core.view.MarginLayoutParamsCompat.setMarginStart;
import static android.text.TextUtils.isEmpty;
import static android.view.View.VISIBLE;
import static android.view.WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/activities/FirstStartActivity.java b/app/src/main/java/com/nutomic/syncthingandroid/activities/FirstStartActivity.java
index f7388405..b2e518a7 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/activities/FirstStartActivity.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/activities/FirstStartActivity.java
@@ -16,11 +16,11 @@ import android.os.Build;
import android.os.Bundle;
import android.os.PowerManager;
import android.provider.Settings;
-import android.support.annotation.NonNull;
-import android.support.v4.app.ActivityCompat;
-import android.support.v4.content.ContextCompat;
-import android.support.v4.view.PagerAdapter;
-import android.support.v7.app.AppCompatActivity;
+import androidx.annotation.NonNull;
+import androidx.core.app.ActivityCompat;
+import androidx.core.content.ContextCompat;
+import androidx.viewpager.widget.PagerAdapter;
+import androidx.appcompat.app.AppCompatActivity;
import android.text.Html;
import android.util.Log;
import android.view.LayoutInflater;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/activities/FolderActivity.java b/app/src/main/java/com/nutomic/syncthingandroid/activities/FolderActivity.java
index fda2d2e2..9459f04e 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/activities/FolderActivity.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/activities/FolderActivity.java
@@ -11,8 +11,8 @@ import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.IBinder;
-import android.support.v4.provider.DocumentFile;
-import android.support.v7.widget.SwitchCompat;
+import androidx.documentfile.provider.DocumentFile;
+import androidx.appcompat.widget.SwitchCompat;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
@@ -55,8 +55,8 @@ import java.util.concurrent.TimeUnit;
import javax.inject.Inject;
-import static android.support.v4.view.MarginLayoutParamsCompat.setMarginEnd;
-import static android.support.v4.view.MarginLayoutParamsCompat.setMarginStart;
+import static androidx.core.view.MarginLayoutParamsCompat.setMarginEnd;
+import static androidx.core.view.MarginLayoutParamsCompat.setMarginStart;
import static android.util.TypedValue.COMPLEX_UNIT_DIP;
import static android.view.Gravity.CENTER_VERTICAL;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/activities/FolderPickerActivity.java b/app/src/main/java/com/nutomic/syncthingandroid/activities/FolderPickerActivity.java
index 9056515e..2c2aad0d 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/activities/FolderPickerActivity.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/activities/FolderPickerActivity.java
@@ -8,9 +8,9 @@ import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v4.content.ContextCompat;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.core.content.ContextCompat;
import android.text.TextUtils;
import android.util.Log;
import android.view.Menu;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/activities/LogActivity.java b/app/src/main/java/com/nutomic/syncthingandroid/activities/LogActivity.java
index 668b2bd2..3fca75de 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/activities/LogActivity.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/activities/LogActivity.java
@@ -3,10 +3,9 @@ package com.nutomic.syncthingandroid.activities;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
-import android.support.v4.view.MenuItemCompat;
-import android.support.v7.widget.ShareActionProvider;
+import androidx.core.view.MenuItemCompat;
+import androidx.appcompat.widget.ShareActionProvider;
import android.text.TextUtils;
-import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
@@ -16,9 +15,6 @@ import android.widget.TextView;
import com.nutomic.syncthingandroid.R;
import com.nutomic.syncthingandroid.util.Util;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
import java.lang.ref.WeakReference;
import java.util.Arrays;
import java.util.ArrayList;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/activities/MainActivity.java b/app/src/main/java/com/nutomic/syncthingandroid/activities/MainActivity.java
index 8f03303a..9f08e47a 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/activities/MainActivity.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/activities/MainActivity.java
@@ -13,21 +13,20 @@ import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.Manifest;
-import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.IBinder;
-import android.support.design.widget.TabLayout;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
-import android.support.v4.app.FragmentStatePagerAdapter;
-import android.support.v4.content.ContextCompat;
-import android.support.v4.view.GravityCompat;
-import android.support.v4.view.ViewPager;
-import android.support.v4.widget.DrawerLayout;
-import android.support.v7.widget.Toolbar;
-import android.support.v7.app.ActionBar;
-import android.support.v7.app.ActionBarDrawerToggle;
+import com.google.android.material.tabs.TabLayout;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentStatePagerAdapter;
+import androidx.core.content.ContextCompat;
+import androidx.core.view.GravityCompat;
+import androidx.viewpager.widget.ViewPager;
+import androidx.drawerlayout.widget.DrawerLayout;
+import androidx.appcompat.widget.Toolbar;
+import androidx.appcompat.app.ActionBar;
+import androidx.appcompat.app.ActionBarDrawerToggle;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.TypedValue;
@@ -43,7 +42,6 @@ import android.widget.TextView;
import com.annimon.stream.function.Consumer;
import com.nutomic.syncthingandroid.R;
import com.nutomic.syncthingandroid.SyncthingApp;
-import com.nutomic.syncthingandroid.activities.WebViewActivity;
import com.nutomic.syncthingandroid.fragments.DeviceListFragment;
import com.nutomic.syncthingandroid.fragments.DrawerFragment;
import com.nutomic.syncthingandroid.fragments.FolderListFragment;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/activities/RecentChangesActivity.java b/app/src/main/java/com/nutomic/syncthingandroid/activities/RecentChangesActivity.java
index 301d3611..36ceeea3 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/activities/RecentChangesActivity.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/activities/RecentChangesActivity.java
@@ -3,8 +3,8 @@ package com.nutomic.syncthingandroid.activities;
import android.content.ComponentName;
import android.os.Bundle;
import android.os.IBinder;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
import android.text.TextUtils;
import android.util.Log;
import android.view.Menu;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/activities/SettingsActivity.java b/app/src/main/java/com/nutomic/syncthingandroid/activities/SettingsActivity.java
index faa96319..c3fea39c 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/activities/SettingsActivity.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/activities/SettingsActivity.java
@@ -23,9 +23,9 @@ import android.preference.Preference;
import android.preference.PreferenceFragment;
import android.preference.PreferenceManager;
import android.preference.PreferenceScreen;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v7.widget.Toolbar;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.appcompat.widget.Toolbar;
import android.text.TextUtils;
import android.util.Log;
import android.util.TypedValue;
@@ -43,7 +43,6 @@ import com.google.common.base.Splitter;
import com.google.common.collect.Iterables;
import com.nutomic.syncthingandroid.R;
import com.nutomic.syncthingandroid.SyncthingApp;
-import com.nutomic.syncthingandroid.activities.WebViewActivity;
import com.nutomic.syncthingandroid.model.Device;
import com.nutomic.syncthingandroid.model.Gui;
import com.nutomic.syncthingandroid.model.Options;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/activities/SyncConditionsActivity.java b/app/src/main/java/com/nutomic/syncthingandroid/activities/SyncConditionsActivity.java
index 6532c8ba..c3382914 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/activities/SyncConditionsActivity.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/activities/SyncConditionsActivity.java
@@ -5,7 +5,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
-import android.support.v7.widget.SwitchCompat;
+import androidx.appcompat.widget.SwitchCompat;
import android.util.Log;
import android.util.TypedValue;
import android.view.LayoutInflater;
@@ -25,8 +25,8 @@ import java.util.Set;
import javax.inject.Inject;
-import static android.support.v4.view.MarginLayoutParamsCompat.setMarginEnd;
-import static android.support.v4.view.MarginLayoutParamsCompat.setMarginStart;
+import static androidx.core.view.MarginLayoutParamsCompat.setMarginEnd;
+import static androidx.core.view.MarginLayoutParamsCompat.setMarginStart;
import static android.util.TypedValue.COMPLEX_UNIT_DIP;
import static android.view.Gravity.CENTER_VERTICAL;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/activities/SyncthingActivity.java b/app/src/main/java/com/nutomic/syncthingandroid/activities/SyncthingActivity.java
index 2377b74c..7fec4a45 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/activities/SyncthingActivity.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/activities/SyncthingActivity.java
@@ -7,8 +7,8 @@ import android.content.ServiceConnection;
import android.os.Build;
import android.os.Bundle;
import android.os.IBinder;
-import android.support.v7.app.ActionBar;
-import android.support.v7.widget.Toolbar;
+import androidx.appcompat.app.ActionBar;
+import androidx.appcompat.widget.Toolbar;
// import android.util.Log;
import com.nutomic.syncthingandroid.R;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/activities/ThemedAppCompatActivity.java b/app/src/main/java/com/nutomic/syncthingandroid/activities/ThemedAppCompatActivity.java
index f775886d..696207e2 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/activities/ThemedAppCompatActivity.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/activities/ThemedAppCompatActivity.java
@@ -3,8 +3,8 @@ package com.nutomic.syncthingandroid.activities;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
-import android.support.v7.app.AppCompatActivity;
-import android.support.v7.app.AppCompatDelegate;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.app.AppCompatDelegate;
// import android.util.Log;
import com.nutomic.syncthingandroid.service.Constants;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/activities/TipsAndTricksActivity.java b/app/src/main/java/com/nutomic/syncthingandroid/activities/TipsAndTricksActivity.java
index 6c98e510..14906e14 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/activities/TipsAndTricksActivity.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/activities/TipsAndTricksActivity.java
@@ -5,8 +5,8 @@ import android.net.NetworkInfo;
import android.net.wifi.WifiManager;
import android.os.Build;
import android.os.Bundle;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
import android.text.format.Formatter;
import android.util.Log;
import android.view.View;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/activities/VersioningDialogActivity.java b/app/src/main/java/com/nutomic/syncthingandroid/activities/VersioningDialogActivity.java
index 3caa8ccf..69dc63fb 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/activities/VersioningDialogActivity.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/activities/VersioningDialogActivity.java
@@ -3,8 +3,8 @@ package com.nutomic.syncthingandroid.activities;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentTransaction;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentTransaction;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/fragments/DeviceListFragment.java b/app/src/main/java/com/nutomic/syncthingandroid/fragments/DeviceListFragment.java
index e8c12e25..4a4b8f24 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/fragments/DeviceListFragment.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/fragments/DeviceListFragment.java
@@ -4,8 +4,8 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
-import android.support.annotation.Nullable;
-import android.support.v4.app.ListFragment;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.ListFragment;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/fragments/DrawerFragment.java b/app/src/main/java/com/nutomic/syncthingandroid/fragments/DrawerFragment.java
index de4d62d9..908d0f55 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/fragments/DrawerFragment.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/fragments/DrawerFragment.java
@@ -5,7 +5,7 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
-import android.support.v4.app.Fragment;
+import androidx.fragment.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/fragments/FolderListFragment.java b/app/src/main/java/com/nutomic/syncthingandroid/fragments/FolderListFragment.java
index f870a7db..451ef4cc 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/fragments/FolderListFragment.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/fragments/FolderListFragment.java
@@ -4,8 +4,8 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
-import android.support.annotation.Nullable;
-import android.support.v4.app.ListFragment;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.ListFragment;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/fragments/NumberPickerFragment.java b/app/src/main/java/com/nutomic/syncthingandroid/fragments/NumberPickerFragment.java
index 05fa4605..c5297e9c 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/fragments/NumberPickerFragment.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/fragments/NumberPickerFragment.java
@@ -1,8 +1,8 @@
package com.nutomic.syncthingandroid.fragments;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/fragments/StatusFragment.java b/app/src/main/java/com/nutomic/syncthingandroid/fragments/StatusFragment.java
index 5509502f..175929d9 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/fragments/StatusFragment.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/fragments/StatusFragment.java
@@ -4,9 +4,9 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
-import android.support.annotation.Nullable;
-import android.support.v4.app.ListFragment;
-import android.support.v4.content.LocalBroadcastManager;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.ListFragment;
+import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.text.TextUtils;
import android.util.Log;
import android.view.Menu;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/fragments/dialog/ExternalVersioningFragment.java b/app/src/main/java/com/nutomic/syncthingandroid/fragments/dialog/ExternalVersioningFragment.java
index c34a4225..e0950419 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/fragments/dialog/ExternalVersioningFragment.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/fragments/dialog/ExternalVersioningFragment.java
@@ -1,8 +1,8 @@
package com.nutomic.syncthingandroid.fragments.dialog;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.LayoutInflater;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/fragments/dialog/NoVersioningFragment.java b/app/src/main/java/com/nutomic/syncthingandroid/fragments/dialog/NoVersioningFragment.java
index 849267bf..7c5882c0 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/fragments/dialog/NoVersioningFragment.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/fragments/dialog/NoVersioningFragment.java
@@ -1,8 +1,8 @@
package com.nutomic.syncthingandroid.fragments.dialog;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/fragments/dialog/SimpleVersioningFragment.java b/app/src/main/java/com/nutomic/syncthingandroid/fragments/dialog/SimpleVersioningFragment.java
index a99a45c7..b31500d4 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/fragments/dialog/SimpleVersioningFragment.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/fragments/dialog/SimpleVersioningFragment.java
@@ -1,8 +1,8 @@
package com.nutomic.syncthingandroid.fragments.dialog;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/fragments/dialog/StaggeredVersioningFragment.java b/app/src/main/java/com/nutomic/syncthingandroid/fragments/dialog/StaggeredVersioningFragment.java
index a90e76e4..e164238b 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/fragments/dialog/StaggeredVersioningFragment.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/fragments/dialog/StaggeredVersioningFragment.java
@@ -3,8 +3,8 @@ package com.nutomic.syncthingandroid.fragments.dialog;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/fragments/dialog/TrashCanVersioningFragment.java b/app/src/main/java/com/nutomic/syncthingandroid/fragments/dialog/TrashCanVersioningFragment.java
index 83c98827..581f7858 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/fragments/dialog/TrashCanVersioningFragment.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/fragments/dialog/TrashCanVersioningFragment.java
@@ -1,8 +1,8 @@
package com.nutomic.syncthingandroid.fragments.dialog;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/http/ApiRequest.java b/app/src/main/java/com/nutomic/syncthingandroid/http/ApiRequest.java
index 8b6dd0c7..4375cf13 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/http/ApiRequest.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/http/ApiRequest.java
@@ -4,7 +4,7 @@ package com.nutomic.syncthingandroid.http;
import android.content.Context;
import android.graphics.Bitmap;
import android.net.Uri;
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
import android.util.Log;
import android.widget.ImageView;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/http/GetRequest.java b/app/src/main/java/com/nutomic/syncthingandroid/http/GetRequest.java
index 9c958e97..8cc7cf86 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/http/GetRequest.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/http/GetRequest.java
@@ -2,7 +2,7 @@ package com.nutomic.syncthingandroid.http;
import android.content.Context;
import android.net.Uri;
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
import com.android.volley.Request;
import com.google.common.base.Optional;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/http/ImageGetRequest.java b/app/src/main/java/com/nutomic/syncthingandroid/http/ImageGetRequest.java
index cceb2422..9917d38f 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/http/ImageGetRequest.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/http/ImageGetRequest.java
@@ -2,7 +2,7 @@ package com.nutomic.syncthingandroid.http;
import android.content.Context;
import android.net.Uri;
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
import com.google.common.base.Optional;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/http/PostRequest.java b/app/src/main/java/com/nutomic/syncthingandroid/http/PostRequest.java
index d2c2cf68..11caf721 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/http/PostRequest.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/http/PostRequest.java
@@ -2,7 +2,7 @@ package com.nutomic.syncthingandroid.http;
import android.content.Context;
import android.net.Uri;
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
import com.android.volley.Request;
import com.google.common.base.Optional;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/service/NotificationHandler.java b/app/src/main/java/com/nutomic/syncthingandroid/service/NotificationHandler.java
index cc532a33..a1a0b2de 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/service/NotificationHandler.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/service/NotificationHandler.java
@@ -8,8 +8,8 @@ import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Build;
-import android.support.annotation.StringRes;
-import android.support.v4.app.NotificationCompat;
+import androidx.annotation.StringRes;
+import androidx.core.app.NotificationCompat;
import android.util.Log;
import com.nutomic.syncthingandroid.R;
@@ -17,7 +17,6 @@ import com.nutomic.syncthingandroid.SyncthingApp;
import com.nutomic.syncthingandroid.activities.FirstStartActivity;
import com.nutomic.syncthingandroid.activities.LogActivity;
import com.nutomic.syncthingandroid.activities.MainActivity;
-import com.nutomic.syncthingandroid.service.Constants;
import com.nutomic.syncthingandroid.service.SyncthingService.State;
import javax.inject.Inject;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/service/RunConditionMonitor.java b/app/src/main/java/com/nutomic/syncthingandroid/service/RunConditionMonitor.java
index f3df4029..c87d100b 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/service/RunConditionMonitor.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/service/RunConditionMonitor.java
@@ -18,13 +18,12 @@ import android.os.Build;
import android.os.Handler;
import android.os.Looper;
import android.os.PowerManager;
-import android.support.annotation.Nullable;
-import android.support.v4.content.LocalBroadcastManager;
+import androidx.annotation.Nullable;
+import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.util.Log;
import com.nutomic.syncthingandroid.R;
import com.nutomic.syncthingandroid.SyncthingApp;
-import com.nutomic.syncthingandroid.service.ReceiverManager;
import com.nutomic.syncthingandroid.util.JobUtils;
import java.util.HashSet;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/service/SyncTriggerJobService.java b/app/src/main/java/com/nutomic/syncthingandroid/service/SyncTriggerJobService.java
index 4b1643b9..ff228875 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/service/SyncTriggerJobService.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/service/SyncTriggerJobService.java
@@ -4,12 +4,10 @@ import android.app.job.JobParameters;
import android.app.job.JobService;
import android.content.Context;
import android.content.Intent;
-import android.support.annotation.RequiresApi;
-import android.support.v4.content.LocalBroadcastManager;
+import androidx.annotation.RequiresApi;
+import androidx.localbroadcastmanager.content.LocalBroadcastManager;
// import android.util.Log;
-import com.nutomic.syncthingandroid.service.Constants;
-import com.nutomic.syncthingandroid.service.RunConditionMonitor;
import com.nutomic.syncthingandroid.util.JobUtils;
/**
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/service/SyncthingService.java b/app/src/main/java/com/nutomic/syncthingandroid/service/SyncthingService.java
index ffef874e..64716a1a 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/service/SyncthingService.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/service/SyncthingService.java
@@ -9,8 +9,8 @@ import android.Manifest;
import android.os.Build;
import android.os.Handler;
import android.os.Looper;
-import android.support.annotation.Nullable;
-import android.support.v4.content.ContextCompat;
+import androidx.annotation.Nullable;
+import androidx.core.content.ContextCompat;
import android.util.Log;
import com.android.PRNGFixes;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/util/FileUtils.java b/app/src/main/java/com/nutomic/syncthingandroid/util/FileUtils.java
index 6b1b7acf..99f9861b 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/util/FileUtils.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/util/FileUtils.java
@@ -12,7 +12,7 @@ import android.os.Build;
import android.os.Environment;
import android.os.storage.StorageManager;
import android.provider.DocumentsContract;
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
import android.util.Log;
import android.webkit.MimeTypeMap;
import android.widget.Toast;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/views/ChangeListAdapter.java b/app/src/main/java/com/nutomic/syncthingandroid/views/ChangeListAdapter.java
index 7f4f9eff..5dffec35 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/views/ChangeListAdapter.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/views/ChangeListAdapter.java
@@ -4,7 +4,7 @@ import android.annotation.TargetApi;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.res.Resources;
-import android.support.v7.widget.RecyclerView;
+import androidx.recyclerview.widget.RecyclerView;
import android.net.Uri;
import android.os.Build;
// import android.util.Log;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/views/CustomViewPager.java b/app/src/main/java/com/nutomic/syncthingandroid/views/CustomViewPager.java
index 528054e5..9ef1c174 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/views/CustomViewPager.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/views/CustomViewPager.java
@@ -1,7 +1,7 @@
package com.nutomic.syncthingandroid.views;
import android.content.Context;
-import android.support.v4.view.ViewPager;
+import androidx.viewpager.widget.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/views/DevicesAdapter.java b/app/src/main/java/com/nutomic/syncthingandroid/views/DevicesAdapter.java
index 5662d3b1..c9cd46a1 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/views/DevicesAdapter.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/views/DevicesAdapter.java
@@ -2,8 +2,8 @@ package com.nutomic.syncthingandroid.views;
import android.content.Context;
import android.content.res.Resources;
-import android.support.annotation.NonNull;
-import android.support.v4.content.ContextCompat;
+import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/views/EnhancedEditText.java b/app/src/main/java/com/nutomic/syncthingandroid/views/EnhancedEditText.java
index 9b484375..e76cdc97 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/views/EnhancedEditText.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/views/EnhancedEditText.java
@@ -1,7 +1,7 @@
package com.nutomic.syncthingandroid.views;
import android.content.Context;
-import android.support.v7.widget.AppCompatEditText;
+import androidx.appcompat.widget.AppCompatEditText;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.inputmethod.EditorInfo;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/views/FoldersAdapter.java b/app/src/main/java/com/nutomic/syncthingandroid/views/FoldersAdapter.java
index b04143b7..a2c0cce7 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/views/FoldersAdapter.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/views/FoldersAdapter.java
@@ -3,9 +3,9 @@ package com.nutomic.syncthingandroid.views;
import android.app.AlertDialog;
import android.content.Context;
import android.content.Intent;
-import android.databinding.DataBindingUtil;
-import android.support.annotation.NonNull;
-import android.support.v4.content.ContextCompat;
+import androidx.databinding.DataBindingUtil;
+import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/views/TipListAdapter.java b/app/src/main/java/com/nutomic/syncthingandroid/views/TipListAdapter.java
index b2921b23..82d7db2f 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/views/TipListAdapter.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/views/TipListAdapter.java
@@ -1,7 +1,7 @@
package com.nutomic.syncthingandroid.views;
import android.content.Context;
-import android.support.v7.widget.RecyclerView;
+import androidx.recyclerview.widget.RecyclerView;
// import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
diff --git a/app/src/main/java/com/nutomic/syncthingandroid/views/WifiSsidPreference.java b/app/src/main/java/com/nutomic/syncthingandroid/views/WifiSsidPreference.java
index 2e4fc7a5..5ed0e6c9 100644
--- a/app/src/main/java/com/nutomic/syncthingandroid/views/WifiSsidPreference.java
+++ b/app/src/main/java/com/nutomic/syncthingandroid/views/WifiSsidPreference.java
@@ -9,8 +9,8 @@ import android.net.wifi.WifiManager;
import android.os.Build;
import android.os.Bundle;
import android.preference.MultiSelectListPreference;
-import android.support.v4.app.ActivityCompat;
-import android.support.v4.content.ContextCompat;
+import androidx.core.app.ActivityCompat;
+import androidx.core.content.ContextCompat;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.Toast;
diff --git a/app/src/main/res/layout/activity_device.xml b/app/src/main/res/layout/activity_device.xml
index 76d17ca7..02c69b0a 100644
--- a/app/src/main/res/layout/activity_device.xml
+++ b/app/src/main/res/layout/activity_device.xml
@@ -171,7 +171,7 @@
android:textAppearance="@style/TextAppearance.AppCompat.Caption" />
-
-
-
-
-
-
-
-
@@ -11,7 +11,7 @@
-
-
@@ -34,4 +34,4 @@
android:clickable="true"
android:elevation="16dp"
android:focusable="true" />
-
+
diff --git a/app/src/main/res/layout/activity_recent_changes.xml b/app/src/main/res/layout/activity_recent_changes.xml
index ca06e5cd..5723f0b2 100644
--- a/app/src/main/res/layout/activity_recent_changes.xml
+++ b/app/src/main/res/layout/activity_recent_changes.xml
@@ -18,7 +18,7 @@
android:focusable="false"
android:text="@string/no_recent_changes" />
-
-
-
+
diff --git a/app/src/main/res/layout/activity_sync_conditions.xml b/app/src/main/res/layout/activity_sync_conditions.xml
index d6de8dfb..bbd13cb4 100644
--- a/app/src/main/res/layout/activity_sync_conditions.xml
+++ b/app/src/main/res/layout/activity_sync_conditions.xml
@@ -59,7 +59,7 @@
android:orientation="vertical"
android:gravity="center_vertical">
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
+
diff --git a/app/src/main/res/menu/log_list.xml b/app/src/main/res/menu/log_list.xml
index f2a94246..849cd0a9 100644
--- a/app/src/main/res/menu/log_list.xml
+++ b/app/src/main/res/menu/log_list.xml
@@ -10,6 +10,6 @@
+ app:actionProviderClass="androidx.appcompat.widget.ShareActionProvider" />
diff --git a/gradle.properties b/gradle.properties
new file mode 100644
index 00000000..5465fec0
--- /dev/null
+++ b/gradle.properties
@@ -0,0 +1,2 @@
+android.enableJetifier=true
+android.useAndroidX=true
\ No newline at end of file