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

Commit 9571b336 authored by Fyodor Kupolov's avatar Fyodor Kupolov
Browse files

Allow current user in settings command

settings command now accepts current user as an argument.

Bug: 25950700
Change-Id: Ia0cee8e956efe7bc341d87e5a7c7ec57678313bc
parent 6449a956
Loading
Loading
Loading
Loading
+18 −11
Original line number Diff line number Diff line
@@ -76,7 +76,12 @@ public final class SettingsCmd {
                        // --user specified more than once; invalid
                        break;
                    }
                    mUser = Integer.parseInt(nextArg());
                    arg = nextArg();
                    if ("current".equals(arg) || "cur".equals(arg)) {
                        mUser = UserHandle.USER_CURRENT;
                    } else {
                        mUser = Integer.parseInt(arg);
                    }
                } else if (mVerb == CommandVerb.UNSPECIFIED) {
                    if ("get".equalsIgnoreCase(arg)) {
                        mVerb = CommandVerb.GET;
@@ -129,12 +134,14 @@ public final class SettingsCmd {
        }

        if (valid) {
            try {
                IActivityManager activityManager = ActivityManagerNative.getDefault();
                if (mUser == UserHandle.USER_CURRENT) {
                    mUser = activityManager.getCurrentUser().id;
                }
                if (mUser < 0) {
                    mUser = UserHandle.USER_SYSTEM;
                }

            try {
                IActivityManager activityManager = ActivityManagerNative.getDefault();
                IContentProvider provider = null;
                IBinder token = new Binder();
                try {
@@ -286,13 +293,13 @@ public final class SettingsCmd {
    }

    private static void printUsage() {
        System.err.println("usage:  settings [--user NUM] get namespace key");
        System.err.println("        settings [--user NUM] put namespace key value");
        System.err.println("        settings [--user NUM] delete namespace key");
        System.err.println("        settings [--user NUM] list namespace");
        System.err.println("usage:  settings [--user <USER_ID> | current] get namespace key");
        System.err.println("        settings [--user <USER_ID> | current] put namespace key value");
        System.err.println("        settings [--user <USER_ID> | current] delete namespace key");
        System.err.println("        settings [--user <USER_ID> | current] list namespace");
        System.err.println("\n'namespace' is one of {system, secure, global}, case-insensitive");
        System.err.println("If '--user NUM' is not given, the operations are performed on the "
                + "system user.");
        System.err.println("If '--user <USER_ID> | current' is not given, the operations are "
                + "performed on the system user.");
    }

    public static String resolveCallingPackage() {