// Path: hoko/src/main/java/com/hokolinks/activity/HokoActivity.java
// @SuppressLint("Registered")
// public class HokoActivity extends Activity implements SmartlinkResolveListener {
// 
//     @Override
//     protected void onCreate(Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         String urlString = getIntent().getData().toString();
//         if (urlString.startsWith("http")) {
//             Hoko.deeplinking().openSmartlink(urlString, this);
//         } else {
//             Hoko.deeplinking().openURL(urlString);
//         }
//     }
// 
//     @Override
//     public void onLinkResolved(String deeplink, JSONObject metadata) {
//         finish();
//     }
// 
//     @Override
//     public void onError(Exception e) {
//         finish();
//         Hoko.deeplinking().openURL(null);
//     }
// 
// }
// 
// Path: hoko/src/main/java/com/hokolinks/activity/HokoAppLinksActivity.java
// @SuppressLint("Registered")
// public class HokoAppLinksActivity extends Activity implements SmartlinkResolveListener {
// 
//     @Override
//     protected void onCreate(Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         String urlString = getIntent().getData().toString();
//         if (urlString.startsWith("http")) {
//             Hoko.deeplinking().openSmartlink(urlString, this);
//         } else {
//             Hoko.deeplinking().openURL(urlString);
//         }
//     }
// 
//     @Override
//     public void onLinkResolved(String deeplink, JSONObject metadata) {
//         finish();
//     }
// 
//     @Override
//     public void onError(Exception e) {
//         finish();
//         Hoko.deeplinking().openURL(null);
//     }
// 
// }
// 
// Path: hoko/src/main/java/com/hokolinks/utils/log/HokoLog.java
// public class HokoLog {
//     /**
//      * The Log TAG
//      */
//     public static final String TAG = "HOKO";
// 
//     /**
//      * Verbose is false by default
//      */
//     private static boolean sVerbose = false;
// 
//     /**
//      * Prints a debug message.
//      *
//      * @param message The message.
//      */
//     public static void d(String message) {
//         if (sVerbose) {
//             android.util.Log.d(TAG, message);
//         }
//     }
// 
//     /**
//      * Prints a debug exception.
//      *
//      * @param exception The exception.
//      */
//     public static void d(Exception exception) {
//         if (sVerbose) {
//             android.util.Log.d(TAG, exception.getMessage(), exception);
//         }
//     }
// 
//     /**
//      * Prints a message as an error.
//      *
//      * @param message The message.
//      */
//     public static void e(String message) {
//         android.util.Log.e(TAG, message);
//     }
// 
//     /**
//      * Prints an exception as an error.
//      *
//      * @param exception The exception.
//      */
//     public static void e(Exception exception) {
//         android.util.Log.e(TAG, exception.getMessage(), exception);
//     }
// 
//     /**
//      * Prints an error.
//      *
//      * @param error The exception.
//      */
//     public static void e(Error error) {
//         android.util.Log.e(TAG, error.getMessage(), error);
//     }
// 
//     public static boolean isVerbose() {
//         return sVerbose;
//     }
// 
//     public static void setVerbose(boolean verbose) {
//         HokoLog.sVerbose = verbose;
//     }
// 
// }


import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.os.Bundle;
import com.hokolinks.activity.HokoActivity;
import com.hokolinks.activity.HokoAppLinksActivity;
import com.hokolinks.utils.log.HokoLog;
import java.util.ArrayList;
import java.util.List;
        }
    }

    /**
     * Background happens when an activity is paused and stopped without any resumes in the middle.
     * Foreground might happen on every resume, it is only triggered when the application's state is
     * BACKGROUND. Ignoring HokoActivity due to Intent flags.
     *
     * @param context A context.
     */
    private void registerActivityLifecycle(Context context) {
        if (context != null) {
            Application application = (Application) context.getApplicationContext();
            application.registerActivityLifecycleCallbacks(
                    new Application.ActivityLifecycleCallbacks() {


                        private ArrayList<HokoActivityStatus> statusHistory =
                                new ArrayList<>();

                        @Override
                        public void onActivityCreated(Activity activity, Bundle bundle) {
                        }

                        @Override
                        public void onActivityStarted(Activity activity) {
                        }

                        @Override
                        public void onActivityResumed(Activity activity) {
// Path: hoko/src/main/java/com/hokolinks/activity/HokoActivity.java
// @SuppressLint("Registered")
// public class HokoActivity extends Activity implements SmartlinkResolveListener {
// 
//     @Override
//     protected void onCreate(Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         String urlString = getIntent().getData().toString();
//         if (urlString.startsWith("http")) {
//             Hoko.deeplinking().openSmartlink(urlString, this);
//         } else {
//             Hoko.deeplinking().openURL(urlString);
//         }
//     }
// 
//     @Override
//     public void onLinkResolved(String deeplink, JSONObject metadata) {
//         finish();
//     }
// 
//     @Override
//     public void onError(Exception e) {
//         finish();
//         Hoko.deeplinking().openURL(null);
//     }
// 
// }
// 
// Path: hoko/src/main/java/com/hokolinks/activity/HokoAppLinksActivity.java
// @SuppressLint("Registered")
// public class HokoAppLinksActivity extends Activity implements SmartlinkResolveListener {
// 
//     @Override
//     protected void onCreate(Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         String urlString = getIntent().getData().toString();
//         if (urlString.startsWith("http")) {
//             Hoko.deeplinking().openSmartlink(urlString, this);
//         } else {
//             Hoko.deeplinking().openURL(urlString);
//         }
//     }
// 
//     @Override
//     public void onLinkResolved(String deeplink, JSONObject metadata) {
//         finish();
//     }
// 
//     @Override
//     public void onError(Exception e) {
//         finish();
//         Hoko.deeplinking().openURL(null);
//     }
// 
// }
// 
// Path: hoko/src/main/java/com/hokolinks/utils/log/HokoLog.java
// public class HokoLog {
//     /**
//      * The Log TAG
//      */
//     public static final String TAG = "HOKO";
// 
//     /**
//      * Verbose is false by default
//      */
//     private static boolean sVerbose = false;
// 
//     /**
//      * Prints a debug message.
//      *
//      * @param message The message.
//      */
//     public static void d(String message) {
//         if (sVerbose) {
//             android.util.Log.d(TAG, message);
//         }
//     }
// 
//     /**
//      * Prints a debug exception.
//      *
//      * @param exception The exception.
//      */
//     public static void d(Exception exception) {
//         if (sVerbose) {
//             android.util.Log.d(TAG, exception.getMessage(), exception);
//         }
//     }
// 
//     /**
//      * Prints a message as an error.
//      *
//      * @param message The message.
//      */
//     public static void e(String message) {
//         android.util.Log.e(TAG, message);
//     }
// 
//     /**
//      * Prints an exception as an error.
//      *
//      * @param exception The exception.
//      */
//     public static void e(Exception exception) {
//         android.util.Log.e(TAG, exception.getMessage(), exception);
//     }
// 
//     /**
//      * Prints an error.
//      *
//      * @param error The exception.
//      */
//     public static void e(Error error) {
//         android.util.Log.e(TAG, error.getMessage(), error);
//     }
// 
//     public static boolean isVerbose() {
//         return sVerbose;
//     }
// 
//     public static void setVerbose(boolean verbose) {
//         HokoLog.sVerbose = verbose;
//     }
// 
// }


// Path: hoko/src/main/java/com/hokolinks/utils/lifecycle/ApplicationLifecycle.java
import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.os.Bundle;
import com.hokolinks.activity.HokoActivity;
import com.hokolinks.activity.HokoAppLinksActivity;
import com.hokolinks.utils.log.HokoLog;
import java.util.ArrayList;
import java.util.List;

        }
    }

    /**
     * Background happens when an activity is paused and stopped without any resumes in the middle.
     * Foreground might happen on every resume, it is only triggered when the application's state is
     * BACKGROUND. Ignoring HokoActivity due to Intent flags.
     *
     * @param context A context.
     */
    private void registerActivityLifecycle(Context context) {
        if (context != null) {
            Application application = (Application) context.getApplicationContext();
            application.registerActivityLifecycleCallbacks(
                    new Application.ActivityLifecycleCallbacks() {


                        private ArrayList<HokoActivityStatus> statusHistory =
                                new ArrayList<>();

                        @Override
                        public void onActivityCreated(Activity activity, Bundle bundle) {
                        }

                        @Override
                        public void onActivityStarted(Activity activity) {
                        }

                        @Override
                        public void onActivityResumed(Activity activity) {
                            if (activity instanceof HokoActivity ||