summaryrefslogtreecommitdiffstats
path: root/mobile/android/base/java/org/mozilla/gecko/delegates/BrowserAppDelegateWithReference.java
blob: c67b8a18a45c5e3e4d08e91b030d08abac34a87c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package org.mozilla.gecko.delegates;

import android.os.Bundle;
import android.support.annotation.CallSuper;

import org.mozilla.gecko.BrowserApp;

import java.lang.ref.WeakReference;

/**
 * BrowserAppDelegate that stores a reference to the parent BrowserApp.
 */
public abstract class BrowserAppDelegateWithReference extends BrowserAppDelegate {
    private WeakReference<BrowserApp> browserApp;

    @Override
    @CallSuper
    public void onCreate(BrowserApp browserApp, Bundle savedInstanceState) {
        this.browserApp = new WeakReference<>(browserApp);
    }

    /**
     * Obtain the referenced BrowserApp. May return <code>null</code> if the BrowserApp no longer
     * exists.
     */
    protected BrowserApp getBrowserApp() {
        return browserApp.get();
    }
}