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

Commit 3339f215 authored by Tianjie Xu's avatar Tianjie Xu Committed by Automerger Merge Worker
Browse files

Merge "Fixes how unbindService works" am: b7682d40

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I16e115505e4b3c2ac0c9fe78e82b704cb1ce4ceb
parents 8e3cdfb0 b7682d40
Loading
Loading
Loading
Loading
+18 −22
Original line number Diff line number Diff line
@@ -106,6 +106,8 @@ public class ResumeOnRebootServiceProvider {
        private final Context mContext;
        private final ComponentName mComponentName;
        private IResumeOnRebootService mBinder;
        @Nullable
        ServiceConnection mServiceConnection;

        private ResumeOnRebootServiceConnection(Context context,
                @NonNull ComponentName componentName) {
@@ -115,17 +117,9 @@ public class ResumeOnRebootServiceProvider {

        /** Unbind from the service */
        public void unbindService() {
            mContext.unbindService(new ServiceConnection() {
                @Override
                public void onServiceConnected(ComponentName name, IBinder service) {
                }

                @Override
                public void onServiceDisconnected(ComponentName name) {
                    mBinder = null;

            if (mServiceConnection != null) {
                mContext.unbindService(mServiceConnection);
            }
            });
        }

        /** Bind to the service */
@@ -134,7 +128,7 @@ public class ResumeOnRebootServiceProvider {
                CountDownLatch connectionLatch = new CountDownLatch(1);
                Intent intent = new Intent();
                intent.setComponent(mComponentName);
                final boolean success = mContext.bindServiceAsUser(intent, new ServiceConnection() {
                mServiceConnection = new ServiceConnection() {
                    @Override
                    public void onServiceConnected(ComponentName name, IBinder service) {
                        mBinder = IResumeOnRebootService.Stub.asInterface(service);
@@ -143,8 +137,10 @@ public class ResumeOnRebootServiceProvider {

                    @Override
                    public void onServiceDisconnected(ComponentName name) {
                        mBinder = null;
                    }
                        },
                };
                final boolean success = mContext.bindServiceAsUser(intent, mServiceConnection,
                        Context.BIND_AUTO_CREATE | Context.BIND_FOREGROUND_SERVICE,
                        BackgroundThread.getHandler(), UserHandle.SYSTEM);