* commit '314661a42744c54549c60ea50861ccfb1e9f6c47': Properly destroy TrustAgentWrapper when not bound
This commit is contained in:
@@ -39,9 +39,7 @@ import android.util.Log;
|
||||
import android.util.Slog;
|
||||
import android.service.trust.ITrustAgentService;
|
||||
import android.service.trust.ITrustAgentServiceCallback;
|
||||
import android.service.trust.TrustAgentService;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -160,7 +158,7 @@ public class TrustAgentWrapper {
|
||||
mTrustManagerService.updateTrust(mUserId, false);
|
||||
break;
|
||||
case MSG_RESTART_TIMEOUT:
|
||||
unbind();
|
||||
destroy();
|
||||
mTrustManagerService.resetAgent(mName, mUserId);
|
||||
break;
|
||||
case MSG_SET_TRUST_AGENT_FEATURES_COMPLETED:
|
||||
@@ -367,7 +365,9 @@ public class TrustAgentWrapper {
|
||||
return mMessage;
|
||||
}
|
||||
|
||||
public void unbind() {
|
||||
public void destroy() {
|
||||
mHandler.removeMessages(MSG_RESTART_TIMEOUT);
|
||||
|
||||
if (!mBound) {
|
||||
return;
|
||||
}
|
||||
@@ -378,7 +378,6 @@ public class TrustAgentWrapper {
|
||||
mTrustAgentService = null;
|
||||
mSetTrustAgentFeaturesToken = null;
|
||||
mHandler.sendEmptyMessage(MSG_REVOKE_TRUST);
|
||||
mHandler.removeMessages(MSG_RESTART_TIMEOUT);
|
||||
}
|
||||
|
||||
public boolean isConnected() {
|
||||
|
||||
@@ -208,7 +208,8 @@ public class TrustManagerService extends SystemService {
|
||||
obsoleteAgents.addAll(mActiveAgents);
|
||||
|
||||
for (UserInfo userInfo : userInfos) {
|
||||
if (userInfo.partial || !userInfo.isEnabled() || userInfo.guestToRemove) continue;
|
||||
if (userInfo == null || userInfo.partial || !userInfo.isEnabled()
|
||||
|| userInfo.guestToRemove) continue;
|
||||
if (!userInfo.supportsSwitchTo()) continue;
|
||||
if (!mActivityManager.isUserRunning(userInfo.id)) continue;
|
||||
if (lockPatternUtils.getKeyguardStoredPasswordQuality(userInfo.id)
|
||||
@@ -258,7 +259,7 @@ public class TrustManagerService extends SystemService {
|
||||
if (info.agent.isManagingTrust()) {
|
||||
trustMayHaveChanged = true;
|
||||
}
|
||||
info.agent.unbind();
|
||||
info.agent.destroy();
|
||||
mActiveAgents.remove(info);
|
||||
}
|
||||
}
|
||||
@@ -290,7 +291,7 @@ public class TrustManagerService extends SystemService {
|
||||
if (info.agent.isManagingTrust()) {
|
||||
trustMayHaveChanged = true;
|
||||
}
|
||||
info.agent.unbind();
|
||||
info.agent.destroy();
|
||||
mActiveAgents.removeAt(i);
|
||||
}
|
||||
}
|
||||
@@ -308,7 +309,7 @@ public class TrustManagerService extends SystemService {
|
||||
if (info.agent.isManagingTrust()) {
|
||||
trustMayHaveChanged = true;
|
||||
}
|
||||
info.agent.unbind();
|
||||
info.agent.destroy();
|
||||
mActiveAgents.removeAt(i);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user