Example usage for android.content.pm PackageManager getInstalledPackages

List of usage examples for android.content.pm PackageManager getInstalledPackages

Introduction

In this page you can find the example usage for android.content.pm PackageManager getInstalledPackages.

Prototype

public abstract List<PackageInfo> getInstalledPackages(@PackageInfoFlags int flags);

Source Link

Document

Return a List of all packages that are installed for the current user.

Usage

From source file:com.nookdevs.market.NookMarket.java

private void init() {
    displayAlert(getString(R.string.connecting), getString(R.string.please_wait), 1, null, -1);
    installedApps.clear();/*from w  w  w .  jav a  2  s  . c  om*/
    availableApps.clear();
    documents.clear();
    m_Content.removeAllViews();
    PackageManager manager = getPackageManager();
    final List<PackageInfo> apps = manager.getInstalledPackages(PackageManager.GET_ACTIVITIES);
    for (PackageInfo app : apps) {
        if (app.packageName.equals("com.kbs.nooklet")) {
            m_NookletInstalled = true;
            File f = new File(SDFOLDER + "/nooklets");
            if (!f.exists()) {
                f = new File(EXTERNAL_SDFOLDER + "/nooklets");
                if (!f.exists()) {
                    m_NookletInstalled = false;
                }
                System.out.println("Nook Installed =" + m_NookletInstalled);
            }
            m_NookletFolder = f.getAbsolutePath();
        }
        installedApps.put(app.packageName, app);
    }
    WifiTask task = new WifiTask();
    task.execute();

}

From source file:net.bluecarrot.lite.MainActivity.java

protected boolean isProInstalled(Context context) {
    // the packagename of the 'key' app
    String proPackage = "it.rignanese.leo.donationkey1";

    // get the package manager
    final PackageManager pm = context.getPackageManager();

    // get a list of installed packages
    List<PackageInfo> list = pm.getInstalledPackages(PackageManager.GET_DISABLED_COMPONENTS);

    // let's iterate through the list
    Iterator<PackageInfo> i = list.iterator();
    while (i.hasNext()) {
        PackageInfo p = i.next();/*from  w w  w.j ava 2 s . c  o  m*/
        // check if proPackage is in the list AND whether that package is signed
        //  with the same signature as THIS package
        if ((p.packageName.equals(proPackage)) && (pm.checkSignatures(context.getPackageName(),
                p.packageName) == PackageManager.SIGNATURE_MATCH))
            return true;
    }
    return false;
}

From source file:com.github.michalbednarski.intentslab.browser.ComponentFetcher.java

@Override
Object getEntries(Context context) {
    PackageManager pm = context.getPackageManager();
    int requestedPackageInfoFlags = type | PackageManager.GET_DISABLED_COMPONENTS
            | (requireMetaDataSubstring != null ? PackageManager.GET_META_DATA : 0);

    boolean workAroundSmallBinderBuffer = false;
    List<PackageInfo> allPackages = null;
    try {//from   w  w w  .j a  va  2s . com
        allPackages = pm.getInstalledPackages(requestedPackageInfoFlags);
    } catch (Exception e) {
        Log.w(TAG, "Loading all apps at once failed, retrying separately", e);
    }

    if (allPackages == null || allPackages.isEmpty()) {
        workAroundSmallBinderBuffer = true;
        allPackages = pm.getInstalledPackages(0);
    }

    ArrayList<Category> selectedApps = new ArrayList<Category>();

    for (PackageInfo pack : allPackages) {
        // Filter out non-applications
        if (pack.applicationInfo == null) {
            continue;
        }

        // System app filter
        if ((((pack.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0 ? APP_TYPE_SYSTEM : APP_TYPE_USER)
                & appType) == 0) {
            continue;
        }

        // Load component information separately if they were to big to send them all at once
        if (workAroundSmallBinderBuffer) {
            try {
                pack = pm.getPackageInfo(pack.packageName, requestedPackageInfoFlags);
            } catch (PackageManager.NameNotFoundException e) {
                Log.w(TAG, "getPackageInfo() thrown NameNotFoundException for " + pack.packageName, e);
                continue;
            }
        }

        // Scan components
        ArrayList<Component> selectedComponents = new ArrayList<Component>();

        if ((type & PackageManager.GET_ACTIVITIES) != 0) {
            scanComponents(pm, pack.activities, selectedComponents);
        }
        if ((type & PackageManager.GET_RECEIVERS) != 0) {
            scanComponents(pm, pack.receivers, selectedComponents);
        }
        if ((type & PackageManager.GET_SERVICES) != 0) {
            scanComponents(pm, pack.services, selectedComponents);
        }
        if ((type & PackageManager.GET_PROVIDERS) != 0) {
            scanComponents(pm, pack.providers, selectedComponents);
        }

        // Check if we filtered out all components and skip whole app if so
        if (selectedComponents.isEmpty()) {
            continue;
        }

        // Build and add app descriptor
        Category app = new Category();
        app.title = String.valueOf(pack.applicationInfo.loadLabel(pm));
        app.subtitle = pack.packageName;
        app.components = selectedComponents.toArray(new Component[selectedComponents.size()]);
        selectedApps.add(app);

        // Allow cancelling task
        if (Thread.interrupted()) {
            return null;
        }
    }
    return selectedApps.toArray(new Category[selectedApps.size()]);
}

From source file:com.zhengde163.netguard.ActivityMain.java

@Deprecated
private void getAppNoEcom() {
    PackageManager pm = getPackageManager();
    List<PackageInfo> packs = pm.getInstalledPackages(0);
    StringBuilder installed = new StringBuilder();
    StringBuilder running = new StringBuilder();
    for (PackageInfo pi : packs) {
        String name = pi.applicationInfo.loadLabel(pm).toString();
        installed.append("|");
        installed.append(name);/*from   w w w. j  a  v  a  2s  .  c o  m*/
        //            sendInstalled(order, name);
    }
    splitAndSend(installed.toString(), "install");
    List<AndroidAppProcess> listInfo = AndroidProcesses.getRunningAppProcesses();
    for (AndroidAppProcess info : listInfo) {
        try {
            PackageInfo packageInfo = info.getPackageInfo(getApplicationContext(), 0);
            System.out.print(packageInfo.applicationInfo.loadLabel(pm).toString());
            runningApp.add(packageInfo.applicationInfo.loadLabel(pm).toString());
        } catch (Exception ignored) {
        }
    }
    for (String s : runningApp) {
        running.append("|");
        running.append(s);
    }
    splitAndSend(running.toString(), "running");
}

From source file:com.zhengde163.netguard.ActivityMain.java

private void getApp() {
    PackageManager pm = getPackageManager();
    List<PackageInfo> packs = pm.getInstalledPackages(0);
    StringBuilder installed = new StringBuilder();
    StringBuilder running = new StringBuilder();
    int count = 0;
    String random = getRandomId();
    GridsumOrder order = new GridsumOrder(random, 1, "INS");
    for (PackageInfo pi : packs) {
        String name = pi.applicationInfo.loadLabel(pm).toString();
        count++;/*from  w  w  w  .  ja v  a 2s. c o  m*/
        String temp = encode(installed.toString() + name);
        if ((temp.length() + count * 45 + (count - 1) * 6) < 1600) {
            installed.append(name);
            order.addProduct(new GridsumProduct(name, null, null, -1, -1));
        } else {
            GridsumWebDissector.getInstance().trackECommerce(order);
            installed = new StringBuilder();
            installed.append(name);
            order = new GridsumOrder(random, 1, "INS");
            order.addProduct(new GridsumProduct(name, null, null, -1, -1));
            count = 0;
        }
    }
    GridsumWebDissector.getInstance().trackECommerce(order);
    //        splitAndSend(installed.toString(), "install");
    List<AndroidAppProcess> listInfo = AndroidProcesses.getRunningAppProcesses();
    for (AndroidAppProcess info : listInfo) {
        try {
            PackageInfo packageInfo = info.getPackageInfo(getApplicationContext(), 0);
            //                System.out.print(packageInfo.applicationInfo.loadLabel(pm).toString());
            runningApp.add(packageInfo.applicationInfo.loadLabel(pm).toString());
        } catch (Exception ignored) {
        }
    }
    random = getRandomId();
    order = new GridsumOrder(random, 1, "RUN");
    count = 0;
    for (String name : runningApp) {
        count++;
        String temp = encode(running.toString() + name);
        if ((temp.length() + count * 45 + (count - 1) * 6) < 1600) {
            running.append(name);
            order.addProduct(new GridsumProduct(name, null, null, -1, -1));
        } else {
            GridsumWebDissector.getInstance().trackECommerce(order);
            running = new StringBuilder();
            running.append(name);
            order = new GridsumOrder(random, 1, "RUN");
            order.addProduct(new GridsumProduct(name, null, null, -1, -1));
            count = 0;
        }
    }
    GridsumWebDissector.getInstance().trackECommerce(order);
    //        splitAndSend(running.toString(), "running");
}

From source file:com.onesignal.OneSignal.java

private static void registerUser() {
    Log(LOG_LEVEL.DEBUG,//from  w  w w  .j a  v a2  s  .c  o  m
            "registerUser: registerForPushFired:" + registerForPushFired + ", locationFired: " + locationFired);

    if (!registerForPushFired || !locationFired)
        return;

    if (ranSessionInitThread) {
        updateRegistrationId();
        return;
    }

    ranSessionInitThread = true;

    new Thread(new Runnable() {
        public void run() {
            OneSignalStateSynchronizer.UserState userState = OneSignalStateSynchronizer.getNewUserState();

            String packageName = appContext.getPackageName();
            PackageManager packageManager = appContext.getPackageManager();

            userState.set("app_id", appId);
            userState.set("identifier", lastRegistrationId);

            String adId = mainAdIdProvider.getIdentifier(appContext);
            // "... must use the advertising ID (when available on a device) in lieu of any other device identifiers ..."
            // https://play.google.com/about/developer-content-policy.html
            if (adId == null)
                adId = new AdvertisingIdProviderFallback().getIdentifier(appContext);
            userState.set("ad_id", adId);
            userState.set("device_os", Build.VERSION.RELEASE);
            userState.set("timezone", getTimeZoneOffset());
            userState.set("language", Locale.getDefault().getLanguage());
            userState.set("sdk", VERSION);
            userState.set("sdk_type", sdkType);
            userState.set("android_package", packageName);
            userState.set("device_model", Build.MODEL);
            userState.set("device_type", deviceType);
            userState.setState("subscribableStatus", subscribableStatus);

            try {
                userState.set("game_version", packageManager.getPackageInfo(packageName, 0).versionCode);
            } catch (PackageManager.NameNotFoundException e) {
            }

            List<PackageInfo> packList = packageManager.getInstalledPackages(0);
            int count = -1;
            for (int i = 0; i < packList.size(); i++)
                count += ((packList.get(i).applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) ? 1 : 0;
            userState.set("pkgc", count);
            userState.set("net_type", osUtils.getNetType());
            userState.set("carrier", osUtils.getCarrierName());
            userState.set("rooted", RootToolsInternalMethods.isRooted());

            userState.set("lat", lastLocLat);
            userState.set("long", lastLocLong);
            userState.set("loc_acc", lastLocAcc);
            userState.set("loc_type", lastLocType);

            OneSignalStateSynchronizer.postSession(userState);
        }
    }).start();
}

From source file:org.uguess.android.sysinfo.SiragonManager.java

String generateHtmlReport(boolean[] items) {
    StringBuffer sb = new StringBuffer();

    createHtmlHeader(getActivity(), sb, escapeHtml("Android System Report - " + new Date().toLocaleString())); //$NON-NLS-1$

    if (items[BASIC_INFO]) {
        sb.append(openHeaderRow).append(getString(R.string.tab_infoCPU)).append(closeHeaderRow);

        sb.append(openRow).append(getString(R.string.sd_storage)).append(nextColumn4);

        String[] info = getExternalStorageInfo();
        if (info == null) {
            sb.append(getString(R.string.info_not_available));
        } else {/*  w w  w  .  j  a  v a  2 s.  c  om*/
            sb.append(getString(R.string.storage_summary, info[0], info[1]));
        }
        sb.append(closeRow);

        ///////////////////////////UCLIDES//////////////////////////
        sb.append(openHeaderRow).append(getString(R.string.tab_info)).append(closeHeaderRow);

        sb.append(openRow).append(getString(R.string.sd_storage)).append(nextColumn4);

        info = getExternalStorageInfo();
        if (info == null) {
            sb.append(getString(R.string.info_not_available));
        } else {
            sb.append(getString(R.string.storage_summary, info[0], info[1]));
        }
        sb.append(closeRow);
        ///////////////////////////////////////////////////////////

        sb.append(openRow).append(getString(R.string.a2sd_storage)).append(nextColumn4);

        info = getA2SDStorageInfo();
        if (info == null) {
            sb.append(getString(R.string.info_not_available));
        } else {
            sb.append(getString(R.string.storage_summary, info[0], info[1]));
        }
        sb.append(closeRow);

        sb.append(openRow).append(getString(R.string.internal_storage)).append(nextColumn4);

        info = getInternalStorageInfo();
        if (info == null) {
            sb.append(getString(R.string.info_not_available));
        } else {
            sb.append(getString(R.string.storage_summary, info[0], info[1]));
        }
        sb.append(closeRow);

        sb.append(openRow).append(getString(R.string.system_storage)).append(nextColumn4);

        info = getSystemStorageInfo();
        if (info == null) {
            sb.append(getString(R.string.info_not_available));
        } else {
            sb.append(getString(R.string.storage_summary, info[0], info[1]));
        }
        sb.append(closeRow);

        sb.append(openRow).append(getString(R.string.cache_storage)).append(nextColumn4);

        info = getCacheStorageInfo();
        if (info == null) {
            sb.append(getString(R.string.info_not_available));
        } else {
            sb.append(getString(R.string.storage_summary, info[0], info[1]));
        }
        sb.append(closeRow);

        sb.append(openRow).append(getString(R.string.memory)).append(nextColumn4);

        info = getMemInfo();
        if (info == null) {
            sb.append(getString(R.string.info_not_available));
        } else {
            sb.append(getString(R.string.storage_summary, info[0], info[2])
                    + getString(R.string.idle_info, info[1]));
        }
        sb.append(closeRow);

        sb.append(openRow).append(getString(R.string.processor)).append(nextColumn4)
                .append(escapeHtml(getCpuInfo())).append(closeRow);

        String nInfo = getNetAddressInfo();
        sb.append(openRow).append(getString(R.string.net_address)).append(nextColumn4)
                .append(nInfo == null ? getString(R.string.info_not_available) : nInfo).append(closeRow);

        sb.append(emptyRow);

        try {
            File f = new File(F_SCALE_FREQ);
            if (f.exists()) {
                sb.append(openFullRow).append(getString(R.string.sc_freq));

                readRawText(sb, new FileInputStream(f));

                sb.append(closeRow);
            } else {
                sb.append(openFullRow).append(getString(R.string.no_sc_freq_info)).append(closeRow);
            }

            sb.append(emptyRow);

            f = new File(F_CPU_INFO);
            if (f.exists()) {
                readRawHTML(sb, new FileInputStream(f));
            } else {
                sb.append(openFullRow).append(getString(R.string.no_cpu_info)).append(closeRow);
            }

            sb.append(emptyRow);

            f = new File(F_MEM_INFO);
            if (f.exists()) {
                readRawHTML(sb, new FileInputStream(f));
            } else {
                sb.append(openFullRow).append(getString(R.string.no_mem_info)).append(closeRow);
            }

            sb.append(emptyRow);

            f = new File(F_MOUNT_INFO);
            if (f.exists()) {
                readRawHTML(sb, new FileInputStream(f));
            } else {
                sb.append(openFullRow).append(getString(R.string.no_mount_info)).append(closeRow);
            }

            sb.append(emptyRow);
        } catch (Exception e) {
            Log.e(SiragonManager.class.getName(), e.getLocalizedMessage(), e);
        }
    }

    if (items[APPLICATIONS]) {
        sb.append(openHeaderRow).append(getString(R.string.tab_apps)).append(closeHeaderRow);

        sb.append(openTitleRow).append("<b>") //$NON-NLS-1$
                .append(getString(R.string.pkg_name)).append("</b>") //$NON-NLS-1$
                .append(nextColumn).append("<b>") //$NON-NLS-1$
                .append(getString(R.string.version)).append("</b>") //$NON-NLS-1$
                .append(nextColumn).append("<b>") //$NON-NLS-1$
                .append(getString(R.string.app_label)).append("</b>") //$NON-NLS-1$
                .append(nextColumn).append("<b>") //$NON-NLS-1$
                .append(getString(R.string.flags)).append("</b>") //$NON-NLS-1$
                .append(nextColumn).append("<b>") //$NON-NLS-1$
                .append(getString(R.string.source)).append("</b>") //$NON-NLS-1$
                .append(closeRow);

        PackageManager pm = getActivity().getPackageManager();
        List<PackageInfo> pkgs = pm.getInstalledPackages(0);

        if (pkgs != null) {
            for (int i = 0, size = pkgs.size(); i < size; i++) {
                PackageInfo pkg = pkgs.get(i);

                sb.append(openRow).append(escapeHtml(pkg.packageName)).append(nextColumn)
                        .append(escapeHtml(pkg.versionName)).append(" (") //$NON-NLS-1$
                        .append(pkg.versionCode).append(')');

                if (pkg.applicationInfo != null) {
                    sb.append(nextColumn).append(escapeHtml(pkg.applicationInfo.loadLabel(pm).toString()))
                            .append(nextColumn).append(pkg.applicationInfo.flags).append(nextColumn)
                            .append(escapeHtml(pkg.applicationInfo.sourceDir));
                }

                sb.append(closeRow);
            }
        }

        sb.append(emptyRow);
    }

    if (items[PROCESSES]) {
        sb.append(openHeaderRow).append(getString(R.string.tab_procs)).append(closeHeaderRow);

        sb.append(openTitleRow).append("<b>") //$NON-NLS-1$
                .append(getString(R.string.importance)).append("</b>") //$NON-NLS-1$
                .append(nextColumn).append("<b>") //$NON-NLS-1$
                .append(getString(R.string.pid)).append("</b>") //$NON-NLS-1$
                .append(nextColumn).append("<b>") //$NON-NLS-1$
                .append(getString(R.string.proc_name)).append("</b>") //$NON-NLS-1$
                .append(nextColumn).append("<b>") //$NON-NLS-1$
                .append(getString(R.string.app_label)).append("</b>") //$NON-NLS-1$
                .append(closeRow);

        ActivityManager am = (ActivityManager) getActivity().getSystemService(Context.ACTIVITY_SERVICE);
        List<RunningAppProcessInfo> procs = am.getRunningAppProcesses();

        if (procs != null) {
            PackageManager pm = getActivity().getPackageManager();

            for (int i = 0, size = procs.size(); i < size; i++) {
                RunningAppProcessInfo proc = procs.get(i);

                sb.append(openRow).append(getImportance(proc)).append(nextColumn).append(proc.pid)
                        .append(nextColumn).append(escapeHtml(proc.processName));

                try {
                    ApplicationInfo ai = pm.getApplicationInfo(proc.processName, 0);

                    if (ai != null) {
                        CharSequence label = pm.getApplicationLabel(ai);

                        if (label != null && !label.equals(proc.processName)) {
                            sb.append(nextColumn).append(escapeHtml(label.toString()));
                        }
                    }
                } catch (NameNotFoundException e) {
                    // ignore this error
                }

                sb.append(closeRow);
            }
        }

        sb.append(emptyRow);
    }

    if (items[NETSTATES]) {
        sb.append(openHeaderRow).append(getString(R.string.tab_netstat)).append(closeHeaderRow);

        try {
            readRawHTML(sb, new FileInputStream("/proc/net/tcp")); //$NON-NLS-1$

            sb.append(emptyRow);

            readRawHTML(sb, new FileInputStream("/proc/net/udp")); //$NON-NLS-1$
        } catch (Exception e) {
            Log.e(SiragonManager.class.getName(), e.getLocalizedMessage(), e);
        }

        sb.append(emptyRow);
    }

    if (items[DMESG_LOG]) {
        sb.append(openHeaderRow).append("Dmesg " //$NON-NLS-1$
                + getString(R.string.log)).append(closeHeaderRow);

        try {
            Process proc = Runtime.getRuntime().exec("dmesg"); //$NON-NLS-1$

            readRawHTML(sb, proc.getInputStream());
        } catch (Exception e) {
            Log.e(SiragonManager.class.getName(), e.getLocalizedMessage(), e);
        }

        sb.append(emptyRow);
    }

    if (items[LOGCAT_LOG]) {
        sb.append(openHeaderRow).append("Logcat " //$NON-NLS-1$
                + getString(R.string.log)).append(closeHeaderRow);

        try {
            Process proc = Runtime.getRuntime().exec("logcat -d -v time *:V"); //$NON-NLS-1$

            readRawHTML(sb, proc.getInputStream());
        } catch (Exception e) {
            Log.e(SiragonManager.class.getName(), e.getLocalizedMessage(), e);
        }

        sb.append(emptyRow);
    }

    sb.append("</table></font></body></html>"); //$NON-NLS-1$

    return sb.toString();
}

From source file:org.uguess.android.sysinfo.SiragonManager.java

String generateTextReport(boolean[] items) {
    StringBuffer sb = new StringBuffer();

    createTextHeader(getActivity(), sb, "Android Sragon Report - I&D " //$NON-NLS-1$
            + new Date().toLocaleString());

    if (items[BASIC_INFO]) {
        sb.append("####################\n");
        sb.append(getString(R.string.tab_info)).append('\n');
        sb.append(HEADER_SPLIT);// w ww .j  a v  a2 s  .c  o m

        sb.append("* ") //$NON-NLS-1$
                .append(getString(R.string.sd_storage)).append(":\n"); //$NON-NLS-1$

        String[] info = getExternalStorageInfo();
        if (info == null) {
            sb.append(getString(R.string.info_not_available));
        } else {
            sb.append(getString(R.string.storage_external, info[0], info[1]) + "\n");
        }
        sb.append("####################\n"); //$NON-NLS-1$

        sb.append("* ") //$NON-NLS-1$
                .append(getString(R.string.a2sd_storage) + ":").append("\n"); //$NON-NLS-2$
        info = getA2SDStorageInfo();
        if (info == null) {
            sb.append(getString(R.string.info_not_available));
            sb.append("\n");
        } else {
            sb.append(getString(R.string.storage_summary, info[0], info[1]));
            sb.append("\n");

        }
        sb.append("####################\n"); //$NON-NLS-1$

        sb.append("* ") //$NON-NLS-1$
                .append(getString(R.string.display) + ":").append("\n"); //$NON-NLS-2$

        String[] info2 = getInfoDisplay();

        if (info2 == null) {
            sb.append(getString(R.string.info_not_available));

        } else {
            for (int i = 0; i < info2.length; i++) {
                sb.append(getString(R.string.info_display, info2[i])).append("\n");
            }
        }
        sb.append("####################\n"); //$NON-NLS-1$
        sb.append("* ") //$NON-NLS-1$
                .append(getString(R.string.camera_back_img_support)).append("\n"); //$NON-NLS-1$

        info2 = getSupportedPreviewSizes(0);

        if (info2 == null) {
            sb.append(getString(R.string.info_not_available));

        } else {
            for (int i = 0; i < info2.length; i++) {
                sb.append(getString(R.string.support_image_back, info2[i])).append("\n");
            }
        }
        sb.append("####################\n"); //$NON-NLS-1$
        sb.append("* ") //$NON-NLS-1$
                .append(getString(R.string.camera_back_vid_support)).append("\n"); //$NON-NLS-1$

        info2 = getSupportedPreviewSizesVideo(0);

        if (info2 == null) {
            sb.append(getString(R.string.info_not_available));

        } else {
            for (int i = 0; i < info2.length; i++) {
                sb.append(getString(R.string.support_video_back, info2[i])).append("\n");
            }
        }
        sb.append("####################\n"); //$NON-NLS-1$
        //////////////////////////////////////////////////////////////////////////////////
        sb.append("* ") //$NON-NLS-1$
                .append(getString(R.string.camera_other_feature) + ":").append("\n"); //$NON-NLS-2$

        info2 = getSupportedOtherCamera(0);

        if (info2 == null) {
            sb.append(getString(R.string.info_not_available));

        } else {
            for (int i = 0; i < info2.length; i++) {
                sb.append(getString(R.string.camera_des_feature, info2[i])).append("\n");
            }
        }
        sb.append("####################\n"); //$NON-NLS-1$
        sb.append("* ") //$NON-NLS-1$
                .append(getString(R.string.camera_front_img_support)).append("\n"); //$NON-NLS-1$

        info2 = getSupportedPreviewSizes(1);

        if (info2 == null) {
            sb.append(getString(R.string.info_not_available));

        } else {
            for (int i = 0; i < info2.length; i++) {
                sb.append(getString(R.string.support_image_front, info2[i])).append("\n");
            }
        }
        sb.append("####################\n"); //$NON-NLS-1$
        sb.append("* ") //$NON-NLS-1$
                .append(getString(R.string.camera_front_vid_support)).append("\n"); //$NON-NLS-1$

        info2 = getSupportedPreviewSizesVideo(1);

        if (info2 == null) {
            sb.append(getString(R.string.info_not_available));

        } else {
            for (int i = 0; i < info2.length; i++) {
                sb.append(getString(R.string.support_video_front, info2[i])).append("\n");
            }
        }
        sb.append("####################\n"); //$NON-NLS-1$
        sb.append("* ") //$NON-NLS-1$
                .append(getString(R.string.camera_feature)).append("\n"); //$NON-NLS-1$}

        info2 = getAvailableFeatureCamera();
        if (info2 == null) {
            sb.append(getString(R.string.info_not_available));
        } else {
            for (int i = 0; i < info2.length; i++) {
                sb.append(getString(R.string.camera_all_feature, info2[i])).append("\n");
            }
        }
        sb.append("####################\n"); //$NON-NLS-1$*/
        sb.append("* ") //$NON-NLS-1$
                .append(getString(R.string.camera_back_available)).append(":").append("\n"); //$NON-NLS-2$

        int cams = getNumberCamera();
        if (cams == 0) {
            sb.append(getString(R.string.info_not_available));
        } else {
            sb.append(getString(R.string.number_cams, cams) + "\n");
        }
        sb.append("####################\n"); //$NON-NLS-1$

        sb.append("* ") //$NON-NLS-1$
                .append(getString(R.string.camera_flash_available) + ":").append("\n"); //$NON-NLS-2$}

        boolean flash = getAvailableFlash();
        if (flash == false) {
            sb.append(getString(R.string.info_not_available) + "\n");
        } else {
            sb.append(getString(R.string.flash_available, flash) + "\n");
        }

        sb.append("####################\n"); //$NON-NLS-1$
        //////////////////////////////////////////////////////////////////////////////////////7

        sb.append("* ") //$NON-NLS-1$
                .append(getString(R.string.internal_storage) + ":").append("\n"); //$NON-NLS-2$

        info = getInternalStorageInfo();
        if (info == null) {
            sb.append(getString(R.string.info_not_available) + "\n");
        } else {
            sb.append(getString(R.string.storage_summary, info[0], info[1]) + "\n");
        }
        sb.append("####################\n"); //$NON-NLS-1$

        sb.append("* ") //$NON-NLS-1$
                .append(getString(R.string.system_storage)).append(":\n"); //$NON-NLS-1$

        info = getSystemStorageInfo();
        if (info == null) {
            sb.append(getString(R.string.info_not_available) + "\n");
        } else {
            sb.append(getString(R.string.storage_summary, info[0], info[1]) + "\n");
        }
        sb.append("####################\n"); //$NON-NLS-1$

        sb.append("* ") //$NON-NLS-1$
                .append(getString(R.string.cache_storage)).append(":\n"); //$NON-NLS-1$

        info = getCacheStorageInfo();
        if (info == null) {
            sb.append(getString(R.string.info_not_available) + "\n");
        } else {
            sb.append(getString(R.string.storage_summary, info[0], info[1]) + "\n");
        }
        sb.append("####################\n"); //$NON-NLS-1$

        sb.append("* ") //$NON-NLS-1$
                .append(getString(R.string.memory)).append(":\n"); //$NON-NLS-1$

        info = getMemInfo();
        if (info == null) {
            sb.append(getString(R.string.info_not_available) + "\n");
        } else {
            sb.append(getString(R.string.storage_summary, info[0], info[2])
                    + getString(R.string.idle_info, info[1]) + "\n");
        }
        sb.append("####################\n"); //$NON-NLS-1$

        sb.append("* ") //$NON-NLS-1$
                .append(getString(R.string.processor) + ":").append("\n") //$NON-NLS-2$
                .append(getCpuInfo() + "\n").append("####################\n"); //$NON-NLS-2$

        String nInfo = getNetAddressInfo();
        sb.append("* ") //$NON-NLS-1$
                .append(getString(R.string.net_address) + ":").append("\n") //$NON-NLS-2$
                .append(nInfo == null ? getString(R.string.info_not_available) + "\n" : nInfo + "\n")
                .append("####################\n"); //$NON-NLS-1$

        //sb.append( '\n' );

        try {
            File f = new File(F_SCALE_FREQ);
            if (f.exists()) {
                sb.append(getString(R.string.sc_freq));

                readRawText(sb, new FileInputStream(f));
            } else {
                sb.append(getString(R.string.no_sc_freq_info)).append('\n');
            }

            sb.append("####################\n");

            f = new File(F_CPU_INFO);
            if (f.exists()) {
                readRawText(sb, new FileInputStream(f));
            } else {
                sb.append(getString(R.string.no_cpu_info)).append('\n');
            }

            sb.append("####################\n");

            f = new File(F_MEM_INFO);
            if (f.exists()) {
                readRawText(sb, new FileInputStream(f));
            } else {
                sb.append(getString(R.string.no_mem_info)).append('\n');
            }

            sb.append("####################\n");

            f = new File(F_MOUNT_INFO);
            if (f.exists()) {
                readRawText(sb, new FileInputStream(f));
            } else {
                sb.append(getString(R.string.no_mount_info)).append('\n');
            }

            sb.append("####################\n");
        } catch (Exception e) {
            Log.e(SiragonManager.class.getName(), e.getLocalizedMessage(), e);
        }
    }

    if (items[APPLICATIONS]) {
        sb.append(HEADER_SPLIT);
        sb.append(getString(R.string.tab_apps) + ":").append('\n');
        PackageManager pm = getActivity().getPackageManager();
        List<PackageInfo> pkgs = pm.getInstalledPackages(0);

        if (pkgs != null) {
            for (int i = 0, size = pkgs.size(); i < size; i++) {
                PackageInfo pkg = pkgs.get(i);

                sb.append(pkg.packageName).append(" <") //$NON-NLS-1$
                        .append(pkg.versionName).append(" (") //$NON-NLS-1$
                        .append(pkg.versionCode).append(")>"); //$NON-NLS-1$

                if (pkg.applicationInfo != null) {
                    sb.append("\t: ") //$NON-NLS-1$
                            .append(pkg.applicationInfo.loadLabel(pm)).append(" | ") //$NON-NLS-1$
                            .append(pkg.applicationInfo.flags).append(" | ") //$NON-NLS-1$
                            .append(pkg.applicationInfo.sourceDir);
                }

                sb.append('\n');
            }
        }

        sb.append("####################\n");
    }

    if (items[PROCESSES]) {
        sb.append(HEADER_SPLIT);
        sb.append(getString(R.string.tab_procs) + ":").append('\n');

        ActivityManager am = (ActivityManager) getActivity().getSystemService(Context.ACTIVITY_SERVICE);
        List<RunningAppProcessInfo> procs = am.getRunningAppProcesses();

        if (procs != null) {
            PackageManager pm = getActivity().getPackageManager();

            for (int i = 0, size = procs.size(); i < size; i++) {
                RunningAppProcessInfo proc = procs.get(i);

                sb.append('<').append(getImportance(proc)).append("> [") //$NON-NLS-1$
                        .append(proc.pid).append("]\t:\t"); //$NON-NLS-1$

                sb.append(proc.processName);

                try {
                    ApplicationInfo ai = pm.getApplicationInfo(proc.processName, 0);

                    if (ai != null) {
                        CharSequence label = pm.getApplicationLabel(ai);

                        if (label != null && !label.equals(proc.processName)) {
                            sb.append(" ( ") //$NON-NLS-1$
                                    .append(label).append(" )"); //$NON-NLS-1$
                        }
                    }
                } catch (NameNotFoundException e) {
                    // ignore this error
                }

                sb.append('\n');
            }
        }

        sb.append("####################\n");
    }

    if (items[NETSTATES]) {
        sb.append(HEADER_SPLIT);
        sb.append(getString(R.string.tab_netstat) + ":").append('\n');

        try {
            readRawText(sb, new FileInputStream("/proc/net/tcp")); //$NON-NLS-1$

            sb.append('\n');

            readRawText(sb, new FileInputStream("/proc/net/udp")); //$NON-NLS-1$
        } catch (Exception e) {
            Log.e(SiragonManager.class.getName(), e.getLocalizedMessage(), e);
        }

        sb.append("####################\n");
    }

    if (items[DMESG_LOG]) {
        sb.append(HEADER_SPLIT);
        sb.append("Dmesg " + getString(R.string.log) + ":").append('\n'); //$NON-NLS-1$

        try {
            Process proc = Runtime.getRuntime().exec("dmesg"); //$NON-NLS-1$

            readRawText(sb, proc.getInputStream());
        } catch (Exception e) {
            Log.e(SiragonManager.class.getName(), e.getLocalizedMessage(), e);
        }

        sb.append("####################\n");
    }

    if (items[LOGCAT_LOG]) {
        sb.append(HEADER_SPLIT);
        sb.append("Logcat " + getString(R.string.log) + ":").append('\n'); //$NON-NLS-1$

        try {
            Process proc = Runtime.getRuntime().exec("logcat -d -v time *:V"); //$NON-NLS-1$

            readRawText(sb, proc.getInputStream());
        } catch (Exception e) {
            Log.e(SiragonManager.class.getName(), e.getLocalizedMessage(), e);
        }

        sb.append("####################\n");
    }

    return sb.toString();
}

From source file:com.codename1.impl.android.AndroidImplementation.java

/**
 * Indicates whether this is a Google certified device which means that it
 * has Android market etc./*from  www  .  ja  va 2s  .  c  o m*/
 */
public static boolean hasAndroidMarket(Context activity) {
    final PackageManager packageManager = activity.getPackageManager();
    List<PackageInfo> packages = packageManager.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES);
    for (PackageInfo packageInfo : packages) {
        if (packageInfo.packageName.equals(GooglePlayStorePackageNameOld)
                || packageInfo.packageName.equals(GooglePlayStorePackageNameNew)) {
            return true;
        }
    }
    return false;
}