BridgePackageManager.java revision 8ee39320e64c39a51b761d1af3a2af3752a54ab5
139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta/* 239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta * Copyright (C) 2015 The Android Open Source Project 339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta * 439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta * Licensed under the Apache License, Version 2.0 (the "License"); 539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta * you may not use this file except in compliance with the License. 639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta * You may obtain a copy of the License at 739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta * 839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta * http://www.apache.org/licenses/LICENSE-2.0 939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta * 1039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta * Unless required by applicable law or agreed to in writing, software 1139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta * distributed under the License is distributed on an "AS IS" BASIS, 1239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta * See the License for the specific language governing permissions and 1439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta * limitations under the License. 1539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta */ 1639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 1739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptapackage com.android.layoutlib.bridge.android; 1839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 199f86b34f8308a132e91650920f1d58be0786d236Svet Ganovimport android.annotation.NonNull; 2039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.app.PackageInstallObserver; 2139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.ComponentName; 2239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.Intent; 2339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.IntentFilter; 2439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.IntentSender; 2539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.pm.ActivityInfo; 2639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.pm.ApplicationInfo; 2739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.pm.ContainerEncryptionParams; 289f86b34f8308a132e91650920f1d58be0786d236Svet Ganovimport android.content.pm.EphemeralApplicationInfo; 2939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.pm.FeatureInfo; 3039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.pm.IPackageDataObserver; 3139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.pm.IPackageDeleteObserver; 3239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.pm.IPackageInstallObserver; 3339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.pm.IPackageStatsObserver; 3439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.pm.InstrumentationInfo; 3539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.pm.IntentFilterVerificationInfo; 3639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.pm.KeySet; 3739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.pm.PackageInfo; 3839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.pm.PackageInstaller; 3939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.pm.PackageItemInfo; 4039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.pm.PackageManager; 4139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.pm.PermissionGroupInfo; 4239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.pm.PermissionInfo; 4339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.pm.ProviderInfo; 4439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.pm.ResolveInfo; 4539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.pm.ServiceInfo; 4639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.pm.VerificationParams; 4739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.pm.VerifierDeviceIdentity; 4839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.res.Resources; 4939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.content.res.XmlResourceParser; 5039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.graphics.Rect; 5139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.graphics.drawable.Drawable; 5239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.net.Uri; 5339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.os.Handler; 5439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.os.UserHandle; 5539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport android.os.storage.VolumeInfo; 5639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptaimport java.util.List; 5739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 5839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta/** 5939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta * An implementation of {@link PackageManager} that does nothing. 6039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta */ 6139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta@SuppressWarnings("deprecation") 6239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Guptapublic class BridgePackageManager extends PackageManager { 6339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 6439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public PackageInfo getPackageInfo(String packageName, int flags) throws NameNotFoundException { 6539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 6639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 6739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 6839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 6911f0fef6b6a932ec54515f8e37a6c7b2b680328cNicolas Prevot public PackageInfo getPackageInfoAsUser(String packageName, int flags, int userId) 7011f0fef6b6a932ec54515f8e37a6c7b2b680328cNicolas Prevot throws NameNotFoundException { 7111f0fef6b6a932ec54515f8e37a6c7b2b680328cNicolas Prevot return null; 7211f0fef6b6a932ec54515f8e37a6c7b2b680328cNicolas Prevot } 7311f0fef6b6a932ec54515f8e37a6c7b2b680328cNicolas Prevot 7411f0fef6b6a932ec54515f8e37a6c7b2b680328cNicolas Prevot @Override 7539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public String[] currentToCanonicalPackageNames(String[] names) { 7639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return new String[0]; 7739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 7839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 7939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 8039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public String[] canonicalToCurrentPackageNames(String[] names) { 8139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return new String[0]; 8239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 8339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 8439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 8539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public Intent getLaunchIntentForPackage(String packageName) { 8639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 8739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 8839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 8939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 9039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public Intent getLeanbackLaunchIntentForPackage(String packageName) { 9139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 9239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 9339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 9439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 9539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public int[] getPackageGids(String packageName) throws NameNotFoundException { 9639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return new int[0]; 9739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 9839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 9939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 1006852f8a6ac24dab52df10dedc600a305a0c00953Jeff Sharkey public int[] getPackageGids(String packageName, int flags) throws NameNotFoundException { 1016852f8a6ac24dab52df10dedc600a305a0c00953Jeff Sharkey return new int[0]; 1026852f8a6ac24dab52df10dedc600a305a0c00953Jeff Sharkey } 1036852f8a6ac24dab52df10dedc600a305a0c00953Jeff Sharkey 1046852f8a6ac24dab52df10dedc600a305a0c00953Jeff Sharkey @Override 1056852f8a6ac24dab52df10dedc600a305a0c00953Jeff Sharkey public int getPackageUid(String packageName, int flags) throws NameNotFoundException { 1066852f8a6ac24dab52df10dedc600a305a0c00953Jeff Sharkey return 0; 1076852f8a6ac24dab52df10dedc600a305a0c00953Jeff Sharkey } 1086852f8a6ac24dab52df10dedc600a305a0c00953Jeff Sharkey 1096852f8a6ac24dab52df10dedc600a305a0c00953Jeff Sharkey @Override 1102b2f9c87ff5b1d507381e67299622de54417df79Jeff Sharkey public int getPackageUidAsUser(String packageName, int userHandle) throws NameNotFoundException { 11139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return 0; 11239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 11339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 11439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 1156852f8a6ac24dab52df10dedc600a305a0c00953Jeff Sharkey public int getPackageUidAsUser(String packageName, int flags, int userHandle) throws NameNotFoundException { 1166852f8a6ac24dab52df10dedc600a305a0c00953Jeff Sharkey return 0; 1176852f8a6ac24dab52df10dedc600a305a0c00953Jeff Sharkey } 1186852f8a6ac24dab52df10dedc600a305a0c00953Jeff Sharkey 1196852f8a6ac24dab52df10dedc600a305a0c00953Jeff Sharkey @Override 12039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public PermissionInfo getPermissionInfo(String name, int flags) throws NameNotFoundException { 12139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 12239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 12339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 12439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 12539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public List<PermissionInfo> queryPermissionsByGroup(String group, int flags) 12639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta throws NameNotFoundException { 12739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 12839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 12939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 13039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 13139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public PermissionGroupInfo getPermissionGroupInfo(String name, int flags) 13239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta throws NameNotFoundException { 13339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 13439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 13539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 13639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 13739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public List<PermissionGroupInfo> getAllPermissionGroups(int flags) { 13839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 13939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 14039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 14139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 14239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public ApplicationInfo getApplicationInfo(String packageName, int flags) 14339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta throws NameNotFoundException { 14439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 14539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 14639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 14739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 148e2abe8e77aa1946d843e1ee54ee719459fa8e31dJeff Sharkey public ApplicationInfo getApplicationInfoAsUser(String packageName, int flags, int userId) 149e2abe8e77aa1946d843e1ee54ee719459fa8e31dJeff Sharkey throws NameNotFoundException { 150e2abe8e77aa1946d843e1ee54ee719459fa8e31dJeff Sharkey return null; 151e2abe8e77aa1946d843e1ee54ee719459fa8e31dJeff Sharkey } 152e2abe8e77aa1946d843e1ee54ee719459fa8e31dJeff Sharkey 153e2abe8e77aa1946d843e1ee54ee719459fa8e31dJeff Sharkey @Override 15439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public ActivityInfo getActivityInfo(ComponentName component, int flags) 15539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta throws NameNotFoundException { 15639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 15739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 15839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 15939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 16039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public ActivityInfo getReceiverInfo(ComponentName component, int flags) 16139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta throws NameNotFoundException { 16239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 16339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 16439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 16539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 16639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public ServiceInfo getServiceInfo(ComponentName component, int flags) 16739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta throws NameNotFoundException { 16839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 16939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 17039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 17139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 17239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public ProviderInfo getProviderInfo(ComponentName component, int flags) 17339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta throws NameNotFoundException { 17439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 17539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 17639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 17739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 17839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public List<PackageInfo> getInstalledPackages(int flags) { 17939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 18039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 18139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 18239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 18339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public List<PackageInfo> getPackagesHoldingPermissions(String[] permissions, int flags) { 18439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 18539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 18639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 18739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 1882b2f9c87ff5b1d507381e67299622de54417df79Jeff Sharkey public List<PackageInfo> getInstalledPackagesAsUser(int flags, int userId) { 18939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 19039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 19139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 19239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 19339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public int checkPermission(String permName, String pkgName) { 19439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return 0; 19539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 19639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 197c885d912b78cfc7c5eb65c26fdf061fd6ca727d0Bart Sears @Override 198a21eaf55fe5e0da99ee02d18d91219b749fdab36Svetoslav public boolean isPermissionRevokedByPolicy(String permName, String pkgName) { 199a21eaf55fe5e0da99ee02d18d91219b749fdab36Svetoslav return false; 200a21eaf55fe5e0da99ee02d18d91219b749fdab36Svetoslav } 201a21eaf55fe5e0da99ee02d18d91219b749fdab36Svetoslav 20239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 203bad9d212a9e9c4c9ec760db70928e5d10c92329fSvet Ganov public String getPermissionControllerPackageName() { 204bad9d212a9e9c4c9ec760db70928e5d10c92329fSvet Ganov return null; 205bad9d212a9e9c4c9ec760db70928e5d10c92329fSvet Ganov } 206bad9d212a9e9c4c9ec760db70928e5d10c92329fSvet Ganov 207bad9d212a9e9c4c9ec760db70928e5d10c92329fSvet Ganov @Override 20839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public boolean addPermission(PermissionInfo info) { 20939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return false; 21039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 21139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 21239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 21339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public boolean addPermissionAsync(PermissionInfo info) { 21439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return false; 21539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 21639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 21739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 21839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void removePermission(String name) { 21939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 22039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 22139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 22239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void grantRuntimePermission(String packageName, String permissionName, UserHandle user) { 22339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 22439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 22539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 22639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void revokeRuntimePermission(String packageName, String permissionName, 22739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta UserHandle user) { 22839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 22939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 23039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 23139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public int getPermissionFlags(String permissionName, String packageName, UserHandle user) { 23239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return 0; 23339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 23439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 23539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 23639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void updatePermissionFlags(String permissionName, String packageName, int flagMask, 23739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta int flagValues, UserHandle user) { 23839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 23939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 24039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 24139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public boolean shouldShowRequestPermissionRationale(String permission) { 24239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return false; 24339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 24439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 24539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 24639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public int checkSignatures(String pkg1, String pkg2) { 24739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return 0; 24839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 24939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 25039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 25139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public int checkSignatures(int uid1, int uid2) { 25239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return 0; 25339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 25439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 25539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 25639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public String[] getPackagesForUid(int uid) { 25739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return new String[0]; 25839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 25939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 26039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 26139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public String getNameForUid(int uid) { 26239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 26339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 26439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 26539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 26639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public int getUidForSharedUser(String sharedUserName) throws NameNotFoundException { 26739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return 0; 26839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 26939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 27039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 27139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public List<ApplicationInfo> getInstalledApplications(int flags) { 27239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 27339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 27439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 27539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 2769f86b34f8308a132e91650920f1d58be0786d236Svet Ganov public List<EphemeralApplicationInfo> getEphemeralApplications() { 2779f86b34f8308a132e91650920f1d58be0786d236Svet Ganov return null; 2789f86b34f8308a132e91650920f1d58be0786d236Svet Ganov } 2799f86b34f8308a132e91650920f1d58be0786d236Svet Ganov 2809f86b34f8308a132e91650920f1d58be0786d236Svet Ganov @Override 2819f86b34f8308a132e91650920f1d58be0786d236Svet Ganov public Drawable getEphemeralApplicationIcon(String packageName) { 2829f86b34f8308a132e91650920f1d58be0786d236Svet Ganov throw new UnsupportedOperationException(); 2839f86b34f8308a132e91650920f1d58be0786d236Svet Ganov } 2849f86b34f8308a132e91650920f1d58be0786d236Svet Ganov 2859f86b34f8308a132e91650920f1d58be0786d236Svet Ganov @Override 2869f86b34f8308a132e91650920f1d58be0786d236Svet Ganov public byte[] getEphemeralCookie() { 2879f86b34f8308a132e91650920f1d58be0786d236Svet Ganov return new byte[0]; 2889f86b34f8308a132e91650920f1d58be0786d236Svet Ganov } 2899f86b34f8308a132e91650920f1d58be0786d236Svet Ganov 2909f86b34f8308a132e91650920f1d58be0786d236Svet Ganov @Override 2919f86b34f8308a132e91650920f1d58be0786d236Svet Ganov public boolean isEphemeralApplication() { 2929f86b34f8308a132e91650920f1d58be0786d236Svet Ganov return false; 2939f86b34f8308a132e91650920f1d58be0786d236Svet Ganov } 2949f86b34f8308a132e91650920f1d58be0786d236Svet Ganov 2959f86b34f8308a132e91650920f1d58be0786d236Svet Ganov @Override 2969f86b34f8308a132e91650920f1d58be0786d236Svet Ganov public int getEphemeralCookieMaxSizeBytes() { 2979f86b34f8308a132e91650920f1d58be0786d236Svet Ganov return 0; 2989f86b34f8308a132e91650920f1d58be0786d236Svet Ganov } 2999f86b34f8308a132e91650920f1d58be0786d236Svet Ganov 3009f86b34f8308a132e91650920f1d58be0786d236Svet Ganov @Override 3019f86b34f8308a132e91650920f1d58be0786d236Svet Ganov public boolean setEphemeralCookie(@NonNull byte[] cookie) { 3029f86b34f8308a132e91650920f1d58be0786d236Svet Ganov return false; 3039f86b34f8308a132e91650920f1d58be0786d236Svet Ganov } 3049f86b34f8308a132e91650920f1d58be0786d236Svet Ganov 3059f86b34f8308a132e91650920f1d58be0786d236Svet Ganov @Override 30639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public String[] getSystemSharedLibraryNames() { 30739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return new String[0]; 30839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 30988f19731d666fc862ecbbff3508efa1ec3dca89bSvet Ganov 31088f19731d666fc862ecbbff3508efa1ec3dca89bSvet Ganov @Override 31188f19731d666fc862ecbbff3508efa1ec3dca89bSvet Ganov public String getServicesSystemSharedLibraryPackageName() { 31288f19731d666fc862ecbbff3508efa1ec3dca89bSvet Ganov return null; 31388f19731d666fc862ecbbff3508efa1ec3dca89bSvet Ganov } 31439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 31539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 31639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public FeatureInfo[] getSystemAvailableFeatures() { 31739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return new FeatureInfo[0]; 31839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 31939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 32039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 32139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public boolean hasSystemFeature(String name) { 32239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return false; 32339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 32439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 32539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 326c262ff1a96632aa6fd2eea7c8244e43d21743a27Jeff Sharkey public boolean hasSystemFeature(String name, int version) { 327c262ff1a96632aa6fd2eea7c8244e43d21743a27Jeff Sharkey return false; 328c262ff1a96632aa6fd2eea7c8244e43d21743a27Jeff Sharkey } 329c262ff1a96632aa6fd2eea7c8244e43d21743a27Jeff Sharkey 330c262ff1a96632aa6fd2eea7c8244e43d21743a27Jeff Sharkey @Override 33139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public ResolveInfo resolveActivity(Intent intent, int flags) { 33239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 33339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 33439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 33539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 33639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public ResolveInfo resolveActivityAsUser(Intent intent, int flags, int userId) { 33739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 33839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 33939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 34039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 34139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public List<ResolveInfo> queryIntentActivities(Intent intent, int flags) { 34239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 34339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 34439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 34539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 34639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public List<ResolveInfo> queryIntentActivitiesAsUser(Intent intent, int flags, int userId) { 34739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 34839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 34939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 35039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 35139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public List<ResolveInfo> queryIntentActivityOptions(ComponentName caller, Intent[] specifics, 35239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta Intent intent, int flags) { 35339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 35439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 35539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 35639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 35739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public List<ResolveInfo> queryBroadcastReceivers(Intent intent, int flags) { 35839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 35939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 36039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 36139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 3622b2f9c87ff5b1d507381e67299622de54417df79Jeff Sharkey public List<ResolveInfo> queryBroadcastReceiversAsUser(Intent intent, int flags, int userId) { 36339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 36439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 36539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 36639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 36739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public ResolveInfo resolveService(Intent intent, int flags) { 36839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 36939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 37039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 37139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 37239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public List<ResolveInfo> queryIntentServices(Intent intent, int flags) { 37339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 37439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 37539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 37639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 37739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public List<ResolveInfo> queryIntentServicesAsUser(Intent intent, int flags, int userId) { 37839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 37939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 38039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 38139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 38239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public List<ResolveInfo> queryIntentContentProvidersAsUser(Intent intent, int flags, 38339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta int userId) { 38439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 38539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 38639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 38739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 38839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public List<ResolveInfo> queryIntentContentProviders(Intent intent, int flags) { 38939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 39039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 39139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 39239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 39339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public ProviderInfo resolveContentProvider(String name, int flags) { 39439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 39539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 39639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 39739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 39839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public ProviderInfo resolveContentProviderAsUser(String name, int flags, int userId) { 39939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 40039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 40139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 40239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 40339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public List<ProviderInfo> queryContentProviders(String processName, int uid, int flags) { 40439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 40539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 40639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 40739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 40839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public InstrumentationInfo getInstrumentationInfo(ComponentName className, int flags) 40939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta throws NameNotFoundException { 41039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 41139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 41239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 41339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 41439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public List<InstrumentationInfo> queryInstrumentation(String targetPackage, int flags) { 41539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 41639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 41739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 41839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 41939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public Drawable getDrawable(String packageName, int resid, ApplicationInfo appInfo) { 42039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 42139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 42239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 42339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 42439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public Drawable getActivityIcon(ComponentName activityName) throws NameNotFoundException { 42539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 42639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 42739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 42839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 42939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public Drawable getActivityIcon(Intent intent) throws NameNotFoundException { 43039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 43139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 43239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 43339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 43439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public Drawable getActivityBanner(ComponentName activityName) throws NameNotFoundException { 43539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 43639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 43739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 43839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 43939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public Drawable getActivityBanner(Intent intent) throws NameNotFoundException { 44039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 44139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 44239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 44339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 44439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public Drawable getDefaultActivityIcon() { 44539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 44639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 44739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 44839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 44939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public Drawable getApplicationIcon(ApplicationInfo info) { 45039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 45139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 45239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 45339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 45439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public Drawable getApplicationIcon(String packageName) throws NameNotFoundException { 45539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 45639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 45739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 45839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 45939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public Drawable getApplicationBanner(ApplicationInfo info) { 46039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 46139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 46239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 46339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 46439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public Drawable getApplicationBanner(String packageName) throws NameNotFoundException { 46539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 46639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 46739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 46839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 46939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public Drawable getActivityLogo(ComponentName activityName) throws NameNotFoundException { 47039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 47139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 47239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 47339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 47439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public Drawable getActivityLogo(Intent intent) throws NameNotFoundException { 47539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 47639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 47739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 47839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 47939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public Drawable getApplicationLogo(ApplicationInfo info) { 48039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 48139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 48239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 48339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 48439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public Drawable getApplicationLogo(String packageName) throws NameNotFoundException { 48539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 48639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 48739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 48839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 48939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public Drawable getUserBadgedIcon(Drawable icon, UserHandle user) { 49039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 49139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 49239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 49339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 49439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public Drawable getUserBadgedDrawableForDensity(Drawable drawable, UserHandle user, 49539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta Rect badgeLocation, int badgeDensity) { 49639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 49739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 49839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 49939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 50039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public Drawable getUserBadgeForDensity(UserHandle user, int density) { 50139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 50239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 50339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 50439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 505b48f2ce5a4c3d24077cc8fd70a0c6432d9544285Selim Cinek public Drawable getUserBadgeForDensityNoBackground(UserHandle user, int density) { 506b48f2ce5a4c3d24077cc8fd70a0c6432d9544285Selim Cinek return null; 507b48f2ce5a4c3d24077cc8fd70a0c6432d9544285Selim Cinek } 508b48f2ce5a4c3d24077cc8fd70a0c6432d9544285Selim Cinek 509b48f2ce5a4c3d24077cc8fd70a0c6432d9544285Selim Cinek @Override 51039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public CharSequence getUserBadgedLabel(CharSequence label, UserHandle user) { 51139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 51239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 51339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 51439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 51539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public CharSequence getText(String packageName, int resid, ApplicationInfo appInfo) { 51639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 51739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 51839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 51939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 52039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public XmlResourceParser getXml(String packageName, int resid, ApplicationInfo appInfo) { 52139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 52239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 52339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 52439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 52539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public CharSequence getApplicationLabel(ApplicationInfo info) { 52639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 52739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 52839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 52939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 53039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public Resources getResourcesForActivity(ComponentName activityName) 53139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta throws NameNotFoundException { 53239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 53339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 53439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 53539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 53639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public Resources getResourcesForApplication(ApplicationInfo app) throws NameNotFoundException { 53739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 53839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 53939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 54039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 54139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public Resources getResourcesForApplication(String appPackageName) 54239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta throws NameNotFoundException { 54339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 54439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 54539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 54639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 54739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public Resources getResourcesForApplicationAsUser(String appPackageName, int userId) 54839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta throws NameNotFoundException { 54939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 55039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 55139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 55239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 55339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void installPackage(Uri packageURI, IPackageInstallObserver observer, int flags, 55439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta String installerPackageName) { 55539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 55639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 55739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 55839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void installPackageWithVerification(Uri packageURI, IPackageInstallObserver observer, 55939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta int flags, String installerPackageName, Uri verificationURI, 5605633003f0f651d78354e5b3079e50fa205a256a3Alex Klyubin ContainerEncryptionParams encryptionParams) { 56139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 56239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 56339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 56439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void installPackageWithVerificationAndEncryption(Uri packageURI, 56539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta IPackageInstallObserver observer, int flags, String installerPackageName, 56639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta VerificationParams verificationParams, ContainerEncryptionParams encryptionParams) { 56739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 56839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 56939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 57039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void installPackage(Uri packageURI, PackageInstallObserver observer, int flags, 57139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta String installerPackageName) { 57239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 57339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 57439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 57511f0fef6b6a932ec54515f8e37a6c7b2b680328cNicolas Prevot public void installPackageAsUser(Uri packageURI, PackageInstallObserver observer,int flags, 57611f0fef6b6a932ec54515f8e37a6c7b2b680328cNicolas Prevot String installerPackageName, int userId) { 57711f0fef6b6a932ec54515f8e37a6c7b2b680328cNicolas Prevot } 57811f0fef6b6a932ec54515f8e37a6c7b2b680328cNicolas Prevot 57911f0fef6b6a932ec54515f8e37a6c7b2b680328cNicolas Prevot @Override 58039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void installPackageWithVerification(Uri packageURI, PackageInstallObserver observer, 58139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta int flags, String installerPackageName, Uri verificationURI, 5825633003f0f651d78354e5b3079e50fa205a256a3Alex Klyubin ContainerEncryptionParams encryptionParams) { 58339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 58439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 58539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 58639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void installPackageWithVerificationAndEncryption(Uri packageURI, 58739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta PackageInstallObserver observer, int flags, String installerPackageName, 58839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta VerificationParams verificationParams, ContainerEncryptionParams encryptionParams) { 58939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 59039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 59139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 59239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public int installExistingPackage(String packageName) throws NameNotFoundException { 59339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return 0; 59439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 59539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 59639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 59711f0fef6b6a932ec54515f8e37a6c7b2b680328cNicolas Prevot public int installExistingPackageAsUser(String packageName, int userId) 59811f0fef6b6a932ec54515f8e37a6c7b2b680328cNicolas Prevot throws NameNotFoundException { 59911f0fef6b6a932ec54515f8e37a6c7b2b680328cNicolas Prevot return 0; 60011f0fef6b6a932ec54515f8e37a6c7b2b680328cNicolas Prevot } 60111f0fef6b6a932ec54515f8e37a6c7b2b680328cNicolas Prevot 60211f0fef6b6a932ec54515f8e37a6c7b2b680328cNicolas Prevot @Override 60339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void verifyPendingInstall(int id, int verificationCode) { 60439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 60539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 60639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 60739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void extendVerificationTimeout(int id, int verificationCodeAtTimeout, 60839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta long millisecondsToDelay) { 60939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 61039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 61139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 61239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void verifyIntentFilter(int verificationId, int verificationCode, 61339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta List<String> outFailedDomains) { 61439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 61539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 61639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 6172b2f9c87ff5b1d507381e67299622de54417df79Jeff Sharkey public int getIntentVerificationStatusAsUser(String packageName, int userId) { 61839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return 0; 61939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 62039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 62139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 6222b2f9c87ff5b1d507381e67299622de54417df79Jeff Sharkey public boolean updateIntentVerificationStatusAsUser(String packageName, int status, int userId) { 62339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return false; 62439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 62539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 62639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 62739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public List<IntentFilterVerificationInfo> getIntentFilterVerifications(String packageName) { 62839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 62939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 63039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 63139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 63239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public List<IntentFilter> getAllIntentFilters(String packageName) { 63339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 63439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 63539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 63639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 6372b2f9c87ff5b1d507381e67299622de54417df79Jeff Sharkey public String getDefaultBrowserPackageNameAsUser(int userId) { 63839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 63939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 64039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 64139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 6422b2f9c87ff5b1d507381e67299622de54417df79Jeff Sharkey public boolean setDefaultBrowserPackageNameAsUser(String packageName, int userId) { 64339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return false; 64439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 64539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 64639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 64739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void setInstallerPackageName(String targetPackage, String installerPackageName) { 64839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 64939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 65039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 65139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void deletePackage(String packageName, IPackageDeleteObserver observer, int flags) { 65239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 65339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 65439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 65511f0fef6b6a932ec54515f8e37a6c7b2b680328cNicolas Prevot public void deletePackageAsUser(String packageName, IPackageDeleteObserver observer, int flags, 65611f0fef6b6a932ec54515f8e37a6c7b2b680328cNicolas Prevot int userId) { 65711f0fef6b6a932ec54515f8e37a6c7b2b680328cNicolas Prevot } 65811f0fef6b6a932ec54515f8e37a6c7b2b680328cNicolas Prevot 65911f0fef6b6a932ec54515f8e37a6c7b2b680328cNicolas Prevot @Override 66039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public String getInstallerPackageName(String packageName) { 66139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 66239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 66339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 66439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 66539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void clearApplicationUserData(String packageName, IPackageDataObserver observer) { 66639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 66739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 66839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 66939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void deleteApplicationCacheFiles(String packageName, IPackageDataObserver observer) { 67039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 67139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 67239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 67339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void freeStorageAndNotify(String volumeUuid, long freeStorageSize, 67439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta IPackageDataObserver observer) { 67539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 67639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 67739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 67839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void freeStorage(String volumeUuid, long freeStorageSize, IntentSender pi) { 67939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 68039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 68139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 6822b2f9c87ff5b1d507381e67299622de54417df79Jeff Sharkey public void getPackageSizeInfoAsUser(String packageName, int userHandle, 68339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta IPackageStatsObserver observer) { 68439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 68539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 68639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 68739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void addPackageToPreferred(String packageName) { 68839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 68939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 69039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 69139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void removePackageFromPreferred(String packageName) { 69239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 69339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 69439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 69539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public List<PackageInfo> getPreferredPackages(int flags) { 69639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 69739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 69839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 69939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 70039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void addPreferredActivity(IntentFilter filter, int match, ComponentName[] set, 70139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta ComponentName activity) { 70239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 70339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 70439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 70539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void replacePreferredActivity(IntentFilter filter, int match, ComponentName[] set, 70639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta ComponentName activity) { 70739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 70839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 70939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 71039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void clearPackagePreferredActivities(String packageName) { 71139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 71239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 71339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 71439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public int getPreferredActivities(List<IntentFilter> outFilters, 71539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta List<ComponentName> outActivities, String packageName) { 71639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return 0; 71739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 71839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 71939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 72039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public ComponentName getHomeActivities(List<ResolveInfo> outActivities) { 72139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 72239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 72339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 72439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 72539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void setComponentEnabledSetting(ComponentName componentName, int newState, int flags) { 72639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 72739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 72839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 72939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public int getComponentEnabledSetting(ComponentName componentName) { 73039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return 0; 73139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 73239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 73339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 73439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void setApplicationEnabledSetting(String packageName, int newState, int flags) { 73539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 73639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 73739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 73839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public int getApplicationEnabledSetting(String packageName) { 73939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return 0; 74039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 74139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 74239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 74339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public boolean setApplicationHiddenSettingAsUser(String packageName, boolean hidden, 74439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta UserHandle userHandle) { 74539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return false; 74639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 74739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 74839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 74939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public boolean getApplicationHiddenSettingAsUser(String packageName, UserHandle userHandle) { 75039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return false; 75139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 75239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 75339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 75439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public boolean isSafeMode() { 75539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return false; 75639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 75739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 75839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 75939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void addOnPermissionsChangeListener(OnPermissionsChangedListener listener) { 76039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 76139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 76239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 76339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void removeOnPermissionsChangeListener(OnPermissionsChangedListener listener) { 76439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 76539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 76639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 76739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public KeySet getKeySetByAlias(String packageName, String alias) { 76839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 76939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 77039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 77139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 77239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public KeySet getSigningKeySet(String packageName) { 77339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 77439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 77539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 77639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 77739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public boolean isSignedBy(String packageName, KeySet ks) { 77839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return false; 77939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 78039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 78139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 78239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public boolean isSignedByExactly(String packageName, KeySet ks) { 78339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return false; 78439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 78539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 78639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 7878ee39320e64c39a51b761d1af3a2af3752a54ab5Andrei Stingaceanu public String[] setPackagesSuspendedAsUser(String[] packageNames, boolean suspended, 7888ee39320e64c39a51b761d1af3a2af3752a54ab5Andrei Stingaceanu int userId) { 7898ee39320e64c39a51b761d1af3a2af3752a54ab5Andrei Stingaceanu return new String[]{}; 7908f0db97915d645587fd320362592b15592b66b16Andrei Stingaceanu } 7918f0db97915d645587fd320362592b15592b66b16Andrei Stingaceanu 7928f0db97915d645587fd320362592b15592b66b16Andrei Stingaceanu @Override 7932f40e90aa663997fa7df1ecb11fbde1b72522c2aAndrei Stingaceanu public boolean isPackageSuspendedForUser(String packageName, int userId) { 7942f40e90aa663997fa7df1ecb11fbde1b72522c2aAndrei Stingaceanu return false; 7952f40e90aa663997fa7df1ecb11fbde1b72522c2aAndrei Stingaceanu } 7962f40e90aa663997fa7df1ecb11fbde1b72522c2aAndrei Stingaceanu 7972f40e90aa663997fa7df1ecb11fbde1b72522c2aAndrei Stingaceanu @Override 79839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public int getMoveStatus(int moveId) { 79939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return 0; 80039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 80139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 80239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 80339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void registerMoveCallback(MoveCallback callback, Handler handler) { 80439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 80539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 80639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 80739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void unregisterMoveCallback(MoveCallback callback) { 80839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 80939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 81039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 81139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public int movePackage(String packageName, VolumeInfo vol) { 81239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return 0; 81339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 81439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 81539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 81639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public VolumeInfo getPackageCurrentVolume(ApplicationInfo app) { 81739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 81839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 81939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 82039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 82139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public List<VolumeInfo> getPackageCandidateVolumes(ApplicationInfo app) { 82239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 82339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 82439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 82539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 82639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public int movePrimaryStorage(VolumeInfo vol) { 82739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return 0; 82839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 82939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 83039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 83139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public VolumeInfo getPrimaryStorageCurrentVolume() { 83239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 83339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 83439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 83539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 83639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public List<VolumeInfo> getPrimaryStorageCandidateVolumes() { 83739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 83839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 83939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 84039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 84139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public VerifierDeviceIdentity getVerifierDeviceIdentity() { 84239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 84339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 84439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 84539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 84639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public boolean isUpgrade() { 84739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return false; 84839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 84939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 85039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 85139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public PackageInstaller getPackageInstaller() { 85239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 85339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 85439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 85539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 85639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void addCrossProfileIntentFilter(IntentFilter filter, int sourceUserId, int targetUserId, 85739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta int flags) { 85839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 85939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 86039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 86139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public void clearCrossProfileIntentFilters(int sourceUserId) { 86239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 86339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 86439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 86539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public Drawable loadItemIcon(PackageItemInfo itemInfo, ApplicationInfo appInfo) { 86639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 86739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 86839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 86939c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 87039c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public Drawable loadUnbadgedItemIcon(PackageItemInfo itemInfo, ApplicationInfo appInfo) { 87139c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return null; 87239c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 87339c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta 87439c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta @Override 87539c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta public boolean isPackageAvailable(String packageName) { 87639c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta return false; 87739c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta } 87839c818ea1f1fcbe249959202d796dcb6afa44ac8Deepanshu Gupta} 879