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

Commit ccf92b97 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "[SettingsProvider] do not crash the system if config settings files are...

Merge "[SettingsProvider] do not crash the system if config settings files are broken" into udc-qpr-dev am: fb224c59

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/24682390



Change-Id: I174f525507a58ac872938023277c9090895039d9
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents e9ec1109 fb224c59
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -1125,8 +1125,11 @@ final class SettingsState {
        } catch (FileNotFoundException fnfe) {
            final String message = "No fallback file found for: " + mStatePersistFile;
            Slog.wtf(LOG_TAG, message);
            if (!isConfigSettingsKey(mKey)) {
                // Allow partially deserialized config settings because they can be updated later
                throw new IllegalStateException(message);
            }
        }
        if (parseStateFromXmlStreamLocked(in)) {
            // Parsed state from fallback file. Restore original file with fallback file
            try {
@@ -1137,9 +1140,12 @@ final class SettingsState {
        } else {
            final String message = "Failed parsing settings file: " + mStatePersistFile;
            Slog.wtf(LOG_TAG, message);
            if (!isConfigSettingsKey(mKey)) {
                // Allow partially deserialized config settings because they can be updated later
                throw new IllegalStateException(message);
            }
        }
    }

    @GuardedBy("mLock")
    private boolean parseStateFromXmlStreamLocked(FileInputStream in) {