Search in sources :

Example 11 with ProcessErrorStateInfo

use of android.app.ActivityManager.ProcessErrorStateInfo in project platform_frameworks_base by android.

the class MemoryUsageTest method reportError.

private void reportError(String appName, String processName, Bundle results) {
    ActivityManager am = (ActivityManager) getInstrumentation().getContext().getSystemService(Context.ACTIVITY_SERVICE);
    List<ProcessErrorStateInfo> crashes = am.getProcessesInErrorState();
    if (crashes != null) {
        for (ProcessErrorStateInfo crash : crashes) {
            if (!crash.processName.equals(processName))
                continue;
            Log.w(TAG, appName + " crashed: " + crash.shortMsg);
            results.putString(mNameToResultKey.get(appName), crash.shortMsg);
            return;
        }
    }
    results.putString(mNameToResultKey.get(appName), "Crashed for unknown reason");
    Log.w(TAG, appName + " not found in process list, most likely it is crashed");
}
Also used : ProcessErrorStateInfo(android.app.ActivityManager.ProcessErrorStateInfo) ActivityManager(android.app.ActivityManager) IActivityManager(android.app.IActivityManager)

Example 12 with ProcessErrorStateInfo

use of android.app.ActivityManager.ProcessErrorStateInfo in project platform_frameworks_base by android.

the class AppCompatibility method testAppStability.

/**
     * Actual test case that launches the package and throws an exception on the
     * first error.
     *
     * @throws Exception
     */
public void testAppStability() throws Exception {
    String packageName = mArgs.getString(PACKAGE_TO_LAUNCH);
    if (packageName != null) {
        Log.d(TAG, "Launching app " + packageName);
        Intent intent = getLaunchIntentForPackage(packageName);
        if (intent == null) {
            Log.w(TAG, String.format("Skipping %s; no launch intent", packageName));
            return;
        }
        ProcessErrorStateInfo err = launchActivity(packageName, intent);
        // Make sure there are no errors when launching the application,
        // otherwise raise an
        // exception with the first error encountered.
        assertNull(getStackTrace(err), err);
        try {
            assertTrue("App crashed after launch.", processStillUp(packageName));
        } finally {
            returnHome();
        }
    } else {
        Log.d(TAG, "Missing argument, use " + PACKAGE_TO_LAUNCH + " to specify the package to launch");
    }
}
Also used : ProcessErrorStateInfo(android.app.ActivityManager.ProcessErrorStateInfo) Intent(android.content.Intent)

Example 13 with ProcessErrorStateInfo

use of android.app.ActivityManager.ProcessErrorStateInfo in project platform_frameworks_base by android.

the class AppCompatibility method launchActivity.

/**
     * Launches and activity and queries for errors.
     *
     * @param packageName {@link String} the package name of the application to
     *            launch.
     * @return {@link Collection} of {@link ProcessErrorStateInfo} detected
     *         during the app launch.
     */
private ProcessErrorStateInfo launchActivity(String packageName, Intent intent) {
    Log.d(TAG, String.format("launching package \"%s\" with intent: %s", packageName, intent.toString()));
    String processName = getProcessName(packageName);
    // Launch Activity
    mContext.startActivity(intent);
    try {
        Thread.sleep(mAppLaunchTimeout);
    } catch (InterruptedException e) {
    // ignore
    }
    // See if there are any errors. We wait until down here to give ANRs as much time as
    // possible to occur.
    final Collection<ProcessErrorStateInfo> postErr = mActivityManager.getProcessesInErrorState();
    if (postErr == null) {
        return null;
    }
    for (ProcessErrorStateInfo error : postErr) {
        if (error.processName.equals(processName)) {
            return error;
        }
    }
    return null;
}
Also used : ProcessErrorStateInfo(android.app.ActivityManager.ProcessErrorStateInfo)

Example 14 with ProcessErrorStateInfo

use of android.app.ActivityManager.ProcessErrorStateInfo in project platform_frameworks_base by android.

the class AppLaunch method reportError.

private void reportError(String appName, String processName) {
    ActivityManager am = (ActivityManager) getInstrumentation().getContext().getSystemService(Context.ACTIVITY_SERVICE);
    List<ProcessErrorStateInfo> crashes = am.getProcessesInErrorState();
    if (crashes != null) {
        for (ProcessErrorStateInfo crash : crashes) {
            if (!crash.processName.equals(processName))
                continue;
            Log.w(TAG, appName + " crashed: " + crash.shortMsg);
            mResult.putString(mNameToResultKey.get(appName), crash.shortMsg);
            return;
        }
    }
    mResult.putString(mNameToResultKey.get(appName), "Crashed for unknown reason");
    Log.w(TAG, appName + " not found in process list, most likely it is crashed");
}
Also used : ProcessErrorStateInfo(android.app.ActivityManager.ProcessErrorStateInfo) ActivityManager(android.app.ActivityManager) IActivityManager(android.app.IActivityManager)

Example 15 with ProcessErrorStateInfo

use of android.app.ActivityManager.ProcessErrorStateInfo in project android_frameworks_base by crdroidandroid.

the class MemoryUsageTest method reportError.

private void reportError(String appName, String processName, Bundle results) {
    ActivityManager am = (ActivityManager) getInstrumentation().getContext().getSystemService(Context.ACTIVITY_SERVICE);
    List<ProcessErrorStateInfo> crashes = am.getProcessesInErrorState();
    if (crashes != null) {
        for (ProcessErrorStateInfo crash : crashes) {
            if (!crash.processName.equals(processName))
                continue;
            Log.w(TAG, appName + " crashed: " + crash.shortMsg);
            results.putString(mNameToResultKey.get(appName), crash.shortMsg);
            return;
        }
    }
    results.putString(mNameToResultKey.get(appName), "Crashed for unknown reason");
    Log.w(TAG, appName + " not found in process list, most likely it is crashed");
}
Also used : ProcessErrorStateInfo(android.app.ActivityManager.ProcessErrorStateInfo) ActivityManager(android.app.ActivityManager) IActivityManager(android.app.IActivityManager)

Aggregations

ProcessErrorStateInfo (android.app.ActivityManager.ProcessErrorStateInfo)25 ActivityManager (android.app.ActivityManager)11 IActivityManager (android.app.IActivityManager)10 Intent (android.content.Intent)6 Notification (android.app.Notification)1 PendingIntent (android.app.PendingIntent)1 ContentValues (android.content.ContentValues)1 ApplicationInfo (android.content.pm.ApplicationInfo)1 PackageInfo (android.content.pm.PackageInfo)1 PackageManager (android.content.pm.PackageManager)1 NameNotFoundException (android.content.pm.PackageManager.NameNotFoundException)1 Cursor (android.database.Cursor)1 SQLException (android.database.SQLException)1