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

Commit 12881200 authored by Automerger Merge Worker's avatar Automerger Merge Worker Committed by Android (Google) Code Review
Browse files

Merge "Merge "Add additional faciliator identifying information" into udc-dev...

Merge "Merge "Add additional faciliator identifying information" into udc-dev am: 35f07168 am: fca69c1b"
parents 66d9d4b4 077d7989
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -88,6 +88,8 @@ message Telecom {
    string name = 1;
    // Unique identifier for this facilitator, such as a package name.
    string identifier = 2;
    // Extended identifier for this facilitator.
    string extended_identifier = 3;
  }

  enum Control {
+2 −1
Original line number Diff line number Diff line
@@ -175,7 +175,8 @@ public class CallMetadataSyncConnectionService extends ConnectionService {
                        : handle.getComponentName().getShortClassName(),
                        phoneAccount != null ? phoneAccount.getExtras().getString(
                                CrossDeviceSyncController.EXTRA_CALL_FACILITATOR_ID)
                                : handle.getComponentName().getPackageName());
                                : handle.getComponentName().getPackageName(),
                        handle.getComponentName().flattenToString());
        call.setFacilitator(callFacilitator);
        call.setDirection(android.companion.Telecom.Call.OUTGOING);
        call.setCallerId(connectionRequest.getAddress().getSchemeSpecificPart());
+18 −2
Original line number Diff line number Diff line
@@ -75,13 +75,15 @@ class CallMetadataSyncData {
    public static class CallFacilitator {
        private String mName;
        private String mIdentifier;
        private String mExtendedIdentifier;
        private boolean mIsTel;

        CallFacilitator() {}

        CallFacilitator(String name, String identifier) {
        CallFacilitator(String name, String identifier, String extendedIdentifier) {
            mName = name;
            mIdentifier = identifier;
            mExtendedIdentifier = extendedIdentifier;
        }

        public String getName() {
@@ -92,6 +94,10 @@ class CallMetadataSyncData {
            return mIdentifier;
        }

        public String getExtendedIdentifier() {
            return mExtendedIdentifier;
        }

        public boolean isTel() {
            return mIsTel;
        }
@@ -104,6 +110,10 @@ class CallMetadataSyncData {
            mIdentifier = identifier;
        }

        public void setExtendedIdentifier(String extendedIdentifier) {
            mExtendedIdentifier = extendedIdentifier;
        }

        public void setIsTel(boolean isTel) {
            mIsTel = isTel;
        }
@@ -170,6 +180,8 @@ class CallMetadataSyncData {
                "com.android.server.companion.datatransfer.contextsync.extra.FACILITATOR_NAME";
        private static final String EXTRA_FACILITATOR_ID =
                "com.android.server.companion.datatransfer.contextsync.extra.FACILITATOR_ID";
        private static final String EXTRA_FACILITATOR_EXT_ID =
                "com.android.server.companion.datatransfer.contextsync.extra.FACILITATOR_EXT_ID";
        private static final String EXTRA_STATUS =
                "com.android.server.companion.datatransfer.contextsync.extra.STATUS";
        private static final String EXTRA_DIRECTION =
@@ -192,7 +204,10 @@ class CallMetadataSyncData {
                call.setAppIcon(bundle.getByteArray(EXTRA_APP_ICON));
                final String facilitatorName = bundle.getString(EXTRA_FACILITATOR_NAME);
                final String facilitatorIdentifier = bundle.getString(EXTRA_FACILITATOR_ID);
                call.setFacilitator(new CallFacilitator(facilitatorName, facilitatorIdentifier));
                final String facilitatorExtendedIdentifier =
                        bundle.getString(EXTRA_FACILITATOR_EXT_ID);
                call.setFacilitator(new CallFacilitator(facilitatorName, facilitatorIdentifier,
                        facilitatorExtendedIdentifier));
                call.setStatus(bundle.getInt(EXTRA_STATUS));
                call.setDirection(bundle.getInt(EXTRA_DIRECTION));
                call.setControls(new HashSet<>(bundle.getIntegerArrayList(EXTRA_CONTROLS)));
@@ -207,6 +222,7 @@ class CallMetadataSyncData {
            bundle.putByteArray(EXTRA_APP_ICON, mAppIcon);
            bundle.putString(EXTRA_FACILITATOR_NAME, mFacilitator.getName());
            bundle.putString(EXTRA_FACILITATOR_ID, mFacilitator.getIdentifier());
            bundle.putString(EXTRA_FACILITATOR_EXT_ID, mFacilitator.getExtendedIdentifier());
            bundle.putInt(EXTRA_STATUS, mStatus);
            bundle.putInt(EXTRA_DIRECTION, mDirection);
            bundle.putIntegerArrayList(EXTRA_CONTROLS, new ArrayList<>(mControls));
+7 −0
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ public class CrossDeviceCall {
    private final int mUserId;
    @VisibleForTesting boolean mIsEnterprise;
    private final String mCallingAppPackageName;
    private final String mSerializedPhoneAccountHandle;
    private String mCallingAppName;
    private byte[] mCallingAppIcon;
    private String mCallerDisplayName;
@@ -89,6 +90,8 @@ public class CrossDeviceCall {
                .equals(handle.getComponentName());
        mCallingAppPackageName = handle != null
                ? callDetails.getAccountHandle().getComponentName().getPackageName() : "";
        mSerializedPhoneAccountHandle = handle != null
                ? handle.getId() + SEPARATOR + handle.getComponentName().flattenToString() : "";
        mIsEnterprise = (callDetails.getCallProperties() & Call.Details.PROPERTY_ENTERPRISE_CALL)
                == Call.Details.PROPERTY_ENTERPRISE_CALL;
        final PackageManager packageManager = context.getPackageManager();
@@ -247,6 +250,10 @@ public class CrossDeviceCall {
        return mCallingAppPackageName;
    }

    public String getSerializedPhoneAccountHandle() {
        return mSerializedPhoneAccountHandle;
    }

    /**
     * Get a human-readable "caller id" to display as the origin of the call.
     *
+9 −1
Original line number Diff line number Diff line
@@ -280,7 +280,7 @@ public class CrossDeviceSyncController {
                    mCallFacilitators.add(
                            new CallMetadataSyncData.CallFacilitator(
                                    defaultOutgoingTelAccount.getLabel().toString(),
                                    FACILITATOR_ID_SYSTEM));
                                    FACILITATOR_ID_SYSTEM, FACILITATOR_ID_SYSTEM));
                }
            }
        }
@@ -574,6 +574,10 @@ public class CrossDeviceSyncController {
                case (int) Telecom.CallFacilitator.IDENTIFIER:
                    facilitator.setIdentifier(pis.readString(Telecom.CallFacilitator.IDENTIFIER));
                    break;
                case (int) Telecom.CallFacilitator.EXTENDED_IDENTIFIER:
                    facilitator.setExtendedIdentifier(
                            pis.readString(Telecom.CallFacilitator.EXTENDED_IDENTIFIER));
                    break;
                default:
                    Slog.e(TAG, "Unhandled field in Facilitator:"
                            + ProtoUtils.currentFieldToString(pis));
@@ -649,6 +653,8 @@ public class CrossDeviceSyncController {
            final long facilitatorToken = pos.start(Telecom.Call.Origin.FACILITATOR);
            pos.write(Telecom.CallFacilitator.NAME, call.getCallingAppName());
            pos.write(Telecom.CallFacilitator.IDENTIFIER, call.getCallingAppPackageName());
            pos.write(Telecom.CallFacilitator.EXTENDED_IDENTIFIER,
                    call.getSerializedPhoneAccountHandle());
            pos.end(facilitatorToken);
            pos.end(originToken);
            pos.write(Telecom.Call.STATUS, call.getStatus());
@@ -662,6 +668,8 @@ public class CrossDeviceSyncController {
            final long facilitatorsToken = pos.start(Telecom.FACILITATORS);
            pos.write(Telecom.CallFacilitator.NAME, facilitator.getName());
            pos.write(Telecom.CallFacilitator.IDENTIFIER, facilitator.getIdentifier());
            pos.write(Telecom.CallFacilitator.EXTENDED_IDENTIFIER,
                    facilitator.getExtendedIdentifier());
            pos.end(facilitatorsToken);
        }
        pos.end(telecomToken);
Loading