Search in sources :

Example 21 with IntentSender

use of android.content.IntentSender in project android_packages_apps_Settings by LineageOS.

the class NotificationStation method formatPendingIntent.

private static String formatPendingIntent(PendingIntent pi) {
    final StringBuilder sb = new StringBuilder();
    final IntentSender is = pi.getIntentSender();
    sb.append("Intent(pkg=").append(is.getCreatorPackage());
    try {
        final boolean isActivity = ActivityManager.getService().isIntentSenderAnActivity(is.getTarget());
        if (isActivity)
            sb.append(" (activity)");
    } catch (RemoteException ex) {
    }
    sb.append(")");
    return sb.toString();
}
Also used : SpannableStringBuilder(android.text.SpannableStringBuilder) IntentSender(android.content.IntentSender) RemoteException(android.os.RemoteException)

Example 22 with IntentSender

use of android.content.IntentSender in project Rocket by mozilla-tw.

the class ShortcutUtils method requestPinShortcut.

// Request pinned shortcut for both API level
public static void requestPinShortcut(@NonNull final Context context, @NonNull final Intent shortcutIntent, @NonNull final String title, @NonNull final String urlAsShortcutId, final Bitmap bitmap) {
    final Bitmap icon;
    final Resources resources = context.getResources();
    final char representativeCharacter = FavIconUtils.getRepresentativeCharacter(urlAsShortcutId);
    if (bitmap == null) {
        // if favicon is not ready, we use the default initial icon with white color
        icon = FavIconUtils.getInitialBitmap(resources, null, representativeCharacter);
    } else {
        // if favicon is ready, resize it using size that fits shortcut better
        icon = FavIconUtils.getRefinedShortcutIcon(resources, bitmap, representativeCharacter);
    }
    // label must not be empty
    String label = title;
    if (TextUtils.isEmpty(title)) {
        label = urlAsShortcutId;
    }
    final ShortcutInfoCompat shortcut = new ShortcutInfoCompat.Builder(context, urlAsShortcutId).setShortLabel(label).setIcon(IconCompat.createWithBitmap(icon)).setIntent(shortcutIntent).build();
    // Display home screen after add to home screen
    final Intent showHome = new Intent(Intent.ACTION_MAIN);
    showHome.addCategory(Intent.CATEGORY_HOME);
    showHome.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    final PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, showHome, PendingIntent.FLAG_UPDATE_CURRENT);
    final IntentSender intentSender = pendingIntent.getIntentSender();
    // TODO: find a way to update the shortcut icon for API 25-. Currently the only way is remove old shortcut and add again.
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N_MR1) {
        final ShortcutManager shortcutManager = context.getSystemService(ShortcutManager.class);
        if (shortcutManager != null) {
            final List<ShortcutInfo> list = new ArrayList<>();
            list.add(shortcut.toShortcutInfo());
            shortcutManager.updateShortcuts(list);
        }
    }
    // If the launcher or system didn't support shortcut, we don't bother to call it.
    if (ShortcutManagerCompat.isRequestPinShortcutSupported(context)) {
        ShortcutManagerCompat.requestPinShortcut(context, shortcut, intentSender);
    }
}
Also used : ShortcutInfo(android.content.pm.ShortcutInfo) ShortcutManager(android.content.pm.ShortcutManager) ArrayList(java.util.ArrayList) Intent(android.content.Intent) PendingIntent(android.app.PendingIntent) Bitmap(android.graphics.Bitmap) Resources(android.content.res.Resources) PendingIntent(android.app.PendingIntent) IntentSender(android.content.IntentSender) ShortcutInfoCompat(android.support.v4.content.pm.ShortcutInfoCompat)

Example 23 with IntentSender

use of android.content.IntentSender in project android_packages_apps_Settings by omnirom.

the class ChooseLockSettingsHelper method copyOptionalExtras.

private void copyOptionalExtras(Intent inIntent, Intent outIntent) {
    IntentSender intentSender = inIntent.getParcelableExtra(Intent.EXTRA_INTENT);
    if (intentSender != null) {
        outIntent.putExtra(Intent.EXTRA_INTENT, intentSender);
    }
    int taskId = inIntent.getIntExtra(Intent.EXTRA_TASK_ID, -1);
    if (taskId != -1) {
        outIntent.putExtra(Intent.EXTRA_TASK_ID, taskId);
    }
    // TODO: Remove once that bug is fixed.
    if (intentSender != null || taskId != -1) {
        outIntent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
        outIntent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
    }
}
Also used : IntentSender(android.content.IntentSender)

Example 24 with IntentSender

use of android.content.IntentSender in project android_packages_apps_Settings by crdroidandroid.

the class ConfirmDeviceCredentialBaseFragment method checkForPendingIntent.

protected void checkForPendingIntent() {
    int taskId = getActivity().getIntent().getIntExtra(Intent.EXTRA_TASK_ID, -1);
    if (taskId != -1) {
        try {
            IActivityManager activityManager = ActivityManager.getService();
            final ActivityOptions options = ActivityOptions.makeBasic();
            options.setLaunchStackId(ActivityManager.StackId.INVALID_STACK_ID);
            activityManager.startActivityFromRecents(taskId, options.toBundle());
            return;
        } catch (RemoteException e) {
        // Do nothing.
        }
    }
    IntentSender intentSender = getActivity().getIntent().getParcelableExtra(Intent.EXTRA_INTENT);
    if (intentSender != null) {
        try {
            getActivity().startIntentSenderForResult(intentSender, -1, null, 0, 0, 0);
        } catch (IntentSender.SendIntentException e) {
        /* ignore */
        }
    }
}
Also used : RemoteException(android.os.RemoteException) IntentSender(android.content.IntentSender) Point(android.graphics.Point) IActivityManager(android.app.IActivityManager) ActivityOptions(android.app.ActivityOptions)

Example 25 with IntentSender

use of android.content.IntentSender in project android_packages_apps_Settings by SudaMod.

the class ChooseLockSettingsHelper method copyOptionalExtras.

private void copyOptionalExtras(Intent inIntent, Intent outIntent) {
    IntentSender intentSender = inIntent.getParcelableExtra(Intent.EXTRA_INTENT);
    if (intentSender != null) {
        outIntent.putExtra(Intent.EXTRA_INTENT, intentSender);
    }
    int taskId = inIntent.getIntExtra(Intent.EXTRA_TASK_ID, -1);
    if (taskId != -1) {
        outIntent.putExtra(Intent.EXTRA_TASK_ID, taskId);
    }
    // TODO: Remove once that bug is fixed.
    if (intentSender != null || taskId != -1) {
        outIntent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
        outIntent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
    }
}
Also used : IntentSender(android.content.IntentSender)

Aggregations

IntentSender (android.content.IntentSender)94 Intent (android.content.Intent)48 IIntentSender (android.content.IIntentSender)46 PendingIntent (android.app.PendingIntent)40 RemoteException (android.os.RemoteException)30 UserHandle (android.os.UserHandle)14 ActivityOptions (android.app.ActivityOptions)13 KeyguardManager (android.app.KeyguardManager)10 UserInfo (android.content.pm.UserInfo)10 Bundle (android.os.Bundle)10 IActivityManager (android.app.IActivityManager)8 ComponentName (android.content.ComponentName)8 ActivityInfo (android.content.pm.ActivityInfo)8 ResolveInfo (android.content.pm.ResolveInfo)8 HeavyWeightSwitcherActivity (com.android.internal.app.HeavyWeightSwitcherActivity)8 AccountManager (android.accounts.AccountManager)7 Activity (android.app.Activity)7 PackageManager (android.content.pm.PackageManager)7 Point (android.graphics.Point)7 SpannableStringBuilder (android.text.SpannableStringBuilder)7