4
4
import android .content .Context ;
5
5
import android .content .Intent ;
6
6
import android .net .Uri ;
7
- import android .os .Parcelable ;
7
+ import android .os .Bundle ;
8
8
9
9
import java .util .ArrayList ;
10
10
import java .util .Collections ;
11
11
import java .util .Comparator ;
12
12
import java .util .List ;
13
- import java .util .Map ;
14
13
15
14
/**
16
15
* Created by CaoDongping on 4/6/16.
@@ -48,67 +47,67 @@ public static boolean open(Context context, String url) {
48
47
return open (context , Uri .parse (url ), null , getGlobalCallback (context ));
49
48
}
50
49
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 ));
53
52
}
54
53
55
54
public static boolean open (Context context , String url , RouterCallback callback ) {
56
55
return open (context , Uri .parse (url ), null , callback );
57
56
}
58
57
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 );
61
60
}
62
61
63
62
public static boolean open (Context context , Uri uri ) {
64
63
return open (context , uri , null , getGlobalCallback (context ));
65
64
}
66
65
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 ));
69
68
}
70
69
71
70
public static boolean open (Context context , Uri uri , RouterCallback callback ) {
72
71
return open (context , uri , null , callback );
73
72
}
74
73
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 );
77
76
}
78
77
79
78
public static boolean openForResult (Context context , String url , int requestCode ) {
80
79
return openForResult (context , Uri .parse (url ), null , requestCode , getGlobalCallback (context ));
81
80
}
82
81
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 ));
85
84
}
86
85
87
86
public static boolean openForResult (Context context , String url , int requestCode , RouterCallback callback ) {
88
87
return openForResult (context , Uri .parse (url ), null , requestCode , callback );
89
88
}
90
89
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 );
93
92
}
94
93
95
94
public static boolean openForResult (Context context , Uri uri , int requestCode ) {
96
95
return openForResult (context , uri , null , requestCode , getGlobalCallback (context ));
97
96
}
98
97
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 ));
101
100
}
102
101
103
102
public static boolean openForResult (Context context , Uri uri , int requestCode , RouterCallback callback ) {
104
103
return openForResult (context , uri , null , requestCode , callback );
105
104
}
106
105
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 );
109
108
}
110
109
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 ) {
112
111
boolean success = false ;
113
112
if (callback != null ) {
114
113
if (callback .beforeOpen (context , uri )) {
@@ -117,7 +116,7 @@ private static boolean open(Context context, Uri uri, Map<String, Parcelable> pa
117
116
}
118
117
119
118
try {
120
- success = doOpen (context , uri , parcelableMap , requestCode );
119
+ success = doOpen (context , uri , bundle , requestCode );
121
120
} catch (Throwable e ) {
122
121
e .printStackTrace ();
123
122
if (callback != null ) {
@@ -153,7 +152,7 @@ public static Intent resolve(Context context, Uri uri) {
153
152
return null ;
154
153
}
155
154
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 ) {
157
156
initIfNeed ();
158
157
Path path = Path .create (uri );
159
158
for (Mapping mapping : mappings ) {
@@ -165,10 +164,8 @@ private static boolean doOpen(Context context, Uri uri, Map<String, Parcelable>
165
164
Intent intent = new Intent (context , mapping .getActivity ());
166
165
intent .putExtras (mapping .parseExtras (uri ));
167
166
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 );
172
169
}
173
170
if (!(context instanceof Activity )) {
174
171
intent .addFlags (Intent .FLAG_ACTIVITY_NEW_TASK );
0 commit comments