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

Commit eaa18af9 authored by Ted Bauer's avatar Ted Bauer
Browse files

Propagate individual aconfig sysprop on flag stage

Test: m
Bug: 331963764
Change-Id: Ica7781499e73bb47ca8eaf27f38cd3600d2fc556
Flag: com.android.providers.settings.notify_individual_aconfig_sysprop_changed
parent 99d9db2c
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -3264,6 +3264,24 @@ public class SettingsProvider extends ContentProvider {

            if (forceNotify || success) {
                notifyForSettingsChange(key, name);

                // If this is an aconfig flag, it will be written as a staged flag.
                // Notify that its staged flag value will be updated.
                if (Flags.notifyIndividualAconfigSyspropChanged() && type == SETTINGS_TYPE_CONFIG) {
                    int slashIndex = name.indexOf('/');
                    boolean validSlashIndex = slashIndex != -1
                            && slashIndex != 0
                            && slashIndex != name.length();
                    if (validSlashIndex) {
                        String namespace = name.substring(0, slashIndex);
                        String flagName = name.substring(slashIndex + 1);
                        if (settingsState.getAconfigDefaultFlags().containsKey(flagName)) {
                            String stagedName = "staged/" + namespace + "*" + flagName;
                            notifyForSettingsChange(key, stagedName);
                        }
                    }
                }

                if (wasUnsetNonPredefinedSetting) {
                    // Increment the generation number for all non-predefined, unset settings,
                    // because a new non-predefined setting has been inserted
+11 −0
Original line number Diff line number Diff line
@@ -52,3 +52,14 @@ flag {
        purpose: PURPOSE_BUGFIX
    }
}

flag {
    name: "notify_individual_aconfig_sysprop_changed"
    namespace: "core_experiments_team_internal"
    description: "When enabled, propagate individual aconfig sys props on flag stage."
    bug: "331963764"
    is_fixed_read_only: true
    metadata {
        purpose: PURPOSE_BUGFIX
    }
}