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

Commit 177218b9 authored by d34d's avatar d34d Committed by Danesh M
Browse files

settings: Implicitly use CMSettings for legacy settings

Change-Id: Ibb04c5612ae010b0d19d6e58b994940f1349e384
parent c4caff69
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import android.os.Process;
import android.os.RemoteException;
import android.os.UserHandle;
import android.provider.Settings;
import android.text.TextUtils;
import cyanogenmod.providers.CMSettings;

import java.util.ArrayList;
@@ -140,6 +141,13 @@ public final class SettingsCmd {
                mUser = UserHandle.USER_OWNER;
            }

            // Implicitly use CMSettings provider if the setting is a legacy setting
            if (!mUseCMSettingsProvider && isLegacySetting(mTable, mKey)) {
                System.err.println("'" + mKey + "' has moved to CMSettings.  Use --cm to avoid " +
                        "this warning in the future.");
                mUseCMSettingsProvider = true;
            }

            try {
                IActivityManager activityManager = ActivityManagerNative.getDefault();
                IContentProvider provider = null;
@@ -329,6 +337,19 @@ public final class SettingsCmd {
        System.err.println("If '--cm' is given, the operations are performed on the CMSettings provider.");
    }

    private static boolean isLegacySetting(String table, String key) {
        if (!TextUtils.isEmpty(key)) {
            if ("system".equals(table)) {
                return CMSettings.System.isLegacySetting(key);
            } else if ("secure".equals(table)) {
                return CMSettings.Secure.isLegacySetting(key);
            } else if ("global".equals(table)) {
                return CMSettings.Global.isLegacySetting(key);
            }
        }
        return false;
    }

    public static String resolveCallingPackage() {
        switch (android.os.Process.myUid()) {
            case Process.ROOT_UID: {