Merge "Hide the app details preference for mainline module apps" into rvc-dev am: cf33b4bc5e am: 2b19585228 am: 1b31829303

Change-Id: I4273c0b03f665d9485434218b5dcababc4a330ff
This commit is contained in:
Yanting Yang
2020-05-07 08:51:58 +00:00
committed by Automerger Merge Worker
2 changed files with 18 additions and 0 deletions

View File

@@ -42,6 +42,11 @@ public class AppInstallerInfoPreferenceController extends AppInfoPreferenceContr
if (UserManager.get(mContext).isManagedProfile()) {
return DISABLED_FOR_USER;
}
if (AppUtils.isMainlineModule(mContext, mPackageName)) {
return DISABLED_FOR_USER;
}
return mInstallerLabel != null ? AVAILABLE : DISABLED_FOR_USER;
}

View File

@@ -32,6 +32,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.ModuleInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
@@ -148,4 +149,16 @@ public class AppInstallerInfoPreferenceControllerTest {
verify(mPreference, never()).setEnabled(false);
verify(mPreference).setIntent(any(Intent.class));
}
@Test
public void getAvailabilityStatus_isMainlineModule_shouldReturnDisabled()
throws PackageManager.NameNotFoundException {
when(mUserManager.isManagedProfile()).thenReturn(false);
when(mAppInfo.loadLabel(mPackageManager)).thenReturn("Label");
mController.setPackageName("Package");
when(mPackageManager.getModuleInfo("Package", 0 /* flags */)).thenReturn(new ModuleInfo());
assertThat(mController.getAvailabilityStatus()).isEqualTo(
BasePreferenceController.DISABLED_FOR_USER);
}
}