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

Commit ecd47547 authored by Himanshu Gupta's avatar Himanshu Gupta Committed by Automerger Merge Worker
Browse files

Merge "Adding CrossProfile Intent Filters Clone Profile." into udc-dev am: 8e6364b5

parents c8567a36 8e6364b5
Loading
Loading
Loading
Loading
+75 −5
Original line number Diff line number Diff line
@@ -401,7 +401,7 @@ public class DefaultCrossProfileIntentFiltersUtils {
    /*
     Allowing view action from clone to parent profile to open any app-links or web links
     */
    private static final DefaultCrossProfileIntentFilter CLONE_TO_PARENT_VIEW_ACTION =
    private static final DefaultCrossProfileIntentFilter CLONE_TO_PARENT_WEB_VIEW_ACTION =
            new DefaultCrossProfileIntentFilter.Builder(
                    DefaultCrossProfileIntentFilter.Direction.TO_PARENT,
                    /* flags= */ 0x00000018, // 0x00000018 means FLAG_IS_PACKAGE_FOR_FILTER
@@ -415,7 +415,7 @@ public class DefaultCrossProfileIntentFiltersUtils {
    /*
     Allowing view action from parent to clone profile to open any app-links or web links
     */
    private static final DefaultCrossProfileIntentFilter PARENT_TO_CLONE_VIEW_ACTION =
    private static final DefaultCrossProfileIntentFilter PARENT_TO_CLONE_WEB_VIEW_ACTION =
            new DefaultCrossProfileIntentFilter.Builder(
                    DefaultCrossProfileIntentFilter.Direction.TO_PROFILE,
                    /* flags= */ 0x00000018, // 0x00000018 means FLAG_IS_PACKAGE_FOR_FILTER
@@ -426,6 +426,21 @@ public class DefaultCrossProfileIntentFiltersUtils {
                    .addDataScheme("http")
                    .build();

    /*
     Allowing view action from clone to parent profile to any data type e.g. pdf, including custom
     content providers.
     */
    private static final DefaultCrossProfileIntentFilter CLONE_TO_PARENT_VIEW_ACTION =
            new DefaultCrossProfileIntentFilter.Builder(
                    DefaultCrossProfileIntentFilter.Direction.TO_PARENT,
                    /* flags= */ 0x00000018, // 0x00000018 means FLAG_IS_PACKAGE_FOR_FILTER
                    // and FLAG_ALLOW_CHAINED_RESOLUTION set
                    /* letsPersonalDataIntoProfile= */ false)
                    .addAction(Intent.ACTION_VIEW)
                    .addDataType("*/*")
                    .build();


    /*
     Allowing pick,insert and edit action from clone to parent profile to open picker or contacts
     insert/edit.
@@ -441,7 +456,10 @@ public class DefaultCrossProfileIntentFiltersUtils {
                    .addAction(Intent.ACTION_EDIT)
                    .addAction(Intent.ACTION_INSERT)
                    .addAction(Intent.ACTION_INSERT_OR_EDIT)
                    .addAction(Intent.ACTION_OPEN_DOCUMENT)
                    .addDataType("*/*")
                    .addCategory(Intent.CATEGORY_DEFAULT)
                    .addCategory(Intent.CATEGORY_OPENABLE)
                    .build();

    /*
@@ -458,19 +476,71 @@ public class DefaultCrossProfileIntentFiltersUtils {
                    .addAction(Intent.ACTION_EDIT)
                    .addAction(Intent.ACTION_INSERT)
                    .addAction(Intent.ACTION_INSERT_OR_EDIT)
                    .addAction(Intent.ACTION_OPEN_DOCUMENT)
                    .addDataType("*/*")
                    .addCategory(Intent.CATEGORY_DEFAULT)
                    .addCategory(Intent.CATEGORY_OPENABLE)
                    .build();

    private static final DefaultCrossProfileIntentFilter PARENT_TO_CLONE_DIAL_DATA =
            new DefaultCrossProfileIntentFilter.Builder(
                    DefaultCrossProfileIntentFilter.Direction.TO_PROFILE,
                    /* flags= */ 0x00000018, // 0x00000018 means FLAG_IS_PACKAGE_FOR_FILTER
                    // and FLAG_ALLOW_CHAINED_RESOLUTION set
                    /* letsPersonalDataIntoProfile= */ false)
                    .addAction(Intent.ACTION_DIAL)
                    .addAction(Intent.ACTION_VIEW)
                    .addCategory(Intent.CATEGORY_DEFAULT)
                    .addCategory(Intent.CATEGORY_BROWSABLE)
                    .addDataScheme("tel")
                    .addDataScheme("sip")
                    .addDataScheme("voicemail")
                    .build();

    private static final DefaultCrossProfileIntentFilter CLONE_TO_PARENT_DIAL_DATA =
            new DefaultCrossProfileIntentFilter.Builder(
                    DefaultCrossProfileIntentFilter.Direction.TO_PARENT,
                    /* flags= */ 0x00000018, // 0x00000018 means FLAG_IS_PACKAGE_FOR_FILTER
                    // and FLAG_ALLOW_CHAINED_RESOLUTION set
                    /* letsPersonalDataIntoProfile= */ false)
                    .addAction(Intent.ACTION_DIAL)
                    .addAction(Intent.ACTION_VIEW)
                    .addCategory(Intent.CATEGORY_DEFAULT)
                    .addCategory(Intent.CATEGORY_BROWSABLE)
                    .addDataScheme("tel")
                    .addDataScheme("sip")
                    .addDataScheme("voicemail")
                    .build();

    private static final DefaultCrossProfileIntentFilter CLONE_TO_PARENT_SMS_MMS =
            new DefaultCrossProfileIntentFilter.Builder(
                    DefaultCrossProfileIntentFilter.Direction.TO_PARENT,
                    /* flags= */ 0x00000018, // 0x00000018 means FLAG_IS_PACKAGE_FOR_FILTER
                    // and FLAG_ALLOW_CHAINED_RESOLUTION set
                    /* letsPersonalDataIntoProfile= */ false)
                    .addAction(Intent.ACTION_VIEW)
                    .addAction(Intent.ACTION_SENDTO)
                    .addCategory(Intent.CATEGORY_DEFAULT)
                    .addCategory(Intent.CATEGORY_BROWSABLE)
                    .addDataScheme("sms")
                    .addDataScheme("smsto")
                    .addDataScheme("mms")
                    .addDataScheme("mmsto")
                    .build();

    public static List<DefaultCrossProfileIntentFilter> getDefaultCloneProfileFilters() {
        return Arrays.asList(
                PARENT_TO_CLONE_SEND_ACTION,
                PARENT_TO_CLONE_VIEW_ACTION,
                PARENT_TO_CLONE_WEB_VIEW_ACTION,
                PARENT_TO_CLONE_PICK_INSERT_ACTION,
                PARENT_TO_CLONE_DIAL_DATA,
                CLONE_TO_PARENT_MEDIA_CAPTURE,
                CLONE_TO_PARENT_SEND_ACTION,
                CLONE_TO_PARENT_WEB_VIEW_ACTION,
                CLONE_TO_PARENT_VIEW_ACTION,
                CLONE_TO_PARENT_PICK_INSERT_ACTION

                CLONE_TO_PARENT_PICK_INSERT_ACTION,
                CLONE_TO_PARENT_DIAL_DATA,
                CLONE_TO_PARENT_SMS_MMS
        );
    }
}