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