1258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani/* 2258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani** 3258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani** Copyright 2012, The Android Open Source Project 4258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani** 5258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani** Licensed under the Apache License, Version 2.0 (the "License"); 6258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani** you may not use this file except in compliance with the License. 7258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani** You may obtain a copy of the License at 8258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani** 9258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani** http://www.apache.org/licenses/LICENSE-2.0 10258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani** 11258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani** Unless required by applicable law or agreed to in writing, software 12258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani** distributed under the License is distributed on an "AS IS" BASIS, 13258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani** See the License for the specific language governing permissions and 15258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani** limitations under the License. 16258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani*/ 17258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani 18258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasanipackage android.os; 19258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani 20e4cf73437a18c1444055f88a1fcc0d146ec23ac5Amith Yamasaniimport android.os.Bundle; 2112747879b0204b9dfee997eddc981d09289e8b77Amith Yamasaniimport android.os.PersistableBundle; 22258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasaniimport android.content.pm.UserInfo; 23f02420c5e1bcc8b2c278f272aca633fe6d2b4e88Benjamin Franzimport android.content.IntentSender; 24df2e92a535e19c00edd37318d974dab992ccc2c1Amith Yamasaniimport android.content.RestrictionEntry; 25e928d7d95dbb64627e6ff3a0572190c555b59d96Amith Yamasaniimport android.graphics.Bitmap; 261bdff9139fd412b36d5d2d783574b6418fcb198aAdrian Roosimport android.os.ParcelFileDescriptor; 27258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani 28258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani/** 29258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani * {@hide} 30258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani */ 31258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasaniinterface IUserManager { 32c5548c02fe0aa768ebfce88ac09393dabe61ec06Andres Morales 33c5548c02fe0aa768ebfce88ac09393dabe61ec06Andres Morales /* 34c5548c02fe0aa768ebfce88ac09393dabe61ec06Andres Morales * DO NOT MOVE - UserManager.h depends on the ordering of this function. 35c5548c02fe0aa768ebfce88ac09393dabe61ec06Andres Morales */ 36c5548c02fe0aa768ebfce88ac09393dabe61ec06Andres Morales int getCredentialOwnerProfile(int userHandle); 37c5548c02fe0aa768ebfce88ac09393dabe61ec06Andres Morales 38258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani UserInfo createUser(in String name, int flags); 392a764949c943681a4d25a17a0b203a0127a4a486Kenny Guy UserInfo createProfileForUser(in String name, int flags, int userHandle); 4012747879b0204b9dfee997eddc981d09289e8b77Amith Yamasani UserInfo createRestrictedProfile(String name, int parentUserHandle); 41df35d570ed25257c6782e632ab1bae5e1603855aAlexandra Gherghina void setUserEnabled(int userHandle); 42258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani boolean removeUser(int userHandle); 43258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani void setUserName(int userHandle, String name); 44e928d7d95dbb64627e6ff3a0572190c555b59d96Amith Yamasani void setUserIcon(int userHandle, in Bitmap icon); 451bdff9139fd412b36d5d2d783574b6418fcb198aAdrian Roos ParcelFileDescriptor getUserIcon(int userHandle); 4670f6c38644a4a6e28c016c265e6987bf00dd61f1Xiaohui Chen UserInfo getPrimaryUser(); 47920ace0bbc2d4133dbec991d2636c99a57d6245eAmith Yamasani List<UserInfo> getUsers(boolean excludeDying); 48385124d8cee38dee00d4fac31e8fbe46fb30565bAlexandra Gherghina List<UserInfo> getProfiles(int userHandle, boolean enabledOnly); 497f98aa4aa93497692f200c553d2d6fff402e3de2Fyodor Kupolov int[] getProfileIds(int userId, boolean enabledOnly); 5012747879b0204b9dfee997eddc981d09289e8b77Amith Yamasani boolean canAddMoreManagedProfiles(int userHandle, boolean allowedToRemoveOne); 51be81c800ae6216e30b6008b4c73172b36531c405Jessica Hummel UserInfo getProfileParent(int userHandle); 5212747879b0204b9dfee997eddc981d09289e8b77Amith Yamasani boolean isSameProfileGroup(int userHandle, int otherUserHandle); 53258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani UserInfo getUserInfo(int userHandle); 5412747879b0204b9dfee997eddc981d09289e8b77Amith Yamasani String getUserAccount(int userHandle); 5512747879b0204b9dfee997eddc981d09289e8b77Amith Yamasani void setUserAccount(int userHandle, String accountName); 56ff7233e2e3df4965b9ecadabfd78bb991fd1e102Fyodor Kupolov long getUserCreationTime(int userHandle); 5771e6c697e54a43d357cc25d87a446d140f17396aAmith Yamasani boolean isRestricted(); 5812747879b0204b9dfee997eddc981d09289e8b77Amith Yamasani boolean canHaveRestrictedProfile(int userHandle); 592a00329c6d55c6cd9166e01963d7410e95d80d21Amith Yamasani int getUserSerialNumber(int userHandle); 602a00329c6d55c6cd9166e01963d7410e95d80d21Amith Yamasani int getUserHandle(int userSerialNumber); 61e783460274047ab38e3b9c4294339ff130fe566cZoltan Szatmary-Ban int getUserRestrictionSource(String restrictionKey, int userHandle); 62e4cf73437a18c1444055f88a1fcc0d146ec23ac5Amith Yamasani Bundle getUserRestrictions(int userHandle); 633bbceddb94d627495c0022d6e3f92a5cb16aebeaZoltan Szatmary-Ban boolean hasBaseUserRestriction(String restrictionKey, int userHandle); 648cd28b57ed732656d002d97879e15c5695b54fffAmith Yamasani boolean hasUserRestriction(in String restrictionKey, int userHandle); 6512747879b0204b9dfee997eddc981d09289e8b77Amith Yamasani void setUserRestriction(String key, boolean value, int userHandle); 667e99bc02c8e2f44dd92d70bfa6e654297e5286d8Amith Yamasani void setApplicationRestrictions(in String packageName, in Bundle restrictions, 67df2e92a535e19c00edd37318d974dab992ccc2c1Amith Yamasani int userHandle); 687e99bc02c8e2f44dd92d70bfa6e654297e5286d8Amith Yamasani Bundle getApplicationRestrictions(in String packageName); 697e99bc02c8e2f44dd92d70bfa6e654297e5286d8Amith Yamasani Bundle getApplicationRestrictionsForUser(in String packageName, int userHandle); 70e4afaa3a3d7c2885b82fe43f51bcf04e036f7462Amith Yamasani void setDefaultGuestRestrictions(in Bundle restrictions); 71e4afaa3a3d7c2885b82fe43f51bcf04e036f7462Amith Yamasani Bundle getDefaultGuestRestrictions(); 721df1473008c24487701c5bc15f39ed9f9697f421Amith Yamasani boolean markGuestForDeletion(int userHandle); 730a29ecd8a53b5ac63b628e870a344650ff34c4b0Rubin Xu void setQuietModeEnabled(int userHandle, boolean enableQuietMode); 740a29ecd8a53b5ac63b628e870a344650ff34c4b0Rubin Xu boolean isQuietModeEnabled(int userHandle); 75f02420c5e1bcc8b2c278f272aca633fe6d2b4e88Benjamin Franz boolean trySetQuietModeDisabled(int userHandle, in IntentSender target); 7612747879b0204b9dfee997eddc981d09289e8b77Amith Yamasani void setSeedAccountData(int userHandle, in String accountName, 7712747879b0204b9dfee997eddc981d09289e8b77Amith Yamasani in String accountType, in PersistableBundle accountOptions, boolean persist); 7812747879b0204b9dfee997eddc981d09289e8b77Amith Yamasani String getSeedAccountName(); 7912747879b0204b9dfee997eddc981d09289e8b77Amith Yamasani String getSeedAccountType(); 8012747879b0204b9dfee997eddc981d09289e8b77Amith Yamasani PersistableBundle getSeedAccountOptions(); 8112747879b0204b9dfee997eddc981d09289e8b77Amith Yamasani void clearSeedAccountData(); 8212747879b0204b9dfee997eddc981d09289e8b77Amith Yamasani boolean someUserHasSeedAccount(in String accountName, in String accountType); 838673b2899e775014336efff44ea88dcac2b25bddTony Mak boolean isManagedProfile(int userId); 84258848d2ae04f447ff1c18023fa76b139fcc0862Amith Yamasani} 85