mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-01-17 11:28:06 +00:00
Added back kill app button
This commit is contained in:
parent
1f604d54f2
commit
a29777eebc
6 changed files with 57 additions and 2 deletions
|
|
@ -35,6 +35,7 @@ import androidx.annotation.UiThread
|
|||
import androidx.annotation.WorkerThread
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import com.google.firebase.crashlytics.FirebaseCrashlytics
|
||||
import kotlin.system.exitProcess
|
||||
import org.linphone.BuildConfig
|
||||
import org.linphone.LinphoneApplication.Companion.corePreferences
|
||||
import org.linphone.contacts.ContactsManager
|
||||
|
|
@ -494,14 +495,15 @@ class CoreContext @UiThread constructor(val context: Context) : HandlerThread("C
|
|||
val audioManager = context.getSystemService(Context.AUDIO_SERVICE) as AudioManager
|
||||
audioManager.unregisterAudioDeviceCallback(audioDeviceCallback)
|
||||
|
||||
core.stopAsync()
|
||||
core.stop()
|
||||
|
||||
contactsManager.onCoreStopped(core)
|
||||
telecomManager.onCoreStopped(core)
|
||||
notificationsManager.onCoreStopped(core)
|
||||
|
||||
// It's very unlikely the process will survive until the Core reaches GlobalStateOff sadly
|
||||
Log.w("$TAG Core is shutting down but probably won't reach Off state")
|
||||
Log.w("$TAG Core has been shut down")
|
||||
exitProcess(0)
|
||||
}
|
||||
|
||||
@AnyThread
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ import android.view.ViewGroup
|
|||
import androidx.annotation.UiThread
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.navigation.navGraphViewModels
|
||||
import org.linphone.LinphoneApplication.Companion.coreContext
|
||||
import org.linphone.R
|
||||
import org.linphone.core.tools.Log
|
||||
import org.linphone.databinding.HelpFragmentBinding
|
||||
|
|
@ -73,6 +74,16 @@ class HelpFragment : GenericMainFragment() {
|
|||
findNavController().navigate(action)
|
||||
}
|
||||
|
||||
binding.setQuitClickListener {
|
||||
coreContext.postOnCoreThread {
|
||||
Log.i("$TAG Stopping Core Context")
|
||||
coreContext.quitSafely()
|
||||
}
|
||||
|
||||
Log.i("$TAG Quitting app")
|
||||
requireActivity().finishAffinity()
|
||||
}
|
||||
|
||||
binding.setPrivacyPolicyClickListener {
|
||||
val url = getString(R.string.website_privacy_policy_url)
|
||||
try {
|
||||
|
|
|
|||
9
app/src/main/res/drawable/power.xml
Normal file
9
app/src/main/res/drawable/power.xml
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="256"
|
||||
android:viewportHeight="256">
|
||||
<path
|
||||
android:pathData="M120,128L120,48a8,8 0,0 1,16 0v80a8,8 0,0 1,-16 0ZM180.37,49.3a8,8 0,0 0,-8.74 13.4C194.74,77.77 208,101.57 208,128a80,80 0,0 1,-160 0c0,-26.43 13.26,-50.23 36.37,-65.3a8,8 0,0 0,-8.74 -13.4C47.9,67.38 32,96.06 32,128a96,96 0,0 0,192 0C224,96.06 208.1,67.38 180.37,49.3Z"
|
||||
android:fillColor="#4e6074"/>
|
||||
</vector>
|
||||
|
|
@ -20,6 +20,9 @@
|
|||
<variable
|
||||
name="debugClickListener"
|
||||
type="View.OnClickListener" />
|
||||
<variable
|
||||
name="quitClickListener"
|
||||
type="View.OnClickListener" />
|
||||
<variable
|
||||
name="viewModel"
|
||||
type="org.linphone.ui.main.help.viewmodel.HelpViewModel" />
|
||||
|
|
@ -306,6 +309,34 @@
|
|||
app:layout_constraintStart_toEndOf="@id/debug_icon"
|
||||
app:layout_constraintEnd_toEndOf="parent"/>
|
||||
|
||||
<ImageView
|
||||
android:onClick="@{quitClickListener}"
|
||||
android:id="@+id/quit_icon"
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="32dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:src="@drawable/power"
|
||||
android:contentDescription="@null"
|
||||
app:tint="?attr/color_main1_500"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/quit_title"
|
||||
app:layout_constraintTop_toTopOf="@id/quit_title"
|
||||
app:layout_constraintBottom_toBottomOf="@id/quit_title" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/header_style"
|
||||
android:onClick="@{quitClickListener}"
|
||||
android:id="@+id/quit_title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginTop="24dp"
|
||||
android:text="@string/help_quit_title"
|
||||
app:layout_constraintTop_toBottomOf="@id/debug_icon"
|
||||
app:layout_constraintStart_toEndOf="@id/quit_icon"
|
||||
app:layout_constraintEnd_toEndOf="parent"/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</ScrollView>
|
||||
|
|
|
|||
|
|
@ -160,6 +160,7 @@
|
|||
<string name="help_error_checking_version_toast_message">Une erreur est survenue</string>
|
||||
<string name="help_dialog_update_available_title">Mise à jour disponible</string>
|
||||
<string name="help_dialog_update_available_message">Une nouvelle version %s est disponible. Voulez-vous mettre à jour ?</string>
|
||||
<string name="help_quit_title">Quitter l\'application</string>
|
||||
<string name="help_troubleshooting_title">Dépannage</string>
|
||||
<string name="help_troubleshooting_clean_logs">Nettoyer les journaux</string>
|
||||
<string name="help_troubleshooting_share_logs">Partager les journaux</string>
|
||||
|
|
|
|||
|
|
@ -197,6 +197,7 @@
|
|||
<string name="help_error_checking_version_toast_message">An error occurred while checking for update</string>
|
||||
<string name="help_dialog_update_available_title">Update available</string>
|
||||
<string name="help_dialog_update_available_message">A new version %s is available. Do you want to update?</string>
|
||||
<string name="help_quit_title">Quit app</string>
|
||||
<string name="help_troubleshooting_title">Troubleshooting</string>
|
||||
<string name="help_troubleshooting_clean_logs">Clean logs</string>
|
||||
<string name="help_troubleshooting_share_logs">Share logs</string>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue