Example usage for android.content.pm PackageManager GET_GIDS

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

Introduction

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

Prototype

int GET_GIDS

To view the source code for android.content.pm PackageManager GET_GIDS.

Click Source Link

Document

PackageInfo flag: return the PackageInfo#gids group ids that are associated with an application.

Usage

From source file:Main.java

public static boolean isAppInstall(Context context, String pkg) {
    if (context == null || pkg == null) {
        return false;
    }//from   ww w .  j a v a2s  .  co  m
    try {
        PackageInfo info = context.getPackageManager().getPackageInfo(pkg, PackageManager.GET_GIDS);
        Log.d(TAG, "app info " + info.packageName);
    } catch (PackageManager.NameNotFoundException e) {
        return false;
    }
    return true;
}

From source file:gov.nasa.arc.geocam.geocam.GeoCamMobile.java

@Override
protected Dialog onCreateDialog(int id) {
    String versionName = "1.0.x";
    String versionCode = "XXXX";

    String branch = "master";
    String commit = "unknown";
    String date = "XXXX-XX-XX";

    switch (id) {
    case ABOUT_ID: {
        try {/*w  w w .j a va2s. c o m*/
            branch = getString(R.string.version_git_branch);
            commit = getString(R.string.version_git_commit);
            date = getString(R.string.version_date);
            Log.d(DEBUG_ID, "[branch=" + branch + ";commit=" + commit + ";date=" + date + "]");
        } catch (Resources.NotFoundException e) {
            Log.w(DEBUG_ID, "No version information. Does version.xml exist?");
        }

        try {
            PackageInfo info = getPackageManager().getPackageInfo(PACKAGE_NAME, PackageManager.GET_GIDS);
            versionName = info.versionName;
            versionCode = String.valueOf(info.versionCode);
        } catch (PackageManager.NameNotFoundException e) {
            Log.e(DEBUG_ID, "Unable to get version information");
        }

        StringBuilder sb = new StringBuilder();
        sb.append(String.format(getString(R.string.main_about_dialog_message_version), date, branch, commit));
        sb.append("\n\n");
        sb.append(getString(R.string.main_about_dialog_message_contact));

        return new AlertDialog.Builder(this)
                .setTitle(String.format(getString(R.string.main_about_dialog_title), versionName))
                .setPositiveButton(R.string.main_about_dialog_ok, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                    }
                }).setMessage(sb.toString()).create();
    }
    case DIALOG_GPS_OFF_ID:
        return new AlertDialog.Builder(this).setTitle("Warning").setIcon(android.R.drawable.ic_dialog_alert)
                .setPositiveButton(R.string.main_gps_warning_ok, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                        startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS));
                    }
                }).setNegativeButton(R.string.main_gps_warning_cancel, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                        GeoCamMobile.this.stopGeoCamService();
                        GeoCamMobile.this.finish();
                    }
                }).setMessage(getString(R.string.main_gps_warning)).create();
    }
    return null;
}

From source file:org.ros.android.android_tutorial_teleop.geocam.GeoCamMobile.java

@Override
protected Dialog onCreateDialog(int id) {
    String versionName = "1.0.x";
    String versionCode = "XXXX";

    String branch = "master";
    String commit = "unknown";
    String date = "XXXX-XX-XX";

    switch (id) {
    case ABOUT_ID: {
        try {//from  w  w w. j  a  v  a2s .c o m
            branch = "getString(R.string.version_git_branch)";
            commit = "getString(R.string.version_git_commit)";
            date = "getString(R.string.version_date)";
            Log.d(DEBUG_ID, "[branch=" + branch + ";commit=" + commit + ";date=" + date + "]");
        } catch (Resources.NotFoundException e) {
            Log.w(DEBUG_ID, "No version information. Does version.xml exist?");
        }

        try {
            PackageInfo info = getPackageManager().getPackageInfo(PACKAGE_NAME, PackageManager.GET_GIDS);
            versionName = info.versionName;
            versionCode = String.valueOf(info.versionCode);
        } catch (PackageManager.NameNotFoundException e) {
            Log.e(DEBUG_ID, "Unable to get version information");
        }

        StringBuilder sb = new StringBuilder();
        sb.append(String.format(getString(R.string.main_about_dialog_message_version), date, branch, commit));
        sb.append("\n\n");
        sb.append(getString(R.string.main_about_dialog_message_contact));

        return new AlertDialog.Builder(this)
                .setTitle(String.format(getString(R.string.main_about_dialog_title), versionName))
                .setPositiveButton(R.string.main_about_dialog_ok, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                    }
                }).setMessage(sb.toString()).create();
    }
    case DIALOG_GPS_OFF_ID:
        return new AlertDialog.Builder(this).setTitle("Warning").setIcon(android.R.drawable.ic_dialog_alert)
                .setPositiveButton(R.string.main_gps_warning_ok, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                        startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS));
                    }
                }).setNegativeButton(R.string.main_gps_warning_cancel, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                        GeoCamMobile.this.stopGeoCamService();
                        GeoCamMobile.this.finish();
                    }
                }).setMessage(getString(R.string.main_gps_warning)).create();
    }
    return null;
}

From source file:android.content.pm.PackageParser.java

public static PackageInfo generatePackageInfo(PackageParser.Package p, int gids[], int flags,
        long firstInstallTime, long lastUpdateTime, Set<String> grantedPermissions, PackageUserState state,
        int userId) {

    if (!checkUseInstalledOrHidden(flags, state)) {
        return null;
    }//from ww  w .  ja  v a2  s . c  o m
    PackageInfo pi = new PackageInfo();
    pi.packageName = p.packageName;
    pi.splitNames = p.splitNames;
    pi.versionCode = p.mVersionCode;
    pi.baseRevisionCode = p.baseRevisionCode;
    pi.splitRevisionCodes = p.splitRevisionCodes;
    pi.versionName = p.mVersionName;
    pi.sharedUserId = p.mSharedUserId;
    pi.sharedUserLabel = p.mSharedUserLabel;
    pi.applicationInfo = generateApplicationInfo(p, flags, state, userId);
    pi.installLocation = p.installLocation;
    pi.coreApp = p.coreApp;
    if ((pi.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0
            || (pi.applicationInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0) {
        pi.requiredForAllUsers = p.mRequiredForAllUsers;
    }
    pi.restrictedAccountType = p.mRestrictedAccountType;
    pi.requiredAccountType = p.mRequiredAccountType;
    pi.overlayTarget = p.mOverlayTarget;
    pi.firstInstallTime = firstInstallTime;
    pi.lastUpdateTime = lastUpdateTime;
    if ((flags & PackageManager.GET_GIDS) != 0) {
        pi.gids = gids;
    }
    if ((flags & PackageManager.GET_CONFIGURATIONS) != 0) {
        int N = p.configPreferences != null ? p.configPreferences.size() : 0;
        if (N > 0) {
            pi.configPreferences = new ConfigurationInfo[N];
            p.configPreferences.toArray(pi.configPreferences);
        }
        N = p.reqFeatures != null ? p.reqFeatures.size() : 0;
        if (N > 0) {
            pi.reqFeatures = new FeatureInfo[N];
            p.reqFeatures.toArray(pi.reqFeatures);
        }
        N = p.featureGroups != null ? p.featureGroups.size() : 0;
        if (N > 0) {
            pi.featureGroups = new FeatureGroupInfo[N];
            p.featureGroups.toArray(pi.featureGroups);
        }
    }
    if ((flags & PackageManager.GET_ACTIVITIES) != 0) {
        int N = p.activities.size();
        if (N > 0) {
            if ((flags & PackageManager.GET_DISABLED_COMPONENTS) != 0) {
                pi.activities = new ActivityInfo[N];
            } else {
                int num = 0;
                for (int i = 0; i < N; i++) {
                    if (p.activities.get(i).info.enabled)
                        num++;
                }
                pi.activities = new ActivityInfo[num];
            }
            for (int i = 0, j = 0; i < N; i++) {
                final Activity activity = p.activities.get(i);
                if (activity.info.enabled || (flags & PackageManager.GET_DISABLED_COMPONENTS) != 0) {
                    pi.activities[j++] = generateActivityInfo(p.activities.get(i), flags, state, userId);
                }
            }
        }
    }
    if ((flags & PackageManager.GET_RECEIVERS) != 0) {
        int N = p.receivers.size();
        if (N > 0) {
            if ((flags & PackageManager.GET_DISABLED_COMPONENTS) != 0) {
                pi.receivers = new ActivityInfo[N];
            } else {
                int num = 0;
                for (int i = 0; i < N; i++) {
                    if (p.receivers.get(i).info.enabled)
                        num++;
                }
                pi.receivers = new ActivityInfo[num];
            }
            for (int i = 0, j = 0; i < N; i++) {
                final Activity activity = p.receivers.get(i);
                if (activity.info.enabled || (flags & PackageManager.GET_DISABLED_COMPONENTS) != 0) {
                    pi.receivers[j++] = generateActivityInfo(p.receivers.get(i), flags, state, userId);
                }
            }
        }
    }
    if ((flags & PackageManager.GET_SERVICES) != 0) {
        int N = p.services.size();
        if (N > 0) {
            if ((flags & PackageManager.GET_DISABLED_COMPONENTS) != 0) {
                pi.services = new ServiceInfo[N];
            } else {
                int num = 0;
                for (int i = 0; i < N; i++) {
                    if (p.services.get(i).info.enabled)
                        num++;
                }
                pi.services = new ServiceInfo[num];
            }
            for (int i = 0, j = 0; i < N; i++) {
                final Service service = p.services.get(i);
                if (service.info.enabled || (flags & PackageManager.GET_DISABLED_COMPONENTS) != 0) {
                    pi.services[j++] = generateServiceInfo(p.services.get(i), flags, state, userId);
                }
            }
        }
    }
    if ((flags & PackageManager.GET_PROVIDERS) != 0) {
        int N = p.providers.size();
        if (N > 0) {
            if ((flags & PackageManager.GET_DISABLED_COMPONENTS) != 0) {
                pi.providers = new ProviderInfo[N];
            } else {
                int num = 0;
                for (int i = 0; i < N; i++) {
                    if (p.providers.get(i).info.enabled)
                        num++;
                }
                pi.providers = new ProviderInfo[num];
            }
            for (int i = 0, j = 0; i < N; i++) {
                final Provider provider = p.providers.get(i);
                if (provider.info.enabled || (flags & PackageManager.GET_DISABLED_COMPONENTS) != 0) {
                    pi.providers[j++] = generateProviderInfo(p.providers.get(i), flags, state, userId);
                }
            }
        }
    }
    if ((flags & PackageManager.GET_INSTRUMENTATION) != 0) {
        int N = p.instrumentation.size();
        if (N > 0) {
            pi.instrumentation = new InstrumentationInfo[N];
            for (int i = 0; i < N; i++) {
                pi.instrumentation[i] = generateInstrumentationInfo(p.instrumentation.get(i), flags);
            }
        }
    }
    if ((flags & PackageManager.GET_PERMISSIONS) != 0) {
        int N = p.permissions.size();
        if (N > 0) {
            pi.permissions = new PermissionInfo[N];
            for (int i = 0; i < N; i++) {
                pi.permissions[i] = generatePermissionInfo(p.permissions.get(i), flags);
            }
        }
        N = p.requestedPermissions.size();
        if (N > 0) {
            pi.requestedPermissions = new String[N];
            pi.requestedPermissionsFlags = new int[N];
            for (int i = 0; i < N; i++) {
                final String perm = p.requestedPermissions.get(i);
                pi.requestedPermissions[i] = perm;
                // The notion of required permissions is deprecated but for compatibility.
                pi.requestedPermissionsFlags[i] |= PackageInfo.REQUESTED_PERMISSION_REQUIRED;
                if (grantedPermissions != null && grantedPermissions.contains(perm)) {
                    pi.requestedPermissionsFlags[i] |= PackageInfo.REQUESTED_PERMISSION_GRANTED;
                }
            }
        }
    }
    if ((flags & PackageManager.GET_SIGNATURES) != 0) {
        int N = (p.mSignatures != null) ? p.mSignatures.length : 0;
        if (N > 0) {
            pi.signatures = new Signature[N];
            System.arraycopy(p.mSignatures, 0, pi.signatures, 0, N);
        }
    }
    return pi;
}