Example usage for android.content.pm PackageManager GET_META_DATA

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

Introduction

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

Prototype

int GET_META_DATA

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

Click Source Link

Document

ComponentInfo flag: return the ComponentInfo#metaData data android.os.Bundle s that are associated with a component.

Usage

From source file:com.google.android.apps.muzei.settings.SettingsChooseSourceFragment.java

public void updateSources() {
    mSelectedSource = null;//from  w w w  . j a  v  a  2 s  .  co m
    Intent queryIntent = new Intent(ACTION_MUZEI_ART_SOURCE);
    PackageManager pm = getActivity().getPackageManager();
    mSources.clear();
    List<ResolveInfo> resolveInfos = pm.queryIntentServices(queryIntent, PackageManager.GET_META_DATA);

    for (ResolveInfo ri : resolveInfos) {
        Source source = new Source();
        source.label = ri.loadLabel(pm).toString();
        source.icon = new BitmapDrawable(getResources(), generateSourceImage(ri.loadIcon(pm)));
        source.componentName = new ComponentName(ri.serviceInfo.packageName, ri.serviceInfo.name);
        if (ri.serviceInfo.descriptionRes != 0) {
            try {
                Context packageContext = getActivity()
                        .createPackageContext(source.componentName.getPackageName(), 0);
                Resources packageRes = packageContext.getResources();
                source.description = packageRes.getString(ri.serviceInfo.descriptionRes);
            } catch (PackageManager.NameNotFoundException e) {
                Log.e(TAG, "Can't read package resources for source " + source.componentName);
            }
        }
        Bundle metaData = ri.serviceInfo.metaData;
        source.color = Color.WHITE;
        if (metaData != null) {
            String settingsActivity = metaData.getString("settingsActivity");
            if (!TextUtils.isEmpty(settingsActivity)) {
                source.settingsActivity = ComponentName
                        .unflattenFromString(ri.serviceInfo.packageName + "/" + settingsActivity);
            }

            String setupActivity = metaData.getString("setupActivity");
            if (!TextUtils.isEmpty(setupActivity)) {
                source.setupActivity = ComponentName
                        .unflattenFromString(ri.serviceInfo.packageName + "/" + setupActivity);
            }

            source.color = metaData.getInt("color", source.color);

            try {
                float[] hsv = new float[3];
                Color.colorToHSV(source.color, hsv);
                boolean adjust = false;
                if (hsv[2] < 0.8f) {
                    hsv[2] = 0.8f;
                    adjust = true;
                }
                if (hsv[1] > 0.4f) {
                    hsv[1] = 0.4f;
                    adjust = true;
                }
                if (adjust) {
                    source.color = Color.HSVToColor(hsv);
                }
                if (Color.alpha(source.color) != 255) {
                    source.color = Color.argb(255, Color.red(source.color), Color.green(source.color),
                            Color.blue(source.color));
                }
            } catch (IllegalArgumentException ignored) {
            }
        }

        mSources.add(source);
    }

    final String appPackage = getActivity().getPackageName();
    Collections.sort(mSources, new Comparator<Source>() {
        @Override
        public int compare(Source s1, Source s2) {
            String pn1 = s1.componentName.getPackageName();
            String pn2 = s2.componentName.getPackageName();
            if (!pn1.equals(pn2)) {
                if (appPackage.equals(pn1)) {
                    return -1;
                } else if (appPackage.equals(pn2)) {
                    return 1;
                }
            }
            return s1.label.compareTo(s2.label);
        }
    });

    redrawSources();
}

From source file:de.quist.app.errorreporter.ExceptionReportService.java

public boolean isReportOnFroyo() throws NameNotFoundException {
    try {//w  ww .  ja v  a 2  s . c  om
        ApplicationInfo ai = getPackageManager().getApplicationInfo(getPackageName(),
                PackageManager.GET_META_DATA);
        return ai.metaData.getBoolean(META_DATA_REPORT_ON_FROYO, DEFAULT_REPORT_ON_FROYO);
    } catch (NameNotFoundException e) {
        // Should never happen
        throw e;
    }
}

From source file:com.nuvolect.deepdive.probe.DecompileApk.java

/**
 * Copy the specific APK to working folder.
 * Return a link to the parent folder.//  ww w. jav  a  2  s  . c  o  m
 * @return
 */
public JSONObject extractApk() {

    JSONObject wrapper = new JSONObject();

    try {
        wrapper.put("extract_apk_status", 0);// 0==Start with failed file copy
        m_progressStream.putStream("Extract APK starting");

        PackageManager pm = m_ctx.getPackageManager();
        ApplicationInfo applicationInfo = pm.getApplicationInfo(m_packageName, PackageManager.GET_META_DATA);

        java.io.File inputFile = new File(applicationInfo.publicSourceDir);
        InputStream inputStream = new FileInputStream(inputFile);

        OutputStream outputStream = m_apkFile.getOutputStream();
        int bytes_copied = Util.copyFile(inputStream, outputStream);
        String formatted_count = NumberFormat.getNumberInstance(Locale.US).format(bytes_copied);

        m_progressStream.putStream("Extract APK complete, " + formatted_count + " bytes");

        wrapper.put("extract_apk_status", 1); // Change to success if we get here
        wrapper.put("extract_apk_url", m_appFolderUrl);

    } catch (PackageManager.NameNotFoundException | JSONException | IOException e) {
        LogUtil.logException(LogUtil.LogType.DECOMPILE, e);
        m_progressStream.putStream(e.toString());
        m_progressStream.putStream("Extract APK failed");
    }

    return wrapper;
}

From source file:com.max2idea.android.limbo.main.LimboActivity.java

static protected boolean isFirstLaunch() {
    PackageInfo pInfo = null;//  ww w .  j ava2  s .c  om

    try {
        pInfo = activity.getPackageManager().getPackageInfo(activity.getClass().getPackage().getName(),
                PackageManager.GET_META_DATA);
    } catch (NameNotFoundException e) {
        e.printStackTrace();
    }
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity);
    boolean firstTime = prefs.getBoolean("firstTime" + pInfo.versionName, true);
    // UIUtils.log("Getting First time: " + firstTime);
    return firstTime;
}

From source file:com.anysoftkeyboard.addons.AddOnsFactory.java

private List<E> getExternalAddOns() {
    if (!mReadExternalPacksToo)//this will disable external packs (API careful stage)
        return Collections.emptyList();

    final PackageManager packageManager = mContext.getPackageManager();
    final List<ResolveInfo> broadcastReceivers = packageManager
            .queryBroadcastReceivers(new Intent(mReceiverInterface), PackageManager.GET_META_DATA);

    final List<E> externalAddOns = new ArrayList<>();

    for (final ResolveInfo receiver : broadcastReceivers) {
        if (receiver.activityInfo == null) {
            Logger.e(mTag, "BroadcastReceiver has null ActivityInfo. Receiver's label is "
                    + receiver.loadLabel(packageManager));
            Logger.e(mTag, "Is the external keyboard a service instead of BroadcastReceiver?");
            // Skip to next receiver
            continue;
        }//from   w  ww .jav  a  2 s .  c  o m

        if (!receiver.activityInfo.enabled || !receiver.activityInfo.applicationInfo.enabled)
            continue;

        try {
            final Context externalPackageContext = mContext
                    .createPackageContext(receiver.activityInfo.packageName, Context.CONTEXT_IGNORE_SECURITY);
            final List<E> packageAddOns = getAddOnsFromActivityInfo(externalPackageContext,
                    receiver.activityInfo);

            externalAddOns.addAll(packageAddOns);
        } catch (final NameNotFoundException e) {
            Logger.e(mTag, "Did not find package: " + receiver.activityInfo.packageName);
        }

    }

    return externalAddOns;
}

From source file:com.savor.ads.core.Session.java

private void getApplicationInfo() {

    final PackageManager pm = mContext.getPackageManager();
    try {/*w w w. jav a  2s .c o  m*/
        final PackageInfo pi = pm.getPackageInfo(mContext.getPackageName(), 0);
        versionName = pi.versionName;
        versionCode = pi.versionCode;

        final ApplicationInfo ai = pm.getApplicationInfo(mContext.getPackageName(),
                PackageManager.GET_META_DATA);
        debugType = "1";// ai.metaData.get("app_debug").toString();

        if ("1".equals(debugType)) {
            // developer mode
            isDebug = true;
        } else if ("0".equals(debugType)) {
            // release mode
            isDebug = false;
        }
        LogUtils.allow = isDebug;

        appName = String.valueOf(ai.loadLabel(pm));
        LogUtils.appTagPrefix = appName;

    } catch (NameNotFoundException e) {
        LogUtils.d("met some error when get application info");
    }
}

From source file:com.max2idea.android.limbo.main.LimboActivity.java

static protected void setFirstLaunch() {
    PackageInfo pInfo = null;/*from  w w w . j  a va2  s. co  m*/

    try {
        pInfo = activity.getPackageManager().getPackageInfo(activity.getClass().getPackage().getName(),
                PackageManager.GET_META_DATA);
    } catch (NameNotFoundException e) {
        e.printStackTrace();
    }
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity);
    SharedPreferences.Editor edit = prefs.edit();
    edit.putBoolean("firstTime" + pInfo.versionName, false);
    edit.commit();
    // UIUtils.log("Setting First time: ");
}

From source file:eu.iescities.pilot.rovereto.roveretoexplorer.fragments.event.EventsListingFragment.java

private void setFollowByIntent() {
    try {//from  ww  w.j  a  v a 2 s.  c  o  m
        ApplicationInfo ai = getActivity().getPackageManager()
                .getApplicationInfo(getActivity().getPackageName(), PackageManager.GET_META_DATA);
        Bundle aBundle = ai.metaData;
        mFollowByIntent = aBundle.getBoolean("follow-by-intent");
    } catch (NameNotFoundException e) {
        mFollowByIntent = false;
        Log.e(EventsListingFragment.class.getName(),
                "you should set the follow-by-intent metadata in app manifest");
    }

}

From source file:com.tweetlanes.android.App.java

@Override
public void onCreate() {

    Log.d("tweetlanes url fetch", "*** New run");
    Log.d("AsyncTaskEx", "*** New run");
    Log.d("StatusCache", "*** New run");

    super.onCreate();

    java.util.logging.Logger.getLogger("org.apache.http.wire").setLevel(java.util.logging.Level.FINEST);
    java.util.logging.Logger.getLogger("org.apache.http.headers").setLevel(java.util.logging.Level.FINEST);

    System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.SimpleLog");
    System.setProperty("org.apache.commons.logging.simplelog.showdatetime", "true");
    System.setProperty("org.apache.commons.logging.simplelog.log.httpclient.wire", "debug");
    System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http", "debug");
    System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http.headers", "debug");

    try {// w w  w.j av  a 2  s  .c o m
        PackageManager packageManager = getPackageManager();
        PackageInfo packageInfo = packageManager.getPackageInfo(getPackageName(), 0);
        mAppVersionName = packageInfo.versionName;

        List<ApplicationInfo> apps = packageManager.getInstalledApplications(PackageManager.GET_META_DATA);

        for (ApplicationInfo app : apps) {
            if (app.packageName != null
                    && app.packageName.equalsIgnoreCase("com.chrislacy.actionlauncher.pro")) {
                mActionLauncherInstalled = true;
                break;
            }
        }

    } catch (NameNotFoundException e) {
        e.printStackTrace();
    }

    mPreferences = PreferenceManager.getDefaultSharedPreferences(this);
    mPreferences.edit().putInt(SHARED_PREFERENCES_KEY_VERSION, Constant.SHARED_PREFERENCES_VERSION);

    mAccounts = new ArrayList<AccountDescriptor>();
    updateTwitterAccountCount();

    SocialNetConstant.Type socialNetType = SocialNetConstant.Type.Twitter;
    AccountDescriptor currentAccountDescriptor = getCurrentAccount();
    if (currentAccountDescriptor != null) {
        socialNetType = currentAccountDescriptor.getSocialNetType();
        if (socialNetType == null) {
            socialNetType = SocialNetConstant.Type.Twitter;
        }
        TwitterManager.initModule(socialNetType,
                socialNetType == SocialNetConstant.Type.Twitter ? ConsumerKeyConstants.TWITTER_CONSUMER_KEY
                        : ConsumerKeyConstants.APPDOTNET_CONSUMER_KEY,
                socialNetType == SocialNetConstant.Type.Twitter ? ConsumerKeyConstants.TWITTER_CONSUMER_SECRET
                        : ConsumerKeyConstants.TWITTER_CONSUMER_SECRET,
                currentAccountDescriptor.getOAuthToken(), currentAccountDescriptor.getOAuthSecret(),
                currentAccountDescriptor.getAccountKey(), mConnectionStatusCallbacks);
    } else {
        TwitterManager.initModule(SocialNetConstant.Type.Twitter, ConsumerKeyConstants.TWITTER_CONSUMER_KEY,
                ConsumerKeyConstants.TWITTER_CONSUMER_SECRET, null, null, null, mConnectionStatusCallbacks);
    }

    setLaneDefinitions(socialNetType);

    AppSettings.initModule(this);
}