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

Commit f54791b3 authored by Steven Moreland's avatar Steven Moreland
Browse files

Remove references to setPermissionController.

This method isn't implemented/used/etc..

Bug: 135768100
Test: TH
Change-Id: Ic2e27f5685cc16562815fcaf1226bc7789f8d882
parent 3feab1b4
Loading
Loading
Loading
Loading
+0 −7
Original line number Original line Diff line number Diff line
@@ -57,13 +57,6 @@ public interface IServiceManager extends IInterface
     */
     */
    String[] listServices(int dumpFlags) throws RemoteException;
    String[] listServices(int dumpFlags) throws RemoteException;


    /**
     * Assign a permission controller to the service manager.  After set, this
     * interface is checked before any services are added.
     */
    void setPermissionController(IPermissionController controller)
            throws RemoteException;

    static final String descriptor = "android.os.IServiceManager";
    static final String descriptor = "android.os.IServiceManager";


    int GET_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION;
    int GET_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION;
+0 −11
Original line number Original line Diff line number Diff line
@@ -127,17 +127,6 @@ class ServiceManagerProxy implements IServiceManager {
        return array;
        return array;
    }
    }


    public void setPermissionController(IPermissionController controller)
            throws RemoteException {
        Parcel data = Parcel.obtain();
        Parcel reply = Parcel.obtain();
        data.writeInterfaceToken(IServiceManager.descriptor);
        data.writeStrongBinder(controller.asBinder());
        mRemote.transact(SET_PERMISSION_CONTROLLER_TRANSACTION, data, reply, 0);
        reply.recycle();
        data.recycle();
    }

    @UnsupportedAppUsage
    @UnsupportedAppUsage
    private IBinder mRemote;
    private IBinder mRemote;
}
}
+0 −88
Original line number Original line Diff line number Diff line
/*
 * Copyright (C) 2009 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.framework.permission.tests;

import com.android.internal.os.BinderInternal;

import android.app.AppOpsManager;
import android.os.Binder;
import android.os.IPermissionController;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.ServiceManagerNative;
import android.test.suitebuilder.annotation.SmallTest;

import junit.framework.TestCase;

/**
 * TODO: Remove this. This is only a placeholder, need to implement this.
 */
public class ServiceManagerPermissionTests extends TestCase {
    @SmallTest
    public void testAddService() {
        try {
            // The security in the service manager is that you can't replace
            // a service that is already published.
            Binder binder = new Binder();
            ServiceManager.addService("activity", binder);
            fail("ServiceManager.addService did not throw SecurityException as"
                    + " expected");
        } catch (SecurityException e) {
            // expected
        }
    }

    @SmallTest
    public void testSetPermissionController() {
        try {
            IPermissionController pc = new IPermissionController.Stub() {
                @Override
                public boolean checkPermission(java.lang.String permission, int pid, int uid) {
                    return true;
                }

                @Override
                public int noteOp(String op, int uid, String packageName) {
                    return AppOpsManager.MODE_ALLOWED;
                }

                @Override
                public String[] getPackagesForUid(int uid) {
                    return new String[0];
                }

                @Override
                public boolean isRuntimePermission(String permission) {
                    return false;
                }

                @Override
                public int getPackageUid(String packageName, int flags) {
                    return -1;
                }
            };
            ServiceManagerNative.asInterface(BinderInternal.getContextObject())
                    .setPermissionController(pc);
            fail("IServiceManager.setPermissionController did not throw SecurityException as"
                    + " expected");
        } catch (SecurityException e) {
            // expected
        } catch (RemoteException e) {
            fail("Unexpected remote exception");
        }
    }
}