diff options
-rw-r--r-- | core/java/android/service/trust/TrustAgentService.java | 14 | ||||
-rw-r--r-- | services/core/java/com/android/server/trust/TrustAgentWrapper.java | 3 |
2 files changed, 11 insertions, 6 deletions
diff --git a/core/java/android/service/trust/TrustAgentService.java b/core/java/android/service/trust/TrustAgentService.java index 706b934..a3178e2 100644 --- a/core/java/android/service/trust/TrustAgentService.java +++ b/core/java/android/service/trust/TrustAgentService.java @@ -122,12 +122,14 @@ public class TrustAgentService extends Service { case MSG_CONFIGURE: ConfigurationData data = (ConfigurationData) msg.obj; boolean result = onConfigure(data.options); - try { - synchronized (mLock) { - mCallback.onConfigureCompleted(result, data.token); + if (data.token != null) { + try { + synchronized (mLock) { + mCallback.onConfigureCompleted(result, data.token); + } + } catch (RemoteException e) { + onError("calling onSetTrustAgentFeaturesEnabledCompleted()"); } - } catch (RemoteException e) { - onError("calling onSetTrustAgentFeaturesEnabledCompleted()"); } break; case MSG_TRUST_TIMEOUT: @@ -203,7 +205,7 @@ public class TrustAgentService extends Service { * PersistableBundle)}. * <p>Agents that support configuration options should overload this method and return 'true'. * - * @param options bundle containing all options or null if none. + * @param options The aggregated list of options or an empty list if no restrictions apply. * @return true if the {@link TrustAgentService} supports configuration options. */ public boolean onConfigure(List<PersistableBundle> options) { diff --git a/services/core/java/com/android/server/trust/TrustAgentWrapper.java b/services/core/java/com/android/server/trust/TrustAgentWrapper.java index 583cc6b..0109313 100644 --- a/services/core/java/com/android/server/trust/TrustAgentWrapper.java +++ b/services/core/java/com/android/server/trust/TrustAgentWrapper.java @@ -40,6 +40,7 @@ import android.util.Slog; import android.service.trust.ITrustAgentService; import android.service.trust.ITrustAgentServiceCallback; +import java.util.Collections; import java.util.List; /** @@ -359,6 +360,8 @@ public class TrustAgentWrapper { mSetTrustAgentFeaturesToken = new Binder(); mTrustAgentService.onConfigure(config, mSetTrustAgentFeaturesToken); } + } else { + mTrustAgentService.onConfigure(Collections.EMPTY_LIST, null); } final long maxTimeToLock = dpm.getMaximumTimeToLock(null); if (maxTimeToLock != mMaximumTimeToLock) { |