Merge "[DO NOT MERGE] Revert "Add CellBroadcastService and related permissions""

am: 8172f45111

Change-Id: Ieed5df537d2b6ff40c8a6b2c2bd7c8ab090c2e9a
This commit is contained in:
Jordan Liu
2019-10-09 14:26:12 -07:00
committed by android-build-merger
11 changed files with 14 additions and 205 deletions

View File

@@ -24,7 +24,6 @@ package android {
field public static final String BACKUP = "android.permission.BACKUP";
field public static final String BIND_ATTENTION_SERVICE = "android.permission.BIND_ATTENTION_SERVICE";
field public static final String BIND_AUGMENTED_AUTOFILL_SERVICE = "android.permission.BIND_AUGMENTED_AUTOFILL_SERVICE";
field public static final String BIND_CELL_BROADCAST_SERVICE = "android.permission.BIND_CELL_BROADCAST_SERVICE";
field @Deprecated public static final String BIND_CONNECTION_SERVICE = "android.permission.BIND_CONNECTION_SERVICE";
field public static final String BIND_CONTENT_CAPTURE_SERVICE = "android.permission.BIND_CONTENT_CAPTURE_SERVICE";
field public static final String BIND_CONTENT_SUGGESTIONS_SERVICE = "android.permission.BIND_CONTENT_SUGGESTIONS_SERVICE";
@@ -7215,14 +7214,6 @@ package android.telephony {
method @NonNull public android.telephony.CarrierRestrictionRules.Builder setMultiSimPolicy(int);
}
public abstract class CellBroadcastService extends android.app.Service {
ctor public CellBroadcastService();
method @CallSuper public android.os.IBinder onBind(android.content.Intent);
method public abstract void onCdmaCellBroadcastSms(int, byte[]);
method public abstract void onGsmCellBroadcastSms(int, byte[]);
field public static final String CELL_BROADCAST_SERVICE_INTERFACE = "android.telephony.CellBroadcastService";
}
public final class DataFailCause {
field public static final int ACCESS_ATTEMPT_ALREADY_IN_PROGRESS = 2219; // 0x8ab
field public static final int ACCESS_BLOCK = 2087; // 0x827

View File

@@ -5,7 +5,6 @@ package android {
field public static final String ACCESS_NOTIFICATIONS = "android.permission.ACCESS_NOTIFICATIONS";
field public static final String ACTIVITY_EMBEDDING = "android.permission.ACTIVITY_EMBEDDING";
field public static final String APPROVE_INCIDENT_REPORTS = "android.permission.APPROVE_INCIDENT_REPORTS";
field public static final String BIND_CELL_BROADCAST_SERVICE = "android.permission.BIND_CELL_BROADCAST_SERVICE";
field public static final String BRIGHTNESS_SLIDER_USAGE = "android.permission.BRIGHTNESS_SLIDER_USAGE";
field public static final String CHANGE_APP_IDLE_STATE = "android.permission.CHANGE_APP_IDLE_STATE";
field public static final String CLEAR_APP_USER_DATA = "android.permission.CLEAR_APP_USER_DATA";

View File

@@ -792,18 +792,6 @@
android:permissionFlags="hardRestricted"
android:protectionLevel="dangerous" />
<!-- @SystemApi @TestApi Allows an application to forward cell broadcast messages to the cell
broadcast module. This is required in order to bind to the cell broadcast service, and
ensures that only the system can forward messages to it.
<p>Protection level: signature
@hide -->
<permission android:name="android.permission.BIND_CELL_BROADCAST_SERVICE"
android:label="@string/permlab_bindCellBroadcastService"
android:description="@string/permdesc_bindCellBroadcastService"
android:protectionLevel="signature" />
<!-- @SystemApi @TestApi Allows an application to read previously received cell broadcast
messages and to register a content observer to get notifications when
a cell broadcast has been received and added to the database. For

View File

@@ -441,10 +441,6 @@
-->
</string-array>
<!-- Package name for the default CellBroadcastService module [DO NOT TRANSLATE] -->
<string name="cellbroadcast_default_package" translatable="false">com.android.cellbroadcastreceiver
</string>
<!-- If the mobile hotspot feature requires provisioning, a package name and class name
can be provided to launch a supported application that provisions the devices.

View File

@@ -887,16 +887,6 @@
messages. This means the app could monitor or delete messages sent to your
device without showing them to you.</string>
<!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this.[CHAR LIMIT=NONE] -->
<string name="permlab_bindCellBroadcastService">Forward cell broadcast messages</string>
<!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. [CHAR LIMIT=NONE] -->
<string name="permdesc_bindCellBroadcastService">Allows the app to bind to the
cell broadcast module in order to forward cell broadcast messages
as they are received. Cell broadcast alerts are delivered in some
locations to warn you of emergency situations. Malicious apps may
interfere with the performance or operation of your device when an
emergency cell broadcast is received.</string>
<!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
<string name="permlab_readCellBroadcasts">read cell broadcast messages</string>
<!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->

View File

@@ -745,7 +745,6 @@
<java-symbol type="string" name="config_ethernet_iface_regex" />
<java-symbol type="array" name="config_ethernet_interfaces" />
<java-symbol type="array" name="config_wakeonlan_supported_interfaces" />
<java-symbol type="string" name="cellbroadcast_default_package" />
<java-symbol type="string" name="config_forceVoiceInteractionServicePackage" />
<java-symbol type="string" name="config_mms_user_agent" />
<java-symbol type="string" name="config_mms_user_agent_profile_url" />

View File

@@ -125,7 +125,6 @@ applications that come with the platform
<permission name="android.permission.ACCESS_IMS_CALL_SERVICE"/>
<permission name="android.permission.BIND_CARRIER_MESSAGING_SERVICE"/>
<permission name="android.permission.BIND_CARRIER_SERVICES"/>
<permission name="android.permission.BIND_CELL_BROADCAST_SERVICE"/>
<permission name="android.permission.BIND_IMS_SERVICE"/>
<permission name="android.permission.BIND_TELEPHONY_DATA_SERVICE"/>
<permission name="android.permission.BIND_VISUAL_VOICEMAIL_SERVICE"/>

View File

@@ -1,112 +0,0 @@
/*
* Copyright (C) 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.telephony;
import android.annotation.CallSuper;
import android.annotation.SystemApi;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
/**
* A service which exposes the cell broadcast handling module to the system.
* <p>
* To extend this class, you must declare the service in your manifest file to require the
* {@link android.Manifest.permission#BIND_CELL_BROADCAST_SERVICE} permission and include an intent
* filter with the {@link #CELL_BROADCAST_SERVICE_INTERFACE}.
* Implementations of this service should run in the phone process and with its UID.
* <p>
* For example:
* <pre>{@code
* <manifest xmlns:android="http://schemas.android.com/apk/res/android"
* android:sharedUserId="android.uid.phone">
* <service android:name=".MyCellBroadcastService"
* android:label="@string/service_name"
* android:process="com.android.phone"
* android:exported="true"
* android:permission="android.permission.BIND_CELL_BROADCAST_SERVICE">
* <intent-filter>
* <action android:name="android.telephony.CellBroadcastService" />
* </intent-filter>
* </service>
* </manifest>
* }</pre>
* @hide
*/
@SystemApi
public abstract class CellBroadcastService extends Service {
public static final String CELL_BROADCAST_SERVICE_INTERFACE =
"android.telephony.CellBroadcastService";
private final ICellBroadcastService.Stub mStubWrapper;
public CellBroadcastService() {
mStubWrapper = new ICellBroadcastServiceWrapper();
}
/**
* Handle a GSM cell broadcast SMS message forwarded from the system.
* @param slotIndex the index of the slot which received the message
* @param message the SMS PDU
*/
public abstract void onGsmCellBroadcastSms(int slotIndex, byte[] message);
/**
* Handle a CDMA cell broadcast SMS message forwarded from the system.
* @param slotIndex the index of the slot which received the message
* @param message the SMS PDU
*/
public abstract void onCdmaCellBroadcastSms(int slotIndex, byte[] message);
/**
* If overriding this method, call through to the super method for any unknown actions.
* {@inheritDoc}
*/
@Override
@CallSuper
public IBinder onBind(Intent intent) {
return mStubWrapper;
}
/**
* A wrapper around ICellBroadcastService that forwards calls to implementations of
* {@link CellBroadcastService}.
* @hide
*/
public class ICellBroadcastServiceWrapper extends ICellBroadcastService.Stub {
/**
* Handle a GSM cell broadcast SMS.
* @param slotIndex the index of the slot which received the broadcast
* @param message the SMS message PDU
*/
@Override
public void handleGsmCellBroadcastSms(int slotIndex, byte[] message) {
CellBroadcastService.this.onGsmCellBroadcastSms(slotIndex, message);
}
/**
* Handle a CDMA cell broadcast SMS.
* @param slotIndex the index of the slot which received the broadcast
* @param message the SMS message PDU
*/
@Override
public void handleCdmaCellBroadcastSms(int slotIndex, byte[] message) {
CellBroadcastService.this.onCdmaCellBroadcastSms(slotIndex, message);
}
}
}

View File

@@ -1,32 +0,0 @@
/**
* Copyright (c) 2019, The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.telephony;
/**
* Service bound to by the system to allow custom handling of cell broadcast messages.
* <p>
* @see android.telephony.CellBroadcastService
* @hide
*/
interface ICellBroadcastService {
/** @see android.telephony.CellBroadcastService#onGsmCellBroadcastSms */
oneway void handleGsmCellBroadcastSms(int slotId, in byte[] message);
/** @see android.telephony.CellBroadcastService#onCdmaCellBroadcastSms */
oneway void handleCdmaCellBroadcastSms(int slotId, in byte[] message);
}

View File

@@ -461,11 +461,7 @@ public class GsmSmsCbMessage {
}
}
/**
* Part of a GSM SMS cell broadcast message which may trigger geo-fencing logic.
* @hide
*/
public static final class GeoFencingTriggerMessage {
static final class GeoFencingTriggerMessage {
/**
* Indicate the list of active alerts share their warning area coordinates which means the
* broadcast area is the union of the broadcast areas of the active alerts in this list.
@@ -480,11 +476,6 @@ public class GsmSmsCbMessage {
this.cbIdentifiers = cbIdentifiers;
}
/**
* Whether the trigger message indicates that the broadcast areas are shared between all
* active alerts.
* @return true if broadcast areas are to be shared
*/
boolean shouldShareBroadcastArea() {
return type == TYPE_ACTIVE_ALERT_SHARE_WAC;
}

View File

@@ -72,22 +72,22 @@ public class SmsCbHeader {
/**
* Length of SMS-CB header
*/
public static final int PDU_HEADER_LENGTH = 6;
static final int PDU_HEADER_LENGTH = 6;
/**
* GSM pdu format, as defined in 3gpp TS 23.041, section 9.4.1
*/
public static final int FORMAT_GSM = 1;
static final int FORMAT_GSM = 1;
/**
* UMTS pdu format, as defined in 3gpp TS 23.041, section 9.4.2
*/
public static final int FORMAT_UMTS = 2;
static final int FORMAT_UMTS = 2;
/**
* ETWS pdu format, as defined in 3gpp TS 23.041, section 9.4.1.3
* GSM pdu format, as defined in 3gpp TS 23.041, section 9.4.1.3
*/
public static final int FORMAT_ETWS_PRIMARY = 3;
static final int FORMAT_ETWS_PRIMARY = 3;
/**
* Message type value as defined in 3gpp TS 25.324, section 11.1.
@@ -237,11 +237,11 @@ public class SmsCbHeader {
return mMessageIdentifier;
}
public int getDataCodingScheme() {
int getDataCodingScheme() {
return mDataCodingScheme;
}
public DataCodingScheme getDataCodingSchemeStructedData() {
DataCodingScheme getDataCodingSchemeStructedData() {
return mDataCodingSchemeStructedData;
}
@@ -253,11 +253,11 @@ public class SmsCbHeader {
return mNrOfPages;
}
public SmsCbEtwsInfo getEtwsInfo() {
SmsCbEtwsInfo getEtwsInfo() {
return mEtwsInfo;
}
public SmsCbCmasInfo getCmasInfo() {
SmsCbCmasInfo getCmasInfo() {
return mCmasInfo;
}
@@ -265,7 +265,7 @@ public class SmsCbHeader {
* Return whether this broadcast is an emergency (PWS) message type.
* @return true if this message is emergency type; false otherwise
*/
public boolean isEmergencyMessage() {
boolean isEmergencyMessage() {
return mMessageIdentifier >= SmsCbConstants.MESSAGE_ID_PWS_FIRST_IDENTIFIER
&& mMessageIdentifier <= SmsCbConstants.MESSAGE_ID_PWS_LAST_IDENTIFIER;
}
@@ -283,7 +283,7 @@ public class SmsCbHeader {
* Return whether this broadcast is an ETWS primary notification.
* @return true if this message is an ETWS primary notification; false otherwise
*/
public boolean isEtwsPrimaryNotification() {
boolean isEtwsPrimaryNotification() {
return mFormat == FORMAT_ETWS_PRIMARY;
}
@@ -291,7 +291,7 @@ public class SmsCbHeader {
* Return whether this broadcast is in UMTS format.
* @return true if this message is in UMTS format; false otherwise
*/
public boolean isUmtsFormat() {
boolean isUmtsFormat() {
return mFormat == FORMAT_UMTS;
}
@@ -583,4 +583,4 @@ public class SmsCbHeader {
this.hasLanguageIndicator = hasLanguageIndicator;
}
}
}
}