diff --git a/app/build.gradle b/app/build.gradle
index 60674706e..452bdb5ca 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -230,6 +230,7 @@ dependencies {
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0'
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation "androidx.security:security-crypto-ktx:1.1.0-alpha03"
+ implementation 'androidx.core:core-splashscreen:1.0.0-alpha02'
implementation 'com.google.android.material:material:1.4.0'
implementation 'com.google.android.flexbox:flexbox:3.0.0'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7fb8213c6..431fad6d6 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -39,29 +39,24 @@
android:label="${appLabel}"
android:roundIcon="@mipmap/ic_launcher_round"
android:extractNativeLibs="${extractNativeLibs}"
- android:theme="@style/AppTheme"
+ android:theme="@style/AppSplashScreenTheme"
android:allowNativeHeapPointerTagging="false">
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/app/src/main/java/org/linphone/activities/launcher/LauncherActivity.kt b/app/src/main/java/org/linphone/activities/launcher/LauncherActivity.kt
deleted file mode 100644
index d8a206adf..000000000
--- a/app/src/main/java/org/linphone/activities/launcher/LauncherActivity.kt
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2010-2020 Belledonne Communications SARL.
- *
- * This file is part of linphone-android
- * (see https://www.linphone.org).
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.linphone.activities.launcher
-
-import android.content.Intent
-import android.os.Bundle
-import org.linphone.LinphoneApplication.Companion.coreContext
-import org.linphone.LinphoneApplication.Companion.corePreferences
-import org.linphone.R
-import org.linphone.activities.GenericActivity
-import org.linphone.activities.main.MainActivity
-import org.linphone.core.tools.Log
-
-class LauncherActivity : GenericActivity() {
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
-
- setContentView(R.layout.launcher_activity)
- }
-
- override fun onStart() {
- super.onStart()
- coreContext.handler.postDelayed({ onReady() }, 500)
- }
-
- private fun onReady() {
- Log.i("[Launcher] Core is ready")
-
- if (corePreferences.preventInterfaceFromShowingUp) {
- Log.w("[Context] We were asked to not show the user interface")
- finish()
- return
- }
-
- val intent = Intent()
- intent.setClass(this, MainActivity::class.java)
-
- // Propagate current intent action, type and data
- if (getIntent() != null) {
- val extras = getIntent().extras
- if (extras != null) intent.putExtras(extras)
- }
- intent.action = getIntent().action
- intent.type = getIntent().type
- intent.data = getIntent().data
-
- startActivity(intent)
- if (corePreferences.enableAnimations) {
- overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out)
- }
- }
-}
diff --git a/app/src/main/java/org/linphone/activities/main/MainActivity.kt b/app/src/main/java/org/linphone/activities/main/MainActivity.kt
index bd2aabd1e..6a9771e31 100644
--- a/app/src/main/java/org/linphone/activities/main/MainActivity.kt
+++ b/app/src/main/java/org/linphone/activities/main/MainActivity.kt
@@ -30,6 +30,7 @@ import android.view.Gravity
import android.view.MotionEvent
import android.view.View
import android.view.inputmethod.InputMethodManager
+import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.databinding.DataBindingUtil
@@ -112,6 +113,8 @@ class MainActivity : GenericActivity(), SnackBarActivity, NavController.OnDestin
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
+ val splashScreen = installSplashScreen()
+
binding = DataBindingUtil.setContentView(this, R.layout.main_activity)
binding.lifecycleOwner = this
diff --git a/app/src/main/res/drawable/launch_screen.xml b/app/src/main/res/drawable/launch_screen.xml
deleted file mode 100644
index 5a3965dfc..000000000
--- a/app/src/main/res/drawable/launch_screen.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
- -
-
-
- -
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/vector_linphone_logo.xml b/app/src/main/res/drawable/vector_linphone_logo.xml
new file mode 100644
index 000000000..9c1d994f9
--- /dev/null
+++ b/app/src/main/res/drawable/vector_linphone_logo.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
diff --git a/app/src/main/res/layout/launcher_activity.xml b/app/src/main/res/layout/launcher_activity.xml
deleted file mode 100644
index 5efc4c664..000000000
--- a/app/src/main/res/layout/launcher_activity.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/values-night/styles.xml b/app/src/main/res/values-night/styles.xml
index 6933329f9..83cce0c6d 100644
--- a/app/src/main/res/values-night/styles.xml
+++ b/app/src/main/res/values-night/styles.xml
@@ -4,7 +4,7 @@
+