File indexing completed on 2025-02-02 04:47:49

0001 /*
0002  * SPDX-FileCopyrightText: 2020 Erik Duisters <e.duisters1@gmail.com>
0003  *
0004  * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005 */
0006 
0007 package org.kde.kdeconnect.Helpers;
0008 
0009 import androidx.annotation.NonNull;
0010 import androidx.lifecycle.DefaultLifecycleObserver;
0011 import androidx.lifecycle.LifecycleOwner;
0012 import androidx.lifecycle.ProcessLifecycleOwner;
0013 
0014 public class LifecycleHelper {
0015 
0016     private static class LifecycleObserver implements DefaultLifecycleObserver {
0017         private boolean inForeground = false;
0018 
0019         @Override
0020         public void onStart(@NonNull LifecycleOwner owner) {
0021             inForeground = true;
0022         }
0023 
0024         @Override
0025         public void onStop(@NonNull LifecycleOwner owner) {
0026             inForeground = false;
0027         }
0028 
0029         boolean isInForeground() {
0030             return inForeground;
0031         }
0032     }
0033 
0034     private final static LifecycleObserver foregroundTracker = new LifecycleObserver();
0035 
0036     public static boolean isInForeground() {
0037         return foregroundTracker.isInForeground();
0038     }
0039 
0040     public static void initializeObserver() {
0041         ProcessLifecycleOwner.get().getLifecycle().addObserver(foregroundTracker);
0042     }
0043 }