152c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani/*
252c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani * Copyright (C) 2012 The Android Open Source Project
352c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani *
452c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani * Licensed under the Apache License, Version 2.0 (the "License");
552c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani * you may not use this file except in compliance with the License.
652c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani * You may obtain a copy of the License at
752c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani *
852c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani *      http://www.apache.org/licenses/LICENSE-2.0
952c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani *
1052c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani * Unless required by applicable law or agreed to in writing, software
1152c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani * distributed under the License is distributed on an "AS IS" BASIS,
1252c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1352c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani * See the License for the specific language governing permissions and
1452c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani * limitations under the License.
1552c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani */
1652c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani
1752c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasanipackage com.android.internal.widget;
1852c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani
19b5e4722891e7bbf2fffcd995af02838667a3ababAdrian Roosimport android.app.trust.IStrongAuthTracker;
20e8fde5d9666eea10307cbc27f4b1a94d3cbb4ec9Jorim Jaggiimport com.android.internal.widget.ICheckCredentialProgressCallback;
212397427cb1a0bad8a42e6a342dcf29b31e40a234Andres Moralesimport com.android.internal.widget.VerifyCredentialResponse;
222397427cb1a0bad8a42e6a342dcf29b31e40a234Andres Morales
2352c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani/** {@hide} */
2452c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasaniinterface ILockSettings {
2552c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani    void setBoolean(in String key, in boolean value, in int userId);
2652c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani    void setLong(in String key, in long value, in int userId);
2752c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani    void setString(in String key, in String value, in int userId);
2852c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani    boolean getBoolean(in String key, in boolean defaultValue, in int userId);
2952c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani    long getLong(in String key, in long defaultValue, in int userId);
3052c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani    String getString(in String key, in String defaultValue, in int userId);
318fa5665f0e757cec0063fb4cf1354f1596f93a91Andres Morales    void setLockPattern(in String pattern, in String savedPattern, int userId);
324613fe41ac9e817e76d7087de45bf01f4a6584d6Ricky Wai    void resetKeyStore(int userId);
33e8fde5d9666eea10307cbc27f4b1a94d3cbb4ec9Jorim Jaggi    VerifyCredentialResponse checkPattern(in String pattern, int userId,
34e8fde5d9666eea10307cbc27f4b1a94d3cbb4ec9Jorim Jaggi            in ICheckCredentialProgressCallback progressCallback);
352397427cb1a0bad8a42e6a342dcf29b31e40a234Andres Morales    VerifyCredentialResponse verifyPattern(in String pattern, long challenge, int userId);
368fa5665f0e757cec0063fb4cf1354f1596f93a91Andres Morales    void setLockPassword(in String password, in String savedPassword, int userId);
37e8fde5d9666eea10307cbc27f4b1a94d3cbb4ec9Jorim Jaggi    VerifyCredentialResponse checkPassword(in String password, int userId,
38e8fde5d9666eea10307cbc27f4b1a94d3cbb4ec9Jorim Jaggi            in ICheckCredentialProgressCallback progressCallback);
392397427cb1a0bad8a42e6a342dcf29b31e40a234Andres Morales    VerifyCredentialResponse verifyPassword(in String password, long challenge, int userId);
4053940d4c7f45a26d8b571982a1f8f4b8094aa5e0Ricky Wai    VerifyCredentialResponse verifyTiedProfileChallenge(String password, boolean isPattern, long challenge, int userId);
41945490c12e32b1c13b9097c00702558260b2011fPaul Lawrence    boolean checkVoldPassword(int userId);
4252c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani    boolean havePattern(int userId);
4352c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani    boolean havePassword(int userId);
44dc283a897680ffd33c4d15535ebe778ba5b42c43Ricky Wai    void setSeparateProfileChallengeEnabled(int userId, boolean enabled, String managedUserPassword);
45dc283a897680ffd33c4d15535ebe778ba5b42c43Ricky Wai    boolean getSeparateProfileChallengeEnabled(int userId);
46b5e4722891e7bbf2fffcd995af02838667a3ababAdrian Roos    void registerStrongAuthTracker(in IStrongAuthTracker tracker);
47b5e4722891e7bbf2fffcd995af02838667a3ababAdrian Roos    void unregisterStrongAuthTracker(in IStrongAuthTracker tracker);
48b5e4722891e7bbf2fffcd995af02838667a3ababAdrian Roos    void requireStrongAuth(int strongAuthReason, int userId);
494f93c58b393bad5d0bcc4237fa66f14fb9c9ee28Jim Miller    void systemReady();
504ab7e595a5deef72448da950f2f973bc0c90fe18Adrian Roos    void userPresent(int userId);
51a0940d33dcbac0245ad5467d9c302f8eaee615dcVictor Chang    int getStrongAuthForUser(int userId);
5252c489cd63cca0361f374f7cb392018fabfa8bccAmith Yamasani}
53