Updated license year to 2020 + fixed crash when new version is available
This commit is contained in:
parent
4889bd83db
commit
00b3e8f60b
4 changed files with 72 additions and 67 deletions
|
@ -20,10 +20,8 @@
|
||||||
package org.linphone;
|
package org.linphone;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.app.AlertDialog;
|
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.hardware.Sensor;
|
import android.hardware.Sensor;
|
||||||
import android.hardware.SensorEvent;
|
import android.hardware.SensorEvent;
|
||||||
|
@ -31,7 +29,6 @@ import android.hardware.SensorEventListener;
|
||||||
import android.hardware.SensorManager;
|
import android.hardware.SensorManager;
|
||||||
import android.net.ConnectivityManager;
|
import android.net.ConnectivityManager;
|
||||||
import android.net.NetworkInfo;
|
import android.net.NetworkInfo;
|
||||||
import android.net.Uri;
|
|
||||||
import android.os.PowerManager;
|
import android.os.PowerManager;
|
||||||
import android.os.PowerManager.WakeLock;
|
import android.os.PowerManager.WakeLock;
|
||||||
import android.telephony.PhoneStateListener;
|
import android.telephony.PhoneStateListener;
|
||||||
|
@ -64,7 +61,6 @@ import org.linphone.core.ProxyConfig;
|
||||||
import org.linphone.core.Reason;
|
import org.linphone.core.Reason;
|
||||||
import org.linphone.core.Tunnel;
|
import org.linphone.core.Tunnel;
|
||||||
import org.linphone.core.TunnelConfig;
|
import org.linphone.core.TunnelConfig;
|
||||||
import org.linphone.core.VersionUpdateCheckResult;
|
|
||||||
import org.linphone.core.tools.Log;
|
import org.linphone.core.tools.Log;
|
||||||
import org.linphone.settings.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.utils.LinphoneUtils;
|
import org.linphone.utils.LinphoneUtils;
|
||||||
|
@ -216,50 +212,6 @@ public class LinphoneManager implements SensorEventListener {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onVersionUpdateCheckResultReceived(
|
|
||||||
Core core,
|
|
||||||
VersionUpdateCheckResult result,
|
|
||||||
String version,
|
|
||||||
String url) {
|
|
||||||
if (result == VersionUpdateCheckResult.NewVersionAvailable) {
|
|
||||||
final String urlToUse = url;
|
|
||||||
final String versionAv = version;
|
|
||||||
LinphoneUtils.dispatchOnUIThreadAfter(
|
|
||||||
new Runnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
AlertDialog.Builder builder =
|
|
||||||
new AlertDialog.Builder(mContext);
|
|
||||||
builder.setMessage(
|
|
||||||
getString(R.string.update_available)
|
|
||||||
+ ": "
|
|
||||||
+ versionAv);
|
|
||||||
builder.setCancelable(false);
|
|
||||||
builder.setNeutralButton(
|
|
||||||
getString(R.string.ok),
|
|
||||||
new DialogInterface.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(
|
|
||||||
DialogInterface dialogInterface,
|
|
||||||
int i) {
|
|
||||||
if (urlToUse != null) {
|
|
||||||
Intent urlIntent =
|
|
||||||
new Intent(
|
|
||||||
Intent.ACTION_VIEW);
|
|
||||||
urlIntent.setData(
|
|
||||||
Uri.parse(urlToUse));
|
|
||||||
mContext.startActivity(urlIntent);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
builder.show();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
1000);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFriendListCreated(Core core, FriendList list) {
|
public void onFriendListCreated(Core core, FriendList list) {
|
||||||
if (LinphoneContext.isReady()) {
|
if (LinphoneContext.isReady()) {
|
||||||
|
@ -793,20 +745,6 @@ public class LinphoneManager implements SensorEventListener {
|
||||||
|
|
||||||
/* Other stuff */
|
/* Other stuff */
|
||||||
|
|
||||||
public void checkForUpdate() {
|
|
||||||
String url = LinphonePreferences.instance().getCheckReleaseUrl();
|
|
||||||
if (url != null && !url.isEmpty()) {
|
|
||||||
int lastTimestamp = LinphonePreferences.instance().getLastCheckReleaseTimestamp();
|
|
||||||
int currentTimeStamp = (int) System.currentTimeMillis();
|
|
||||||
int interval =
|
|
||||||
mContext.getResources().getInteger(R.integer.time_between_update_check); // 24h
|
|
||||||
if (lastTimestamp == 0 || currentTimeStamp - lastTimestamp >= interval) {
|
|
||||||
mCore.checkForUpdate(BuildConfig.VERSION_NAME);
|
|
||||||
LinphonePreferences.instance().setLastCheckReleaseTimestamp(currentTimeStamp);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void enableDeviceRingtone(boolean use) {
|
public void enableDeviceRingtone(boolean use) {
|
||||||
if (use) {
|
if (use) {
|
||||||
mCore.setRing(null);
|
mCore.setRing(null);
|
||||||
|
|
|
@ -94,10 +94,6 @@ public class LinphoneLauncherActivity extends Activity implements ServiceWaitThr
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getResources().getBoolean(R.bool.check_for_update_when_app_starts)) {
|
|
||||||
LinphoneManager.getInstance().checkForUpdate();
|
|
||||||
}
|
|
||||||
|
|
||||||
Intent intent = new Intent();
|
Intent intent = new Intent();
|
||||||
intent.setClass(LinphoneLauncherActivity.this, classToStart);
|
intent.setClass(LinphoneLauncherActivity.this, classToStart);
|
||||||
if (getIntent() != null && getIntent().getExtras() != null) {
|
if (getIntent() != null && getIntent().getExtras() != null) {
|
||||||
|
|
|
@ -20,6 +20,8 @@
|
||||||
package org.linphone.dialer;
|
package org.linphone.dialer;
|
||||||
|
|
||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
|
import android.app.AlertDialog;
|
||||||
|
import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
@ -35,6 +37,7 @@ import java.io.UnsupportedEncodingException;
|
||||||
import java.net.URLDecoder;
|
import java.net.URLDecoder;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import org.linphone.BuildConfig;
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.MainActivity;
|
import org.linphone.activities.MainActivity;
|
||||||
|
@ -44,11 +47,13 @@ import org.linphone.contacts.ContactsManager;
|
||||||
import org.linphone.core.Call;
|
import org.linphone.core.Call;
|
||||||
import org.linphone.core.Core;
|
import org.linphone.core.Core;
|
||||||
import org.linphone.core.CoreListenerStub;
|
import org.linphone.core.CoreListenerStub;
|
||||||
|
import org.linphone.core.VersionUpdateCheckResult;
|
||||||
import org.linphone.core.tools.Log;
|
import org.linphone.core.tools.Log;
|
||||||
import org.linphone.dialer.views.AddressText;
|
import org.linphone.dialer.views.AddressText;
|
||||||
import org.linphone.dialer.views.Digit;
|
import org.linphone.dialer.views.Digit;
|
||||||
import org.linphone.dialer.views.EraseButton;
|
import org.linphone.dialer.views.EraseButton;
|
||||||
import org.linphone.settings.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
|
import org.linphone.utils.LinphoneUtils;
|
||||||
|
|
||||||
public class DialerActivity extends MainActivity implements AddressText.AddressChangedListener {
|
public class DialerActivity extends MainActivity implements AddressText.AddressChangedListener {
|
||||||
private static final String ACTION_CALL_LINPHONE = "org.linphone.intent.action.CallLaunched";
|
private static final String ACTION_CALL_LINPHONE = "org.linphone.intent.action.CallLaunched";
|
||||||
|
@ -103,6 +108,50 @@ public class DialerActivity extends MainActivity implements AddressText.AddressC
|
||||||
Core core, Call call, Call.State state, String message) {
|
Core core, Call call, Call.State state, String message) {
|
||||||
updateLayout();
|
updateLayout();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onVersionUpdateCheckResultReceived(
|
||||||
|
Core core,
|
||||||
|
VersionUpdateCheckResult result,
|
||||||
|
String version,
|
||||||
|
String url) {
|
||||||
|
if (result == VersionUpdateCheckResult.NewVersionAvailable) {
|
||||||
|
final String urlToUse = url;
|
||||||
|
final String versionAv = version;
|
||||||
|
LinphoneUtils.dispatchOnUIThreadAfter(
|
||||||
|
new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
AlertDialog.Builder builder =
|
||||||
|
new AlertDialog.Builder(DialerActivity.this);
|
||||||
|
builder.setMessage(
|
||||||
|
getString(R.string.update_available)
|
||||||
|
+ ": "
|
||||||
|
+ versionAv);
|
||||||
|
builder.setCancelable(false);
|
||||||
|
builder.setNeutralButton(
|
||||||
|
getString(R.string.ok),
|
||||||
|
new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(
|
||||||
|
DialogInterface dialogInterface,
|
||||||
|
int i) {
|
||||||
|
if (urlToUse != null) {
|
||||||
|
Intent urlIntent =
|
||||||
|
new Intent(
|
||||||
|
Intent.ACTION_VIEW);
|
||||||
|
urlIntent.setData(
|
||||||
|
Uri.parse(urlToUse));
|
||||||
|
startActivity(urlIntent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
builder.show();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
1000);
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// On dialer we ask for all permissions
|
// On dialer we ask for all permissions
|
||||||
|
@ -181,6 +230,28 @@ public class DialerActivity extends MainActivity implements AddressText.AddressC
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onStart() {
|
||||||
|
super.onStart();
|
||||||
|
|
||||||
|
if (getResources().getBoolean(R.bool.check_for_update_when_app_starts)) {
|
||||||
|
checkForUpdate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void checkForUpdate() {
|
||||||
|
String url = LinphonePreferences.instance().getCheckReleaseUrl();
|
||||||
|
if (url != null && !url.isEmpty()) {
|
||||||
|
int lastTimestamp = LinphonePreferences.instance().getLastCheckReleaseTimestamp();
|
||||||
|
int currentTimeStamp = (int) System.currentTimeMillis();
|
||||||
|
int interval = getResources().getInteger(R.integer.time_between_update_check); // 24h
|
||||||
|
if (lastTimestamp == 0 || currentTimeStamp - lastTimestamp >= interval) {
|
||||||
|
LinphoneManager.getCore().checkForUpdate(BuildConfig.VERSION_NAME);
|
||||||
|
LinphonePreferences.instance().setLastCheckReleaseTimestamp(currentTimeStamp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void initUI(View view) {
|
private void initUI(View view) {
|
||||||
mAddress = view.findViewById(R.id.address);
|
mAddress = view.findViewById(R.id.address);
|
||||||
mAddress.setAddressListener(this);
|
mAddress.setAddressListener(this);
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
<string name="user_agent" translatable="false">LinphoneAndroid</string>
|
<string name="user_agent" translatable="false">LinphoneAndroid</string>
|
||||||
<string name="temp_photo_name" translatable="false">linphone-android-photo-temp</string>
|
<string name="temp_photo_name" translatable="false">linphone-android-photo-temp</string>
|
||||||
<string name="temp_photo_name_with_date" translatable="false">linphone-android-photo-%s</string>
|
<string name="temp_photo_name_with_date" translatable="false">linphone-android-photo-%s</string>
|
||||||
<string name="about_text" translatable="false">GNU General Public License V3\n © 2010–2019 Belledonne Communications</string>
|
<string name="about_text" translatable="false">GNU General Public License V3\n © 2010–2020 Belledonne Communications</string>
|
||||||
<string name="about_bugreport_email" translatable="false">linphone-android@belledonne-communications.com</string>
|
<string name="about_bugreport_email" translatable="false">linphone-android@belledonne-communications.com</string>
|
||||||
<string name="notification_service_channel_id" translatable="false">linphone_notification_service_id</string>
|
<string name="notification_service_channel_id" translatable="false">linphone_notification_service_id</string>
|
||||||
<string name="notification_channel_id" translatable="false">linphone_notification_id</string>
|
<string name="notification_channel_id" translatable="false">linphone_notification_id</string>
|
||||||
|
|
Loading…
Reference in a new issue