Merge "QS API: Handle return value from bindServiceAsUser" into nyc-dev
am: 7e10e630b4
* commit '7e10e630b4df10b9ce92953e98dec9d2cda1bfa2':
QS API: Handle return value from bindServiceAsUser
Change-Id: I40048d7a00969f63cbd8bc969417506a8afaa6f6
This commit is contained in:
@@ -81,6 +81,8 @@ public class TileLifecycleManager extends BroadcastReceiver implements
|
|||||||
private IQSService mService;
|
private IQSService mService;
|
||||||
private boolean mUnbindImmediate;
|
private boolean mUnbindImmediate;
|
||||||
private TileChangeListener mChangeListener;
|
private TileChangeListener mChangeListener;
|
||||||
|
// Return value from bindServiceAsUser, determines whether safe to call unbind.
|
||||||
|
private boolean mIsBound;
|
||||||
|
|
||||||
public TileLifecycleManager(Handler handler, Context context, Intent intent, UserHandle user) {
|
public TileLifecycleManager(Handler handler, Context context, Intent intent, UserHandle user) {
|
||||||
mContext = context;
|
mContext = context;
|
||||||
@@ -132,7 +134,7 @@ public class TileLifecycleManager extends BroadcastReceiver implements
|
|||||||
}
|
}
|
||||||
if (DEBUG) Log.d(TAG, "Binding service " + mIntent + " " + mUser);
|
if (DEBUG) Log.d(TAG, "Binding service " + mIntent + " " + mUser);
|
||||||
mBindTryCount++;
|
mBindTryCount++;
|
||||||
mContext.bindServiceAsUser(mIntent, this,
|
mIsBound = mContext.bindServiceAsUser(mIntent, this,
|
||||||
Context.BIND_AUTO_CREATE | Context.BIND_FOREGROUND_SERVICE_WHILE_AWAKE,
|
Context.BIND_AUTO_CREATE | Context.BIND_FOREGROUND_SERVICE_WHILE_AWAKE,
|
||||||
mUser);
|
mUser);
|
||||||
} else {
|
} else {
|
||||||
@@ -140,7 +142,10 @@ public class TileLifecycleManager extends BroadcastReceiver implements
|
|||||||
// Give it another chance next time it needs to be bound, out of kindness.
|
// Give it another chance next time it needs to be bound, out of kindness.
|
||||||
mBindTryCount = 0;
|
mBindTryCount = 0;
|
||||||
mWrapper = null;
|
mWrapper = null;
|
||||||
mContext.unbindService(this);
|
if (mIsBound) {
|
||||||
|
mContext.unbindService(this);
|
||||||
|
mIsBound = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user