Skip to content

Commit

Permalink
cellbroadcast provider refactor
Browse files Browse the repository at this point in the history
1. expose proper APIs to query framework cellbroadcast provider
2. export framework cellbroadcast provider
3. new URI with proper permission check

Bug: 135956699
Test: Build & Manual
Change-Id: Id9ef1876b27bcae6b297be4cc24809239c202f6a
(cherry picked from commit a32c7fc)
Merged-in: Id9ef1876b27bcae6b297be4cc24809239c202f6a
  • Loading branch information
Chen Xu committed Nov 13, 2019
1 parent ba07364 commit dd0c1c3
Show file tree
Hide file tree
Showing 3 changed files with 72 additions and 6 deletions.
6 changes: 6 additions & 0 deletions api/system-current.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6113,15 +6113,21 @@ package android.provider {
field public static final String DELIVERY_TIME = "date";
field public static final String ETWS_WARNING_TYPE = "etws_warning_type";
field public static final String GEOGRAPHICAL_SCOPE = "geo_scope";
field public static final String GEOMETRIES = "geometries";
field public static final String LAC = "lac";
field public static final String LANGUAGE_CODE = "language";
field public static final String MAXIMUM_WAIT_TIME = "maximum_wait_time";
field public static final String MESSAGE_BODY = "body";
field public static final String MESSAGE_BROADCASTED = "message_broadcasted";
field public static final String MESSAGE_FORMAT = "format";
field @NonNull @RequiresPermission(android.Manifest.permission.READ_CELL_BROADCASTS) public static final android.net.Uri MESSAGE_HISTORY_URI;
field public static final String MESSAGE_PRIORITY = "priority";
field public static final String MESSAGE_READ = "read";
field public static final String PLMN = "plmn";
field public static final String RECEIVED_TIME = "received_time";
field public static final String SERIAL_NUMBER = "serial_number";
field public static final String SERVICE_CATEGORY = "service_category";
field public static final String SLOT_INDEX = "slot_index";
}

public final class TimeZoneRulesDataContract {
Expand Down
30 changes: 30 additions & 0 deletions api/test-current.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2377,6 +2377,36 @@ package android.provider {
field public static final String VOICE_INTERACTION_SERVICE = "voice_interaction_service";
}

public static final class Telephony.CellBroadcasts implements android.provider.BaseColumns {
field public static final String CID = "cid";
field public static final String CMAS_CATEGORY = "cmas_category";
field public static final String CMAS_CERTAINTY = "cmas_certainty";
field public static final String CMAS_MESSAGE_CLASS = "cmas_message_class";
field public static final String CMAS_RESPONSE_TYPE = "cmas_response_type";
field public static final String CMAS_SEVERITY = "cmas_severity";
field public static final String CMAS_URGENCY = "cmas_urgency";
field @NonNull public static final android.net.Uri CONTENT_URI;
field public static final String DEFAULT_SORT_ORDER = "date DESC";
field public static final String DELIVERY_TIME = "date";
field public static final String ETWS_WARNING_TYPE = "etws_warning_type";
field public static final String GEOGRAPHICAL_SCOPE = "geo_scope";
field public static final String GEOMETRIES = "geometries";
field public static final String LAC = "lac";
field public static final String LANGUAGE_CODE = "language";
field public static final String MAXIMUM_WAIT_TIME = "maximum_wait_time";
field public static final String MESSAGE_BODY = "body";
field public static final String MESSAGE_BROADCASTED = "message_broadcasted";
field public static final String MESSAGE_FORMAT = "format";
field @NonNull @RequiresPermission(android.Manifest.permission.READ_CELL_BROADCASTS) public static final android.net.Uri MESSAGE_HISTORY_URI;
field public static final String MESSAGE_PRIORITY = "priority";
field public static final String MESSAGE_READ = "read";
field public static final String PLMN = "plmn";
field public static final String RECEIVED_TIME = "received_time";
field public static final String SERIAL_NUMBER = "serial_number";
field public static final String SERVICE_CATEGORY = "service_category";
field public static final String SLOT_INDEX = "slot_index";
}

public static final class Telephony.Sms.Intents {
field public static final String SMS_CARRIER_PROVISION_ACTION = "android.provider.Telephony.SMS_CARRIER_PROVISION";
}
Expand Down
42 changes: 36 additions & 6 deletions telephony/java/android/provider/Telephony.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

package android.provider;

import android.Manifest;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.RequiresPermission;
Expand Down Expand Up @@ -3944,10 +3945,11 @@ private Carriers() {}
}

/**
* Contains received SMS cell broadcast messages. More details are available in 3GPP TS 23.041.
* Contains received cell broadcast messages. More details are available in 3GPP TS 23.041.
* @hide
*/
@SystemApi
@TestApi
public static final class CellBroadcasts implements BaseColumns {

/**
Expand All @@ -3958,10 +3960,43 @@ private CellBroadcasts() {}

/**
* The {@code content://} URI for this table.
* Only privileged framework components running on phone or network stack uid can
* query or modify this table.
*/
@NonNull
public static final Uri CONTENT_URI = Uri.parse("content://cellbroadcasts");

/**
* The {@code content://} URI for query cellbroadcast message history.
* query results include following entries
* <ul>
* <li>{@link #_ID}</li>
* <li>{@link #SLOT_INDEX}</li>
* <li>{@link #GEOGRAPHICAL_SCOPE}</li>
* <li>{@link #PLMN}</li>
* <li>{@link #LAC}</li>
* <li>{@link #CID}</li>
* <li>{@link #SERIAL_NUMBER}</li>
* <li>{@link #SERVICE_CATEGORY}</li>
* <li>{@link #LANGUAGE_CODE}</li>
* <li>{@link #MESSAGE_BODY}</li>
* <li>{@link #DELIVERY_TIME}</li>
* <li>{@link #MESSAGE_READ}</li>
* <li>{@link #MESSAGE_FORMAT}</li>
* <li>{@link #MESSAGE_PRIORITY}</li>
* <li>{@link #ETWS_WARNING_TYPE}</li>
* <li>{@link #CMAS_MESSAGE_CLASS}</li>
* <li>{@link #CMAS_CATEGORY}</li>
* <li>{@link #CMAS_RESPONSE_TYPE}</li>
* <li>{@link #CMAS_SEVERITY}</li>
* <li>{@link #CMAS_URGENCY}</li>
* <li>{@link #CMAS_CERTAINTY}</li>
* </ul>
*/
@RequiresPermission(Manifest.permission.READ_CELL_BROADCASTS)
@NonNull
public static final Uri MESSAGE_HISTORY_URI = Uri.parse("content://cellbroadcasts/history");

/**
* The subscription which received this cell broadcast message.
* @deprecated use {@link #SLOT_INDEX} instead.
Expand All @@ -3973,7 +4008,6 @@ private CellBroadcasts() {}
/**
* The slot which received this cell broadcast message.
* <P>Type: INTEGER</P>
* @hide
*/
public static final String SLOT_INDEX = "slot_index";

Expand Down Expand Up @@ -4151,14 +4185,12 @@ private CellBroadcasts() {}
/**
* The timestamp in millisecond of when the device received the message.
* <P>Type: BIGINT</P>
* @hide
*/
public static final String RECEIVED_TIME = "received_time";

/**
* Indicates that whether the message has been broadcasted to the application.
* <P>Type: BOOLEAN</P>
* @hide
*/
public static final String MESSAGE_BROADCASTED = "message_broadcasted";

Expand Down Expand Up @@ -4194,7 +4226,6 @@ private CellBroadcasts() {}
* "circle|0,0|100;polygon|0,0|0,1.5|1,1|1,0;circle|100.123,100|200.123"
*
* <P>Type: TEXT</P>
* @hide
*/
public static final String GEOMETRIES = "geometries";

Expand All @@ -4206,7 +4237,6 @@ private CellBroadcasts() {}
* for the alert.
*
* <P>Type: INTEGER</P>
* @hide
*/
public static final String MAXIMUM_WAIT_TIME = "maximum_wait_time";

Expand Down

0 comments on commit dd0c1c3

Please sign in to comment.