diff --git a/app/src/main/java/org/unifiedpush/distributor/nextpush/activities/MainActivity.kt b/app/src/main/java/org/unifiedpush/distributor/nextpush/activities/MainActivity.kt index ef023b1..e1f98a3 100644 --- a/app/src/main/java/org/unifiedpush/distributor/nextpush/activities/MainActivity.kt +++ b/app/src/main/java/org/unifiedpush/distributor/nextpush/activities/MainActivity.kt @@ -3,12 +3,16 @@ package org.unifiedpush.distributor.nextpush.activities import android.content.Context import android.content.Intent import android.os.Bundle +import android.os.PowerManager +import android.provider.Settings import android.util.Log import android.view.Menu import android.view.MenuItem import android.view.View import android.widget.* // ktlint-disable no-wildcard-imports import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.isGone +import com.google.android.material.card.MaterialCardView import org.unifiedpush.distributor.nextpush.R import org.unifiedpush.distributor.nextpush.account.Account import org.unifiedpush.distributor.nextpush.account.Account.getAccount @@ -27,7 +31,6 @@ import java.lang.String.format class MainActivity : AppCompatActivity() { private lateinit var listView: ListView - private var showLogout = false override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -41,11 +44,15 @@ class MainActivity : AppCompatActivity() { findViewById(R.id.main_account_desc).text = format(getString(R.string.main_account_desc), getAccount(this)?.name) - showLogout = true invalidateOptionsMenu() RestartWorker.startPeriodic(this) } + override fun onStart() { + super.onStart() + showOptimisationWarning() + } + override fun onWindowFocusChanged(hasFocus: Boolean) { super.onWindowFocusChanged(hasFocus) if (hasFocus) { @@ -73,6 +80,17 @@ class MainActivity : AppCompatActivity() { } } + private fun showOptimisationWarning() { + val powerManager = getSystemService(Context.POWER_SERVICE) as PowerManager + if (!powerManager.isIgnoringBatteryOptimizations(packageName)) { + findViewById(R.id.card_battery_optimization).isGone = false + findViewById