summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author kholoud mohamed <kholoudm@google.com> 2022-04-14 12:48:27 +0100
committer kholoud mohamed <kholoudm@google.com> 2022-04-14 14:06:55 +0100
commitcaa0302ef4cd511075a9338b7a0e7e7b5ebd24de (patch)
treedc581aa10ae34f095d8642ec4eb5c5b154ed4fe3
parent96770f2561e17ecc148c0d02701942fe621c4d1e (diff)
Change version checks to use SdkLevel.isAtLeast*
Bug: 229190745 Test: m -j out/soong/.intermediates/frameworks/base/packages/SettingsLib/SettingsLib/android_common/lint/lint-baseline.xml Change-Id: Id0ce4d3089af4e9a8a9002e79c810caac5e711e2
-rw-r--r--packages/SettingsLib/Utils/Android.bp1
-rw-r--r--packages/SettingsLib/Utils/src/com/android/settingslib/utils/BuildCompatUtils.java37
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/DeviceInfoUtils.java5
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/RestrictedPreferenceHelper.java5
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/Utils.java4
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/drawable/UserIconDrawable.java7
6 files changed, 20 insertions, 39 deletions
diff --git a/packages/SettingsLib/Utils/Android.bp b/packages/SettingsLib/Utils/Android.bp
index 7d5eb69190b6..d64fe7fb0009 100644
--- a/packages/SettingsLib/Utils/Android.bp
+++ b/packages/SettingsLib/Utils/Android.bp
@@ -15,6 +15,7 @@ android_library {
static_libs: [
"androidx.annotation_annotation",
+ "modules-utils-build",
],
sdk_version: "system_current",
diff --git a/packages/SettingsLib/Utils/src/com/android/settingslib/utils/BuildCompatUtils.java b/packages/SettingsLib/Utils/src/com/android/settingslib/utils/BuildCompatUtils.java
index 88e242340dee..fc945040fc83 100644
--- a/packages/SettingsLib/Utils/src/com/android/settingslib/utils/BuildCompatUtils.java
+++ b/packages/SettingsLib/Utils/src/com/android/settingslib/utils/BuildCompatUtils.java
@@ -17,10 +17,11 @@
package com.android.settingslib.utils;
import android.os.Build;
-import android.os.Build.VERSION;
import androidx.annotation.ChecksSdkIntAtLeast;
+import com.android.modules.utils.build.SdkLevel;
+
/**
* An util class to check whether the current OS version is higher or equal to sdk version of
* device.
@@ -34,7 +35,7 @@ public final class BuildCompatUtils {
*/
@ChecksSdkIntAtLeast(api = Build.VERSION_CODES.S)
public static boolean isAtLeastS() {
- return Build.VERSION.SDK_INT >= Build.VERSION_CODES.S;
+ return SdkLevel.isAtLeastS();
}
/**
@@ -44,41 +45,17 @@ public final class BuildCompatUtils {
*/
@ChecksSdkIntAtLeast(api = Build.VERSION_CODES.S_V2)
public static boolean isAtLeastSV2() {
- return Build.VERSION.SDK_INT >= Build.VERSION_CODES.S_V2;
+ return SdkLevel.isAtLeastSv2();
}
/**
- * Implementation of BuildCompat.isAtLeast*() suitable for use in Settings
- *
- * <p>This still should try using BuildCompat.isAtLeastR() as source of truth, but also checking
- * for VERSION_SDK_INT and VERSION.CODENAME in case when BuildCompat implementation returned
- * false. Note that both checks should be >= and not = to make sure that when Android version
- * increases (i.e., from R to S), this does not stop working.
- *
- * <p>Supported configurations:
- *
- * <ul>
- * <li>For current Android release: when new API is not finalized yet (CODENAME = "Tiramisu",
- * SDK_INT = 32)
- * <li>For current Android release: when new API is finalized (CODENAME = "REL", SDK_INT = 33)
- * <li>For next Android release (CODENAME = "U", SDK_INT = 34+)
- * </ul>
- *
- * <p>Note that Build.VERSION_CODES.S cannot be used here until final SDK is available, because
- * it is equal to Build.VERSION_CODES.CUR_DEVELOPMENT before API finalization.
+ * Implementation of BuildCompat.isAtLeastT() suitable for use in Settings
*
* @return Whether the current OS version is higher or equal to T.
*/
+ @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.TIRAMISU)
public static boolean isAtLeastT() {
- if (!isAtLeastS()) {
- return false;
- }
-
- return (VERSION.CODENAME.equals("REL") && VERSION.SDK_INT >= 33)
- || (VERSION.CODENAME.length() >= 1
- && VERSION.CODENAME.toUpperCase().charAt(0) >= 'T'
- && VERSION.CODENAME.toUpperCase().charAt(0) <= 'Z')
- || (Build.VERSION.CODENAME.equals("Tiramisu") && Build.VERSION.SDK_INT >= 32);
+ return SdkLevel.isAtLeastT();
}
private BuildCompatUtils() {}
diff --git a/packages/SettingsLib/src/com/android/settingslib/DeviceInfoUtils.java b/packages/SettingsLib/src/com/android/settingslib/DeviceInfoUtils.java
index 0f340239cd24..5c9ec4b3e6f1 100644
--- a/packages/SettingsLib/src/com/android/settingslib/DeviceInfoUtils.java
+++ b/packages/SettingsLib/src/com/android/settingslib/DeviceInfoUtils.java
@@ -36,7 +36,8 @@ import android.util.Log;
import androidx.annotation.RequiresApi;
import androidx.annotation.VisibleForTesting;
-import androidx.core.os.BuildCompat;
+
+import com.android.modules.utils.build.SdkLevel;
import java.io.BufferedReader;
import java.io.FileReader;
@@ -220,7 +221,7 @@ public class DeviceInfoUtils {
}
private static String getRawPhoneNumber(Context context, int subscriptionId) {
- if (BuildCompat.isAtLeastT()) {
+ if (SdkLevel.isAtLeastT()) {
return getRawPhoneNumberFromT(context, subscriptionId);
} else {
final TelephonyManager telephonyManager = context.getSystemService(
diff --git a/packages/SettingsLib/src/com/android/settingslib/RestrictedPreferenceHelper.java b/packages/SettingsLib/src/com/android/settingslib/RestrictedPreferenceHelper.java
index 3a4a8d27b2f3..08aeeaec8bb0 100644
--- a/packages/SettingsLib/src/com/android/settingslib/RestrictedPreferenceHelper.java
+++ b/packages/SettingsLib/src/com/android/settingslib/RestrictedPreferenceHelper.java
@@ -31,10 +31,11 @@ import android.util.TypedValue;
import android.widget.TextView;
import androidx.annotation.RequiresApi;
-import androidx.core.os.BuildCompat;
import androidx.preference.Preference;
import androidx.preference.PreferenceViewHolder;
+import com.android.modules.utils.build.SdkLevel;
+
/**
* Helper class for managing settings preferences that can be disabled
* by device admins via user restrictions.
@@ -105,7 +106,7 @@ public class RestrictedPreferenceHelper {
if (mDisabledSummary) {
final TextView summaryView = (TextView) holder.findViewById(android.R.id.summary);
if (summaryView != null) {
- final CharSequence disabledText = BuildCompat.isAtLeastT()
+ final CharSequence disabledText = SdkLevel.isAtLeastT()
? getDisabledByAdminUpdatableString()
: mContext.getString(R.string.disabled_by_admin_summary_text);
if (mDisabledByAdmin) {
diff --git a/packages/SettingsLib/src/com/android/settingslib/Utils.java b/packages/SettingsLib/src/com/android/settingslib/Utils.java
index aaa011458258..a7f12022e172 100644
--- a/packages/SettingsLib/src/com/android/settingslib/Utils.java
+++ b/packages/SettingsLib/src/com/android/settingslib/Utils.java
@@ -45,12 +45,12 @@ import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import androidx.core.graphics.drawable.RoundedBitmapDrawable;
import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory;
-import androidx.core.os.BuildCompat;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.UserIcons;
import com.android.launcher3.icons.BaseIconFactory.IconOptions;
import com.android.launcher3.icons.IconFactory;
+import com.android.modules.utils.build.SdkLevel;
import com.android.settingslib.drawable.UserIconDrawable;
import com.android.settingslib.fuelgauge.BatteryStatus;
@@ -130,7 +130,7 @@ public class Utils {
String name = info != null ? info.name : null;
if (info.isManagedProfile()) {
// We use predefined values for managed profiles
- return BuildCompat.isAtLeastT()
+ return SdkLevel.isAtLeastT()
? getUpdatableManagedUserTitle(context)
: context.getString(R.string.managed_user_title);
} else if (info.isGuest()) {
diff --git a/packages/SettingsLib/src/com/android/settingslib/drawable/UserIconDrawable.java b/packages/SettingsLib/src/com/android/settingslib/drawable/UserIconDrawable.java
index 91d7388bc46d..17ac4307d6a6 100644
--- a/packages/SettingsLib/src/com/android/settingslib/drawable/UserIconDrawable.java
+++ b/packages/SettingsLib/src/com/android/settingslib/drawable/UserIconDrawable.java
@@ -47,7 +47,8 @@ import android.os.UserHandle;
import androidx.annotation.RequiresApi;
import androidx.annotation.VisibleForTesting;
-import androidx.core.os.BuildCompat;
+
+import com.android.modules.utils.build.SdkLevel;
/**
* Converts the user avatar icon to a circularly clipped one with an optional badge and frame
@@ -87,7 +88,7 @@ public class UserIconDrawable extends Drawable implements Drawable.Callback {
* @return drawable containing just the badge
*/
public static Drawable getManagedUserDrawable(Context context) {
- if (BuildCompat.isAtLeastT()) {
+ if (SdkLevel.isAtLeastT()) {
return getUpdatableManagedUserDrawable(context);
} else {
return getDrawableForDisplayDensity(
@@ -226,7 +227,7 @@ public class UserIconDrawable extends Drawable implements Drawable.Callback {
}
private static Drawable getManagementBadge(Context context) {
- if (BuildCompat.isAtLeastT()) {
+ if (SdkLevel.isAtLeastT()) {
return getUpdatableManagementBadge(context);
} else {
return getDrawableForDisplayDensity(