- * Created by CsHeng on 12/12/2017.
- */
-public class IntentFactory {
-
- public static class Builder {
-
- private Context mContext;
- private Class extends Activity> mActivityClass = CommonActivity.class;
- private Class extends Fragment> mFragmentClass;
- private int mFlags;
- private String mEntrance;
- private Bundle mBundleArgs;
-
- public Builder(@NonNull Context context) {
- mContext = context;
- }
-
- @NonNull
- public Builder setActivity(Class extends Activity> activityClass) {
- mActivityClass = activityClass;
- return this;
- }
-
- @NonNull
- public Builder setFragment(@NonNull Class extends Fragment> cls) {
- mFragmentClass = cls;
- return this;
- }
-
- @NonNull
- public Builder setEntrance(@NonNull String entrance) {
- mEntrance = entrance;
- return this;
- }
-
- @NonNull
- public Builder setArgs(@NonNull Bundle args) {
- mBundleArgs = args;
- return this;
- }
-
- @NonNull
- public Builder addFlags(int flags) {
- mFlags |= flags;
- return this;
- }
-
- @NonNull
- public Builder setFlags(int flags) {
- mFlags = flags;
- return this;
- }
-
- @NonNull
- public Intent build() {
- Intent intent = getFragmentIntent(mContext, mActivityClass, mFragmentClass, mBundleArgs);
- if (!TextUtils.isEmpty(mEntrance)) {
- intent.putExtra(EntranceUtils.KEY_ENTRANCE, mEntrance);
- }
- intent.setFlags(mFlags);
- return intent;
- }
-
- public void start() {
- mContext.startActivity(build());
- }
-
- }
-
- protected static final String ARGS_FRAGMENT_NAME = "frgName";
- protected static final String ARGS_FRAGMENT_BUNDLE = "frgBundle";
-
- protected static Intent clearTop(Context context, Class extends Activity> cls) {
- final Intent intent = getReorderToFrontIntent(context, cls);
- intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- return intent;
- }
-
- protected static Intent getReorderToFrontIntent(Context context, Class extends Activity> cls) {
- final Intent intent = new Intent(context, cls);
- intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- return intent;
- }
-
- protected static void showActivity(Context context, Class extends Activity> cls) {
- final Intent intent = getReorderToFrontIntent(context, cls);
- context.startActivity(intent);
- }
-
- protected static void startFragmentForResult(Context context, Class extends Activity> activity,
- Class extends Fragment> fragment, Bundle bundle, int requestCode) {
- if (context instanceof Activity) {
- ((Activity) context).startActivityForResult(getFragmentIntent(context, activity, fragment, bundle),
- requestCode);
- }
- }
-
- /**
- * 根据传进来的fragment class和bundle extra来决定跳转到哪一个fragment
- *
- * @param context
- * @param fragment fragment.getCanonicalName()
- * @param bundle fragment的构造参数
- * @return
- */
- protected static Intent getFragmentIntent(Context context, Class extends Activity> activity,
- Class extends Fragment> fragment, Bundle bundle) {
- final Intent intent = getReorderToFrontIntent(context, activity);
- intent.putExtra(ARGS_FRAGMENT_NAME, fragment.getCanonicalName());
- intent.putExtra(ARGS_FRAGMENT_BUNDLE, bundle);
- return intent;
- }
-
- protected static void startFragment(Context context, Class extends Activity> activity,
- Class extends Fragment> fragment) {
- startFragment(context, activity, fragment, null);
- }
-
- /**
- * 启动Fragment
- *
- * @param context
- * @param fragment
- * @param bundle
- */
- protected static void startFragment(Context context, Class extends Activity> activity,
- Class extends Fragment> fragment, Bundle bundle) {
- context.startActivity(getFragmentIntent(context, activity, fragment, bundle));
- }
-
-}
diff --git a/app/src/main/res/layout/activity_downloadmanager.xml b/app/src/main/res/layout/activity_downloadmanager.xml
index a145ff0689..637caed611 100644
--- a/app/src/main/res/layout/activity_downloadmanager.xml
+++ b/app/src/main/res/layout/activity_downloadmanager.xml
@@ -4,7 +4,7 @@
android:layout_height = "match_parent"
android:orientation = "vertical" >
-