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

Commit ae39e7a5 authored by Nathan Harold's avatar Nathan Harold Committed by Automerger Merge Worker
Browse files

Add Callback to notify changes of barring status am: 61b5d674

Change-Id: Ib306f821c9f37a5f4c3df39ed75386768f8c9160
parents 929ede4c 61b5d674
Loading
Loading
Loading
Loading
+34 −0
Original line number Diff line number Diff line
@@ -44680,6 +44680,38 @@ package android.telephony {
    field public static final int PRIORITY_MED = 2; // 0x2
  }
  public final class BarringInfo implements android.os.Parcelable {
    method public int describeContents();
    method @NonNull public android.telephony.BarringInfo.BarringServiceInfo getBarringServiceInfo(int);
    method public boolean isServiceBarred(int);
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field public static final int BARRING_SERVICE_TYPE_CS_FALLBACK = 5; // 0x5
    field public static final int BARRING_SERVICE_TYPE_CS_SERVICE = 0; // 0x0
    field public static final int BARRING_SERVICE_TYPE_CS_VOICE = 2; // 0x2
    field public static final int BARRING_SERVICE_TYPE_EMERGENCY = 8; // 0x8
    field public static final int BARRING_SERVICE_TYPE_MMTEL_VIDEO = 7; // 0x7
    field public static final int BARRING_SERVICE_TYPE_MMTEL_VOICE = 6; // 0x6
    field public static final int BARRING_SERVICE_TYPE_MO_DATA = 4; // 0x4
    field public static final int BARRING_SERVICE_TYPE_MO_SIGNALLING = 3; // 0x3
    field public static final int BARRING_SERVICE_TYPE_PS_SERVICE = 1; // 0x1
    field public static final int BARRING_SERVICE_TYPE_SMS = 9; // 0x9
    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.BarringInfo> CREATOR;
  }
  public static final class BarringInfo.BarringServiceInfo implements android.os.Parcelable {
    method public int describeContents();
    method public int getBarringType();
    method public int getConditionalBarringFactor();
    method public int getConditionalBarringTimeSeconds();
    method public boolean isBarred();
    method public boolean isConditionallyBarred();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field public static final int BARRING_TYPE_CONDITIONAL = 1; // 0x1
    field public static final int BARRING_TYPE_NONE = 0; // 0x0
    field public static final int BARRING_TYPE_UNCONDITIONAL = 2; // 0x2
    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.BarringInfo.BarringServiceInfo> CREATOR;
  }
  public class CarrierConfigManager {
    method @Nullable public android.os.PersistableBundle getConfig();
    method @Nullable public android.os.PersistableBundle getConfigByComponentForSubId(@NonNull String, int);
@@ -45442,6 +45474,7 @@ package android.telephony {
    ctor public PhoneStateListener();
    ctor public PhoneStateListener(@NonNull java.util.concurrent.Executor);
    method public void onActiveDataSubscriptionIdChanged(int);
    method public void onBarringInfoChanged(@NonNull android.telephony.BarringInfo);
    method @RequiresPermission("android.permission.READ_PRECISE_PHONE_STATE") public void onCallDisconnectCauseChanged(int, int);
    method public void onCallForwardingIndicatorChanged(boolean);
    method public void onCallStateChanged(int, String);
@@ -45460,6 +45493,7 @@ package android.telephony {
    method public void onSignalStrengthsChanged(android.telephony.SignalStrength);
    method public void onUserMobileDataStateChanged(boolean);
    field public static final int LISTEN_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGE = 4194304; // 0x400000
    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int LISTEN_BARRING_INFO = -2147483648; // 0x80000000
    field @RequiresPermission("android.permission.READ_PRECISE_PHONE_STATE") public static final int LISTEN_CALL_DISCONNECT_CAUSES = 33554432; // 0x2000000
    field public static final int LISTEN_CALL_FORWARDING_INDICATOR = 8; // 0x8
    field public static final int LISTEN_CALL_STATE = 32; // 0x20
+5 −0
Original line number Diff line number Diff line
@@ -8169,6 +8169,11 @@ package android.telephony {
    field public static final int FREQUENCY_RANGE_GROUP_UNKNOWN = 0; // 0x0
  }
  public final class BarringInfo implements android.os.Parcelable {
    ctor public BarringInfo();
    method @NonNull public android.telephony.BarringInfo createLocationInfoSanitizedCopy();
  }
  public final class CallAttributes implements android.os.Parcelable {
    ctor public CallAttributes(@NonNull android.telephony.PreciseCallState, int, @NonNull android.telephony.CallQuality);
    method public int describeContents();
+9 −0
Original line number Diff line number Diff line
@@ -3098,6 +3098,15 @@ package android.telephony {
    field public static final int FREQUENCY_RANGE_GROUP_UNKNOWN = 0; // 0x0
  }

  public final class BarringInfo implements android.os.Parcelable {
    ctor public BarringInfo();
    ctor public BarringInfo(@Nullable android.telephony.CellIdentity, @NonNull android.util.SparseArray<android.telephony.BarringInfo.BarringServiceInfo>);
  }

  public static final class BarringInfo.BarringServiceInfo implements android.os.Parcelable {
    ctor public BarringInfo.BarringServiceInfo(int, boolean, int, int);
  }

  public final class CallQuality implements android.os.Parcelable {
    ctor public CallQuality(int, int, int, int, int, int, int, int, int, int, int);
    ctor public CallQuality(int, int, int, int, int, int, int, int, int, int, int, boolean, boolean, boolean);
+33 −0
Original line number Diff line number Diff line
@@ -427,6 +427,17 @@ public class PhoneStateListener {
    @RequiresPermission(Manifest.permission.READ_PHONE_STATE)
    public static final int LISTEN_REGISTRATION_FAILURE = 0x40000000;

    /**
     * Listen for Barring Information for the current registered / camped cell.
     *
     * <p>Requires permission {@link android.Manifest.permission#READ_PHONE_STATE} or the calling
     * app has carrier privileges (see {@link TelephonyManager#hasCarrierPrivileges}).
     *
     * @see #onBarringInfoChanged()
     */
    @RequiresPermission(Manifest.permission.READ_PHONE_STATE)
    public static final int LISTEN_BARRING_INFO = 0x80000000;

    /*
     * Subscription used to listen to the phone state changes
     * @hide
@@ -1035,6 +1046,20 @@ public class PhoneStateListener {
        // default implementation empty
    }

    /**
     * Report updated barring information for the current camped/registered cell.
     *
     * <p>Barring info is provided for all services applicable to the current camped/registered
     * cell, for the registered PLMN and current access class/access category.
     *
     * @param barringInfo for all services on the current cell.
     *
     * @see android.telephony.BarringInfo
     */
    public void onBarringInfoChanged(@NonNull BarringInfo barringInfo) {
        // default implementation empty
    }

    /**
     * The callback methods need to be called on the handler thread where
     * this object was created.  If the binder did that for us it'd be nice.
@@ -1328,6 +1353,14 @@ public class PhoneStateListener {
                            cellIdentity, chosenPlmn, domain, causeCode, additionalCauseCode)));
            // default implementation empty
        }

        public void onBarringInfoChanged(BarringInfo barringInfo) {
            PhoneStateListener psl = mPhoneStateListenerWeakRef.get();
            if (psl == null) return;

            Binder.withCleanCallingIdentity(
                    () -> mExecutor.execute(() -> psl.onBarringInfoChanged(barringInfo)));
        }
    }


+17 −0
Original line number Diff line number Diff line
@@ -729,4 +729,21 @@ public class TelephonyRegistryManager {
        } catch (RemoteException ex) {
        }
    }

    /**
     * Notify {@link BarringInfo} has changed for a specific subscription.
     *
     * @param slotIndex for the phone object that got updated barring info.
     * @param subId for which the BarringInfo changed.
     * @param barringInfo updated BarringInfo.
     */
    public void notifyBarringInfoChanged(
            int slotIndex, int subId, @NonNull BarringInfo barringInfo) {
        try {
            sRegistry.notifyBarringInfoChanged(slotIndex, subId, barringInfo);
        } catch (RemoteException ex) {
            // system server crash
        }
    }

}
Loading