diff --git a/app/src/main/java/org/linphone/LinphoneManager.java b/app/src/main/java/org/linphone/LinphoneManager.java
index 07e191ccb..75fe5b326 100644
--- a/app/src/main/java/org/linphone/LinphoneManager.java
+++ b/app/src/main/java/org/linphone/LinphoneManager.java
@@ -72,7 +72,6 @@ import org.linphone.assistant.AssistantActivity;
import org.linphone.call.CallActivity;
import org.linphone.call.CallIncomingActivity;
import org.linphone.call.CallManager;
-import org.linphone.compatibility.Compatibility;
import org.linphone.contacts.ContactsManager;
import org.linphone.contacts.LinphoneContact;
import org.linphone.core.AccountCreator;
@@ -728,10 +727,11 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou
mCore.setZrtpSecretsFile(mBasePath + "/zrtp_secrets");
- String deviceName = Compatibility.getDeviceName(mServiceContext);
+ String deviceName = mPrefs.getDeviceName(mServiceContext);
String appName = mServiceContext.getResources().getString(R.string.user_agent);
String androidVersion = BuildConfig.VERSION_NAME;
String userAgent = appName + "/" + androidVersion + " (" + deviceName + ") LinphoneSDK";
+
mCore.setUserAgent(
userAgent,
getString(R.string.linphone_sdk_version)
diff --git a/app/src/main/java/org/linphone/settings/AdvancedSettingsFragment.java b/app/src/main/java/org/linphone/settings/AdvancedSettingsFragment.java
index b2825a230..97ba3d1be 100644
--- a/app/src/main/java/org/linphone/settings/AdvancedSettingsFragment.java
+++ b/app/src/main/java/org/linphone/settings/AdvancedSettingsFragment.java
@@ -50,7 +50,7 @@ public class AdvancedSettingsFragment extends Fragment {
mBackgroundMode,
mStartAtBoot,
mDarkMode;
- private TextSetting mRemoteProvisioningUrl, mDisplayName, mUsername;
+ private TextSetting mRemoteProvisioningUrl, mDisplayName, mUsername, mDeviceName;
private BasicSetting mAndroidAppSettings;
@Nullable
@@ -104,6 +104,8 @@ public class AdvancedSettingsFragment extends Fragment {
mUsername = mRootView.findViewById(R.id.pref_user_name);
mAndroidAppSettings = mRootView.findViewById(R.id.pref_android_app_settings);
+
+ mDeviceName = mRootView.findViewById(R.id.pref_device_name);
}
protected void setListeners() {
@@ -199,6 +201,14 @@ public class AdvancedSettingsFragment extends Fragment {
startActivityForResult(i, LinphoneActivity.ANDROID_APP_SETTINGS_ACTIVITY);
}
});
+
+ mDeviceName.setListener(
+ new SettingListenerBase() {
+ @Override
+ public void onTextValueChanged(String newValue) {
+ mPrefs.setDeviceName(newValue);
+ }
+ });
}
protected void updateValues() {
@@ -220,6 +230,8 @@ public class AdvancedSettingsFragment extends Fragment {
mUsername.setValue(mPrefs.getDefaultUsername());
+ mDeviceName.setValue(mPrefs.getDeviceName(LinphoneActivity.instance()));
+
setListeners();
}
}
diff --git a/app/src/main/java/org/linphone/settings/LinphonePreferences.java b/app/src/main/java/org/linphone/settings/LinphonePreferences.java
index 16785469b..402a134ed 100644
--- a/app/src/main/java/org/linphone/settings/LinphonePreferences.java
+++ b/app/src/main/java/org/linphone/settings/LinphonePreferences.java
@@ -32,6 +32,7 @@ import java.util.ArrayList;
import org.linphone.LinphoneActivity;
import org.linphone.LinphoneManager;
import org.linphone.R;
+import org.linphone.compatibility.Compatibility;
import org.linphone.core.Address;
import org.linphone.core.AuthInfo;
import org.linphone.core.Config;
@@ -1066,4 +1067,13 @@ public class LinphonePreferences {
LinphoneActivity.instance().recreate();
}
}
+
+ public String getDeviceName(Context context) {
+ String defaultValue = Compatibility.getDeviceName(context);
+ return getConfig().getString("app", "device_name", defaultValue);
+ }
+
+ public void setDeviceName(String name) {
+ getConfig().setString("app", "device_name", name);
+ }
}
diff --git a/app/src/main/res/layout/settings_advanced.xml b/app/src/main/res/layout/settings_advanced.xml
index a0177db37..efe3c575c 100644
--- a/app/src/main/res/layout/settings_advanced.xml
+++ b/app/src/main/res/layout/settings_advanced.xml
@@ -49,6 +49,14 @@
android:layout_height="wrap_content"
linphone:title="@string/pref_dark_mode" />
+
+
Enable service notification
Start at boot time
Incoming call hangup (in seconds)
+ Device name
+ Changes will be applied at next start up
Remote provisioning
Android app settings
Android notification settings