Add android application with onCreate hook
This commit is contained in:
@@ -12,6 +12,7 @@
|
|||||||
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
|
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
|
||||||
|
|
||||||
<application
|
<application
|
||||||
|
android:name=".GotifyApplication"
|
||||||
android:allowBackup="false"
|
android:allowBackup="false"
|
||||||
android:icon="@mipmap/ic_launcher"
|
android:icon="@mipmap/ic_launcher"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
|
|||||||
31
app/src/main/kotlin/com/github/gotify/GotifyApplication.kt
Normal file
31
app/src/main/kotlin/com/github/gotify/GotifyApplication.kt
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
package com.github.gotify
|
||||||
|
|
||||||
|
import android.app.Application
|
||||||
|
import android.app.NotificationManager
|
||||||
|
import android.os.Build
|
||||||
|
import androidx.preference.PreferenceManager
|
||||||
|
import com.github.gotify.log.LoggerHelper
|
||||||
|
import com.github.gotify.log.UncaughtExceptionHandler
|
||||||
|
import com.github.gotify.settings.ThemeHelper
|
||||||
|
import org.tinylog.kotlin.Logger
|
||||||
|
|
||||||
|
class GotifyApplication : Application() {
|
||||||
|
override fun onCreate() {
|
||||||
|
LoggerHelper.init(this)
|
||||||
|
UncaughtExceptionHandler.registerCurrentThread()
|
||||||
|
Logger.info("${javaClass.simpleName}: onCreate")
|
||||||
|
|
||||||
|
val theme = PreferenceManager.getDefaultSharedPreferences(this)
|
||||||
|
.getString(getString(R.string.setting_key_theme), getString(R.string.theme_default))!!
|
||||||
|
ThemeHelper.setTheme(this, theme)
|
||||||
|
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||||
|
NotificationSupport.createForegroundChannel(
|
||||||
|
this,
|
||||||
|
this.getSystemService(NotificationManager::class.java)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
super.onCreate()
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,8 +2,6 @@ package com.github.gotify.init
|
|||||||
|
|
||||||
import android.Manifest
|
import android.Manifest
|
||||||
import android.app.AlarmManager
|
import android.app.AlarmManager
|
||||||
import android.app.NotificationManager
|
|
||||||
import android.content.Context
|
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
@@ -13,8 +11,6 @@ import androidx.annotation.RequiresApi
|
|||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
|
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
|
||||||
import androidx.preference.PreferenceManager
|
|
||||||
import com.github.gotify.NotificationSupport
|
|
||||||
import com.github.gotify.R
|
import com.github.gotify.R
|
||||||
import com.github.gotify.Settings
|
import com.github.gotify.Settings
|
||||||
import com.github.gotify.api.ApiException
|
import com.github.gotify.api.ApiException
|
||||||
@@ -23,12 +19,9 @@ import com.github.gotify.api.Callback.SuccessCallback
|
|||||||
import com.github.gotify.api.ClientFactory
|
import com.github.gotify.api.ClientFactory
|
||||||
import com.github.gotify.client.model.User
|
import com.github.gotify.client.model.User
|
||||||
import com.github.gotify.client.model.VersionInfo
|
import com.github.gotify.client.model.VersionInfo
|
||||||
import com.github.gotify.log.LoggerHelper
|
|
||||||
import com.github.gotify.log.UncaughtExceptionHandler
|
|
||||||
import com.github.gotify.login.LoginActivity
|
import com.github.gotify.login.LoginActivity
|
||||||
import com.github.gotify.messages.MessagesActivity
|
import com.github.gotify.messages.MessagesActivity
|
||||||
import com.github.gotify.service.WebSocketService
|
import com.github.gotify.service.WebSocketService
|
||||||
import com.github.gotify.settings.ThemeHelper
|
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import com.livinglifetechway.quickpermissionskotlin.runWithPermissions
|
import com.livinglifetechway.quickpermissionskotlin.runWithPermissions
|
||||||
import com.livinglifetechway.quickpermissionskotlin.util.QuickPermissionsOptions
|
import com.livinglifetechway.quickpermissionskotlin.util.QuickPermissionsOptions
|
||||||
@@ -48,18 +41,6 @@ internal class InitializationActivity : AppCompatActivity() {
|
|||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
LoggerHelper.init(this)
|
|
||||||
val theme = PreferenceManager.getDefaultSharedPreferences(this)
|
|
||||||
.getString(getString(R.string.setting_key_theme), getString(R.string.theme_default))!!
|
|
||||||
ThemeHelper.setTheme(this, theme)
|
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
||||||
NotificationSupport.createForegroundChannel(
|
|
||||||
this,
|
|
||||||
(this.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
UncaughtExceptionHandler.registerCurrentThread()
|
|
||||||
settings = Settings(this)
|
settings = Settings(this)
|
||||||
Logger.info("Entering ${javaClass.simpleName}")
|
Logger.info("Entering ${javaClass.simpleName}")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user