summaryrefslogtreecommitdiff
path: root/src/com/android/cellbroadcastreceiver/CellBroadcastConfigService.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/cellbroadcastreceiver/CellBroadcastConfigService.java')
-rw-r--r--src/com/android/cellbroadcastreceiver/CellBroadcastConfigService.java19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastConfigService.java b/src/com/android/cellbroadcastreceiver/CellBroadcastConfigService.java
index edded2450..9b9b75af4 100644
--- a/src/com/android/cellbroadcastreceiver/CellBroadcastConfigService.java
+++ b/src/com/android/cellbroadcastreceiver/CellBroadcastConfigService.java
@@ -36,6 +36,7 @@ import androidx.annotation.NonNull;
import com.android.cellbroadcastreceiver.CellBroadcastChannelManager.CellBroadcastChannelRange;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.modules.utils.build.SdkLevel;
import java.lang.reflect.Method;
import java.util.ArrayList;
@@ -138,13 +139,17 @@ public class CellBroadcastConfigService extends IntentService {
} else {
manager = SmsManager.getDefault();
}
-
- // TODO: Call manager.resetAllCellBroadcastRanges() in Android S.
- try {
- Method method = SmsManager.class.getDeclaredMethod("resetAllCellBroadcastRanges");
- method.invoke(manager);
- } catch (Exception e) {
- log("Can't reset cell broadcast ranges. e=" + e);
+ // SmsManager.resetAllCellBroadcastRanges is a new @SystemAPI in S. We need to support
+ // backward compatibility as the module need to run on R build as well.
+ if (SdkLevel.isAtLeastS()) {
+ manager.resetAllCellBroadcastRanges();
+ } else {
+ try {
+ Method method = SmsManager.class.getDeclaredMethod("resetAllCellBroadcastRanges");
+ method.invoke(manager);
+ } catch (Exception e) {
+ log("Can't reset cell broadcast ranges. e=" + e);
+ }
}
}