Search in sources :

Example 1 with LogPrinter

use of android.util.LogPrinter in project android_frameworks_base by ParanoidAndroid.

the class PackageManagerService method replacePreferredActivity.

public void replacePreferredActivity(IntentFilter filter, int match, ComponentName[] set, ComponentName activity) {
    if (filter.countActions() != 1) {
        throw new IllegalArgumentException("replacePreferredActivity expects filter to have only 1 action.");
    }
    if (filter.countCategories() != 1) {
        throw new IllegalArgumentException("replacePreferredActivity expects filter to have only 1 category.");
    }
    if (filter.countDataAuthorities() != 0 || filter.countDataPaths() != 0 || filter.countDataSchemes() != 0 || filter.countDataTypes() != 0) {
        throw new IllegalArgumentException("replacePreferredActivity expects filter to have no data authorities, " + "paths, schemes or types.");
    }
    synchronized (mPackages) {
        if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.SET_PREFERRED_APPLICATIONS) != PackageManager.PERMISSION_GRANTED) {
            if (getUidTargetSdkVersionLockedLPr(Binder.getCallingUid()) < Build.VERSION_CODES.FROYO) {
                Slog.w(TAG, "Ignoring replacePreferredActivity() from uid " + Binder.getCallingUid());
                return;
            }
            mContext.enforceCallingOrSelfPermission(android.Manifest.permission.SET_PREFERRED_APPLICATIONS, null);
        }
        final int callingUserId = UserHandle.getCallingUserId();
        ArrayList<PreferredActivity> removed = null;
        PreferredIntentResolver pir = mSettings.mPreferredActivities.get(callingUserId);
        if (pir != null) {
            Iterator<PreferredActivity> it = pir.filterIterator();
            String action = filter.getAction(0);
            String category = filter.getCategory(0);
            while (it.hasNext()) {
                PreferredActivity pa = it.next();
                if (pa.getAction(0).equals(action) && pa.getCategory(0).equals(category)) {
                    if (removed == null) {
                        removed = new ArrayList<PreferredActivity>();
                    }
                    removed.add(pa);
                    Log.i(TAG, "Removing preferred activity " + pa.mPref.mComponent + ":");
                    filter.dump(new LogPrinter(Log.INFO, TAG), "  ");
                }
            }
            if (removed != null) {
                for (int i = 0; i < removed.size(); i++) {
                    PreferredActivity pa = removed.get(i);
                    pir.removeFilter(pa);
                }
            }
        }
        addPreferredActivity(filter, match, set, activity, callingUserId);
    }
}
Also used : LogPrinter(android.util.LogPrinter)

Example 2 with LogPrinter

use of android.util.LogPrinter in project android_frameworks_base by ParanoidAndroid.

the class ActivityThread method main.

public static void main(String[] args) {
    SamplingProfilerIntegration.start();
    // CloseGuard defaults to true and can be quite spammy.  We
    // disable it here, but selectively enable it later (via
    // StrictMode) on debug builds, but using DropBox, not logs.
    CloseGuard.setEnabled(false);
    Environment.initForCurrentUser();
    // Set the reporter for event logging in libcore
    EventLogger.setReporter(new EventLoggingReporter());
    Security.addProvider(new AndroidKeyStoreProvider());
    Process.setArgV0("<pre-initialized>");
    Looper.prepareMainLooper();
    ActivityThread thread = new ActivityThread();
    thread.attach(false);
    ContextImpl.init(thread);
    if (sMainThreadHandler == null) {
        sMainThreadHandler = thread.getHandler();
    }
    AsyncTask.init();
    if (false) {
        Looper.myLooper().setMessageLogging(new LogPrinter(Log.DEBUG, "ActivityThread"));
    }
    Looper.loop();
    throw new RuntimeException("Main thread loop unexpectedly exited");
}
Also used : AndroidRuntimeException(android.util.AndroidRuntimeException) AndroidKeyStoreProvider(android.security.AndroidKeyStoreProvider) LogPrinter(android.util.LogPrinter)

Example 3 with LogPrinter

use of android.util.LogPrinter in project android_frameworks_base by ResurrectionRemix.

the class Settings method applyDefaultPreferredActivityLPw.

private void applyDefaultPreferredActivityLPw(PackageManagerService service, IntentFilter tmpPa, ComponentName cn, int userId) {
    // preferred activity entry.
    if (PackageManagerService.DEBUG_PREFERRED) {
        Log.d(TAG, "Processing preferred:");
        tmpPa.dump(new LogPrinter(Log.DEBUG, TAG), "  ");
    }
    Intent intent = new Intent();
    int flags = PackageManager.MATCH_DIRECT_BOOT_AWARE | PackageManager.MATCH_DIRECT_BOOT_UNAWARE;
    intent.setAction(tmpPa.getAction(0));
    for (int i = 0; i < tmpPa.countCategories(); i++) {
        String cat = tmpPa.getCategory(i);
        if (cat.equals(Intent.CATEGORY_DEFAULT)) {
            flags |= MATCH_DEFAULT_ONLY;
        } else {
            intent.addCategory(cat);
        }
    }
    boolean doNonData = true;
    boolean hasSchemes = false;
    for (int ischeme = 0; ischeme < tmpPa.countDataSchemes(); ischeme++) {
        boolean doScheme = true;
        String scheme = tmpPa.getDataScheme(ischeme);
        if (scheme != null && !scheme.isEmpty()) {
            hasSchemes = true;
        }
        for (int issp = 0; issp < tmpPa.countDataSchemeSpecificParts(); issp++) {
            Uri.Builder builder = new Uri.Builder();
            builder.scheme(scheme);
            PatternMatcher ssp = tmpPa.getDataSchemeSpecificPart(issp);
            builder.opaquePart(ssp.getPath());
            Intent finalIntent = new Intent(intent);
            finalIntent.setData(builder.build());
            applyDefaultPreferredActivityLPw(service, finalIntent, flags, cn, scheme, ssp, null, null, userId);
            doScheme = false;
        }
        for (int iauth = 0; iauth < tmpPa.countDataAuthorities(); iauth++) {
            boolean doAuth = true;
            IntentFilter.AuthorityEntry auth = tmpPa.getDataAuthority(iauth);
            for (int ipath = 0; ipath < tmpPa.countDataPaths(); ipath++) {
                Uri.Builder builder = new Uri.Builder();
                builder.scheme(scheme);
                if (auth.getHost() != null) {
                    builder.authority(auth.getHost());
                }
                PatternMatcher path = tmpPa.getDataPath(ipath);
                builder.path(path.getPath());
                Intent finalIntent = new Intent(intent);
                finalIntent.setData(builder.build());
                applyDefaultPreferredActivityLPw(service, finalIntent, flags, cn, scheme, null, auth, path, userId);
                doAuth = doScheme = false;
            }
            if (doAuth) {
                Uri.Builder builder = new Uri.Builder();
                builder.scheme(scheme);
                if (auth.getHost() != null) {
                    builder.authority(auth.getHost());
                }
                Intent finalIntent = new Intent(intent);
                finalIntent.setData(builder.build());
                applyDefaultPreferredActivityLPw(service, finalIntent, flags, cn, scheme, null, auth, null, userId);
                doScheme = false;
            }
        }
        if (doScheme) {
            Uri.Builder builder = new Uri.Builder();
            builder.scheme(scheme);
            Intent finalIntent = new Intent(intent);
            finalIntent.setData(builder.build());
            applyDefaultPreferredActivityLPw(service, finalIntent, flags, cn, scheme, null, null, null, userId);
        }
        doNonData = false;
    }
    for (int idata = 0; idata < tmpPa.countDataTypes(); idata++) {
        String mimeType = tmpPa.getDataType(idata);
        if (hasSchemes) {
            Uri.Builder builder = new Uri.Builder();
            for (int ischeme = 0; ischeme < tmpPa.countDataSchemes(); ischeme++) {
                String scheme = tmpPa.getDataScheme(ischeme);
                if (scheme != null && !scheme.isEmpty()) {
                    Intent finalIntent = new Intent(intent);
                    builder.scheme(scheme);
                    finalIntent.setDataAndType(builder.build(), mimeType);
                    applyDefaultPreferredActivityLPw(service, finalIntent, flags, cn, scheme, null, null, null, userId);
                }
            }
        } else {
            Intent finalIntent = new Intent(intent);
            finalIntent.setType(mimeType);
            applyDefaultPreferredActivityLPw(service, finalIntent, flags, cn, null, null, null, null, userId);
        }
        doNonData = false;
    }
    if (doNonData) {
        applyDefaultPreferredActivityLPw(service, intent, flags, cn, null, null, null, null, userId);
    }
}
Also used : IntentFilter(android.content.IntentFilter) Intent(android.content.Intent) Uri(android.net.Uri) PatternMatcher(android.os.PatternMatcher) LogPrinter(android.util.LogPrinter)

Example 4 with LogPrinter

use of android.util.LogPrinter in project android_frameworks_base by ResurrectionRemix.

the class ActivityThread method main.

public static void main(String[] args) {
    Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "ActivityThreadMain");
    SamplingProfilerIntegration.start();
    // CloseGuard defaults to true and can be quite spammy.  We
    // disable it here, but selectively enable it later (via
    // StrictMode) on debug builds, but using DropBox, not logs.
    CloseGuard.setEnabled(false);
    Environment.initForCurrentUser();
    // Set the reporter for event logging in libcore
    EventLogger.setReporter(new EventLoggingReporter());
    // Make sure TrustedCertificateStore looks in the right place for CA certificates
    final File configDir = Environment.getUserConfigDirectory(UserHandle.myUserId());
    TrustedCertificateStore.setDefaultUserDirectory(configDir);
    Process.setArgV0("<pre-initialized>");
    Looper.prepareMainLooper();
    ActivityThread thread = new ActivityThread();
    thread.attach(false);
    if (sMainThreadHandler == null) {
        sMainThreadHandler = thread.getHandler();
    }
    if (false) {
        Looper.myLooper().setMessageLogging(new LogPrinter(Log.DEBUG, "ActivityThread"));
    }
    // End of event ActivityThreadMain.
    Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);
    Looper.loop();
    throw new RuntimeException("Main thread loop unexpectedly exited");
}
Also used : AndroidRuntimeException(android.util.AndroidRuntimeException) File(java.io.File) LogPrinter(android.util.LogPrinter)

Example 5 with LogPrinter

use of android.util.LogPrinter in project android_frameworks_base by ResurrectionRemix.

the class IntentResolver method addFilter.

public void addFilter(F f) {
    if (localLOGV) {
        Slog.v(TAG, "Adding filter: " + f);
        f.dump(new LogPrinter(Log.VERBOSE, TAG, Log.LOG_ID_SYSTEM), "      ");
        Slog.v(TAG, "    Building Lookup Maps:");
    }
    mFilters.add(f);
    int numS = register_intent_filter(f, f.schemesIterator(), mSchemeToFilter, "      Scheme: ");
    int numT = register_mime_types(f, "      Type: ");
    if (numS == 0 && numT == 0) {
        register_intent_filter(f, f.actionsIterator(), mActionToFilter, "      Action: ");
    }
    if (numT != 0) {
        register_intent_filter(f, f.actionsIterator(), mTypedActionToFilter, "      TypedAction: ");
    }
}
Also used : LogPrinter(android.util.LogPrinter)

Aggregations

LogPrinter (android.util.LogPrinter)52 Uri (android.net.Uri)10 Editable (android.text.Editable)7 Spannable (android.text.Spannable)7 SpannableStringBuilder (android.text.SpannableStringBuilder)7 AndroidRuntimeException (android.util.AndroidRuntimeException)7 ActivityInfo (android.content.pm.ActivityInfo)6 ResolveInfo (android.content.pm.ResolveInfo)6 Intent (android.content.Intent)5 IntentFilter (android.content.IntentFilter)5 PatternMatcher (android.os.PatternMatcher)5 PrintWriterPrinter (android.util.PrintWriterPrinter)5 Printer (android.util.Printer)5 FastPrintWriter (com.android.internal.util.FastPrintWriter)5 File (java.io.File)5 PrintWriter (java.io.PrintWriter)5 EphemeralResolveInfo (android.content.pm.EphemeralResolveInfo)4 Handler (android.os.Handler)2 ComponentName (android.content.ComponentName)1 Context (android.content.Context)1