Search in sources :

Example 11 with PackageManagerWrapperImpl

use of com.android.settings.applications.PackageManagerWrapperImpl in project platform_packages_apps_Settings by BlissRoms.

the class DefaultAppPickerFragment method onAttach.

@Override
public void onAttach(Context context) {
    super.onAttach(context);
    mPm = new PackageManagerWrapperImpl(context.getPackageManager());
}
Also used : PackageManagerWrapperImpl(com.android.settings.applications.PackageManagerWrapperImpl)

Example 12 with PackageManagerWrapperImpl

use of com.android.settings.applications.PackageManagerWrapperImpl in project platform_packages_apps_Settings by BlissRoms.

the class AppDataUsage method onCreate.

@Override
public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    mPackageManagerWrapper = new PackageManagerWrapperImpl(getPackageManager());
    final Bundle args = getArguments();
    try {
        mStatsSession = services.mStatsService.openSession();
    } catch (RemoteException e) {
        throw new RuntimeException(e);
    }
    mAppItem = (args != null) ? (AppItem) args.getParcelable(ARG_APP_ITEM) : null;
    mTemplate = (args != null) ? (NetworkTemplate) args.getParcelable(ARG_NETWORK_TEMPLATE) : null;
    if (mTemplate == null) {
        Context context = getContext();
        mTemplate = DataUsageUtils.getDefaultTemplate(context, DataUsageUtils.getDefaultSubscriptionId(context));
    }
    if (mAppItem == null) {
        int uid = (args != null) ? args.getInt(AppInfoBase.ARG_PACKAGE_UID, -1) : getActivity().getIntent().getIntExtra(AppInfoBase.ARG_PACKAGE_UID, -1);
        if (uid == -1) {
            // TODO: Log error.
            getActivity().finish();
        } else {
            addUid(uid);
            mAppItem = new AppItem(uid);
            mAppItem.addUid(uid);
        }
    } else {
        for (int i = 0; i < mAppItem.uids.size(); i++) {
            addUid(mAppItem.uids.keyAt(i));
        }
    }
    addPreferencesFromResource(R.xml.app_data_usage);
    mTotalUsage = findPreference(KEY_TOTAL_USAGE);
    mForegroundUsage = findPreference(KEY_FOREGROUND_USAGE);
    mBackgroundUsage = findPreference(KEY_BACKGROUND_USAGE);
    mCycle = (SpinnerPreference) findPreference(KEY_CYCLE);
    mCycleAdapter = new CycleAdapter(getContext(), mCycle, mCycleListener, false);
    if (mAppItem.key > 0) {
        if (mPackages.size() != 0) {
            try {
                ApplicationInfo info = mPackageManagerWrapper.getApplicationInfoAsUser(mPackages.valueAt(0), 0, UserHandle.getUserId(mAppItem.key));
                mIcon = IconDrawableFactory.newInstance(getActivity()).getBadgedIcon(info);
                mLabel = info.loadLabel(mPackageManagerWrapper.getPackageManager());
                mPackageName = info.packageName;
            } catch (PackageManager.NameNotFoundException e) {
            }
        }
        if (!UserHandle.isApp(mAppItem.key)) {
            removePreference(KEY_UNRESTRICTED_DATA);
            removePreference(KEY_RESTRICT_BACKGROUND);
        } else {
            mRestrictBackground = (SwitchPreference) findPreference(KEY_RESTRICT_BACKGROUND);
            mRestrictBackground.setOnPreferenceChangeListener(this);
            mUnrestrictedData = (SwitchPreference) findPreference(KEY_UNRESTRICTED_DATA);
            mUnrestrictedData.setOnPreferenceChangeListener(this);
        }
        mDataSaverBackend = new DataSaverBackend(getContext());
        mAppSettings = findPreference(KEY_APP_SETTINGS);
        mAppSettingsIntent = new Intent(Intent.ACTION_MANAGE_NETWORK_USAGE);
        mAppSettingsIntent.addCategory(Intent.CATEGORY_DEFAULT);
        PackageManager pm = getPackageManager();
        boolean matchFound = false;
        for (String packageName : mPackages) {
            mAppSettingsIntent.setPackage(packageName);
            if (pm.resolveActivity(mAppSettingsIntent, 0) != null) {
                matchFound = true;
                break;
            }
        }
        if (!matchFound) {
            removePreference(KEY_APP_SETTINGS);
            mAppSettings = null;
        }
        if (mPackages.size() > 1) {
            mAppList = (PreferenceCategory) findPreference(KEY_APP_LIST);
            getLoaderManager().initLoader(LOADER_APP_PREF, Bundle.EMPTY, mAppPrefCallbacks);
        } else {
            removePreference(KEY_APP_LIST);
        }
    } else {
        final Context context = getActivity();
        UidDetail uidDetail = new UidDetailProvider(context).getUidDetail(mAppItem.key, true);
        mIcon = uidDetail.icon;
        mLabel = uidDetail.label;
        mPackageName = context.getPackageName();
        removePreference(KEY_UNRESTRICTED_DATA);
        removePreference(KEY_APP_SETTINGS);
        removePreference(KEY_RESTRICT_BACKGROUND);
        removePreference(KEY_APP_LIST);
    }
}
Also used : Context(android.content.Context) Bundle(android.os.Bundle) ApplicationInfo(android.content.pm.ApplicationInfo) Intent(android.content.Intent) PackageManagerWrapperImpl(com.android.settings.applications.PackageManagerWrapperImpl) NetworkTemplate(android.net.NetworkTemplate) UidDetail(com.android.settingslib.net.UidDetail) PackageManager(android.content.pm.PackageManager) AppItem(com.android.settingslib.AppItem) RemoteException(android.os.RemoteException) UidDetailProvider(com.android.settingslib.net.UidDetailProvider)

Aggregations

PackageManagerWrapperImpl (com.android.settings.applications.PackageManagerWrapperImpl)12 Context (android.content.Context)6 Intent (android.content.Intent)6 ApplicationInfo (android.content.pm.ApplicationInfo)6 PackageManager (android.content.pm.PackageManager)6 NetworkTemplate (android.net.NetworkTemplate)6 Bundle (android.os.Bundle)6 RemoteException (android.os.RemoteException)6 AppItem (com.android.settingslib.AppItem)6 UidDetail (com.android.settingslib.net.UidDetail)6 UidDetailProvider (com.android.settingslib.net.UidDetailProvider)6