diff options
| -rw-r--r-- | Android.bp | 2 | ||||
| -rw-r--r-- | api/current.txt | 14 | ||||
| -rw-r--r-- | core/java/android/service/carrier/CarrierMessagingClientService.java (renamed from core/java/android/app/SmsAppService.java) | 28 | ||||
| -rw-r--r-- | core/java/android/service/carrier/ICarrierMessagingClientService.aidl (renamed from core/java/android/app/ISmsAppService.aidl) | 4 | ||||
| -rw-r--r-- | core/res/AndroidManifest.xml | 4 | ||||
| -rw-r--r-- | services/core/java/com/android/server/appbinding/AppBindingService.java | 4 | ||||
| -rw-r--r-- | services/core/java/com/android/server/appbinding/finders/CarrierMessagingClientServiceFinder.java (renamed from services/core/java/com/android/server/appbinding/finders/SmsAppServiceFinder.java) | 25 | ||||
| -rw-r--r-- | telephony/java/android/telephony/TelephonyManager.java | 8 |
8 files changed, 47 insertions, 42 deletions
diff --git a/Android.bp b/Android.bp index b075f5c0a435..7bdedc79943d 100644 --- a/Android.bp +++ b/Android.bp @@ -77,7 +77,6 @@ java_defaults { "core/java/android/app/ISearchManager.aidl", "core/java/android/app/ISearchManagerCallback.aidl", "core/java/android/app/IServiceConnection.aidl", - "core/java/android/app/ISmsAppService.aidl", "core/java/android/app/IStopUserCallback.aidl", "core/java/android/app/job/IJobCallback.aidl", "core/java/android/app/job/IJobScheduler.aidl", @@ -288,6 +287,7 @@ java_defaults { "core/java/android/service/carrier/ICarrierService.aidl", "core/java/android/service/carrier/ICarrierMessagingCallback.aidl", "core/java/android/service/carrier/ICarrierMessagingService.aidl", + "core/java/android/service/carrier/ICarrierMessagingClientService.aidl", "core/java/android/service/contentsuggestions/IContentSuggestionsService.aidl", "core/java/android/service/euicc/IDeleteSubscriptionCallback.aidl", "core/java/android/service/euicc/IDownloadSubscriptionCallback.aidl", diff --git a/api/current.txt b/api/current.txt index a4c804af2547..fd20515defd8 100644 --- a/api/current.txt +++ b/api/current.txt @@ -26,6 +26,7 @@ package android { field public static final String BIND_APPWIDGET = "android.permission.BIND_APPWIDGET"; field public static final String BIND_AUTOFILL_SERVICE = "android.permission.BIND_AUTOFILL_SERVICE"; field public static final String BIND_CALL_REDIRECTION_SERVICE = "android.permission.BIND_CALL_REDIRECTION_SERVICE"; + field public static final String BIND_CARRIER_MESSAGING_CLIENT_SERVICE = "android.permission.BIND_CARRIER_MESSAGING_CLIENT_SERVICE"; field @Deprecated public static final String BIND_CARRIER_MESSAGING_SERVICE = "android.permission.BIND_CARRIER_MESSAGING_SERVICE"; field public static final String BIND_CARRIER_SERVICES = "android.permission.BIND_CARRIER_SERVICES"; field public static final String BIND_CHOOSER_TARGET_SERVICE = "android.permission.BIND_CHOOSER_TARGET_SERVICE"; @@ -41,7 +42,6 @@ package android { field public static final String BIND_QUICK_SETTINGS_TILE = "android.permission.BIND_QUICK_SETTINGS_TILE"; field public static final String BIND_REMOTEVIEWS = "android.permission.BIND_REMOTEVIEWS"; field public static final String BIND_SCREENING_SERVICE = "android.permission.BIND_SCREENING_SERVICE"; - field public static final String BIND_SMS_APP_SERVICE = "android.permission.BIND_SMS_APP_SERVICE"; field public static final String BIND_TELECOM_CONNECTION_SERVICE = "android.permission.BIND_TELECOM_CONNECTION_SERVICE"; field public static final String BIND_TEXT_SERVICE = "android.permission.BIND_TEXT_SERVICE"; field public static final String BIND_TV_INPUT = "android.permission.BIND_TV_INPUT"; @@ -6210,11 +6210,6 @@ package android.app { method public void onSharedElementsReady(); } - public class SmsAppService extends android.app.Service { - ctor public SmsAppService(); - method public final android.os.IBinder onBind(android.content.Intent); - } - public class StatusBarManager { } @@ -41361,6 +41356,11 @@ package android.service.carrier { field public static final android.os.Parcelable.Creator<android.service.carrier.CarrierIdentifier> CREATOR; } + public class CarrierMessagingClientService extends android.app.Service { + ctor public CarrierMessagingClientService(); + method public final android.os.IBinder onBind(android.content.Intent); + } + public abstract class CarrierMessagingService extends android.app.Service { ctor public CarrierMessagingService(); method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent); @@ -45167,13 +45167,13 @@ package android.telephony { method @Deprecated public void setVoicemailVibrationEnabled(android.telecom.PhoneAccountHandle, boolean); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void switchMultiSimConfig(int); method public boolean updateAvailableNetworks(java.util.List<android.telephony.AvailableNetworkInfo>); + field public static final String ACTION_CARRIER_MESSAGING_CLIENT_SERVICE = "android.telephony.action.CARRIER_MESSAGING_CLIENT_SERVICE"; field public static final String ACTION_CONFIGURE_VOICEMAIL = "android.telephony.action.CONFIGURE_VOICEMAIL"; field public static final String ACTION_NETWORK_COUNTRY_CHANGED = "android.telephony.action.NETWORK_COUNTRY_CHANGED"; field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final String ACTION_PHONE_STATE_CHANGED = "android.intent.action.PHONE_STATE"; field public static final String ACTION_RESPOND_VIA_MESSAGE = "android.intent.action.RESPOND_VIA_MESSAGE"; field public static final String ACTION_SECRET_CODE = "android.telephony.action.SECRET_CODE"; field public static final String ACTION_SHOW_VOICEMAIL_NOTIFICATION = "android.telephony.action.SHOW_VOICEMAIL_NOTIFICATION"; - field public static final String ACTION_SMS_APP_SERVICE = "android.telephony.action.SMS_APP_SERVICE"; field public static final String ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED = "android.telephony.action.SUBSCRIPTION_CARRIER_IDENTITY_CHANGED"; field public static final String ACTION_SUBSCRIPTION_PRECISE_CARRIER_IDENTITY_CHANGED = "android.telephony.action.SUBSCRIPTION_PRECISE_CARRIER_IDENTITY_CHANGED"; field public static final int APPTYPE_CSIM = 4; // 0x4 diff --git a/core/java/android/app/SmsAppService.java b/core/java/android/service/carrier/CarrierMessagingClientService.java index 3829d7103b07..13f4fc4b0dcb 100644 --- a/core/java/android/app/SmsAppService.java +++ b/core/java/android/service/carrier/CarrierMessagingClientService.java @@ -13,8 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package android.app; +package android.service.carrier; +import android.app.Service; import android.content.ComponentName; import android.content.Intent; import android.os.IBinder; @@ -24,10 +25,11 @@ import android.os.IBinder; * it so that the process is always running, which allows the app to have a persistent connection * to the server. * - * <p>The service must have an {@link android.telephony.TelephonyManager#ACTION_SMS_APP_SERVICE} + * <p>The service must have an + * {@link android.telephony.TelephonyManager#ACTION_CARRIER_MESSAGING_CLIENT_SERVICE} * action in the intent handler, and be protected with - * {@link android.Manifest.permission#BIND_SMS_APP_SERVICE}. However the service does not have to - * be exported. + * {@link android.Manifest.permission#BIND_CARRIER_MESSAGING_CLIENT_SERVICE}. + * However the service does not have to be exported. * * <p>The service must be associated with a non-main process, meaning it must have an * {@code android:process} tag in its manifest entry. @@ -45,27 +47,27 @@ import android.os.IBinder; * * <p>Example: First, define a subclass in the application: * <pre> - * public class MySmsAppService extends SmsAppService { + * public class MyCarrierMessagingClientService extends CarrierMessagingClientService { * } * </pre> * Then, declare it in its {@code AndroidManifest.xml}: * <pre> * <service - * android:name=".MySmsAppService" + * android:name=".MyCarrierMessagingClientService" * android:exported="false" * android:process=":persistent" - * android:permission="android.permission.BIND_SMS_APP_SERVICE"> + * android:permission="android.permission.BIND_CARRIER_MESSAGING_CLIENT_SERVICE"> * <intent-filter> - * <action android:name="android.telephony.action.SMS_APP_SERVICE" /> + * <action android:name="android.telephony.action.CARRIER_MESSAGING_CLIENT_SERVICE" /> * </intent-filter> * </service> * </pre> */ -public class SmsAppService extends Service { - private final ISmsAppService mImpl; +public class CarrierMessagingClientService extends Service { + private final ICarrierMessagingClientServiceImpl mImpl; - public SmsAppService() { - mImpl = new ISmsAppServiceImpl(); + public CarrierMessagingClientService() { + mImpl = new ICarrierMessagingClientServiceImpl(); } @Override @@ -73,6 +75,6 @@ public class SmsAppService extends Service { return mImpl.asBinder(); } - private class ISmsAppServiceImpl extends ISmsAppService.Stub { + private class ICarrierMessagingClientServiceImpl extends ICarrierMessagingClientService.Stub { } } diff --git a/core/java/android/app/ISmsAppService.aidl b/core/java/android/service/carrier/ICarrierMessagingClientService.aidl index 1ac2ec6b1c41..dbe7d121d56e 100644 --- a/core/java/android/app/ISmsAppService.aidl +++ b/core/java/android/service/carrier/ICarrierMessagingClientService.aidl @@ -14,10 +14,10 @@ * limitations under the License. */ -package android.app; +package android.service.carrier; /** * @hide */ -interface ISmsAppService { +interface ICarrierMessagingClientService { } diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index c7b528c924dc..60b04cf6c77b 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -4411,8 +4411,8 @@ <permission android:name="android.permission.MONITOR_DEFAULT_SMS_PACKAGE" android:protectionLevel="signature|privileged" /> - <!-- A subclass of {@link android.app.SmsAppService} must be protected with this permission. --> - <permission android:name="android.permission.BIND_SMS_APP_SERVICE" + <!-- A subclass of {@link android.service.carrier.CarrierMessagingClientService} must be protected with this permission. --> + <permission android:name="android.permission.BIND_CARRIER_MESSAGING_CLIENT_SERVICE" android:protectionLevel="signature" /> <!-- @hide Permission that allows configuring appops. diff --git a/services/core/java/com/android/server/appbinding/AppBindingService.java b/services/core/java/com/android/server/appbinding/AppBindingService.java index 3131255a61cd..0b6a4329d15b 100644 --- a/services/core/java/com/android/server/appbinding/AppBindingService.java +++ b/services/core/java/com/android/server/appbinding/AppBindingService.java @@ -47,7 +47,7 @@ import com.android.internal.util.DumpUtils; import com.android.server.SystemService; import com.android.server.am.PersistentConnection; import com.android.server.appbinding.finders.AppServiceFinder; -import com.android.server.appbinding.finders.SmsAppServiceFinder; +import com.android.server.appbinding.finders.CarrierMessagingClientServiceFinder; import java.io.FileDescriptor; import java.io.PrintWriter; @@ -147,7 +147,7 @@ public class AppBindingService extends Binder { mIPackageManager = injector.getIPackageManager(); mHandler = BackgroundThread.getHandler(); - mApps.add(new SmsAppServiceFinder(context, this::onAppChanged, mHandler)); + mApps.add(new CarrierMessagingClientServiceFinder(context, this::onAppChanged, mHandler)); // Initialize with the default value to make it non-null. mConstants = AppBindingConstants.initializeFromString(""); diff --git a/services/core/java/com/android/server/appbinding/finders/SmsAppServiceFinder.java b/services/core/java/com/android/server/appbinding/finders/CarrierMessagingClientServiceFinder.java index fcc28f8e2886..4c5f1a1c7b49 100644 --- a/services/core/java/com/android/server/appbinding/finders/SmsAppServiceFinder.java +++ b/services/core/java/com/android/server/appbinding/finders/CarrierMessagingClientServiceFinder.java @@ -19,8 +19,6 @@ package com.android.server.appbinding.finders; import static android.provider.Telephony.Sms.Intents.ACTION_DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL; import android.Manifest.permission; -import android.app.ISmsAppService; -import android.app.SmsAppService; import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.Context; @@ -30,6 +28,8 @@ import android.content.pm.ServiceInfo; import android.os.Handler; import android.os.IBinder; import android.os.UserHandle; +import android.service.carrier.CarrierMessagingClientService; +import android.service.carrier.ICarrierMessagingClientService; import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.Slog; @@ -41,10 +41,11 @@ import com.android.server.appbinding.AppBindingConstants; import java.util.function.BiConsumer; /** - * Find the SmsAppService service within the default SMS app. + * Find the CarrierMessagingClientService service within the default SMS app. */ -public class SmsAppServiceFinder extends AppServiceFinder<SmsAppService, ISmsAppService> { - public SmsAppServiceFinder(Context context, +public class CarrierMessagingClientServiceFinder + extends AppServiceFinder<CarrierMessagingClientService, ICarrierMessagingClientService> { + public CarrierMessagingClientServiceFinder(Context context, BiConsumer<AppServiceFinder, Integer> listener, Handler callbackHandler) { super(context, listener, callbackHandler); @@ -62,23 +63,23 @@ public class SmsAppServiceFinder extends AppServiceFinder<SmsAppService, ISmsApp } @Override - protected Class<SmsAppService> getServiceClass() { - return SmsAppService.class; + protected Class<CarrierMessagingClientService> getServiceClass() { + return CarrierMessagingClientService.class; } @Override - public ISmsAppService asInterface(IBinder obj) { - return ISmsAppService.Stub.asInterface(obj); + public ICarrierMessagingClientService asInterface(IBinder obj) { + return ICarrierMessagingClientService.Stub.asInterface(obj); } @Override protected String getServiceAction() { - return TelephonyManager.ACTION_SMS_APP_SERVICE; + return TelephonyManager.ACTION_CARRIER_MESSAGING_CLIENT_SERVICE; } @Override protected String getServicePermission() { - return permission.BIND_SMS_APP_SERVICE; + return permission.BIND_CARRIER_MESSAGING_CLIENT_SERVICE; } @Override @@ -121,7 +122,7 @@ public class SmsAppServiceFinder extends AppServiceFinder<SmsAppService, ISmsApp @Override public void onReceive(Context context, Intent intent) { if (ACTION_DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL.equals(intent.getAction())) { - mListener.accept(SmsAppServiceFinder.this, getSendingUserId()); + mListener.accept(CarrierMessagingClientServiceFinder.this, getSendingUserId()); } } }; diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 739589412f0b..eab536f94290 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -1326,13 +1326,15 @@ public class TelephonyManager { "android.intent.action.DATA_STALL_DETECTED"; /** - * A service action that identifies a {@link android.app.SmsAppService} subclass in the + * A service action that identifies + * a {@link android.service.carrier.CarrierMessagingClientService} subclass in the * AndroidManifest.xml. * - * <p>See {@link android.app.SmsAppService} for the details. + * <p>See {@link android.service.carrier.CarrierMessagingClientService} for the details. */ @SdkConstant(SdkConstantType.SERVICE_ACTION) - public static final String ACTION_SMS_APP_SERVICE = "android.telephony.action.SMS_APP_SERVICE"; + public static final String ACTION_CARRIER_MESSAGING_CLIENT_SERVICE = + "android.telephony.action.CARRIER_MESSAGING_CLIENT_SERVICE"; /** * An int extra used with {@link #ACTION_DATA_STALL_DETECTED} to indicate the |