* #31884: codec activation working/ not reordering
diff --git a/src/org/sflphone/service/SipService.java b/src/org/sflphone/service/SipService.java
index 8480708..6115dfb 100644
--- a/src/org/sflphone/service/SipService.java
+++ b/src/org/sflphone/service/SipService.java
@@ -508,9 +508,9 @@
return nativelist;
}
-
+
@Override
- public void setAccountOrder(final String order){
+ public void setAccountOrder(final String order) {
getExecutor().execute(new SipRunnable() {
@Override
protected void doRun() throws SameThreadException {
@@ -1039,26 +1039,25 @@
@Override
protected ArrayList<Codec> doRun() throws SameThreadException {
Log.i(TAG, "SipService.getAudioCodecList() thread running...");
- HashMap<Integer, Codec> results = new HashMap<Integer, Codec>();
-
- IntVect active_payloads = configurationManagerJNI.getActiveAudioCodecList(accountID);
- for (int i = 0; i < active_payloads.size(); ++i) {
-
- results.put(active_payloads.get(i),
- new Codec(active_payloads.get(i), configurationManagerJNI.getAudioCodecDetails(active_payloads.get(i)), true));
- Log.i(TAG, "Active, Adding:" + results.get((active_payloads.get(i))).getName());
- }
+ ArrayList<Codec> results = new ArrayList<Codec>();
IntVect payloads = configurationManagerJNI.getAudioCodecList();
for (int i = 0; i < payloads.size(); ++i) {
- if (!results.containsKey(payloads.get(i))) {
- results.put(payloads.get(i), new Codec(payloads.get(i), configurationManagerJNI.getAudioCodecDetails(payloads.get(i)),
- false));
- Log.i(TAG, "Other, Adding:" + results.get((payloads.get(i))).getName());
+ results.add(new Codec(payloads.get(i), configurationManagerJNI.getAudioCodecDetails(payloads.get(i)), false));
+ }
+
+
+ IntVect active_payloads = configurationManagerJNI.getActiveAudioCodecList(accountID);
+ for (int i = 0; i < active_payloads.size(); ++i) {
+
+ for(Codec co : results){
+ if(co.getPayload().toString().contentEquals(String.valueOf(active_payloads.get(i))))
+ co.setEnabled(true);
}
}
- return new ArrayList<Codec>(results.values());
+
+ return results;
}
}
@@ -1085,7 +1084,12 @@
getExecutor().execute(runInstance);
while (!runInstance.isDone()) {
}
- ArrayList<Codec> codecs = (ArrayList<Codec>) runInstance.getVal();
+ StringMap ringtones = (StringMap) runInstance.getVal();
+
+ for (int i = 0; i < ringtones.size(); ++i) {
+ // Log.i(TAG,"ringtones "+i+" "+ ringtones.);
+ }
+
return null;
}