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

Commit 0b77ef9f authored by Fyodor Kupolov's avatar Fyodor Kupolov
Browse files

Print names of observers causing timeout

Pass and store name in registerUserSwitchObserver and later print names of
observers causing timeout.

Bug: 29039588
Change-Id: I09c4bcc986168a07f5e20ad0f38667b783332288
parent 05200916
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -2370,7 +2370,8 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM
            data.enforceInterface(IActivityManager.descriptor);
            IUserSwitchObserver observer = IUserSwitchObserver.Stub.asInterface(
                    data.readStrongBinder());
            registerUserSwitchObserver(observer);
            String name = data.readString();
            registerUserSwitchObserver(observer, name);
            reply.writeNoException();
            return true;
        }
@@ -6058,11 +6059,13 @@ class ActivityManagerProxy implements IActivityManager
        return result;
    }

    public void registerUserSwitchObserver(IUserSwitchObserver observer) throws RemoteException {
    public void registerUserSwitchObserver(IUserSwitchObserver observer,
            String name) throws RemoteException {
        Parcel data = Parcel.obtain();
        Parcel reply = Parcel.obtain();
        data.writeInterfaceToken(IActivityManager.descriptor);
        data.writeStrongBinder(observer != null ? observer.asBinder() : null);
        data.writeString(name);
        mRemote.transact(REGISTER_USER_SWITCH_OBSERVER_TRANSACTION, data, reply, 0);
        reply.readException();
        data.recycle();
+2 −1
Original line number Diff line number Diff line
@@ -512,7 +512,8 @@ public interface IActivityManager extends IInterface {
    public int getLaunchedFromUid(IBinder activityToken) throws RemoteException;
    public String getLaunchedFromPackage(IBinder activityToken) throws RemoteException;

    public void registerUserSwitchObserver(IUserSwitchObserver observer) throws RemoteException;
    public void registerUserSwitchObserver(IUserSwitchObserver observer,
            String name) throws RemoteException;
    public void unregisterUserSwitchObserver(IUserSwitchObserver observer) throws RemoteException;

    public void requestBugReport(int bugreportType) throws RemoteException;
+2 −3
Original line number Diff line number Diff line
@@ -1040,10 +1040,9 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
                        public void onForegroundProfileSwitch(int newProfileId) {
                            // Ignore.
                        }
                    });
                    }, TAG);
        } catch (RemoteException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            e.rethrowAsRuntimeException();
        }

        IntentFilter strongAuthTimeoutFilter = new IntentFilter();
+1 −1
Original line number Diff line number Diff line
@@ -144,7 +144,7 @@ public class PhoneStatusBarPolicy implements Callback, RotationLockController.Ro

        // listen for user / profile change.
        try {
            ActivityManagerNative.getDefault().registerUserSwitchObserver(mUserSwitchListener);
            ActivityManagerNative.getDefault().registerUserSwitchObserver(mUserSwitchListener, TAG);
        } catch (RemoteException e) {
            // Ignore
        }
+2 −2
Original line number Diff line number Diff line
@@ -21320,8 +21320,8 @@ public final class ActivityManagerService extends ActivityManagerNative
    }
    @Override
    public void registerUserSwitchObserver(IUserSwitchObserver observer) {
        mUserController.registerUserSwitchObserver(observer);
    public void registerUserSwitchObserver(IUserSwitchObserver observer, String name) {
        mUserController.registerUserSwitchObserver(observer, name);
    }
    @Override
Loading