From 31d060d9d9f619b2de4cb4fbd0f67052fe532cc0 Mon Sep 17 00:00:00 2001 From: althafvly Date: Wed, 27 Sep 2023 10:29:32 +0530 Subject: [PATCH] Revert "Updater: process the json file to avoid multiple updates" This reverts commit fb7bf8212074400d4013f9827023e2693a1be328. --- src/org/lineageos/updater/misc/Utils.java | 68 ----------------------- 1 file changed, 68 deletions(-) diff --git a/src/org/lineageos/updater/misc/Utils.java b/src/org/lineageos/updater/misc/Utils.java index 53aa33ac..4ba50d58 100644 --- a/src/org/lineageos/updater/misc/Utils.java +++ b/src/org/lineageos/updater/misc/Utils.java @@ -55,15 +55,12 @@ import org.lineageos.updater.model.UpdateInfo; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; -import java.io.FileWriter; import java.io.IOException; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.Enumeration; -import java.util.HashMap; import java.util.List; import java.util.Locale; -import java.util.Map; import java.util.Objects; import java.util.UUID; import java.util.regex.Matcher; @@ -211,75 +208,10 @@ public class Utils { update.getTimestamp() > SystemProperties.getLong(Constants.PROP_BUILD_DATE, 0)); } - private static boolean processJsonFile(File inputJsonFile) throws IOException, JSONException { - StringBuilder jsonBuilder = new StringBuilder(); - try (BufferedReader br = new BufferedReader(new FileReader(inputJsonFile))) { - for (String line; (line = br.readLine()) != null;) { - jsonBuilder.append(line); - } - } - - JSONObject inputJsonObject = new JSONObject(jsonBuilder.toString()); - JSONArray responseArray = inputJsonObject.getJSONArray("response"); - Map entriesMap = new HashMap<>(); - int deviceAndroidVersion = parseAndroidVersion(Build.VERSION.RELEASE); - - for (int i = 0; i < responseArray.length(); i++) { - JSONObject entry = responseArray.getJSONObject(i); - String androidVersion = entry.getString("android_version"); - long datetime = entry.getLong("datetime"); - - // Allow the latest update for current android. - if (parseAndroidVersion(androidVersion) == deviceAndroidVersion) { - if (!entriesMap.containsKey(androidVersion) || datetime > Objects.requireNonNull( - entriesMap.get(androidVersion)).getLong("datetime")) { - entriesMap.put(androidVersion, entry); - } else { - Log.d(TAG, "Update : Skipping " + entry.getString("filename") + - " since a newer build is available"); - } - // Allow upgrade from next major release only. Allow to install initial build - // for that major release and not the latest release. - } else if (parseAndroidVersion(androidVersion) == deviceAndroidVersion + 1) { - if (!entriesMap.containsKey(androidVersion) || (((Build.TIME / 1000) < datetime) - && (datetime < Objects.requireNonNull(entriesMap.get(androidVersion) - ).getLong("datetime")))) { - entriesMap.put(androidVersion, entry); - } else { - Log.d(TAG, "Update : Skipping " + entry.getString("filename") + - " since latest build is not preferred for upgrade"); - } - // Ignore if the device has an update available by skipping one major update. - // Allow it only after installing one major android. - } else { - Log.d(TAG, "Update : Skipping " + entry.getString("filename") + - " since the upgrade is unsupported from this android version"); - } - } - - JSONArray modifiedResponseArray = new JSONArray(); - for (JSONObject entry : entriesMap.values()) { - modifiedResponseArray.put(entry); - } - - inputJsonObject.put("response", modifiedResponseArray); - - // Write the modified JSON object back to the input JSON file - FileWriter writer = new FileWriter(inputJsonFile); - writer.write(inputJsonObject.toString()); - writer.close(); - - return true; - } - public static List parseJson(File file, boolean compatibleOnly) throws IOException, JSONException { List updates = new ArrayList<>(); - if (processJsonFile(file)) { - Log.d(TAG, "Ignored incompatible updates"); - } - StringBuilder json = new StringBuilder(); try (BufferedReader br = new BufferedReader(new FileReader(file))) { for (String line; (line = br.readLine()) != null;) { -- GitLab