diff --git a/res/values/strings.xml b/res/values/strings.xml index f94f8be643a25f621854636f1ebfff1af8f328cf..86854ce8082a2581c11145a0017c4770f1c0d1e8 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -33,6 +33,7 @@ {incr} - Incremental version --> https://ota.ecloud.global/api/v1/{device}/{type}/{incr} + https://test.ota.ecloud.global/api/v1/{device}/{type}/{incr} Verification failed Verifying update diff --git a/src/org/lineageos/updater/misc/Utils.java b/src/org/lineageos/updater/misc/Utils.java index 0e1180a251077239d9c6dacc778e47802ea86974..939a014ca5b0e61425ba17fa204f714ae64cd9d2 100644 --- a/src/org/lineageos/updater/misc/Utils.java +++ b/src/org/lineageos/updater/misc/Utils.java @@ -1,5 +1,6 @@ /* * Copyright (C) 2017 The LineageOS Project + * Copyright (C) 2021 ECORP SAS * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,8 +23,10 @@ import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.PackageManager; +import android.database.Cursor; import android.net.ConnectivityManager; import android.net.NetworkInfo; +import android.net.Uri; import android.os.Environment; import android.os.SystemProperties; import android.os.storage.StorageManager; @@ -59,6 +62,7 @@ import java.util.regex.Pattern; public class Utils { private static final String TAG = "Utils"; + private static final String CONTENT_URI_PATH = "content://custom.setting.Provider.OTA_SERVER/cte"; private Utils() { } @@ -184,16 +188,40 @@ public class Utils { SystemProperties.get(Constants.PROP_DEVICE)); String type = SystemProperties.get(Constants.PROP_RELEASE_TYPE).toLowerCase(Locale.ROOT); - String serverUrl = SystemProperties.get(Constants.PROP_UPDATER_URI); + String serverUrl = ""; + if (retrieveStatus(context) != null) { + if (retrieveStatus(context).equals("true")) { + serverUrl = context.getString(R.string.ota_staging_server_url); + return serverUrl.replace("{device}", device) + .replace("{type}", type) + .replace("{incr}", incrementalVersion); + } else { + serverUrl = SystemProperties.get(Constants.PROP_UPDATER_URI); + } + } else { + serverUrl = SystemProperties.get(Constants.PROP_UPDATER_URI); + } + if (serverUrl.trim().isEmpty()) { serverUrl = context.getString(R.string.updater_server_url); } - return serverUrl.replace("{device}", device) .replace("{type}", type) .replace("{incr}", incrementalVersion); } + /*get the status from database that ota option is on or off*/ + public static String retrieveStatus(Context context) { + String status = null; + Cursor cursor = context.getContentResolver().query(Uri.parse(CONTENT_URI_PATH), null, "id=?", new String[]{"1"}, "Status"); + if (cursor.moveToFirst()) { + do { + status = cursor.getString(cursor.getColumnIndex("Status")); + } while (cursor.moveToNext()); + } + return status; + } + public static String getUpgradeBlockedURL(Context context) { String device = SystemProperties.get(Constants.PROP_NEXT_DEVICE, SystemProperties.get(Constants.PROP_DEVICE));