8000 Add ConstraintsMap.java ConstraintsArray.java Callback.java and delet… · PushoN/flutter-webrtc@067e66c · GitHub
[go: up one dir, main page]

Skip to content

Commit 067e66c

Browse files
committed
Add ConstraintsMap.java ConstraintsArray.java Callback.java and delete utils.
1 parent 70f24f4 commit 067e66c

23 files changed

+351
-1060
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.cloudwebrtc.webrtc;
2+
3+
public interface Callback {
4+
5+
public void invoke(Object... args);
6+
}
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
package com.cloudwebrtc.webrtc;
2+
3+
import java.util.ArrayList;
4+
import java.util.Map;
5+
6+
public class ConstraintsArray {
7+
8+
final private ArrayList<Object> mArray;
9+
10+
public ConstraintsArray(){
11+
this.mArray = new ArrayList<>();
12+
}
13+
14+
public ConstraintsArray(ArrayList<Object> array){
15+
this.mArray = array;
16+
}
17+
18+
int size(){
19+
return mArray.size();
20+
}
21+
22+
boolean isNull(int index){
23+
return mArray.get(index) == null;
24+
}
25+
26+
boolean getBoolean(int index){
27+
return (Boolean) mArray.get(index);
28+
}
29+
30+
double getDouble(int index){
31+
return (double) mArray.get(index);
32+
}
33+
34+
int getInt(int index){
35+
return (int) mArray.get(index);
36+
}
37+
38+
String getString(int index){
39+
return (String) mArray.get(index);
40+
}
41+
42+
ConstraintsArray getArray(int index){
43+
return new ConstraintsArray((ArrayList<Object>)mArray.get(index));
44+
}
45+
46+
ConstraintsMap getMap(int index){
47+
return new ConstraintsMap((Map<String, Object>) mArray.get(index));
48+
}
49+
50+
public ObjectType getType(int index) {
51+
Object object = mArray.get(index);
52+
53+
if (object == null) {
54+
return ObjectType.Null;
55+
} else if (object instanceof Boolean) {
56+
return ObjectType.Boolean;
57+
} else if (object instanceof Double ||
58+
object instanceof Float ||
59+
object instanceof Integer) {
60+
return ObjectType.Number;
61+
} else if (object instanceof String) {
62+
return ObjectType.String;
63+
} else if (object instanceof ArrayList) {
64+
return ObjectType.Array;
65+
} else if (object instanceof Map) {
66+
return ObjectType.Map;
67+
}
68+
return null;
69+
}
70+
71+
ArrayList<Object> toArrayList(){
72+
return mArray;
73+
}
74+
75+
void pushNull(){
76+
mArray.add(null);
77+
}
78+
79+
void pushBoolean(boolean value){
80+
mArray.add(value);
81+
}
82+
83+
void pushDouble(double value){
84+
mArray.add(value);
85+
}
86+
87+
void pushInt(int value){
88+
mArray.add(value);
89+
}
90+
91+
void pushString(String value){
92+
mArray.add(value);
93+
}
94+
95+
void pushArray(ConstraintsArray array){
96+
mArray.add(array.toArrayList());
97+
}
98+
99+
void pushMap(ConstraintsMap map){
100+
mArray.add(map.toMap());
101+
}
102+
103+
}
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
package com.cloudwebrtc.webrtc;
2+
3+
import java.util.ArrayList;
4+
import java.util.HashMap;
5+
import java.util.Map;
6+
7+
public class ConstraintsMap {
8+
9+
private final Map<String, Object> mMap;
10+
11+
public ConstraintsMap(){
12+
mMap = new HashMap<String,Object>();
13+
}
14+
15+
public ConstraintsMap(Map<String, Object> map){
16+
this.mMap = map;
17+
}
18+
19+
public Map<String, Object> toMap() {
20+
return mMap;
21+
}
22+
23+
boolean hasKey(String name){
24+
return this.mMap.containsKey(name);
25+
}
26+
27+
boolean isNull(String name){
28+
return mMap.get(name) == null;
29+
}
30+
31+
boolean getBoolean(String name){
32+
return (boolean) mMap.get(name);
33+
}
34+
35+
double getDouble(String name){
36+
return (double) mMap.get(name);
37+
}
38+
39+
int getInt(String name){
40+
return (int) mMap.get(name);
41+
}
42+
43+
String getString(String name){
44+
return (String) mMap.get(name);
45+
}
46+
47+
ConstraintsMap getMap(String name){
48+
return new ConstraintsMap((Map<String, Object>)mMap.get(name));
49+
}
50+
51+
public ObjectType getType(String name) {
52+
Object value = mMap.get(name);
53+
if (value == null) {
54+
return ObjectType.Null;
55+
} else if (value instanceof Number) {
56+
return ObjectType.Number;
57+
} else if (value instanceof String) {
58+
return ObjectType.String;
59+
} else if (value instanceof Boolean) {
60+
return ObjectType.Boolean;
61+
} else if (value instanceof Map) {
62+
return ObjectType.Map;
63+
} else if (value instanceof ArrayList) {
64+
return ObjectType.Array;
65+
} else {
66+
throw new IllegalArgumentException("Invalid value " + value.toString() + " for key " + name +
67+
"contained in ConstraintsMap");
68+
}
69+
}
70+
71+
public void putBoolean(String key, boolean value) {
72+
mMap.put(key, value);
73+
}
74+
75+
public void putDouble(String key, double value) {
76+
mMap.put(key, value);
77+
}
78+
79+
public void putInt(String key, int value) {
80+
mMap.put(key, value);
81+
}
82+
83+
public void putString(String key, String value) {
84+
mMap.put(key, value);
85+
}
86+
87+
public void putNull(String key) {
88+
mMap.put(key, null);
89+
}
90+
91+
public void putMap(String key, Map<String, Object> value) {
92+
mMap.put(key, value);
93+
}
94+
95+
public void merge(Map<String, Object> value) {
96+
mMap.putAll(value);
97+
}
98+
99+
public void putArray(String key, ArrayList<Object> value) {
100+
mMap.put(key, value);
101+
}
102+
103+
ConstraintsArray getArray(String name){
104+
return new ConstraintsArray((ArrayList<Object>)mMap.get(name));
105+
}
106+
107+
ArrayList<Object> getListArray(String name){
108+
return (ArrayList<Object>) mMap.get(name);
109+
}
110+
}

android/src/main/java/com/cloudwebrtc/webrtc/DataChannelObserver.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,6 @@
33< D22A div class="diff-text-inner">import java.nio.charset.Charset;
44
import android.util.Base64;
55

6-
import com.cloudwebrtc.webrtc.utils.WritableMap;
7-
import com.cloudwebrtc.webrtc.utils.ReadableType;
8-
import com.cloudwebrtc.webrtc.utils.JavaOnlyMap;
9-
106
import org.webrtc.DataChannel;
117

128
class DataChannelObserver implements DataChannel.Observer {
@@ -43,7 +39,7 @@ public void onBufferedAmountChange(long amount) {
4339

4440
@Override
4541
public void onStateChange() {
46-
WritableMap params = new JavaOnlyMap();
42+
ConstraintsMap params = new ConstraintsMap();
4743
params.putInt("id", mId);
4844
params.putInt("peerConnectionId", peerConnectionId);
4945
params.putString("state", dataChannelStateString(mDataChannel.state()));
@@ -52,7 +48,7 @@ public void onStateChange() {
5248

5349
@Override
5450
public void onMessage(DataChannel.Buffer buffer) {
55-
WritableMap params = new JavaOnlyMap();
51+
ConstraintsMap params = new ConstraintsMap();
5652
params.putInt("id", mId);
5753
params.putInt("peerConnectionId", peerConnectionId);
5854

0 commit comments

Comments
 (0)
0