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

Commit 935980c7 authored by SongFerng Wang's avatar SongFerng Wang Committed by Automerger Merge Worker
Browse files

Merge "The phone didn't reload the allowed Network Type" am: cfa02cd6 am: 3dd9c6bf

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1641903

Change-Id: I4dc32278e38dc6b3d859a9b097375618b9b3cb40
parents efd2d89d 3dd9c6bf
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -10096,7 +10096,7 @@ package android.telephony {
  }
  public static interface TelephonyCallback.AllowedNetworkTypesListener {
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onAllowedNetworkTypesChanged(@NonNull java.util.Map<java.lang.Integer,java.lang.Long>);
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onAllowedNetworkTypesChanged(int, long);
  }
  public static interface TelephonyCallback.CallAttributesListener {
+1 −1
Original line number Diff line number Diff line
@@ -1577,7 +1577,7 @@ public class PhoneStateListener {
            // default implementation empty
        }

        public void onAllowedNetworkTypesChanged(Map allowedNetworkTypesList) {
        public void onAllowedNetworkTypesChanged(int reason, long allowedNetworkType) {
            // default implementation empty
        }

+21 −19
Original line number Diff line number Diff line
@@ -544,9 +544,6 @@ public class TelephonyCallback {
    /**
     * Event for changes to allowed network list based on all active subscriptions.
     *
     * <p>Requires permission {@link android.Manifest.permission#READ_PHONE_STATE} or the calling
     * app has carrier privileges (see {@link TelephonyManager#hasCarrierPrivileges}).
     *
     * @hide
     * @see AllowedNetworkTypesListener#onAllowedNetworkTypesChanged
     */
@@ -1287,30 +1284,34 @@ public class TelephonyCallback {
    public interface AllowedNetworkTypesListener {
        /**
         * Callback invoked when the current allowed network type list has changed on the
         * registered subscription.
         * registered subscription for a specified reason.
         * Note, the registered subscription is associated with {@link TelephonyManager} object
         * on which
         * {@link TelephonyManager#registerTelephonyCallback(Executor, TelephonyCallback)}
         * on which {@link TelephonyManager#registerTelephonyCallback(Executor, TelephonyCallback)}
         * was called.
         * If this TelephonyManager object was created with
         * {@link TelephonyManager#createForSubscriptionId(int)}, then the callback applies to the
         * given subscription ID. Otherwise, this callback applies to
         * {@link SubscriptionManager#getDefaultSubscriptionId()}.
         *
         * @param allowedNetworkTypesList Map associating all allowed network type reasons
         * ({@link TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_USER},
         * {@link TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_POWER},
         * {@link TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_CARRIER}, and
         * {@link TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G}) with reason's allowed
         * network type values.
         * @param reason an allowed network type reasons.
         * @see TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_USER
         * @see TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_POWER
         * @see TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_CARRIER
         * @see TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G
         *
         * @param allowedNetworkType an allowed network type bitmask value. (for example,
         * the long bitmask value is {{@link TelephonyManager#NETWORK_TYPE_BITMASK_NR}|
         * {@link TelephonyManager#NETWORK_TYPE_BITMASK_LTE}})
         *
         * For example:
         * map{{TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_USER, long type value},
         *     {TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_POWER, long type value},
         *     {TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_CARRIER, long type value},
         *     {TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G, long type value}}
         * If the latest allowed network type is changed by user, then the system
         * notifies the {@link TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_USER} and
         * long type value}.
         */
        @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
        void onAllowedNetworkTypesChanged(@NonNull Map<Integer, Long> allowedNetworkTypesList);
        void onAllowedNetworkTypesChanged(
                @TelephonyManager.AllowedNetworkTypesReason int reason,
                @TelephonyManager.NetworkTypeBitMask long allowedNetworkType);
    }

    /**
@@ -1741,14 +1742,15 @@ public class TelephonyCallback {
                            enabled, reason)));
        }

        public void onAllowedNetworkTypesChanged(Map allowedNetworkTypesList) {
        public void onAllowedNetworkTypesChanged(int reason, long allowedNetworkType) {
            AllowedNetworkTypesListener listener =
                    (AllowedNetworkTypesListener) mTelephonyCallbackWeakRef.get();
            if (listener == null) return;

            Binder.withCleanCallingIdentity(
                    () -> mExecutor.execute(
                            () -> listener.onAllowedNetworkTypesChanged(allowedNetworkTypesList)));
                            () -> listener.onAllowedNetworkTypesChanged(reason,
                                    allowedNetworkType)));
        }

        public void onLinkCapacityEstimateChanged(
+9 −7
Original line number Diff line number Diff line
@@ -825,16 +825,18 @@ public class TelephonyRegistryManager {
    }

    /**
     * Notify emergency number list changed on certain subscription.
     *
     * @param slotIndex for which emergency number list changed. Can be derived from subId except
     * when subId is invalid.
     * @param subId for which emergency number list changed.
     * Notify the allowed network types has changed for a specific subscription and the specific
     * reason.
     * @param slotIndex for which allowed network types changed.
     * @param subId for which allowed network types changed.
     * @param reason an allowed network type reasons.
     * @param allowedNetworkType an allowed network type bitmask value.
     */
    public void notifyAllowedNetworkTypesChanged(int slotIndex, int subId,
            Map<Integer, Long> allowedNetworkTypeList) {
            int reason, long allowedNetworkType) {
        try {
            sRegistry.notifyAllowedNetworkTypesChanged(slotIndex, subId, allowedNetworkTypeList);
            sRegistry.notifyAllowedNetworkTypesChanged(slotIndex, subId, reason,
                    allowedNetworkType);
        } catch (RemoteException ex) {
            // system process is dead
        }
+1 −1
Original line number Diff line number Diff line
@@ -72,6 +72,6 @@ oneway interface IPhoneStateListener {
    void onBarringInfoChanged(in BarringInfo barringInfo);
    void onPhysicalChannelConfigChanged(in List<PhysicalChannelConfig> configs);
    void onDataEnabledChanged(boolean enabled, int reason);
    void onAllowedNetworkTypesChanged(in Map allowedNetworkTypeList);
    void onAllowedNetworkTypesChanged(in int reason, in long allowedNetworkType);
    void onLinkCapacityEstimateChanged(in List<LinkCapacityEstimate> linkCapacityEstimateList);
}
Loading