Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3e2fb955 authored by Peter Wang's avatar Peter Wang Committed by Android (Google) Code Review
Browse files

Merge "[Telephony Mainline] Refactored ServiceManager calls"

parents 0896239a d9eebca1
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -7073,7 +7073,22 @@ package android.os {
  }
  public class TelephonyServiceManager {
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getCarrierConfigServiceRegisterer();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getEuiccCardControllerServiceRegisterer();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getEuiccControllerService();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getIccPhoneBookServiceRegisterer();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getNetworkPolicyServiceRegisterer();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getOpportunisticNetworkServiceRegisterer();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getPackageManagerServiceRegisterer();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getPermissionManagerServiceRegisterer();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getPhoneSubServiceRegisterer();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getSmsServiceRegisterer();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getSubscriptionServiceRegisterer();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getTelephonyImsServiceRegisterer();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getTelephonyRcsMessageServiceRegisterer();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getTelephonyRegistryServiceRegisterer();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getTelephonyServiceRegisterer();
    method @NonNull public android.os.TelephonyServiceManager.ServiceRegisterer getWindowServiceRegisterer();
  }
  public static class TelephonyServiceManager.ServiceNotFoundException extends java.lang.Exception {
+122 −23
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package android.os;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.content.Context;

/**
 * Provides a way to register and obtain the system service binder objects managed by the telephony
@@ -51,8 +52,8 @@ public class TelephonyServiceManager {
        /**
         * Register a system server binding object for a service.
         */
        public void register(@NonNull IBinder binder) {
            ServiceManager.addService(mServiceName, binder);
        public void register(@NonNull IBinder service) {
            ServiceManager.addService(mServiceName, service);
        }

        /**
@@ -114,25 +115,123 @@ public class TelephonyServiceManager {
     */
    @NonNull
    public ServiceRegisterer getTelephonyServiceRegisterer() {
        return new ServiceRegisterer("phone");
    }


// TODO: Add more services...
//
//    /**
//     * Returns {@link ServiceRegisterer} for the "subscription" service.
//     */
//    @NonNull
//    public ServiceRegisterer getSubscriptionServiceRegisterer() {
//        return new ServiceRegisterer("isub");
//    }
//
//    /**
//     * Returns {@link ServiceRegisterer} for the "SMS" service.
//     */
//    @NonNull
//    public ServiceRegisterer getSmsServiceRegisterer() {
//        return new ServiceRegisterer("isms");
//    }
        return new ServiceRegisterer(Context.TELEPHONY_SERVICE);
    }

    /**
     * Returns {@link ServiceRegisterer} for the telephony registry service.
     */
    @NonNull
    public ServiceRegisterer getTelephonyRegistryServiceRegisterer() {
        return new ServiceRegisterer("telephony.registry");
    }

    /**
     * Returns {@link ServiceRegisterer} for the telephony IMS service.
     */
    @NonNull
    public ServiceRegisterer getTelephonyImsServiceRegisterer() {
        return new ServiceRegisterer(Context.TELEPHONY_IMS_SERVICE);
    }

    /**
     * Returns {@link ServiceRegisterer} for the telephony RCS message service.
     */
    @NonNull
    public ServiceRegisterer getTelephonyRcsMessageServiceRegisterer() {
        return new ServiceRegisterer(Context.TELEPHONY_RCS_MESSAGE_SERVICE);
    }

    /**
     * Returns {@link ServiceRegisterer} for the subscription service.
     */
    @NonNull
    public ServiceRegisterer getSubscriptionServiceRegisterer() {
        return new ServiceRegisterer("isub");
    }

    /**
     * Returns {@link ServiceRegisterer} for the network policy service.
     */
    @NonNull
    public ServiceRegisterer getNetworkPolicyServiceRegisterer() {
        return new ServiceRegisterer(Context.NETWORK_POLICY_SERVICE);
    }

    /**
     * Returns {@link ServiceRegisterer} for the phone sub service.
     */
    @NonNull
    public ServiceRegisterer getPhoneSubServiceRegisterer() {
        return new ServiceRegisterer("iphonesubinfo");
    }

    /**
     * Returns {@link ServiceRegisterer} for the opportunistic network service.
     */
    @NonNull
    public ServiceRegisterer getOpportunisticNetworkServiceRegisterer() {
        return new ServiceRegisterer("ions");
    }

    /**
     * Returns {@link ServiceRegisterer} for the carrier config service.
     */
    @NonNull
    public ServiceRegisterer getCarrierConfigServiceRegisterer() {
        return new ServiceRegisterer(Context.CARRIER_CONFIG_SERVICE);
    }

    /**
     * Returns {@link ServiceRegisterer} for the "SMS" service.
     */
    @NonNull
    public ServiceRegisterer getSmsServiceRegisterer() {
        return new ServiceRegisterer("isms");
    }

    /**
     * Returns {@link ServiceRegisterer} for the eUICC controller service.
     */
    @NonNull
    public ServiceRegisterer getEuiccControllerService() {
        return new ServiceRegisterer("econtroller");
    }

    @NonNull
    public ServiceRegisterer getEuiccCardControllerServiceRegisterer() {
        return new ServiceRegisterer("euicc_card_controller");
    }

    /**
     * Returns {@link ServiceRegisterer} for the package manager service.
     */
    @NonNull
    public ServiceRegisterer getPackageManagerServiceRegisterer() {
        return new ServiceRegisterer("package");
    }

    /**
     * Returns {@link ServiceRegisterer} for the permission manager service.
     */
    @NonNull
    public ServiceRegisterer getPermissionManagerServiceRegisterer() {
        return new ServiceRegisterer("permissionmgr");
    }

    /**
     * Returns {@link ServiceRegisterer} for the ICC phone book service.
     */
    @NonNull
    public ServiceRegisterer getIccPhoneBookServiceRegisterer() {
        return new ServiceRegisterer("simphonebook");
    }

    /**
     * Returns {@link ServiceRegisterer} for the window service.
     */
    @NonNull
    public ServiceRegisterer getWindowServiceRegisterer() {
        return new ServiceRegisterer(Context.WINDOW_SERVICE);
    }
}
+5 −3
Original line number Diff line number Diff line
@@ -29,7 +29,6 @@ import android.content.ComponentName;
import android.content.Context;
import android.os.PersistableBundle;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.service.carrier.CarrierService;
import android.telecom.TelecomManager;
import android.telephony.ims.ImsReasonInfo;
@@ -4205,8 +4204,11 @@ public class CarrierConfigManager {
    /** @hide */
    @Nullable
    private ICarrierConfigLoader getICarrierConfigLoader() {
        return ICarrierConfigLoader.Stub
                .asInterface(ServiceManager.getService(Context.CARRIER_CONFIG_SERVICE));
        return ICarrierConfigLoader.Stub.asInterface(
                TelephonyFrameworkInitializer
                        .getTelephonyServiceManager()
                        .getCarrierConfigServiceRegisterer()
                        .get());
    }

    /**
+5 −2
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ package android.telephony;
import android.compat.annotation.UnsupportedAppUsage;
import android.os.Bundle;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.telephony.cdma.CdmaCellLocation;
import android.telephony.gsm.GsmCellLocation;

@@ -38,7 +37,11 @@ public abstract class CellLocation {
     */
    public static void requestLocationUpdate() {
        try {
            ITelephony phone = ITelephony.Stub.asInterface(ServiceManager.getService("phone"));
            ITelephony phone = ITelephony.Stub.asInterface(
                    TelephonyFrameworkInitializer
                            .getTelephonyServiceManager()
                            .getTelephonyServiceRegisterer()
                            .get());
            if (phone != null) {
                phone.updateServiceLocation();
            }
+4 −3
Original line number Diff line number Diff line
@@ -17,9 +17,7 @@
package android.telephony;

import android.annotation.IntDef;
import android.content.Context;
import android.os.RemoteException;
import android.os.ServiceManager;

import com.android.internal.telephony.ITelephony;

@@ -148,6 +146,9 @@ public class NetworkScan {

    private ITelephony getITelephony() {
        return ITelephony.Stub.asInterface(
            ServiceManager.getService(Context.TELEPHONY_SERVICE));
            TelephonyFrameworkInitializer
                    .getTelephonyServiceManager()
                    .getTelephonyServiceRegisterer()
                    .get());
    }
}
Loading