Skip to content

Commit 78dbb3d

Browse files
QunheQunhe
Qunhe
authored and
Qunhe
committed
传入parcelables数据形式从Map改为Bundle #40
1 parent 8639c3a commit 78dbb3d

File tree

2 files changed

+25
-32
lines changed

2 files changed

+25
-32
lines changed

activityrouter/src/main/java/com/github/mzule/activityrouter/router/Routers.java

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,12 @@
44
import android.content.Context;
55
import android.content.Intent;
66
import android.net.Uri;
7-
import android.os.Parcelable;
7+
import android.os.Bundle;
88

99
import java.util.ArrayList;
1010
import java.util.Collections;
1111
import java.util.Comparator;
1212
import java.util.List;
13-
import java.util.Map;
1413

1514
/**
1615
* Created by CaoDongping on 4/6/16.
@@ -48,67 +47,67 @@ public static boolean open(Context context, String url) {
4847
return open(context, Uri.parse(url), null, getGlobalCallback(context));
4948
}
5049

51-
public static boolean open(Context context, String url, Map<String, Parcelable> parcelableMap) {
52-
return open(context, Uri.parse(url), parcelableMap, getGlobalCallback(context));
50+
public static boolean open(Context context, String url, Bundle bundle) {
51+
return open(context, Uri.parse(url), bundle, getGlobalCallback(context));
5352
}
5453

5554
public static boolean open(Context context, String url, RouterCallback callback) {
5655
return open(context, Uri.parse(url), null, callback);
5756
}
5857

59-
public static boolean open(Context context, String url, Map<String, Parcelable> parcelableMap, RouterCallback callback) {
60-
return open(context, Uri.parse(url), parcelableMap, callback);
58+
public static boolean open(Context context, String url, Bundle bundle, RouterCallback callback) {
59+
return open(context, Uri.parse(url), bundle, callback);
6160
}
6261

6362
public static boolean open(Context context, Uri uri) {
6463
return open(context, uri, null, getGlobalCallback(context));
6564
}
6665

67-
public static boolean open(Context context, Uri uri, Map<String, Parcelable> parcelableMap) {
68-
return open(context, uri, parcelableMap, getGlobalCallback(context));
66+
public static boolean open(Context context, Uri uri, Bundle bundle) {
67+
return open(context, uri, bundle, getGlobalCallback(context));
6968
}
7069

7170
public static boolean open(Context context, Uri uri, RouterCallback callback) {
7271
return open(context, uri, null, callback);
7372
}
7473

75-
public static boolean open(Context context, Uri uri, Map<String, Parcelable> parcelableMap, RouterCallback callback) {
76-
return open(context, uri, parcelableMap, -1, callback);
74+
public static boolean open(Context context, Uri uri, Bundle bundle, RouterCallback callback) {
75+
return open(context, uri, bundle, -1, callback);
7776
}
7877

7978
public static boolean openForResult(Context context, String url, int requestCode) {
8079
return openForResult(context, Uri.parse(url), null, requestCode, getGlobalCallback(context));
8180
}
8281

83-
public static boolean openForResult(Context context, String url, Map<String, Parcelable> parcelableMap, int requestCode) {
84-
return openForResult(context, Uri.parse(url), parcelableMap, requestCode, getGlobalCallback(context));
82+
public static boolean openForResult(Context context, String url, Bundle bundle, int requestCode) {
83+
return openForResult(context, Uri.parse(url), bundle, requestCode, getGlobalCallback(context));
8584
}
8685

8786
public static boolean openForResult(Context context, String url, int requestCode, RouterCallback callback) {
8887
return openForResult(context, Uri.parse(url), null, requestCode, callback);
8988
}
9089

91-
public static boolean openForResult(Context context, String url, Map<String, Parcelable> parcelableMap, int requestCode, RouterCallback callback) {
92-
return openForResult(context, Uri.parse(url), parcelableMap, requestCode, callback);
90+
public static boolean openForResult(Context context, String url, Bundle bundle, int requestCode, RouterCallback callback) {
91+
return openForResult(context, Uri.parse(url), bundle, requestCode, callback);
9392
}
9493

9594
public static boolean openForResult(Context context, Uri uri, int requestCode) {
9695
return openForResult(context, uri, null, requestCode, getGlobalCallback(context));
9796
}
9897

99-
public static boolean openForResult(Context context, Uri uri, Map<String, Parcelable> parcelableMap, int requestCode) {
100-
return openForResult(context, uri, parcelableMap, requestCode, getGlobalCallback(context));
98+
public static boolean openForResult(Context context, Uri uri, Bundle bundle, int requestCode) {
99+
return openForResult(context, uri, bundle, requestCode, getGlobalCallback(context));
101100
}
102101

103102
public static boolean openForResult(Context context, Uri uri, int requestCode, RouterCallback callback) {
104103
return openForResult(context, uri, null, requestCode, callback);
105104
}
106105

107-
public static boolean openForResult(Context context, Uri uri, Map<String, Parcelable> parcelableMap, int requestCode, RouterCallback callback) {
108-
return open(context, uri, parcelableMap, requestCode, callback);
106+
public static boolean openForResult(Context context, Uri uri, Bundle bundle, int requestCode, RouterCallback callback) {
107+
return open(context, uri, bundle, requestCode, callback);
109108
}
110109

111-
private static boolean open(Context context, Uri uri, Map<String, Parcelable> parcelableMap, int requestCode, RouterCallback callback) {
110+
private static boolean open(Context context, Uri uri, Bundle bundle, int requestCode, RouterCallback callback) {
112111
boolean success = false;
113112
if (callback != null) {
114113
if (callback.beforeOpen(context, uri)) {
@@ -117,7 +116,7 @@ private static boolean open(Context context, Uri uri, Map<String, Parcelable> pa
117116
}
118117

119118
try {
120-
success = doOpen(context, uri, parcelableMap, requestCode);
119+
success = doOpen(context, uri, bundle, requestCode);
121120
} catch (Throwable e) {
122121
e.printStackTrace();
123122
if (callback != null) {
@@ -153,7 +152,7 @@ public static Intent resolve(Context context, Uri uri) {
153152
return null;
154153
}
155154

156-
private static boolean doOpen(Context context, Uri uri, Map<String, Parcelable> parcelableMap, int requestCode) {
155+
private static boolean doOpen(Context context, Uri uri, Bundle bundle, int requestCode) {
157156
initIfNeed();
158157
Path path = Path.create(uri);
159158
for (Mapping mapping : mappings) {
@@ -165,10 +164,8 @@ private static boolean doOpen(Context context, Uri uri, Map<String, Parcelable>
165164
Intent intent = new Intent(context, mapping.getActivity());
166165
intent.putExtras(mapping.parseExtras(uri));
167166
intent.putExtra(KEY_RAW_URL, uri.toString());
168-
if (parcelableMap != null) {
169-
for (Map.Entry<String, Parcelable> entry : parcelableMap.entrySet()) {
170-
intent.putExtra(entry.getKey(), entry.getValue());
171-
}
167+
if (bundle != null) {
168+
intent.putExtras(bundle);
172169
}
173170
if (!(context instanceof Activity)) {
174171
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

app/src/main/java/com/github/mzule/activityrouter/LaunchActivity.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import android.app.Activity;
44
import android.content.Intent;
55
import android.os.Bundle;
6-
import android.os.Parcelable;
76
import android.text.TextUtils;
87
import android.view.View;
98
import android.view.ViewGroup;
@@ -12,9 +11,6 @@
1211

1312
import com.github.mzule.activityrouter.router.Routers;
1413

15-
import java.util.HashMap;
16-
import java.util.Map;
17-
1814
/**
1915
* Created by CaoDongping on 4/7/16.
2016
*/
@@ -50,9 +46,9 @@ public void onClick(View v) {
5046
pojoText.setOnClickListener(new View.OnClickListener() {
5147
@Override
5248
public void onClick(final View view) {
53-
Map<String, Parcelable> map = new HashMap<>();
54-
map.put("POJO", new PojoData("CPPAlien", 5));
55-
Routers.open(LaunchActivity.this, pojoText.getText().toString(), map);
49+
Bundle bundle = new Bundle();
50+
bundle.putParcelable("POJO", new PojoData("CPPAlien", 5));
51+
Routers.open(LaunchActivity.this, pojoText.getText().toString(), bundle);
5652
}
5753
});
5854
}

0 commit comments

Comments
 (0)