package com.voneddy.common;

import android.app.Application;
import android.content.ComponentCallbacks2;
import android.content.res.Configuration;

import com.getcapacitor.JSObject;
import com.getcapacitor.NativePlugin;
import com.getcapacitor.Plugin;
import com.getcapacitor.PluginCall;
import com.getcapacitor.PluginMethod;

@NativePlugin
public class MemoryWarning extends Plugin {

    @PluginMethod
    public void listenForWarning(PluginCall call) {

        Application app = (Application) this.bridge.getWebView().getContext().getApplicationContext();
        // set ComponentCallbacks with out overriding
        app.registerComponentCallbacks(new ComponentCallbacks2() {
            @Override
            public void onConfigurationChanged(Configuration configuration) {

            }

            @Override
            public void onLowMemory() {
                // use it only for older API version
                bridge.triggerJSEvent("memoryWarning", "document");
            }

            @Override
            public void onTrimMemory(int level) {
                // Called when the operating system has determined that it is a good
                // time for a process to trim unneeded memory from its process
                bridge.triggerJSEvent("memoryWarning", "document");
            }
        });
        call.success();
    }
}
