forked from mirrors/gecko-dev
Use the GeckoService load-libs action to load and extract new libraries when we receive the update broadcast. This makes us not block the UI thread to extract libs, and lets Fennec run normally if the user launches Fennec right after updating.
31 lines
1.2 KiB
Java
31 lines
1.2 KiB
Java
/* -*- Mode: Java; c-basic-offset: 4; tab-width: 20; indent-tabs-mode: nil; -*-
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
package org.mozilla.gecko;
|
|
|
|
import android.content.BroadcastReceiver;
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
|
|
import org.mozilla.gecko.GeckoService;
|
|
|
|
/**
|
|
* This broadcast receiver receives ACTION_MY_PACKAGE_REPLACED broadcasts and
|
|
* starts procedures that should run after the APK has been updated.
|
|
*/
|
|
public class PackageReplacedReceiver extends BroadcastReceiver {
|
|
public static final String ACTION_MY_PACKAGE_REPLACED = "android.intent.action.MY_PACKAGE_REPLACED";
|
|
|
|
@Override
|
|
public void onReceive(Context context, Intent intent) {
|
|
if (intent == null || !ACTION_MY_PACKAGE_REPLACED.equals(intent.getAction())) {
|
|
// This is not the broadcast we are looking for.
|
|
return;
|
|
}
|
|
|
|
// Load new Gecko libs to extract them to cache.
|
|
context.startService(GeckoService.getIntentToLoadLibs(context));
|
|
}
|
|
}
|