Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6b6aa02f authored by laysionqet's avatar laysionqet
Browse files

Fix DonationManager leak

parent f4a99e67
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -42,6 +42,13 @@ public class DonationManager {
        return sInstance;
    }

    public static void clearInstance() {
        if (null != sInstance) {
            sInstance.destroy();
        }
        sInstance = null;
    }

    private DonationManager(QKActivity context) {
        mContext = context;
        mRes = mContext.getResources();
@@ -77,6 +84,10 @@ public class DonationManager {
        if (mHelper != null) {
            mHelper.dispose();
        }
        mHelper = null;
        mContext = null;
        mRes = null;
        mBillingServiceReady = false;
    }

    // Callback for when a purchase is finished
+10 −0
Original line number Diff line number Diff line
@@ -15,13 +15,19 @@ public class LifecycleHandler implements Application.ActivityLifecycleCallbacks
    private static int sPaused;
    private static int sStarted;
    private static int sStopped;
    private static int sActivityCounter;

    @Override
    public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
        sActivityCounter++;
    }

    @Override
    public void onActivityDestroyed(Activity activity) {
        sActivityCounter--;
        if (isNoActivitiesAlive()) {
            DonationManager.clearInstance();
        }
    }

    @Override
@@ -57,4 +63,8 @@ public class LifecycleHandler implements Application.ActivityLifecycleCallbacks
    public static boolean isApplicationInForeground() {
        return sResumed > sPaused;
    }

    public static boolean isNoActivitiesAlive() {
        return sActivityCounter <= 0;
    }
}
 No newline at end of file