diff --git a/Android.mk b/Android.mk
index df2b1f5..b74fe64 100644
--- a/Android.mk
+++ b/Android.mk
@@ -9,13 +9,12 @@ LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_USE_AAPT2 := true
LOCAL_STATIC_ANDROID_LIBRARIES := \
- android-support-design \
- android-support-transition \
- android-support-v4 \
- android-support-v7-appcompat \
- android-support-v7-cardview \
- android-support-v7-preference \
- android-support-v7-recyclerview
+ com.google.android.material_material \
+ androidx.core_core \
+ androidx.appcompat_appcompat \
+ androidx.cardview_cardview \
+ androidx.preference_preference \
+ androidx.recyclerview_recyclerview \
LOCAL_RESOURCE_DIR := \
$(LOCAL_PATH)/res
@@ -37,13 +36,10 @@ updater_system_libs_path := $(abspath $(LOCAL_PATH))/system_libs
include $(BUILD_SYSTEM)/base_rules.mk
-.PHONY: copy_updater_system_deps
-copy_updater_system_deps: $(updater_system_deps)
+$(LOCAL_BUILT_MODULE): $(updater_system_deps)
$(hide) mkdir -p $(updater_system_libs_path)
$(hide) rm -rf $(updater_system_libs_path)/*.jar
$(hide) cp $(updater_system_deps) $(updater_system_libs_path)/framework.jar
-
-$(LOCAL_BUILT_MODULE): copy_updater_system_deps
$(hide) echo "Fake: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
diff --git a/build.gradle b/build.gradle
index 816c6ea..214181d 100644
--- a/build.gradle
+++ b/build.gradle
@@ -10,7 +10,7 @@ buildscript {
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
@@ -21,12 +21,11 @@ keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
apply plugin: 'com.android.application'
android {
- compileSdkVersion 27
- buildToolsVersion '27.0.3'
+ compileSdkVersion 29
defaultConfig {
minSdkVersion 27
- targetSdkVersion 27
+ targetSdkVersion 29
}
lintOptions {
@@ -61,10 +60,9 @@ android {
dependencies {
compileOnly fileTree(dir: 'system_libs/', include: ['*.jar'])
- def supportLibVersion = "27.1.0"
- implementation "com.android.support:appcompat-v7:${supportLibVersion}"
- implementation "com.android.support:cardview-v7:${supportLibVersion}"
- implementation "com.android.support:design:${supportLibVersion}"
- implementation "com.android.support:preference-v7:${supportLibVersion}"
- implementation "com.android.support:recyclerview-v7:${supportLibVersion}"
+ implementation 'com.google.android.material:material:1.0.0'
+ implementation 'androidx.appcompat:appcompat:1.1.0'
+ implementation 'androidx.cardview:cardview:1.0.0'
+ implementation 'androidx.preference:preference:1.1.0'
+ implementation 'androidx.recyclerview:recyclerview:1.0.0'
}
diff --git a/gradle.properties b/gradle.properties
new file mode 100644
index 0000000..5465fec
--- /dev/null
+++ b/gradle.properties
@@ -0,0 +1,2 @@
+android.enableJetifier=true
+android.useAndroidX=true
\ No newline at end of file
diff --git a/proguard.flags b/proguard.flags
index 16b97a2..0ad3e50 100644
--- a/proguard.flags
+++ b/proguard.flags
@@ -1,4 +1 @@
--keep class android.support.design.widget.** { *; }
--keep interface android.support.design.widget.** { *; }
-
-keep class org.lineageos.updater.ui.FlingBehavior { *; }
diff --git a/res/layout/activity_updates.xml b/res/layout/activity_updates.xml
index 2671d53..3bd0cb4 100644
--- a/res/layout/activity_updates.xml
+++ b/res/layout/activity_updates.xml
@@ -1,5 +1,5 @@
-
-
-
-
-
-
+
+
-
-
+
-
-
+
diff --git a/res/layout/update_item_view.xml b/res/layout/update_item_view.xml
index ddcf326..ade5d6d 100644
--- a/res/layout/update_item_view.xml
+++ b/res/layout/update_item_view.xml
@@ -1,5 +1,5 @@
-
-
+
diff --git a/src/org/lineageos/updater/ExportUpdateService.java b/src/org/lineageos/updater/ExportUpdateService.java
index fad6377..2406d2f 100644
--- a/src/org/lineageos/updater/ExportUpdateService.java
+++ b/src/org/lineageos/updater/ExportUpdateService.java
@@ -22,10 +22,11 @@ import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.os.SystemClock;
-import android.support.v4.app.NotificationCompat;
import android.util.Log;
import android.widget.Toast;
+import androidx.core.app.NotificationCompat;
+
import org.lineageos.updater.misc.FileUtils;
import java.io.File;
diff --git a/src/org/lineageos/updater/UpdaterReceiver.java b/src/org/lineageos/updater/UpdaterReceiver.java
index 42b60c6..51b87d0 100644
--- a/src/org/lineageos/updater/UpdaterReceiver.java
+++ b/src/org/lineageos/updater/UpdaterReceiver.java
@@ -24,8 +24,9 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.os.PowerManager;
import android.os.SystemProperties;
-import android.support.v4.app.NotificationCompat;
-import android.support.v7.preference.PreferenceManager;
+
+import androidx.core.app.NotificationCompat;
+import androidx.preference.PreferenceManager;
import org.lineageos.updater.misc.BuildInfoUtils;
import org.lineageos.updater.misc.Constants;
diff --git a/src/org/lineageos/updater/UpdatesActivity.java b/src/org/lineageos/updater/UpdatesActivity.java
index efea969..209d556 100644
--- a/src/org/lineageos/updater/UpdatesActivity.java
+++ b/src/org/lineageos/updater/UpdatesActivity.java
@@ -27,16 +27,6 @@ import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.IBinder;
-import android.support.design.widget.AppBarLayout;
-import android.support.design.widget.CollapsingToolbarLayout;
-import android.support.design.widget.Snackbar;
-import android.support.v4.content.LocalBroadcastManager;
-import android.support.v7.app.AlertDialog;
-import android.support.v7.preference.PreferenceManager;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
-import android.support.v7.widget.SimpleItemAnimator;
-import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
@@ -49,6 +39,18 @@ import android.widget.Spinner;
import android.widget.Switch;
import android.widget.TextView;
+import androidx.appcompat.app.AlertDialog;
+import androidx.appcompat.widget.Toolbar;
+import androidx.localbroadcastmanager.content.LocalBroadcastManager;
+import androidx.preference.PreferenceManager;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.recyclerview.widget.SimpleItemAnimator;
+
+import com.google.android.material.appbar.AppBarLayout;
+import com.google.android.material.appbar.CollapsingToolbarLayout;
+import com.google.android.material.snackbar.Snackbar;
+
import org.json.JSONException;
import org.lineageos.updater.controller.UpdaterController;
import org.lineageos.updater.controller.UpdaterService;
diff --git a/src/org/lineageos/updater/UpdatesCheckReceiver.java b/src/org/lineageos/updater/UpdatesCheckReceiver.java
index d0769cf..288cd1a 100644
--- a/src/org/lineageos/updater/UpdatesCheckReceiver.java
+++ b/src/org/lineageos/updater/UpdatesCheckReceiver.java
@@ -25,20 +25,18 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.os.SystemClock;
import android.preference.PreferenceManager;
-import android.support.v4.app.NotificationCompat;
import android.util.Log;
+import androidx.core.app.NotificationCompat;
+
import org.json.JSONException;
import org.lineageos.updater.download.DownloadClient;
import org.lineageos.updater.misc.Constants;
import org.lineageos.updater.misc.Utils;
-import org.lineageos.updater.model.UpdateInfo;
import java.io.File;
import java.io.IOException;
-import java.util.Calendar;
import java.util.Date;
-import java.util.List;
import java.util.UUID;
public class UpdatesCheckReceiver extends BroadcastReceiver {
diff --git a/src/org/lineageos/updater/UpdatesListActivity.java b/src/org/lineageos/updater/UpdatesListActivity.java
index 9b53ecc..fe0f4bd 100644
--- a/src/org/lineageos/updater/UpdatesListActivity.java
+++ b/src/org/lineageos/updater/UpdatesListActivity.java
@@ -15,7 +15,7 @@
*/
package org.lineageos.updater;
-import android.support.v7.app.AppCompatActivity;
+import androidx.appcompat.app.AppCompatActivity;
public abstract class UpdatesListActivity extends AppCompatActivity {
public abstract void showSnackbar(int stringId, int duration);
diff --git a/src/org/lineageos/updater/UpdatesListAdapter.java b/src/org/lineageos/updater/UpdatesListAdapter.java
index a1aa944..dbab8a6 100644
--- a/src/org/lineageos/updater/UpdatesListAdapter.java
+++ b/src/org/lineageos/updater/UpdatesListAdapter.java
@@ -23,13 +23,6 @@ import android.content.res.Resources;
import android.os.BatteryManager;
import android.os.PowerManager;
import android.preference.PreferenceManager;
-import android.support.design.widget.Snackbar;
-import android.support.v7.app.AlertDialog;
-import android.support.v7.view.ContextThemeWrapper;
-import android.support.v7.view.menu.MenuBuilder;
-import android.support.v7.view.menu.MenuPopupHelper;
-import android.support.v7.widget.PopupMenu;
-import android.support.v7.widget.RecyclerView;
import android.text.SpannableString;
import android.text.format.Formatter;
import android.text.method.LinkMovementMethod;
@@ -45,6 +38,15 @@ import android.widget.CheckBox;
import android.widget.ProgressBar;
import android.widget.TextView;
+import androidx.appcompat.app.AlertDialog;
+import androidx.appcompat.view.ContextThemeWrapper;
+import androidx.appcompat.view.menu.MenuBuilder;
+import androidx.appcompat.view.menu.MenuPopupHelper;
+import androidx.appcompat.widget.PopupMenu;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.google.android.material.snackbar.Snackbar;
+
import org.lineageos.updater.controller.UpdaterController;
import org.lineageos.updater.controller.UpdaterService;
import org.lineageos.updater.misc.BuildInfoUtils;
diff --git a/src/org/lineageos/updater/controller/ABUpdateInstaller.java b/src/org/lineageos/updater/controller/ABUpdateInstaller.java
index b0be201..6be515c 100644
--- a/src/org/lineageos/updater/controller/ABUpdateInstaller.java
+++ b/src/org/lineageos/updater/controller/ABUpdateInstaller.java
@@ -19,10 +19,11 @@ import android.content.Context;
import android.content.SharedPreferences;
import android.os.UpdateEngine;
import android.os.UpdateEngineCallback;
-import android.support.v7.preference.PreferenceManager;
import android.text.TextUtils;
import android.util.Log;
+import androidx.preference.PreferenceManager;
+
import org.lineageos.updater.misc.Constants;
import org.lineageos.updater.misc.Utils;
import org.lineageos.updater.model.Update;
diff --git a/src/org/lineageos/updater/controller/UpdateInstaller.java b/src/org/lineageos/updater/controller/UpdateInstaller.java
index a4eff38..1be4ec3 100644
--- a/src/org/lineageos/updater/controller/UpdateInstaller.java
+++ b/src/org/lineageos/updater/controller/UpdateInstaller.java
@@ -19,10 +19,10 @@ import android.content.Context;
import android.content.SharedPreferences;
import android.os.SystemClock;
import android.os.SystemProperties;
-import android.support.v7.preference.PreferenceManager;
import android.util.Log;
-import org.lineageos.updater.R;
+import androidx.preference.PreferenceManager;
+
import org.lineageos.updater.misc.Constants;
import org.lineageos.updater.misc.FileUtils;
import org.lineageos.updater.misc.Utils;
diff --git a/src/org/lineageos/updater/controller/UpdaterController.java b/src/org/lineageos/updater/controller/UpdaterController.java
index 8fd5760..62f8ca7 100644
--- a/src/org/lineageos/updater/controller/UpdaterController.java
+++ b/src/org/lineageos/updater/controller/UpdaterController.java
@@ -20,9 +20,10 @@ import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.PowerManager;
import android.os.SystemClock;
-import android.support.v4.content.LocalBroadcastManager;
import android.util.Log;
+import androidx.localbroadcastmanager.content.LocalBroadcastManager;
+
import org.lineageos.updater.UpdatesDbHelper;
import org.lineageos.updater.download.DownloadClient;
import org.lineageos.updater.misc.Utils;
diff --git a/src/org/lineageos/updater/controller/UpdaterService.java b/src/org/lineageos/updater/controller/UpdaterService.java
index 8b8289e..794b021 100644
--- a/src/org/lineageos/updater/controller/UpdaterService.java
+++ b/src/org/lineageos/updater/controller/UpdaterService.java
@@ -26,11 +26,12 @@ import android.content.IntentFilter;
import android.os.Binder;
import android.os.Bundle;
import android.os.IBinder;
-import android.support.v4.app.NotificationCompat;
-import android.support.v4.content.LocalBroadcastManager;
import android.text.format.Formatter;
import android.util.Log;
+import androidx.core.app.NotificationCompat;
+import androidx.localbroadcastmanager.content.LocalBroadcastManager;
+
import org.lineageos.updater.R;
import org.lineageos.updater.UpdaterReceiver;
import org.lineageos.updater.UpdatesActivity;
diff --git a/src/org/lineageos/updater/misc/Utils.java b/src/org/lineageos/updater/misc/Utils.java
index eed4d56..caf80c9 100644
--- a/src/org/lineageos/updater/misc/Utils.java
+++ b/src/org/lineageos/updater/misc/Utils.java
@@ -37,8 +37,8 @@ import org.json.JSONObject;
import org.lineageos.updater.R;
import org.lineageos.updater.UpdatesDbHelper;
import org.lineageos.updater.controller.UpdaterService;
-import org.lineageos.updater.model.UpdateBaseInfo;
import org.lineageos.updater.model.Update;
+import org.lineageos.updater.model.UpdateBaseInfo;
import org.lineageos.updater.model.UpdateInfo;
import java.io.BufferedReader;
diff --git a/src/org/lineageos/updater/ui/FlingBehavior.java b/src/org/lineageos/updater/ui/FlingBehavior.java
index d9deaed..fc9f341 100644
--- a/src/org/lineageos/updater/ui/FlingBehavior.java
+++ b/src/org/lineageos/updater/ui/FlingBehavior.java
@@ -1,12 +1,14 @@
package org.lineageos.updater.ui;
import android.content.Context;
-import android.support.design.widget.AppBarLayout;
-import android.support.design.widget.CoordinatorLayout;
-import android.support.v7.widget.RecyclerView;
import android.util.AttributeSet;
import android.view.View;
+import androidx.coordinatorlayout.widget.CoordinatorLayout;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.google.android.material.appbar.AppBarLayout;
+
public final class FlingBehavior extends AppBarLayout.Behavior {
private static final int TOP_CHILD_FLING_THRESHOLD = 3;
private boolean isPositive;