summaryrefslogtreecommitdiff
path: root/src/com/android/cellbroadcastreceiver/CellBroadcastSearchIndexableProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/cellbroadcastreceiver/CellBroadcastSearchIndexableProvider.java')
-rw-r--r--src/com/android/cellbroadcastreceiver/CellBroadcastSearchIndexableProvider.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastSearchIndexableProvider.java b/src/com/android/cellbroadcastreceiver/CellBroadcastSearchIndexableProvider.java
index e76aeef53..c1cfba56c 100644
--- a/src/com/android/cellbroadcastreceiver/CellBroadcastSearchIndexableProvider.java
+++ b/src/com/android/cellbroadcastreceiver/CellBroadcastSearchIndexableProvider.java
@@ -112,6 +112,10 @@ public class CellBroadcastSearchIndexableProvider extends SearchIndexablesProvid
return null;
}
+ if (isDisableAllCbMessages()) {
+ return null;
+ }
+
MatrixCursor cursor = new MatrixCursor(INDEXABLES_XML_RES_COLUMNS);
final int count = INDEXABLE_RES.length;
for (int n = 0; n < count; n++) {
@@ -134,6 +138,10 @@ public class CellBroadcastSearchIndexableProvider extends SearchIndexablesProvid
return null;
}
+ if (isDisableAllCbMessages()) {
+ return null;
+ }
+
MatrixCursor cursor = new MatrixCursor(INDEXABLES_RAW_COLUMNS);
final Resources res = getResourcesMethod();
@@ -282,4 +290,21 @@ public class CellBroadcastSearchIndexableProvider extends SearchIndexablesProvid
return getContextMethod().getPackageManager().hasSystemFeature(
PackageManager.FEATURE_AUTOMOTIVE);
}
+
+ /**
+ * Check disable Cell Broadcast resource.
+ * @return true if Cell Broadcast disable configured by OEM.
+ */
+ @VisibleForTesting
+ public boolean isDisableAllCbMessages() {
+ boolean disable = false;
+ try {
+ Resources res = Resources.getSystem();
+ int id = res.getIdentifier("config_disable_all_cb_messages", "bool", "android");
+ disable = res.getBoolean(id);
+ } catch (Exception e) {
+ disable = false;
+ }
+ return disable;
+ }
}