From bc6f60c15358fe9550ed8c5c5e5d68f018fe19eb Mon Sep 17 00:00:00 2001 From: Alexandre Roux Date: Wed, 21 Sep 2022 16:16:55 +0000 Subject: [PATCH 01/12] update is incompatible when android version is inferior --- src/org/lineageos/updater/misc/Utils.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/org/lineageos/updater/misc/Utils.java b/src/org/lineageos/updater/misc/Utils.java index 050fcd7b..06c07027 100644 --- a/src/org/lineageos/updater/misc/Utils.java +++ b/src/org/lineageos/updater/misc/Utils.java @@ -18,6 +18,7 @@ package org.lineageos.updater.misc; import android.app.AlarmManager; +import android.os.Build; import android.content.ClipData; import android.content.ClipboardManager; import android.content.Context; @@ -106,7 +107,27 @@ public class Utils { return update; } + public static int displayVersionToAndroidVersion(String displayVersion){ + if (displayVersion.contains("-r-")) { + return 11; + } + if (displayVersion.contains("-q-")) { + return 10; + } + if (displayVersion.contains("-pie-")) { + return 9; + } + if (displayVersion.contains("-oreo-")) { + return 8; + } + } + public static boolean isCompatible(UpdateBaseInfo update) { + int update_android_version = displayVersionToAndroidVersion(update.getDisplayVersion()); + String release = Build.VERSION.RELEASE; + float current_android_version = Float.parseFloat(Build.VERSION.RELEASE); + if (current_android_version > update_android_version) + return false; int[] updateVersionParts = parseSemVer(update.getVersion()); int updateMajorVersion = updateVersionParts[0]; int updateMinorVersion = updateVersionParts[1]; -- GitLab From 1f64c76d2f516082b9e8c41d6789076e3edae3e5 Mon Sep 17 00:00:00 2001 From: Alexandre Roux Date: Wed, 21 Sep 2022 17:58:46 +0000 Subject: [PATCH 02/12] missing return statement --- src/org/lineageos/updater/misc/Utils.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/org/lineageos/updater/misc/Utils.java b/src/org/lineageos/updater/misc/Utils.java index 06c07027..e462ceb9 100644 --- a/src/org/lineageos/updater/misc/Utils.java +++ b/src/org/lineageos/updater/misc/Utils.java @@ -120,6 +120,7 @@ public class Utils { if (displayVersion.contains("-oreo-")) { return 8; } + return -1; } public static boolean isCompatible(UpdateBaseInfo update) { -- GitLab From 67d998b03050fd042ca2b38b70d69300aaa79e7f Mon Sep 17 00:00:00 2001 From: Alexandre Roux Date: Wed, 21 Sep 2022 19:10:19 +0000 Subject: [PATCH 03/12] adding logs --- src/org/lineageos/updater/misc/Utils.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/org/lineageos/updater/misc/Utils.java b/src/org/lineageos/updater/misc/Utils.java index e462ceb9..4756f817 100644 --- a/src/org/lineageos/updater/misc/Utils.java +++ b/src/org/lineageos/updater/misc/Utils.java @@ -127,8 +127,10 @@ public class Utils { int update_android_version = displayVersionToAndroidVersion(update.getDisplayVersion()); String release = Build.VERSION.RELEASE; float current_android_version = Float.parseFloat(Build.VERSION.RELEASE); - if (current_android_version > update_android_version) + if (current_android_version > update_android_version) { + Log.d(TAG, "Update : removing "+update.getDisplayVersion()); return false; + } int[] updateVersionParts = parseSemVer(update.getVersion()); int updateMajorVersion = updateVersionParts[0]; int updateMinorVersion = updateVersionParts[1]; -- GitLab From 6445091cec65f0914f4c1254c1815d1b34438bab Mon Sep 17 00:00:00 2001 From: Alexandre Roux Date: Thu, 22 Sep 2022 09:12:09 +0000 Subject: [PATCH 04/12] better log --- src/org/lineageos/updater/misc/Utils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/org/lineageos/updater/misc/Utils.java b/src/org/lineageos/updater/misc/Utils.java index 4756f817..59a1c9e5 100644 --- a/src/org/lineageos/updater/misc/Utils.java +++ b/src/org/lineageos/updater/misc/Utils.java @@ -128,7 +128,7 @@ public class Utils { String release = Build.VERSION.RELEASE; float current_android_version = Float.parseFloat(Build.VERSION.RELEASE); if (current_android_version > update_android_version) { - Log.d(TAG, "Update : removing "+update.getDisplayVersion()); + Log.d(TAG, "Update : removing "+update.getDisplayVersion()+" current "+current_android_version+" update "+update_android_version); return false; } int[] updateVersionParts = parseSemVer(update.getVersion()); -- GitLab From 8b24508b85ed92a84af94e2d78b7f180a3680a88 Mon Sep 17 00:00:00 2001 From: Alexandre Roux Date: Thu, 22 Sep 2022 11:40:45 +0000 Subject: [PATCH 05/12] using getName instead of displayversion --- src/org/lineageos/updater/misc/Utils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/org/lineageos/updater/misc/Utils.java b/src/org/lineageos/updater/misc/Utils.java index 59a1c9e5..da98cd8b 100644 --- a/src/org/lineageos/updater/misc/Utils.java +++ b/src/org/lineageos/updater/misc/Utils.java @@ -124,7 +124,7 @@ public class Utils { } public static boolean isCompatible(UpdateBaseInfo update) { - int update_android_version = displayVersionToAndroidVersion(update.getDisplayVersion()); + int update_android_version = displayVersionToAndroidVersion(update.getName()); String release = Build.VERSION.RELEASE; float current_android_version = Float.parseFloat(Build.VERSION.RELEASE); if (current_android_version > update_android_version) { -- GitLab From 07de597fa5001fb8a069d511f63f86b323c6945c Mon Sep 17 00:00:00 2001 From: Alexandre Roux Date: Thu, 22 Sep 2022 15:27:18 +0000 Subject: [PATCH 06/12] adding S and fixing pie --- src/org/lineageos/updater/misc/Utils.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/org/lineageos/updater/misc/Utils.java b/src/org/lineageos/updater/misc/Utils.java index da98cd8b..16729f61 100644 --- a/src/org/lineageos/updater/misc/Utils.java +++ b/src/org/lineageos/updater/misc/Utils.java @@ -108,16 +108,19 @@ public class Utils { } public static int displayVersionToAndroidVersion(String displayVersion){ + if (displayVersion.contains("-s-")) { + return 12; + } if (displayVersion.contains("-r-")) { return 11; } if (displayVersion.contains("-q-")) { return 10; } - if (displayVersion.contains("-pie-")) { + if (displayVersion.contains("-p-")) { return 9; } - if (displayVersion.contains("-oreo-")) { + if (displayVersion.contains("-o-")) { return 8; } return -1; -- GitLab From 2f99a22830cbc449ae8b0f45ff0ae2b45d50f2a1 Mon Sep 17 00:00:00 2001 From: Alexandre Roux Date: Fri, 23 Sep 2022 13:01:40 +0000 Subject: [PATCH 07/12] using android_version --- .../lineageos/updater/UpdatesDbHelper.java | 10 ++++-- src/org/lineageos/updater/misc/Utils.java | 31 +++++-------------- .../lineageos/updater/model/UpdateBase.java | 10 ++++++ .../updater/model/UpdateBaseInfo.java | 2 ++ 4 files changed, 27 insertions(+), 26 deletions(-) diff --git a/src/org/lineageos/updater/UpdatesDbHelper.java b/src/org/lineageos/updater/UpdatesDbHelper.java index 9dadd4b6..bf78b829 100644 --- a/src/org/lineageos/updater/UpdatesDbHelper.java +++ b/src/org/lineageos/updater/UpdatesDbHelper.java @@ -30,7 +30,7 @@ import java.util.List; public class UpdatesDbHelper extends SQLiteOpenHelper { - public static final int DATABASE_VERSION = 2; + public static final int DATABASE_VERSION = 3; public static final String DATABASE_NAME = "updates.db"; public static class UpdateEntry implements BaseColumns { @@ -43,6 +43,7 @@ public class UpdatesDbHelper extends SQLiteOpenHelper { public static final String COLUMN_NAME_VERSION = "version"; public static final String COLUMN_NAME_DISPLAY_VERSION = "display_version"; public static final String COLUMN_NAME_SIZE = "size"; + public static final String COLUMN_NAME_ANDROID_VERSION = "android_version"; } private static final String SQL_CREATE_ENTRIES = @@ -55,7 +56,8 @@ public class UpdatesDbHelper extends SQLiteOpenHelper { UpdateEntry.COLUMN_NAME_TYPE + " TEXT," + UpdateEntry.COLUMN_NAME_VERSION + " TEXT," + UpdateEntry.COLUMN_NAME_DISPLAY_VERSION + " TEXT," + - UpdateEntry.COLUMN_NAME_SIZE + " INTEGER)"; + UpdateEntry.COLUMN_NAME_SIZE + " INTEGER," + + UpdateEntry.COLUMN_NAME_ANDROID_VERSION + " TEXT)"; private static final String SQL_DELETE_ENTRIES = "DROP TABLE IF EXISTS " + UpdateEntry.TABLE_NAME; @@ -93,6 +95,7 @@ public class UpdatesDbHelper extends SQLiteOpenHelper { values.put(UpdateEntry.COLUMN_NAME_VERSION, update.getVersion()); values.put(UpdateEntry.COLUMN_NAME_DISPLAY_VERSION, update.getDisplayVersion()); values.put(UpdateEntry.COLUMN_NAME_SIZE, update.getFileSize()); + values.put(UpdateEntry.COLUMN_NAME_ANDROID_VERSION, update.getAndroidVersion()); } public void removeUpdate(String downloadId) { @@ -131,6 +134,7 @@ public class UpdatesDbHelper extends SQLiteOpenHelper { UpdateEntry.COLUMN_NAME_DISPLAY_VERSION, UpdateEntry.COLUMN_NAME_STATUS, UpdateEntry.COLUMN_NAME_SIZE, + UpdateEntry.COLUMN_NAME_ANDROID_VERSION, }; String sort = UpdateEntry.COLUMN_NAME_TIMESTAMP + " DESC"; Cursor cursor = db.query(UpdateEntry.TABLE_NAME, projection, selection, selectionArgs, @@ -156,6 +160,8 @@ public class UpdatesDbHelper extends SQLiteOpenHelper { update.setPersistentStatus(cursor.getInt(index)); index = cursor.getColumnIndex(UpdateEntry.COLUMN_NAME_SIZE); update.setFileSize(cursor.getLong(index)); + index = cursor.getColumnIndex(UpdateEntry.COLUMN_NAME_ANDROID_VERSION); + update.setAndroidVersion(cursor.getString(index)); updates.add(update); } cursor.close(); diff --git a/src/org/lineageos/updater/misc/Utils.java b/src/org/lineageos/updater/misc/Utils.java index 16729f61..b45f22ea 100644 --- a/src/org/lineageos/updater/misc/Utils.java +++ b/src/org/lineageos/updater/misc/Utils.java @@ -99,6 +99,7 @@ public class Utils { update.setFileSize(object.getLong("size")); update.setDownloadUrl(object.getString("url")); update.setVersion(object.getString("version")); + update.setAndroidVersion(object.getString("android_version")); if(object.has("pre_version") && !object.getString("pre_version").isEmpty()){ update.setDisplayVersion(object.getString("version") + "-" + object.getString("pre_version")); } else { @@ -107,31 +108,13 @@ public class Utils { return update; } - public static int displayVersionToAndroidVersion(String displayVersion){ - if (displayVersion.contains("-s-")) { - return 12; - } - if (displayVersion.contains("-r-")) { - return 11; - } - if (displayVersion.contains("-q-")) { - return 10; - } - if (displayVersion.contains("-p-")) { - return 9; - } - if (displayVersion.contains("-o-")) { - return 8; - } - return -1; - } - public static boolean isCompatible(UpdateBaseInfo update) { - int update_android_version = displayVersionToAndroidVersion(update.getName()); - String release = Build.VERSION.RELEASE; - float current_android_version = Float.parseFloat(Build.VERSION.RELEASE); - if (current_android_version > update_android_version) { - Log.d(TAG, "Update : removing "+update.getDisplayVersion()+" current "+current_android_version+" update "+update_android_version); + + int majorAndroidVersion = Integer.parseInt(update.getAndroidVersion().split('.')[0]); + int majorDeviceAndroidVersion = Integer.parseInt(Build.VERSION.RELEASE.split('.')[0]); + + if (majorDeviceAndroidVersion > majorAndroidVersion) { + Log.d(TAG, "Update : removing "+update.getName()+" current "+majorDeviceAndroidVersion+" update "+majorAndroidVersion); return false; } int[] updateVersionParts = parseSemVer(update.getVersion()); diff --git a/src/org/lineageos/updater/model/UpdateBase.java b/src/org/lineageos/updater/model/UpdateBase.java index cfa2027e..964e841c 100644 --- a/src/org/lineageos/updater/model/UpdateBase.java +++ b/src/org/lineageos/updater/model/UpdateBase.java @@ -24,6 +24,7 @@ public class UpdateBase implements UpdateBaseInfo { private String mType; private String mVersion; private String mDisplayVersion; + private String mAndroidVersion; private long mFileSize; public UpdateBase() { @@ -111,4 +112,13 @@ public class UpdateBase implements UpdateBaseInfo { public void setFileSize(long fileSize) { mFileSize = fileSize; } + + @Override + public String getAndroidVersion() { + return mAndroidVersion; + } + + public void setAndroidVersion(String androidVersion){ + mAndroidVersion = androidVersion; + } } diff --git a/src/org/lineageos/updater/model/UpdateBaseInfo.java b/src/org/lineageos/updater/model/UpdateBaseInfo.java index 2921e96f..aea17bd8 100644 --- a/src/org/lineageos/updater/model/UpdateBaseInfo.java +++ b/src/org/lineageos/updater/model/UpdateBaseInfo.java @@ -31,4 +31,6 @@ public interface UpdateBaseInfo { String getDownloadUrl(); long getFileSize(); + + String getAndroidVersion(); } -- GitLab From fbd43d818b93e889b8e8a99911609640bc8c4d5b Mon Sep 17 00:00:00 2001 From: Alexandre Roux Date: Wed, 28 Sep 2022 14:22:43 +0000 Subject: [PATCH 08/12] split must use a string --- src/org/lineageos/updater/misc/Utils.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/org/lineageos/updater/misc/Utils.java b/src/org/lineageos/updater/misc/Utils.java index b45f22ea..3ee33c14 100644 --- a/src/org/lineageos/updater/misc/Utils.java +++ b/src/org/lineageos/updater/misc/Utils.java @@ -110,8 +110,8 @@ public class Utils { public static boolean isCompatible(UpdateBaseInfo update) { - int majorAndroidVersion = Integer.parseInt(update.getAndroidVersion().split('.')[0]); - int majorDeviceAndroidVersion = Integer.parseInt(Build.VERSION.RELEASE.split('.')[0]); + int majorAndroidVersion = Integer.parseInt(update.getAndroidVersion().split(".")[0]); + int majorDeviceAndroidVersion = Integer.parseInt(Build.VERSION.RELEASE.split(".")[0]); if (majorDeviceAndroidVersion > majorAndroidVersion) { Log.d(TAG, "Update : removing "+update.getName()+" current "+majorDeviceAndroidVersion+" update "+majorAndroidVersion); -- GitLab From cda450400d6810da8410e0d7d48b39b1fdedd194 Mon Sep 17 00:00:00 2001 From: Phie Date: Fri, 30 Sep 2022 17:42:52 +0200 Subject: [PATCH 09/12] fixing parse --- src/org/lineageos/updater/misc/Utils.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/org/lineageos/updater/misc/Utils.java b/src/org/lineageos/updater/misc/Utils.java index 3ee33c14..672eda78 100644 --- a/src/org/lineageos/updater/misc/Utils.java +++ b/src/org/lineageos/updater/misc/Utils.java @@ -109,13 +109,13 @@ public class Utils { } public static boolean isCompatible(UpdateBaseInfo update) { - - int majorAndroidVersion = Integer.parseInt(update.getAndroidVersion().split(".")[0]); - int majorDeviceAndroidVersion = Integer.parseInt(Build.VERSION.RELEASE.split(".")[0]); - - if (majorDeviceAndroidVersion > majorAndroidVersion) { - Log.d(TAG, "Update : removing "+update.getName()+" current "+majorDeviceAndroidVersion+" update "+majorAndroidVersion); - return false; + if(!update.getAndroidVersion().isEmpty()){ + int majorAndroidVersion = Integer.parseInt(update.getAndroidVersion().contains(".")?update.getAndroidVersion().split(".")[0]:update.getAndroidVersion()); + int majorDeviceAndroidVersion = Integer.parseInt(Build.VERSION.RELEASE.contains(".")?Build.VERSION.RELEASE.split(".")[0]:Build.VERSION.RELEASE); + if (majorDeviceAndroidVersion > majorAndroidVersion) { + Log.d(TAG, "Update : removing "+update.getName()+" current "+majorDeviceAndroidVersion+" update "+majorAndroidVersion); + return false; + } } int[] updateVersionParts = parseSemVer(update.getVersion()); int updateMajorVersion = updateVersionParts[0]; -- GitLab From 13197c453c340e31274ea2f29492449c3c07b069 Mon Sep 17 00:00:00 2001 From: Vincent Bourgmayer Date: Mon, 3 Oct 2022 08:08:57 +0000 Subject: [PATCH 10/12] add final --- src/org/lineageos/updater/misc/Utils.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/org/lineageos/updater/misc/Utils.java b/src/org/lineageos/updater/misc/Utils.java index 672eda78..11123c22 100644 --- a/src/org/lineageos/updater/misc/Utils.java +++ b/src/org/lineageos/updater/misc/Utils.java @@ -109,9 +109,9 @@ public class Utils { } public static boolean isCompatible(UpdateBaseInfo update) { - if(!update.getAndroidVersion().isEmpty()){ - int majorAndroidVersion = Integer.parseInt(update.getAndroidVersion().contains(".")?update.getAndroidVersion().split(".")[0]:update.getAndroidVersion()); - int majorDeviceAndroidVersion = Integer.parseInt(Build.VERSION.RELEASE.contains(".")?Build.VERSION.RELEASE.split(".")[0]:Build.VERSION.RELEASE); + if (!update.getAndroidVersion().isEmpty()) { + final int majorAndroidVersion = Integer.parseInt(update.getAndroidVersion().contains(".")?update.getAndroidVersion().split(".")[0]:update.getAndroidVersion()); + final int majorDeviceAndroidVersion = Integer.parseInt(Build.VERSION.RELEASE.contains(".")?Build.VERSION.RELEASE.split(".")[0]:Build.VERSION.RELEASE); if (majorDeviceAndroidVersion > majorAndroidVersion) { Log.d(TAG, "Update : removing "+update.getName()+" current "+majorDeviceAndroidVersion+" update "+majorAndroidVersion); return false; -- GitLab From 9c1b2f170742126c26aded364c040cea47459173 Mon Sep 17 00:00:00 2001 From: Vincent Bourgmayer Date: Mon, 3 Oct 2022 08:09:07 +0000 Subject: [PATCH 11/12] Apply 1 suggestion(s) to 1 file(s) --- src/org/lineageos/updater/model/UpdateBase.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/org/lineageos/updater/model/UpdateBase.java b/src/org/lineageos/updater/model/UpdateBase.java index 964e841c..f1689bce 100644 --- a/src/org/lineageos/updater/model/UpdateBase.java +++ b/src/org/lineageos/updater/model/UpdateBase.java @@ -118,7 +118,7 @@ public class UpdateBase implements UpdateBaseInfo { return mAndroidVersion; } - public void setAndroidVersion(String androidVersion){ + public void setAndroidVersion(String androidVersion) { mAndroidVersion = androidVersion; } } -- GitLab From 15a1b9b98e7fd86dee6d909fa34c33b7407e268a Mon Sep 17 00:00:00 2001 From: Jonathan Klee Date: Wed, 5 Oct 2022 17:20:27 +0000 Subject: [PATCH 12/12] Apply 3 suggestion(s) to 1 file(s) --- src/org/lineageos/updater/misc/Utils.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/org/lineageos/updater/misc/Utils.java b/src/org/lineageos/updater/misc/Utils.java index 11123c22..55746aba 100644 --- a/src/org/lineageos/updater/misc/Utils.java +++ b/src/org/lineageos/updater/misc/Utils.java @@ -110,10 +110,10 @@ public class Utils { public static boolean isCompatible(UpdateBaseInfo update) { if (!update.getAndroidVersion().isEmpty()) { - final int majorAndroidVersion = Integer.parseInt(update.getAndroidVersion().contains(".")?update.getAndroidVersion().split(".")[0]:update.getAndroidVersion()); - final int majorDeviceAndroidVersion = Integer.parseInt(Build.VERSION.RELEASE.contains(".")?Build.VERSION.RELEASE.split(".")[0]:Build.VERSION.RELEASE); + final int majorAndroidVersion = Integer.parseInt(update.getAndroidVersion().contains(".") ? update.getAndroidVersion().split(".")[0] : update.getAndroidVersion()); + final int majorDeviceAndroidVersion = Integer.parseInt(Build.VERSION.RELEASE.contains(".") ? Build.VERSION.RELEASE.split(".")[0] : Build.VERSION.RELEASE); if (majorDeviceAndroidVersion > majorAndroidVersion) { - Log.d(TAG, "Update : removing "+update.getName()+" current "+majorDeviceAndroidVersion+" update "+majorAndroidVersion); + Log.d(TAG, "Update : removing " + update.getName() + " current " + majorDeviceAndroidVersion+" update " + majorAndroidVersion); return false; } } -- GitLab