Updated support library and minor changes.
diff --git a/libs/android-support-v13.jar b/libs/android-support-v13.jar
index e75351a..2e31e59 100644
--- a/libs/android-support-v13.jar
+++ b/libs/android-support-v13.jar
Binary files differ
diff --git a/src/com/savoirfairelinux/sflphone/client/AccountPreferenceActivity.java b/src/com/savoirfairelinux/sflphone/client/AccountPreferenceActivity.java
index 7ff6a69..ded776c 100644
--- a/src/com/savoirfairelinux/sflphone/client/AccountPreferenceActivity.java
+++ b/src/com/savoirfairelinux/sflphone/client/AccountPreferenceActivity.java
@@ -54,7 +54,6 @@
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
-import android.widget.Toast;
import com.savoirfairelinux.sflphone.R;
import com.savoirfairelinux.sflphone.account.AccountDetail;
@@ -62,7 +61,6 @@
import com.savoirfairelinux.sflphone.account.AccountDetailBasic;
import com.savoirfairelinux.sflphone.account.AccountDetailSrtp;
import com.savoirfairelinux.sflphone.account.AccountDetailTls;
-import com.savoirfairelinux.sflphone.service.ServiceConstants;
public class AccountPreferenceActivity extends PreferenceActivity {
private static final String TAG = "AccoutPreferenceActivity";
@@ -243,6 +241,7 @@
}
Preference.OnPreferenceChangeListener changeBasicPreferenceListener = new Preference.OnPreferenceChangeListener() {
+ @Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
isDifferent = true;
@@ -251,7 +250,7 @@
basicDetails.setDetailString(preference.getKey(), ((Boolean) newValue).toString());
} else {
preference.setSummary((CharSequence) newValue);
- Log.i(TAG, "Changing preference value:" + (CharSequence) newValue);
+ Log.i(TAG, "Changing preference value:" + newValue);
basicDetails.setDetailString(preference.getKey(), ((CharSequence) newValue).toString());
}
return true;
@@ -259,6 +258,7 @@
};
Preference.OnPreferenceChangeListener changeAdvancedPreferenceListener = new Preference.OnPreferenceChangeListener() {
+ @Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
preference.setSummary((CharSequence) newValue);
advancedDetails.setDetailString(preference.getKey(), ((CharSequence) newValue).toString());
@@ -267,6 +267,7 @@
};
Preference.OnPreferenceChangeListener changeTlsPreferenceListener = new Preference.OnPreferenceChangeListener() {
+ @Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
preference.setSummary((CharSequence) newValue);
tlsDetails.setDetailString(preference.getKey(), ((CharSequence) newValue).toString());
@@ -275,6 +276,7 @@
};
Preference.OnPreferenceChangeListener changeSrtpPreferenceListener = new Preference.OnPreferenceChangeListener() {
+ @Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
preference.setSummary((CharSequence) newValue);
srtpDetails.setDetailString(preference.getKey(), ((CharSequence) newValue).toString());
@@ -346,6 +348,7 @@
Activity ownerActivity = this;
AlertDialog.Builder builder = new AlertDialog.Builder(ownerActivity);
builder.setMessage(message).setTitle("Missing Parameters").setPositiveButton("Ok", new DialogInterface.OnClickListener() {
+ @Override
public void onClick(DialogInterface dialog, int whichButton) {
/* Nothing to be done */
}
@@ -359,11 +362,13 @@
Activity ownerActivity = this;
AlertDialog.Builder builder = new AlertDialog.Builder(ownerActivity);
builder.setMessage("Modifications will be lost").setTitle("Account Edition").setPositiveButton("Ok", new DialogInterface.OnClickListener() {
+ @Override
public void onClick(DialogInterface dialog, int whichButton) {
Activity activity = ((Dialog) dialog).getOwnerActivity();
activity.finish();
}
}).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
+ @Override
public void onClick(DialogInterface dialog, int whichButton) {
/* Terminate with no action */
}
@@ -379,23 +384,25 @@
Activity ownerActivity = this;
AlertDialog.Builder builder = new AlertDialog.Builder(ownerActivity);
builder.setMessage("Do you really want to delete this account").setTitle("Delete Account")
- .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int whichButton) {
- Bundle bundle = new Bundle();
- bundle.putString("AccountID", mAccountID);
+ .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int whichButton) {
+ Bundle bundle = new Bundle();
+ bundle.putString("AccountID", mAccountID);
- Intent resultIntent = new Intent();
- resultIntent.putExtras(bundle);
+ Intent resultIntent = new Intent();
+ resultIntent.putExtras(bundle);
- Activity activity = ((Dialog) dialog).getOwnerActivity();
- activity.setResult(result.ACCOUNT_DELETED, resultIntent);
- activity.finish();
- }
- }).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int whichButton) {
- /* Terminate with no action */
- }
- });
+ Activity activity = ((Dialog) dialog).getOwnerActivity();
+ activity.setResult(result.ACCOUNT_DELETED, resultIntent);
+ activity.finish();
+ }
+ }).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int whichButton) {
+ /* Terminate with no action */
+ }
+ });
AlertDialog alertDialog = builder.create();
alertDialog.setOwnerActivity(ownerActivity);
diff --git a/src/com/savoirfairelinux/sflphone/client/CallActivity.java b/src/com/savoirfairelinux/sflphone/client/CallActivity.java
index a9e9dfe..d66fecd 100644
--- a/src/com/savoirfairelinux/sflphone/client/CallActivity.java
+++ b/src/com/savoirfairelinux/sflphone/client/CallActivity.java
@@ -158,18 +158,13 @@
private Handler mHandler = new Handler();
private Runnable mUpdateTimeTask = new Runnable() {
+ @Override
public void run() {
- final long start = SystemClock.uptimeMillis();
- long millis = SystemClock.uptimeMillis() - start;
- int seconds = (int) (millis / 1000);
- int minutes = seconds / 60;
- seconds = seconds % 60;
-
if(mCurrentCallFragment != null)
mCurrentCallFragment.updateTime();
mCallsFragment.update();
- mHandler.postAtTime(this, start + (((minutes * 60) + seconds + 1) * 1000));
+ mHandler.postAtTime(this, SystemClock.uptimeMillis() + 1000);
}
};
@@ -209,7 +204,7 @@
service = ISipService.Stub.asInterface(binder);
mCurrentCallFragment = new CallFragment();
-
+
Uri u = getIntent().getData();
if (u != null) {
CallContact c = CallContact.ContactBuilder.buildUnknownContact(u.getSchemeSpecificPart());
@@ -232,7 +227,7 @@
if (getIntent().getBooleanExtra("resuming", false)) {
Bundle b = new Bundle();
- b.putParcelable("conference", (Conference) getIntent().getParcelableExtra("conference"));
+ b.putParcelable("conference", getIntent().getParcelableExtra("conference"));
mCurrentCallFragment.setArguments(b);
} else {
diff --git a/src/com/savoirfairelinux/sflphone/client/ZoomOutPageTransformer.java b/src/com/savoirfairelinux/sflphone/client/ZoomOutPageTransformer.java
index d2cd1ae..b48844c 100644
--- a/src/com/savoirfairelinux/sflphone/client/ZoomOutPageTransformer.java
+++ b/src/com/savoirfairelinux/sflphone/client/ZoomOutPageTransformer.java
@@ -1,9 +1,10 @@
package com.savoirfairelinux.sflphone.client;
-import android.view.View;
import android.support.v4.view.ViewPager;
+import android.view.View;
public class ZoomOutPageTransformer implements ViewPager.PageTransformer {
+ private static final float MIN_ALPHA = .6f;
private final float scalingStart;
public ZoomOutPageTransformer(float scalingStart) {
@@ -15,6 +16,6 @@
public void transformPage(View page, float position) {
// page.setRotationY(position * -30);
final float normalizedposition = Math.abs(Math.abs(position) - 1);
- page.setAlpha(normalizedposition);
+ page.setAlpha(MIN_ALPHA + (1.f-MIN_ALPHA)*normalizedposition);
}
}
\ No newline at end of file
diff --git a/src/com/savoirfairelinux/sflphone/service/SipService.java b/src/com/savoirfairelinux/sflphone/service/SipService.java
index 91a0d34..fb78acb 100644
--- a/src/com/savoirfairelinux/sflphone/service/SipService.java
+++ b/src/com/savoirfairelinux/sflphone/service/SipService.java
@@ -121,7 +121,6 @@
LocalBroadcastManager.getInstance(this).registerReceiver(receiver, callFilter);
getExecutor().execute(new StartRunnable());
-
}
/* called for each startService() */
@@ -232,7 +231,7 @@
System.loadLibrary("speexresampler");
System.loadLibrary("sflphone");
isPjSipStackStarted = true;
-
+
} catch (UnsatisfiedLinkError e) {
Log.e(TAG, "Problem with the current Pj stack...", e);
isPjSipStackStarted = false;
@@ -246,7 +245,7 @@
/* set static AppPath before calling manager.init */
-// managerImpl.setPath(sflphoneApp.getAppPath());
+ // managerImpl.setPath(sflphoneApp.getAppPath());
callManagerJNI = new CallManager();
callManagerCallBack = new CallManagerCallBack(this);
@@ -255,15 +254,15 @@
configurationManagerJNI = new ConfigurationManager();
configurationManagerCallback = new ConfigurationManagerCallback(this);
SFLPhoneservice.setConfigurationCallbackObject(configurationManagerCallback);
-
+
Log.i(TAG, "before init");
managerImpl.init("");
-
+
Log.i(TAG, "->startPjSipStack");
}
- public HashMap<String, SipCall> getCurrent_calls() {
+ public HashMap<String, SipCall> getCurrent_calls() {
return current_calls;
}
@@ -279,6 +278,7 @@
public abstract static class SipRunnable implements Runnable {
protected abstract void doRun() throws SameThreadException, RemoteException;
+ @Override
public void run() {
try {
doRun();
@@ -304,6 +304,7 @@
return done;
}
+ @Override
public void run() {
try {
obj = doRun();
@@ -358,12 +359,12 @@
protected void doRun() throws SameThreadException {
Log.i(TAG, "SipService.placeCall() thread running...");
callManagerJNI.placeCall(call.getAccountID(), call.getCallId(), call.getContact().getPhones().get(0).getNumber());
-
+
HashMap<String, String> details = CallDetailsHandler.convertSwigToNative(callManagerJNI.getCallDetails(call.getCallId()));
// watchout timestamp stored by sflphone is in seconds
call.setTimestamp_start(Long.parseLong(details.get(ServiceConstants.call.TIMESTAMP_START)));
getCurrent_calls().put(call.getCallId(), call);
-
+
}
});
}
@@ -422,7 +423,7 @@
}
});
}
-
+
@Override
public HashMap<String, String> getCallDetails(String callID) throws RemoteException {
class CallDetails extends SipRunnableWithReturn {
@@ -449,7 +450,7 @@
HashMap<String, String> nativemap = CallDetailsHandler.convertSwigToNative(swigmap);
return nativemap;
-
+
}
@Override
@@ -914,7 +915,7 @@
@Override
protected String doRun() throws SameThreadException {
Log.i(TAG, "SipService.getRecordPath() thread running...");
- return configurationManagerJNI.getRecordPath();
+ return configurationManagerJNI.getRecordPath();
}
}
@@ -930,7 +931,7 @@
@Override
public boolean toggleRecordingCall(final String id) throws RemoteException {
-
+
class ToggleRecording extends SipRunnableWithReturn {
@Override
@@ -998,7 +999,7 @@
@Override
protected void doRun() throws SameThreadException, RemoteException {
Log.i(TAG, "SipService.setRecordPath() "+path+" thread running...");
- configurationManagerJNI.setRecordPath(path);
+ configurationManagerJNI.setRecordPath(path);
}
});
}
@@ -1087,7 +1088,7 @@
}
- private int NOTIFICATION_ID = new Random().nextInt(1000);
+ private final int NOTIFICATION_ID = new Random().nextInt(1000);
private void makeNotification() {
if (current_calls.size() == 0) {
@@ -1098,18 +1099,18 @@
PendingIntent.FLAG_UPDATE_CURRENT);
NotificationManager nm = (NotificationManager) getBaseContext().getSystemService(Context.NOTIFICATION_SERVICE);
+ nm.cancel(NOTIFICATION_ID); // clear previous notifications.
NotificationCompat.Builder builder = new NotificationCompat.Builder(getBaseContext());
//
// builder.setContent(view);
builder.setContentIntent(contentIntent).setOngoing(true).setSmallIcon(R.drawable.ic_launcher)
- .setContentTitle(getCurrent_calls().size() + " ongoing calls").setTicker("Pending calls").setWhen(System.currentTimeMillis())
- .setAutoCancel(false);
+ .setContentTitle(getCurrent_calls().size() + " ongoing calls").setTicker("Pending calls").setWhen(System.currentTimeMillis())
+ .setAutoCancel(false);
builder.setPriority(NotificationCompat.PRIORITY_MAX);
Notification n = builder.build();
nm.notify(NOTIFICATION_ID, n);
-
}
public void removeNotification() {
@@ -1120,14 +1121,14 @@
@Override
public Conference getCurrentCall() throws RemoteException {
for (SipCall i : current_calls.values()) {
-
+
// Incoming >> Ongoing
if(i.isIncoming()){
Conference tmp = new Conference("-1");
tmp.getParticipants().add(i);
return tmp;
}
-
+
if (i.isOngoing()) {
Conference tmp = new Conference("-1");
tmp.getParticipants().add(i);