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));