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

Commit b0bddd6a authored by Ahaan Ugale's avatar Ahaan Ugale
Browse files

AF: Add a passwordsActivity attribute.

This is used to link directly to passwords settings for each autofill
service from system settings.

Bug: 169455298
Test: manual
Change-Id: Id989601203a87d95d443a23b694b6c21785ee549
parent b3372164
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1074,6 +1074,7 @@ package android {
    field public static final int panelTextAppearance = 16842850; // 0x1010062
    field public static final int parentActivityName = 16843687; // 0x10103a7
    field @Deprecated public static final int password = 16843100; // 0x101015c
    field public static final int passwordsActivity = 16844351; // 0x101063f
    field public static final int path = 16842794; // 0x101002a
    field public static final int pathAdvancedPattern = 16844320; // 0x1010620
    field public static final int pathData = 16843781; // 0x1010405
+16 −0
Original line number Diff line number Diff line
@@ -76,6 +76,8 @@ public final class AutofillServiceInfo {

    @Nullable
    private final String mSettingsActivity;
    @Nullable
    private final String mPasswordsActivity;

    @Nullable
    private final ArrayMap<String, Long> mCompatibilityPackages;
@@ -113,12 +115,14 @@ public final class AutofillServiceInfo {
                AutofillService.SERVICE_META_DATA);
        if (parser == null) {
            mSettingsActivity = null;
            mPasswordsActivity = null;
            mCompatibilityPackages = null;
            mInlineSuggestionsEnabled = false;
            return;
        }

        String settingsActivity = null;
        String passwordsActivity = null;
        ArrayMap<String, Long> compatibilityPackages = null;
        boolean inlineSuggestionsEnabled = false; // false by default.

@@ -139,6 +143,8 @@ public final class AutofillServiceInfo {
                            com.android.internal.R.styleable.AutofillService);
                    settingsActivity = afsAttributes.getString(
                            R.styleable.AutofillService_settingsActivity);
                    passwordsActivity = afsAttributes.getString(
                            R.styleable.AutofillService_passwordsActivity);
                    inlineSuggestionsEnabled = afsAttributes.getBoolean(
                            R.styleable.AutofillService_supportsInlineSuggestions, false);
                } finally {
@@ -155,6 +161,7 @@ public final class AutofillServiceInfo {
        }

        mSettingsActivity = settingsActivity;
        mPasswordsActivity = passwordsActivity;
        mCompatibilityPackages = compatibilityPackages;
        mInlineSuggestionsEnabled = inlineSuggestionsEnabled;
    }
@@ -221,6 +228,7 @@ public final class AutofillServiceInfo {
        return compatibilityPackages;
    }

    @NonNull
    public ServiceInfo getServiceInfo() {
        return mServiceInfo;
    }
@@ -230,6 +238,12 @@ public final class AutofillServiceInfo {
        return mSettingsActivity;
    }

    @Nullable
    public String getPasswordsActivity() {
        return mPasswordsActivity;
    }

    @Nullable
    public ArrayMap<String, Long> getCompatibilityPackages() {
        return mCompatibilityPackages;
    }
@@ -244,6 +258,7 @@ public final class AutofillServiceInfo {
        builder.append(getClass().getSimpleName());
        builder.append("[").append(mServiceInfo);
        builder.append(", settings:").append(mSettingsActivity);
        builder.append(", passwords activity:").append(mPasswordsActivity);
        builder.append(", hasCompatPckgs:").append(mCompatibilityPackages != null
                && !mCompatibilityPackages.isEmpty()).append("]");
        builder.append(", inline suggestions enabled:").append(mInlineSuggestionsEnabled);
@@ -256,6 +271,7 @@ public final class AutofillServiceInfo {
    public void dump(String prefix, PrintWriter pw) {
        pw.print(prefix); pw.print("Component: "); pw.println(getServiceInfo().getComponentName());
        pw.print(prefix); pw.print("Settings: "); pw.println(mSettingsActivity);
        pw.print(prefix); pw.print("Passwords activity: "); pw.println(mPasswordsActivity);
        pw.print(prefix); pw.print("Compat packages: "); pw.println(mCompatibilityPackages);
        pw.print(prefix); pw.print("Inline Suggestions Enabled: ");
        pw.println(mInlineSuggestionsEnabled);
+3 −0
Original line number Diff line number Diff line
@@ -8434,6 +8434,9 @@
        <!-- Fully qualified class name of an activity that allows the user to modify
             the settings for this service. -->
        <attr name="settingsActivity" />
        <!-- Fully qualified class name of an activity that allows the user to view any passwords
             saved by this service. -->
        <attr name="passwordsActivity" format="string" />
        <!-- Specifies whether the AutofillService supports inline suggestions-->
        <attr name="supportsInlineSuggestions" format="boolean" />
+1 −0
Original line number Diff line number Diff line
@@ -3085,6 +3085,7 @@
    <public name="hand_secondTint"/>
    <public name="hand_secondTintMode"/>
    <public name="dataExtractionRules"/>
    <public name="passwordsActivity"/>
  </public-group>

  <public-group type="drawable" first-id="0x010800b5">