diff --git a/AndroidManifest.xml b/AndroidManifest.xml --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -241,7 +241,7 @@ diff --git a/build.gradle b/build.gradle --- a/build.gradle +++ b/build.gradle @@ -1,3 +1,5 @@ +apply plugin: 'com.android.application' + buildscript { repositories { jcenter() @@ -8,8 +10,6 @@ } } -apply plugin: 'com.android.application' - android { compileSdkVersion 28 defaultConfig { @@ -69,19 +69,19 @@ google() } - implementation 'com.android.support:support-media-compat:28.0.0' - implementation 'com.android.support:appcompat-v7:28.0.0' - implementation 'com.android.support:preference-v7:28.0.0' - implementation 'com.android.support:design:28.0.0' + implementation 'androidx.media:media:1.0.0' + implementation 'androidx.appcompat:appcompat:1.0.2' + implementation 'androidx.preference:preference:1.0.0' + implementation 'com.google.android.material:material:1.0.0' implementation 'com.jakewharton:disklrucache:2.0.2' //For caching album art bitmaps implementation 'org.apache.sshd:sshd-core:0.14.0' implementation 'org.apache.mina:mina-core:2.0.19' //For some reason, makes sshd-core:0.14.0 work without NIO, which isn't available until Android 8+ implementation 'com.madgag.spongycastle:bcpkix-jdk15on:1.58.0.0' //For SSL certificate generation - implementation 'com.jakewharton:butterknife:9.0.0-rc2' - annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc2' + implementation 'com.jakewharton:butterknife:9.0.0-rc3' + annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc3' // Testing androidTestImplementation 'org.mockito:mockito-core:1.10.19' diff --git a/gradle.properties b/gradle.properties new file mode 100644 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,2 @@ +android.enableJetifier=true +android.useAndroidX=true \ No newline at end of file diff --git a/res/layout/activity_device.xml b/res/layout/activity_device.xml --- a/res/layout/activity_device.xml +++ b/res/layout/activity_device.xml @@ -78,7 +78,7 @@ android:padding="16dp" android:visibility="gone"> - + - - - - + - + - - + diff --git a/res/layout/activity_runcommand.xml b/res/layout/activity_runcommand.xml --- a/res/layout/activity_runcommand.xml +++ b/res/layout/activity_runcommand.xml @@ -1,8 +1,8 @@ - + - - \ No newline at end of file + \ No newline at end of file diff --git a/res/layout/devices_list.xml b/res/layout/devices_list.xml --- a/res/layout/devices_list.xml +++ b/res/layout/devices_list.xml @@ -1,9 +1,9 @@ - + - \ No newline at end of file + \ No newline at end of file diff --git a/res/layout/list_item_with_icon_entry.xml b/res/layout/list_item_with_icon_entry.xml --- a/res/layout/list_item_with_icon_entry.xml +++ b/res/layout/list_item_with_icon_entry.xml @@ -13,7 +13,7 @@ android:paddingLeft="16dp" android:paddingRight="16dp"> - - - @@ -319,7 +320,7 @@ .setSmallIcon(R.drawable.ic_play_white) .setShowWhen(false) .setColor(service.getResources().getColor(R.color.primary)) - .setVisibility(android.support.v4.app.NotificationCompat.VISIBILITY_PUBLIC); + .setVisibility(androidx.core.app.NotificationCompat.VISIBILITY_PUBLIC); if (!notificationPlayer.getTitle().isEmpty()) { notification.setContentTitle(notificationPlayer.getTitle()); diff --git a/src/org/kde/kdeconnect/Plugins/MprisPlugin/MprisPlugin.java b/src/org/kde/kdeconnect/Plugins/MprisPlugin/MprisPlugin.java --- a/src/org/kde/kdeconnect/Plugins/MprisPlugin/MprisPlugin.java +++ b/src/org/kde/kdeconnect/Plugins/MprisPlugin/MprisPlugin.java @@ -26,7 +26,6 @@ import android.graphics.drawable.Drawable; import android.os.Handler; import android.os.Message; -import android.support.v4.content.ContextCompat; import android.util.Log; import org.kde.kdeconnect.NetworkPacket; @@ -41,6 +40,8 @@ import java.util.Iterator; import java.util.List; +import androidx.core.content.ContextCompat; + public class MprisPlugin extends Plugin { public class MprisPlayer { private String player = ""; diff --git a/src/org/kde/kdeconnect/Plugins/MprisReceiverPlugin/MprisReceiverCallback.java b/src/org/kde/kdeconnect/Plugins/MprisReceiverPlugin/MprisReceiverCallback.java --- a/src/org/kde/kdeconnect/Plugins/MprisReceiverPlugin/MprisReceiverCallback.java +++ b/src/org/kde/kdeconnect/Plugins/MprisReceiverPlugin/MprisReceiverCallback.java @@ -24,9 +24,10 @@ import android.media.session.MediaController; import android.media.session.PlaybackState; import android.os.Build; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.annotation.RequiresApi; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.RequiresApi; @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) diff --git a/src/org/kde/kdeconnect/Plugins/MprisReceiverPlugin/MprisReceiverPlayer.java b/src/org/kde/kdeconnect/Plugins/MprisReceiverPlugin/MprisReceiverPlayer.java --- a/src/org/kde/kdeconnect/Plugins/MprisReceiverPlugin/MprisReceiverPlayer.java +++ b/src/org/kde/kdeconnect/Plugins/MprisReceiverPlugin/MprisReceiverPlayer.java @@ -24,7 +24,8 @@ import android.media.session.MediaController; import android.media.session.PlaybackState; import android.os.Build; -import android.support.annotation.RequiresApi; + +import androidx.annotation.RequiresApi; @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) class MprisReceiverPlayer { diff --git a/src/org/kde/kdeconnect/Plugins/MprisReceiverPlugin/MprisReceiverPlugin.java b/src/org/kde/kdeconnect/Plugins/MprisReceiverPlugin/MprisReceiverPlugin.java --- a/src/org/kde/kdeconnect/Plugins/MprisReceiverPlugin/MprisReceiverPlugin.java +++ b/src/org/kde/kdeconnect/Plugins/MprisReceiverPlugin/MprisReceiverPlugin.java @@ -31,8 +31,6 @@ import android.os.Handler; import android.os.Looper; import android.provider.Settings; -import android.support.annotation.Nullable; -import android.support.annotation.RequiresApi; import android.util.Log; import org.kde.kdeconnect.Helpers.AppsHelper; @@ -45,6 +43,9 @@ import java.util.HashMap; import java.util.List; +import androidx.annotation.Nullable; +import androidx.annotation.RequiresApi; + @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) public class MprisReceiverPlugin extends Plugin implements MediaSessionManager.OnActiveSessionsChangedListener { diff --git a/src/org/kde/kdeconnect/Plugins/NotificationsPlugin/NotificationFilterActivity.java b/src/org/kde/kdeconnect/Plugins/NotificationsPlugin/NotificationFilterActivity.java --- a/src/org/kde/kdeconnect/Plugins/NotificationsPlugin/NotificationFilterActivity.java +++ b/src/org/kde/kdeconnect/Plugins/NotificationsPlugin/NotificationFilterActivity.java @@ -30,7 +30,6 @@ import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -41,13 +40,14 @@ import android.widget.ListView; import org.kde.kdeconnect.BackgroundService; -import org.kde.kdeconnect.Helpers.StringsHelper; import org.kde.kdeconnect.UserInterface.ThemeUtil; import org.kde.kdeconnect_tp.R; import java.util.Arrays; import java.util.List; +import androidx.appcompat.app.AppCompatActivity; + public class NotificationFilterActivity extends AppCompatActivity { private AppDatabase appDatabase; diff --git a/src/org/kde/kdeconnect/Plugins/NotificationsPlugin/NotificationReceiver.java b/src/org/kde/kdeconnect/Plugins/NotificationsPlugin/NotificationReceiver.java --- a/src/org/kde/kdeconnect/Plugins/NotificationsPlugin/NotificationReceiver.java +++ b/src/org/kde/kdeconnect/Plugins/NotificationsPlugin/NotificationReceiver.java @@ -26,12 +26,13 @@ import android.os.Build; import android.service.notification.NotificationListenerService; import android.service.notification.StatusBarNotification; -import android.support.annotation.RequiresApi; import java.util.ArrayList; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; +import androidx.annotation.RequiresApi; + @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR2) public class NotificationReceiver extends NotificationListenerService { diff --git a/src/org/kde/kdeconnect/Plugins/NotificationsPlugin/NotificationsPlugin.java b/src/org/kde/kdeconnect/Plugins/NotificationsPlugin/NotificationsPlugin.java --- a/src/org/kde/kdeconnect/Plugins/NotificationsPlugin/NotificationsPlugin.java +++ b/src/org/kde/kdeconnect/Plugins/NotificationsPlugin/NotificationsPlugin.java @@ -38,8 +38,6 @@ import android.os.Bundle; import android.provider.Settings; import android.service.notification.StatusBarNotification; -import android.support.annotation.RequiresApi; -import android.support.v4.app.NotificationCompat; import android.text.SpannableString; import android.util.Log; @@ -59,6 +57,9 @@ import java.util.Map; import java.util.Set; +import androidx.annotation.RequiresApi; +import androidx.core.app.NotificationCompat; + @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2) public class NotificationsPlugin extends Plugin implements NotificationReceiver.NotificationListener { diff --git a/src/org/kde/kdeconnect/Plugins/PingPlugin/PingPlugin.java b/src/org/kde/kdeconnect/Plugins/PingPlugin/PingPlugin.java --- a/src/org/kde/kdeconnect/Plugins/PingPlugin/PingPlugin.java +++ b/src/org/kde/kdeconnect/Plugins/PingPlugin/PingPlugin.java @@ -26,15 +26,16 @@ import android.app.PendingIntent; import android.content.Context; import android.content.Intent; -import android.support.v4.app.NotificationCompat; import android.util.Log; import org.kde.kdeconnect.Helpers.NotificationHelper; import org.kde.kdeconnect.NetworkPacket; import org.kde.kdeconnect.Plugins.Plugin; import org.kde.kdeconnect.UserInterface.MainActivity; import org.kde.kdeconnect_tp.R; +import androidx.core.app.NotificationCompat; + public class PingPlugin extends Plugin { diff --git a/src/org/kde/kdeconnect/Plugins/Plugin.java b/src/org/kde/kdeconnect/Plugins/Plugin.java --- a/src/org/kde/kdeconnect/Plugins/Plugin.java +++ b/src/org/kde/kdeconnect/Plugins/Plugin.java @@ -27,17 +27,18 @@ import android.content.pm.PackageManager; import android.graphics.drawable.Drawable; import android.os.Build; -import android.support.annotation.StringRes; -import android.support.v4.app.ActivityCompat; -import android.support.v4.content.ContextCompat; import android.widget.Button; import org.kde.kdeconnect.Device; import org.kde.kdeconnect.NetworkPacket; import org.kde.kdeconnect.UserInterface.DeviceSettingsActivity; import org.kde.kdeconnect.UserInterface.PluginSettingsActivity; import org.kde.kdeconnect_tp.R; +import androidx.annotation.StringRes; +import androidx.core.app.ActivityCompat; +import androidx.core.content.ContextCompat; + public abstract class Plugin { protected Device device; diff --git a/src/org/kde/kdeconnect/Plugins/PresenterPlugin/PresenterActivity.java b/src/org/kde/kdeconnect/Plugins/PresenterPlugin/PresenterActivity.java --- a/src/org/kde/kdeconnect/Plugins/PresenterPlugin/PresenterActivity.java +++ b/src/org/kde/kdeconnect/Plugins/PresenterPlugin/PresenterActivity.java @@ -24,18 +24,19 @@ import android.os.Build; import android.os.Bundle; import android.os.PowerManager; -import android.support.v4.media.VolumeProviderCompat; import android.support.v4.media.session.MediaSessionCompat; import android.support.v4.media.session.PlaybackStateCompat; -import android.support.v7.app.AppCompatActivity; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import org.kde.kdeconnect.BackgroundService; import org.kde.kdeconnect.UserInterface.ThemeUtil; import org.kde.kdeconnect_tp.R; +import androidx.appcompat.app.AppCompatActivity; +import androidx.media.VolumeProviderCompat; + public class PresenterActivity extends AppCompatActivity { private MediaSessionCompat mMediaSession; diff --git a/src/org/kde/kdeconnect/Plugins/PresenterPlugin/PresenterPlugin.java b/src/org/kde/kdeconnect/Plugins/PresenterPlugin/PresenterPlugin.java --- a/src/org/kde/kdeconnect/Plugins/PresenterPlugin/PresenterPlugin.java +++ b/src/org/kde/kdeconnect/Plugins/PresenterPlugin/PresenterPlugin.java @@ -24,13 +24,14 @@ import android.app.Activity; import android.content.Intent; import android.graphics.drawable.Drawable; -import android.support.v4.content.ContextCompat; import android.view.KeyEvent; import org.kde.kdeconnect.NetworkPacket; import org.kde.kdeconnect.Plugins.Plugin; import org.kde.kdeconnect_tp.R; +import androidx.core.content.ContextCompat; + import static org.kde.kdeconnect.Plugins.MousePadPlugin.KeyListenerView.SpecialKeysMap; public class PresenterPlugin extends Plugin { diff --git a/src/org/kde/kdeconnect/Plugins/ReceiveNotificationsPlugin/ReceiveNotificationsPlugin.java b/src/org/kde/kdeconnect/Plugins/ReceiveNotificationsPlugin/ReceiveNotificationsPlugin.java --- a/src/org/kde/kdeconnect/Plugins/ReceiveNotificationsPlugin/ReceiveNotificationsPlugin.java +++ b/src/org/kde/kdeconnect/Plugins/ReceiveNotificationsPlugin/ReceiveNotificationsPlugin.java @@ -27,7 +27,6 @@ import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; -import android.support.v4.app.NotificationCompat; import android.util.Log; import org.kde.kdeconnect.Helpers.NotificationHelper; @@ -38,6 +37,8 @@ import java.io.InputStream; +import androidx.core.app.NotificationCompat; + public class ReceiveNotificationsPlugin extends Plugin { private final static String PACKET_TYPE_NOTIFICATION = "kdeconnect.notification"; diff --git a/src/org/kde/kdeconnect/Plugins/RemoteKeyboardPlugin/RemoteKeyboardPlugin.java b/src/org/kde/kdeconnect/Plugins/RemoteKeyboardPlugin/RemoteKeyboardPlugin.java --- a/src/org/kde/kdeconnect/Plugins/RemoteKeyboardPlugin/RemoteKeyboardPlugin.java +++ b/src/org/kde/kdeconnect/Plugins/RemoteKeyboardPlugin/RemoteKeyboardPlugin.java @@ -23,8 +23,6 @@ import android.graphics.drawable.Drawable; import android.os.SystemClock; import android.preference.PreferenceManager; -import android.support.v4.content.ContextCompat; -import android.support.v4.util.Pair; import android.util.Log; import android.util.SparseIntArray; import android.view.KeyEvent; @@ -40,6 +38,9 @@ import java.util.ArrayList; import java.util.concurrent.locks.ReentrantLock; +import androidx.core.content.ContextCompat; +import androidx.core.util.Pair; + public class RemoteKeyboardPlugin extends Plugin { private final static String PACKET_TYPE_MOUSEPAD_REQUEST = "kdeconnect.mousepad.request"; diff --git a/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/RunCommandActivity.java b/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/RunCommandActivity.java --- a/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/RunCommandActivity.java +++ b/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/RunCommandActivity.java @@ -25,10 +25,6 @@ import android.content.Context; import android.os.Build; import android.os.Bundle; -import android.support.annotation.RequiresApi; -import android.support.design.widget.FloatingActionButton; -import android.support.v7.app.AlertDialog; -import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.ContextMenu; import android.view.MenuInflater; @@ -39,6 +35,8 @@ import android.widget.TextView; import android.widget.Toast; +import com.google.android.material.floatingactionbutton.FloatingActionButton; + import org.json.JSONException; import org.json.JSONObject; import org.kde.kdeconnect.BackgroundService; @@ -50,6 +48,10 @@ import java.util.ArrayList; import java.util.Collections; +import androidx.annotation.RequiresApi; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.app.AppCompatActivity; + public class RunCommandActivity extends AppCompatActivity { private String deviceId; diff --git a/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/RunCommandPlugin.java b/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/RunCommandPlugin.java --- a/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/RunCommandPlugin.java +++ b/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/RunCommandPlugin.java @@ -24,7 +24,6 @@ import android.app.Activity; import android.content.Intent; import android.graphics.drawable.Drawable; -import android.support.v4.content.ContextCompat; import org.json.JSONException; import org.json.JSONObject; @@ -36,6 +35,8 @@ import java.util.Collections; import java.util.Iterator; +import androidx.core.content.ContextCompat; + public class RunCommandPlugin extends Plugin { private final static String PACKET_TYPE_RUNCOMMAND = "kdeconnect.runcommand"; diff --git a/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/RunCommandUrlActivity.java b/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/RunCommandUrlActivity.java --- a/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/RunCommandUrlActivity.java +++ b/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/RunCommandUrlActivity.java @@ -3,16 +3,17 @@ import android.net.Uri; import android.os.Bundle; import android.os.Vibrator; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.Gravity; import android.widget.TextView; import org.kde.kdeconnect.BackgroundService; import org.kde.kdeconnect.Device; import org.kde.kdeconnect_tp.R; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; + public class RunCommandUrlActivity extends AppCompatActivity { @Override diff --git a/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/RunCommandWidgetDeviceSelector.java b/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/RunCommandWidgetDeviceSelector.java --- a/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/RunCommandWidgetDeviceSelector.java +++ b/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/RunCommandWidgetDeviceSelector.java @@ -2,7 +2,6 @@ import android.content.Intent; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; import android.view.Window; import android.widget.ListView; @@ -14,6 +13,8 @@ import java.util.ArrayList; import java.util.Collections; +import androidx.appcompat.app.AppCompatActivity; + public class RunCommandWidgetDeviceSelector extends AppCompatActivity { @Override protected void onCreate(Bundle bundle) { diff --git a/src/org/kde/kdeconnect/Plugins/SMSPlugin/SMSPlugin.java b/src/org/kde/kdeconnect/Plugins/SMSPlugin/SMSPlugin.java --- a/src/org/kde/kdeconnect/Plugins/SMSPlugin/SMSPlugin.java +++ b/src/org/kde/kdeconnect/Plugins/SMSPlugin/SMSPlugin.java @@ -32,7 +32,6 @@ import android.os.Handler; import android.os.Looper; import android.preference.PreferenceManager; -import android.support.v4.content.ContextCompat; import android.telephony.PhoneNumberUtils; import android.telephony.SmsManager; import android.telephony.SmsMessage; @@ -56,6 +55,8 @@ import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; +import androidx.core.content.ContextCompat; + import static org.kde.kdeconnect.Plugins.TelephonyPlugin.TelephonyPlugin.PACKET_TYPE_TELEPHONY; public class SMSPlugin extends Plugin { diff --git a/src/org/kde/kdeconnect/Plugins/SharePlugin/NotificationUpdateCallback.java b/src/org/kde/kdeconnect/Plugins/SharePlugin/NotificationUpdateCallback.java --- a/src/org/kde/kdeconnect/Plugins/SharePlugin/NotificationUpdateCallback.java +++ b/src/org/kde/kdeconnect/Plugins/SharePlugin/NotificationUpdateCallback.java @@ -3,15 +3,16 @@ import android.app.NotificationManager; import android.content.Context; import android.content.res.Resources; -import android.support.v4.app.NotificationCompat; import org.kde.kdeconnect.Device; import org.kde.kdeconnect.Helpers.NotificationHelper; import org.kde.kdeconnect.NetworkPacket; import org.kde.kdeconnect_tp.R; import java.util.ArrayList; +import androidx.core.app.NotificationCompat; + class NotificationUpdateCallback extends Device.SendPacketStatusCallback { private final Resources res; diff --git a/src/org/kde/kdeconnect/Plugins/SharePlugin/SendFileActivity.java b/src/org/kde/kdeconnect/Plugins/SharePlugin/SendFileActivity.java --- a/src/org/kde/kdeconnect/Plugins/SharePlugin/SendFileActivity.java +++ b/src/org/kde/kdeconnect/Plugins/SharePlugin/SendFileActivity.java @@ -26,7 +26,6 @@ import android.net.Uri; import android.os.Build; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.widget.Toast; @@ -36,6 +35,8 @@ import java.util.ArrayList; +import androidx.appcompat.app.AppCompatActivity; + public class SendFileActivity extends AppCompatActivity { diff --git a/src/org/kde/kdeconnect/Plugins/SharePlugin/ShareActivity.java b/src/org/kde/kdeconnect/Plugins/SharePlugin/ShareActivity.java --- a/src/org/kde/kdeconnect/Plugins/SharePlugin/ShareActivity.java +++ b/src/org/kde/kdeconnect/Plugins/SharePlugin/ShareActivity.java @@ -22,9 +22,6 @@ import android.content.Intent; import android.os.Bundle; -import android.support.v4.widget.SwipeRefreshLayout; -import android.support.v7.app.ActionBar; -import android.support.v7.app.AppCompatActivity; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; @@ -41,6 +38,10 @@ import java.util.ArrayList; import java.util.Collection; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AppCompatActivity; +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; + public class ShareActivity extends AppCompatActivity { diff --git a/src/org/kde/kdeconnect/Plugins/SharePlugin/ShareInfo.java b/src/org/kde/kdeconnect/Plugins/SharePlugin/ShareInfo.java --- a/src/org/kde/kdeconnect/Plugins/SharePlugin/ShareInfo.java +++ b/src/org/kde/kdeconnect/Plugins/SharePlugin/ShareInfo.java @@ -20,12 +20,12 @@ package org.kde.kdeconnect.Plugins.SharePlugin; -import android.support.v4.provider.DocumentFile; - import org.kde.kdeconnect.NetworkPacket; import java.io.OutputStream; +import androidx.documentfile.provider.DocumentFile; + class ShareInfo { String fileName; long fileSize; diff --git a/src/org/kde/kdeconnect/Plugins/SharePlugin/ShareNotification.java b/src/org/kde/kdeconnect/Plugins/SharePlugin/ShareNotification.java --- a/src/org/kde/kdeconnect/Plugins/SharePlugin/ShareNotification.java +++ b/src/org/kde/kdeconnect/Plugins/SharePlugin/ShareNotification.java @@ -31,8 +31,6 @@ import android.net.Uri; import android.os.Build; import android.preference.PreferenceManager; -import android.support.v4.app.NotificationCompat; -import android.support.v4.content.FileProvider; import org.kde.kdeconnect.Device; import org.kde.kdeconnect.Helpers.NotificationHelper; @@ -42,6 +40,9 @@ import java.io.IOException; import java.io.InputStream; +import androidx.core.app.NotificationCompat; +import androidx.core.content.FileProvider; + //TODO: Starting API 24 notification title and text are both displayed on 1 line above the progress bar. Because title can be long, the text is often not displayed class ShareNotification { private final NotificationManager notificationManager; diff --git a/src/org/kde/kdeconnect/Plugins/SharePlugin/SharePlugin.java b/src/org/kde/kdeconnect/Plugins/SharePlugin/SharePlugin.java --- a/src/org/kde/kdeconnect/Plugins/SharePlugin/SharePlugin.java +++ b/src/org/kde/kdeconnect/Plugins/SharePlugin/SharePlugin.java @@ -39,11 +39,6 @@ import android.os.Handler; import android.os.Looper; import android.provider.MediaStore; -import android.support.annotation.WorkerThread; -import android.support.v4.app.NotificationCompat; -import android.support.v4.content.ContextCompat; -import android.support.v4.content.FileProvider; -import android.support.v4.provider.DocumentFile; import android.util.Log; import android.widget.Toast; @@ -64,6 +59,12 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import androidx.annotation.WorkerThread; +import androidx.core.app.NotificationCompat; +import androidx.core.content.ContextCompat; +import androidx.core.content.FileProvider; +import androidx.documentfile.provider.DocumentFile; + public class SharePlugin extends Plugin implements ReceiveFileRunnable.CallBack { private final static String PACKET_TYPE_SHARE_REQUEST = "kdeconnect.share.request"; diff --git a/src/org/kde/kdeconnect/Plugins/SharePlugin/ShareSettingsActivity.java b/src/org/kde/kdeconnect/Plugins/SharePlugin/ShareSettingsActivity.java --- a/src/org/kde/kdeconnect/Plugins/SharePlugin/ShareSettingsActivity.java +++ b/src/org/kde/kdeconnect/Plugins/SharePlugin/ShareSettingsActivity.java @@ -12,13 +12,14 @@ import android.preference.CheckBoxPreference; import android.preference.Preference; import android.preference.PreferenceManager; -import android.support.v4.provider.DocumentFile; import android.util.Log; import org.kde.kdeconnect.UserInterface.PluginSettingsActivity; import java.io.File; +import androidx.documentfile.provider.DocumentFile; + public class ShareSettingsActivity extends PluginSettingsActivity { private final static String PREFERENCE_CUSTOMIZE_DESTINATION = "share_destination_custom"; diff --git a/src/org/kde/kdeconnect/Plugins/SystemvolumePlugin/SystemvolumeFragment.java b/src/org/kde/kdeconnect/Plugins/SystemvolumePlugin/SystemvolumeFragment.java --- a/src/org/kde/kdeconnect/Plugins/SystemvolumePlugin/SystemvolumeFragment.java +++ b/src/org/kde/kdeconnect/Plugins/SystemvolumePlugin/SystemvolumeFragment.java @@ -23,9 +23,6 @@ import android.app.Activity; import android.content.Context; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.app.ListFragment; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; @@ -36,6 +33,10 @@ import org.kde.kdeconnect.BackgroundService; import org.kde.kdeconnect_tp.R; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.ListFragment; + public class SystemvolumeFragment extends ListFragment implements Sink.UpdateListener, SystemvolumePlugin.SinkListener { private SystemvolumePlugin plugin; diff --git a/src/org/kde/kdeconnect/Plugins/TelephonyPlugin/TelephonyPlugin.java b/src/org/kde/kdeconnect/Plugins/TelephonyPlugin/TelephonyPlugin.java --- a/src/org/kde/kdeconnect/Plugins/TelephonyPlugin/TelephonyPlugin.java +++ b/src/org/kde/kdeconnect/Plugins/TelephonyPlugin/TelephonyPlugin.java @@ -30,7 +30,6 @@ import android.media.AudioManager; import android.os.Build; import android.preference.PreferenceManager; -import android.support.v4.content.ContextCompat; import android.telephony.PhoneNumberUtils; import android.telephony.TelephonyManager; import android.util.Log; @@ -44,6 +43,8 @@ import java.util.Timer; import java.util.TimerTask; +import androidx.core.content.ContextCompat; + public class TelephonyPlugin extends Plugin { diff --git a/src/org/kde/kdeconnect/UserInterface/AppCompatPreferenceActivity.java b/src/org/kde/kdeconnect/UserInterface/AppCompatPreferenceActivity.java --- a/src/org/kde/kdeconnect/UserInterface/AppCompatPreferenceActivity.java +++ b/src/org/kde/kdeconnect/UserInterface/AppCompatPreferenceActivity.java @@ -18,18 +18,19 @@ import android.content.res.Configuration; import android.os.Bundle; import android.preference.PreferenceActivity; -import android.support.annotation.LayoutRes; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v7.app.ActionBar; -import android.support.v7.app.AppCompatDelegate; -import android.support.v7.widget.Toolbar; import android.view.MenuInflater; import android.view.View; import android.view.ViewGroup; import org.kde.kdeconnect.BackgroundService; +import androidx.annotation.LayoutRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AppCompatDelegate; +import androidx.appcompat.widget.Toolbar; + /** * A {@link android.preference.PreferenceActivity} which implements and proxies the necessary calls * to be used with AppCompat. diff --git a/src/org/kde/kdeconnect/UserInterface/CustomDevicesActivity.java b/src/org/kde/kdeconnect/UserInterface/CustomDevicesActivity.java --- a/src/org/kde/kdeconnect/UserInterface/CustomDevicesActivity.java +++ b/src/org/kde/kdeconnect/UserInterface/CustomDevicesActivity.java @@ -26,7 +26,6 @@ import android.os.Build; import android.os.Bundle; import android.preference.PreferenceManager; -import android.support.v7.app.AppCompatActivity; import android.text.TextUtils; import android.view.View; import android.view.inputmethod.EditorInfo; @@ -42,6 +41,8 @@ import java.util.ArrayList; import java.util.Collections; +import androidx.appcompat.app.AppCompatActivity; + public class CustomDevicesActivity extends AppCompatActivity { public static final String KEY_CUSTOM_DEVLIST_PREFERENCE = "device_list_preference"; diff --git a/src/org/kde/kdeconnect/UserInterface/DeviceFragment.java b/src/org/kde/kdeconnect/UserInterface/DeviceFragment.java --- a/src/org/kde/kdeconnect/UserInterface/DeviceFragment.java +++ b/src/org/kde/kdeconnect/UserInterface/DeviceFragment.java @@ -25,7 +25,6 @@ import android.content.Context; import android.content.Intent; import android.os.Bundle; -import android.support.v4.app.Fragment; import android.util.Log; import android.view.KeyEvent; import android.view.LayoutInflater; @@ -54,6 +53,8 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; +import androidx.fragment.app.Fragment; + /** * Main view. Displays the current device and its plugins diff --git a/src/org/kde/kdeconnect/UserInterface/List/SmallEntryItem.java b/src/org/kde/kdeconnect/UserInterface/List/SmallEntryItem.java --- a/src/org/kde/kdeconnect/UserInterface/List/SmallEntryItem.java +++ b/src/org/kde/kdeconnect/UserInterface/List/SmallEntryItem.java @@ -20,13 +20,14 @@ package org.kde.kdeconnect.UserInterface.List; -import android.support.v4.content.ContextCompat; import android.view.LayoutInflater; import android.view.View; import android.widget.TextView; import org.kde.kdeconnect_tp.R; +import androidx.core.content.ContextCompat; + public class SmallEntryItem implements ListAdapter.Item { private final String title; diff --git a/src/org/kde/kdeconnect/UserInterface/MainActivity.java b/src/org/kde/kdeconnect/UserInterface/MainActivity.java --- a/src/org/kde/kdeconnect/UserInterface/MainActivity.java +++ b/src/org/kde/kdeconnect/UserInterface/MainActivity.java @@ -7,14 +7,6 @@ import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.os.Bundle; -import android.support.design.widget.NavigationView; -import android.support.v4.app.Fragment; -import android.support.v4.view.GravityCompat; -import android.support.v4.widget.DrawerLayout; -import android.support.v7.app.ActionBar; -import android.support.v7.app.ActionBarDrawerToggle; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.Toolbar; import android.text.TextUtils; import android.util.Log; import android.view.Menu; @@ -24,6 +16,8 @@ import android.widget.EditText; import android.widget.TextView; +import com.google.android.material.navigation.NavigationView; + import org.kde.kdeconnect.BackgroundService; import org.kde.kdeconnect.Device; import org.kde.kdeconnect.Helpers.DeviceHelper; @@ -34,6 +28,13 @@ import java.util.HashSet; import java.util.Set; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.ActionBarDrawerToggle; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; +import androidx.core.view.GravityCompat; +import androidx.drawerlayout.widget.DrawerLayout; +import androidx.fragment.app.Fragment; import butterknife.BindView; import butterknife.ButterKnife; diff --git a/src/org/kde/kdeconnect/UserInterface/PairingFragment.java b/src/org/kde/kdeconnect/UserInterface/PairingFragment.java --- a/src/org/kde/kdeconnect/UserInterface/PairingFragment.java +++ b/src/org/kde/kdeconnect/UserInterface/PairingFragment.java @@ -25,8 +25,6 @@ import android.content.Intent; import android.content.res.Resources; import android.os.Bundle; -import android.support.v4.widget.SwipeRefreshLayout; -import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; @@ -47,6 +45,9 @@ import java.util.ArrayList; import java.util.Collection; +import androidx.fragment.app.Fragment; +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; + /** * The view that the user will see when there are no devices paired, or when you choose "add a new device" from the sidebar. diff --git a/src/org/kde/kdeconnect/UserInterface/SettingsFragment.java b/src/org/kde/kdeconnect/UserInterface/SettingsFragment.java --- a/src/org/kde/kdeconnect/UserInterface/SettingsFragment.java +++ b/src/org/kde/kdeconnect/UserInterface/SettingsFragment.java @@ -5,17 +5,18 @@ import android.os.Build; import android.os.Bundle; import android.preference.PreferenceManager; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceFragmentCompat; -import android.support.v7.preference.PreferenceScreen; -import android.support.v7.preference.SwitchPreferenceCompat; -import android.support.v7.preference.TwoStatePreference; import org.kde.kdeconnect.BackgroundService; import org.kde.kdeconnect.Helpers.DeviceHelper; import org.kde.kdeconnect.Helpers.NotificationHelper; import org.kde.kdeconnect_tp.R; +import androidx.preference.Preference; +import androidx.preference.PreferenceFragmentCompat; +import androidx.preference.PreferenceScreen; +import androidx.preference.SwitchPreferenceCompat; +import androidx.preference.TwoStatePreference; + public class SettingsFragment extends PreferenceFragmentCompat implements MainActivity.NameChangeCallback { private MainActivity mainActivity;