package android.support.v4.app; import android.app.Activity; import android.app.PendingIntent; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager.NameNotFoundException; import android.os.Build.VERSION; import android.os.Bundle; import android.support.v4.content.ContextCompat; import android.util.Log; import java.util.ArrayList; import java.util.Iterator; public class TaskStackBuilder implements Iterable<Intent> { private static final TaskStackBuilderImpl IMPL; private static final String TAG = "TaskStackBuilder"; private final ArrayList<Intent> mIntents = new ArrayList(); private final Context mSourceContext; static { if (Build.VERSION.SDK_INT >= 11) {} for (IMPL = new TaskStackBuilderImplHoneycomb();; IMPL = new TaskStackBuilderImplBase()) { return; } } private TaskStackBuilder(Context paramContext) { this.mSourceContext = paramContext; } public static TaskStackBuilder create(Context paramContext) { return new TaskStackBuilder(paramContext); } public static TaskStackBuilder from(Context paramContext) { return create(paramContext); } public TaskStackBuilder addNextIntent(Intent paramIntent) { this.mIntents.add(paramIntent); return this; } public TaskStackBuilder addNextIntentWithParentStack(Intent paramIntent) { ComponentName localComponentName = paramIntent.getComponent(); if (localComponentName == null) { localComponentName = paramIntent.resolveActivity(this.mSourceContext.getPackageManager()); } if (localComponentName != null) { addParentStack(localComponentName); } addNextIntent(paramIntent); return this; } public TaskStackBuilder addParentStack(Activity paramActivity) { Intent localIntent = NavUtils.getParentActivityIntent(paramActivity); if (localIntent != null) { ComponentName localComponentName = localIntent.getComponent(); if (localComponentName == null) { localComponentName = localIntent.resolveActivity(this.mSourceContext.getPackageManager()); } addParentStack(localComponentName); addNextIntent(localIntent); } return this; } public TaskStackBuilder addParentStack(ComponentName paramComponentName) { int i = this.mIntents.size(); try { Intent localIntent; for (Object localObject = NavUtils.getParentActivityIntent(this.mSourceContext, paramComponentName); localObject != null; localObject = localIntent) { this.mIntents.add(i, localObject); localIntent = NavUtils.getParentActivityIntent(this.mSourceContext, ((Intent)localObject).getComponent()); } return this; } catch (PackageManager.NameNotFoundException localNameNotFoundException) { Log.e("TaskStackBuilder", "Bad ComponentName while traversing activity parent metadata"); throw new IllegalArgumentException(localNameNotFoundException); } } public TaskStackBuilder addParentStack(Class<?> paramClass) { return addParentStack(new ComponentName(this.mSourceContext, paramClass)); } public Intent editIntentAt(int paramInt) { return (Intent)this.mIntents.get(paramInt); } public Intent getIntent(int paramInt) { return editIntentAt(paramInt); } public int getIntentCount() { return this.mIntents.size(); } public Intent[] getIntents() { Intent[] arrayOfIntent = new Intent[this.mIntents.size()]; if (arrayOfIntent.length == 0) {} for (;;) { return arrayOfIntent; arrayOfIntent[0] = new Intent((Intent)this.mIntents.get(0)).addFlags(268484608); for (int i = 1; i < arrayOfIntent.length; i++) { arrayOfIntent[i] = new Intent((Intent)this.mIntents.get(i)); } } } public PendingIntent getPendingIntent(int paramInt1, int paramInt2) { return getPendingIntent(paramInt1, paramInt2, null); } public PendingIntent getPendingIntent(int paramInt1, int paramInt2, Bundle paramBundle) { if (this.mIntents.isEmpty()) { throw new IllegalStateException("No intents added to TaskStackBuilder; cannot getPendingIntent"); } Intent[] arrayOfIntent = (Intent[])this.mIntents.toArray(new Intent[this.mIntents.size()]); arrayOfIntent[0] = new Intent(arrayOfIntent[0]).addFlags(268484608); return IMPL.getPendingIntent(this.mSourceContext, arrayOfIntent, paramInt1, paramInt2, paramBundle); } public Iterator<Intent> iterator() { return this.mIntents.iterator(); } public void startActivities() { startActivities(null); } public void startActivities(Bundle paramBundle) { if (this.mIntents.isEmpty()) { throw new IllegalStateException("No intents added to TaskStackBuilder; cannot startActivities"); } Intent[] arrayOfIntent = (Intent[])this.mIntents.toArray(new Intent[this.mIntents.size()]); arrayOfIntent[0] = new Intent(arrayOfIntent[0]).addFlags(268484608); if (!ContextCompat.startActivities(this.mSourceContext, arrayOfIntent, paramBundle)) { Intent localIntent = new Intent(arrayOfIntent[(-1 + arrayOfIntent.length)]); localIntent.addFlags(268435456); this.mSourceContext.startActivity(localIntent); } } static class TaskStackBuilderImplJellybean implements TaskStackBuilder.TaskStackBuilderImpl { public PendingIntent getPendingIntent(Context paramContext, Intent[] paramArrayOfIntent, int paramInt1, int paramInt2, Bundle paramBundle) { paramArrayOfIntent[0] = new Intent(paramArrayOfIntent[0]).addFlags(268484608); return TaskStackBuilderJellybean.getActivitiesPendingIntent(paramContext, paramInt1, paramArrayOfIntent, paramInt2, paramBundle); } } static class TaskStackBuilderImplHoneycomb implements TaskStackBuilder.TaskStackBuilderImpl { public PendingIntent getPendingIntent(Context paramContext, Intent[] paramArrayOfIntent, int paramInt1, int paramInt2, Bundle paramBundle) { paramArrayOfIntent[0] = new Intent(paramArrayOfIntent[0]).addFlags(268484608); return TaskStackBuilderHoneycomb.getActivitiesPendingIntent(paramContext, paramInt1, paramArrayOfIntent, paramInt2); } } static class TaskStackBuilderImplBase implements TaskStackBuilder.TaskStackBuilderImpl { public PendingIntent getPendingIntent(Context paramContext, Intent[] paramArrayOfIntent, int paramInt1, int paramInt2, Bundle paramBundle) { Intent localIntent = new Intent(paramArrayOfIntent[(-1 + paramArrayOfIntent.length)]); localIntent.addFlags(268435456); return PendingIntent.getActivity(paramContext, paramInt1, localIntent, paramInt2); } } static abstract interface TaskStackBuilderImpl { public abstract PendingIntent getPendingIntent(Context paramContext, Intent[] paramArrayOfIntent, int paramInt1, int paramInt2, Bundle paramBundle); } } /* Location: F:\neembuu\Research\android_apps\output_jar.jar * Qualified Name: android.support.v4.app.TaskStackBuilder * JD-Core Version: 0.7.0.1 */