public boolean isOutsideInstalled(String packageName) { try { return unHookPackageManager.getApplicationInfo(packageName, 0) != null; } catch (PackageManager.NameNotFoundException e) { // Ignore } return false; }
PackageManager pm = context.getPackageManager(); ApplicationInfo appInfo = pm.getApplicationInfo("app.package.name", 0); String appFile = appInfo.sourceDir; long installed = new File(appFile).lastModified(); //Epoch Time
final PackageManager pm = getApplicationContext().getPackageManager(); ApplicationInfo ai; try { ai = pm.getApplicationInfo( this.getPackageName(), 0); } catch (final NameNotFoundException e) { ai = null; } final String applicationName = (String) (ai != null ? pm.getApplicationLabel(ai) : "(unknown)");
public static String getManifestTinkerID(Context context) { if (tinkerID != null) { return tinkerID; } try { ApplicationInfo appInfo = context.getPackageManager() .getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA); Object object = appInfo.metaData.get(ShareConstants.TINKER_ID); if (object != null) { tinkerID = String.valueOf(object); } else { tinkerID = null; } } catch (Exception e) { Log.e(TAG, "getManifestTinkerID exception:" + e.getMessage()); return null; } return tinkerID; }
public static String getApplicationName(Context context) { PackageManager packageManager = null; ApplicationInfo applicationInfo = null; try { packageManager = context.getApplicationContext().getPackageManager(); applicationInfo = packageManager.getApplicationInfo(context.getPackageName(), 0); } catch (PackageManager.NameNotFoundException e) { applicationInfo = null; } String applicationName = (String) packageManager.getApplicationLabel(applicationInfo); return applicationName; }
public String getAppLable(Context context) { PackageManager packageManager = context.getPackageManager(); ApplicationInfo applicationInfo = null; try { applicationInfo = packageManager.getApplicationInfo(context.getApplicationInfo().packageName, 0); } catch (final NameNotFoundException e) { } return (String) (applicationInfo != null ? packageManager.getApplicationLabel(applicationInfo) : "Unknown"); }
@Before public void setUp() throws PackageManager.NameNotFoundException { MockitoAnnotations.initMocks(this); applicationInfo = new ApplicationInfo(); applicationInfo.metaData = new Bundle(); String packageName = "com.bumptech.test"; when(context.getPackageName()).thenReturn(packageName); PackageManager pm = mock(PackageManager.class); when(pm.getApplicationInfo(eq(packageName), eq(PackageManager.GET_META_DATA))) .thenReturn(applicationInfo); when(context.getPackageManager()).thenReturn(pm); parser = new ManifestParser(context); }
@Test @Config(minSdk = N_MR1) public void shouldAssignTheApplicationNameFromTheManifest() throws Exception { ApplicationInfo applicationInfo = packageManager.getApplicationInfo("org.robolectric", 0); assertThat(applicationInfo.name).isEqualTo("org.robolectric.shadows.testing.TestApplication"); }
@Test public void shouldAssignTheApplicationClassNameFromTheManifest() throws Exception { ApplicationInfo applicationInfo = packageManager.getApplicationInfo("org.robolectric", 0); assertThat(applicationInfo.className) .isEqualTo("org.robolectric.shadows.testing.TestApplication"); }
@Test public void shouldAssignLabelResFromTheManifest() throws Exception { ApplicationInfo applicationInfo = packageManager.getApplicationInfo("org.robolectric", 0); assertThat(applicationInfo.labelRes).isEqualTo(R.string.app_name); assertThat(applicationInfo.nonLocalizedLabel).isNull(); }
@Test public void getApplicationInfo_disabledAplication_stillReturnedWithNoFlags() throws Exception { pm.setApplicationEnabledSetting( context.getPackageName(), COMPONENT_ENABLED_STATE_DISABLED, DONT_KILL_APP); ApplicationInfo applicationInfo = pm.getApplicationInfo(context.getPackageName(), 0); assertThat(applicationInfo.enabled).isFalse(); assertThat(applicationInfo.packageName).isEqualTo(context.getPackageName()); }
@Test @Config(minSdk = LOLLIPOP_MR1) public void setUnbadgedApplicationIcon() throws Exception { String packageName = ApplicationProvider.getApplicationContext().getPackageName(); Drawable d = new BitmapDrawable(); shadowPackageManager.setUnbadgedApplicationIcon(packageName, d); assertThat( packageManager .getApplicationInfo(packageName, PackageManager.GET_SHARED_LIBRARY_FILES) .loadUnbadgedIcon(packageManager)) .isSameAs(d); }
@Test public void getApplicationInfo_ThisApplication() throws Exception { ApplicationInfo info = packageManager.getApplicationInfo( ApplicationProvider.getApplicationContext().getPackageName(), 0); assertThat(info).isNotNull(); assertThat(info.packageName) .isEqualTo(ApplicationProvider.getApplicationContext().getPackageName()); assertThat(info.processName).isEqualTo(info.packageName); }
@Test @Config(minSdk = LOLLIPOP) public void setApplicationHiddenSettingAsUser_includeUninstalled() throws Exception { String packageName = ApplicationProvider.getApplicationContext().getPackageName(); packageManager.setApplicationHiddenSettingAsUser( packageName, /* hidden= */ true, /* user= */ null); assertThat(packageManager.getPackageInfo(packageName, MATCH_UNINSTALLED_PACKAGES)).isNotNull(); assertThat(packageManager.getApplicationInfo(packageName, MATCH_UNINSTALLED_PACKAGES)) .isNotNull(); List<PackageInfo> installedPackages = packageManager.getInstalledPackages(MATCH_UNINSTALLED_PACKAGES); assertThat(installedPackages).hasSize(1); assertThat(installedPackages.get(0).packageName).isEqualTo(packageName); }
@Test public void getApplicationInfo_uninstalledApplication_includeUninstalled() throws Exception { shadowPackageManager.deletePackage( ApplicationProvider.getApplicationContext().getPackageName()); ApplicationInfo info = packageManager.getApplicationInfo( ApplicationProvider.getApplicationContext().getPackageName(), MATCH_UNINSTALLED_PACKAGES); assertThat(info).isNotNull(); assertThat(info.packageName) .isEqualTo(ApplicationProvider.getApplicationContext().getPackageName()); }
@Test public void getApplicationInfo_uninstalledApplication_dontIncludeUninstalled() throws Exception { shadowPackageManager.deletePackage( ApplicationProvider.getApplicationContext().getPackageName()); try { packageManager.getApplicationInfo( ApplicationProvider.getApplicationContext().getPackageName(), 0); fail("PackageManager.NameNotFoundException not thrown"); } catch (PackageManager.NameNotFoundException e) { // expected } }
@Test(expected = PackageManager.NameNotFoundException.class) public void getApplicationInfo_whenUnknown_shouldThrowNameNotFoundException() throws Exception { try { packageManager.getApplicationInfo("unknown_package", 0); fail("should have thrown NameNotFoundException"); } catch (PackageManager.NameNotFoundException e) { assertThat(e.getMessage()).contains("unknown_package"); throw e; } }
@Test public void applicationFlags() throws Exception { int flags = packageManager.getApplicationInfo("org.robolectric", 0).flags; assertThat((flags & FLAG_ALLOW_BACKUP)).isEqualTo(FLAG_ALLOW_BACKUP); assertThat((flags & FLAG_ALLOW_CLEAR_USER_DATA)).isEqualTo(FLAG_ALLOW_CLEAR_USER_DATA); assertThat((flags & FLAG_ALLOW_TASK_REPARENTING)).isEqualTo(FLAG_ALLOW_TASK_REPARENTING); assertThat((flags & FLAG_DEBUGGABLE)).isEqualTo(FLAG_DEBUGGABLE); assertThat((flags & FLAG_HAS_CODE)).isEqualTo(FLAG_HAS_CODE); assertThat((flags & FLAG_RESIZEABLE_FOR_SCREENS)).isEqualTo(FLAG_RESIZEABLE_FOR_SCREENS); assertThat((flags & FLAG_SUPPORTS_LARGE_SCREENS)).isEqualTo(FLAG_SUPPORTS_LARGE_SCREENS); assertThat((flags & FLAG_SUPPORTS_NORMAL_SCREENS)).isEqualTo(FLAG_SUPPORTS_NORMAL_SCREENS); assertThat((flags & FLAG_SUPPORTS_SCREEN_DENSITIES)).isEqualTo(FLAG_SUPPORTS_SCREEN_DENSITIES); assertThat((flags & FLAG_SUPPORTS_SMALL_SCREENS)).isEqualTo(FLAG_SUPPORTS_SMALL_SCREENS); assertThat((flags & FLAG_VM_SAFE_MODE)).isEqualTo(FLAG_VM_SAFE_MODE); }
@Test public void getApplicationInfo_OtherApplication() throws Exception { PackageInfo packageInfo = new PackageInfo(); packageInfo.packageName = TEST_PACKAGE_NAME; packageInfo.applicationInfo = new ApplicationInfo(); packageInfo.applicationInfo.packageName = TEST_PACKAGE_NAME; packageInfo.applicationInfo.name = TEST_PACKAGE_LABEL; shadowPackageManager.installPackage(packageInfo); ApplicationInfo info = packageManager.getApplicationInfo(TEST_PACKAGE_NAME, 0); assertThat(info).isNotNull(); assertThat(info.packageName).isEqualTo(TEST_PACKAGE_NAME); assertThat(packageManager.getApplicationLabel(info).toString()).isEqualTo(TEST_PACKAGE_LABEL); }
@Test public void removePackage_shouldHideItFromGetApplicationInfo() { PackageInfo packageInfo = new PackageInfo(); packageInfo.packageName = TEST_PACKAGE_NAME; packageInfo.applicationInfo = new ApplicationInfo(); packageInfo.applicationInfo.packageName = TEST_PACKAGE_NAME; packageInfo.applicationInfo.name = TEST_PACKAGE_LABEL; shadowPackageManager.installPackage(packageInfo); shadowPackageManager.removePackage(TEST_PACKAGE_NAME); try { packageManager.getApplicationInfo(TEST_PACKAGE_NAME, 0); fail("NameNotFoundException not thrown"); } catch (NameNotFoundException e) { // expected } }