Removing old Launcher callback reference from LauncherModel when the activity is destroyed.
Change-Id: I288d2bd7e305c2cf9bdeec5357997d566d5205b7
This commit is contained in:
@@ -1495,6 +1495,11 @@ public final class Launcher extends Activity
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
|
||||
// Stop callbacks from LauncherModel
|
||||
LauncherApplication app = ((LauncherApplication) getApplication());
|
||||
mModel.stopLoader();
|
||||
app.setLauncher(null);
|
||||
|
||||
try {
|
||||
mAppWidgetHost.stopListening();
|
||||
} catch (NullPointerException ex) {
|
||||
@@ -1506,7 +1511,6 @@ public final class Launcher extends Activity
|
||||
|
||||
TextKeyListener.getInstance().release();
|
||||
|
||||
mModel.stopLoader();
|
||||
|
||||
unbindDesktopItems();
|
||||
|
||||
|
||||
@@ -1301,7 +1301,8 @@ public class LauncherModel extends BroadcastReceiver {
|
||||
final ArrayList<ApplicationInfo> addedFinal = added;
|
||||
mHandler.post(new Runnable() {
|
||||
public void run() {
|
||||
if (callbacks == mCallbacks.get()) {
|
||||
Callbacks cb = mCallbacks != null ? mCallbacks.get() : null;
|
||||
if (callbacks == cb && cb != null) {
|
||||
callbacks.bindAppsAdded(addedFinal);
|
||||
}
|
||||
}
|
||||
@@ -1311,7 +1312,8 @@ public class LauncherModel extends BroadcastReceiver {
|
||||
final ArrayList<ApplicationInfo> modifiedFinal = modified;
|
||||
mHandler.post(new Runnable() {
|
||||
public void run() {
|
||||
if (callbacks == mCallbacks.get()) {
|
||||
Callbacks cb = mCallbacks != null ? mCallbacks.get() : null;
|
||||
if (callbacks == cb && cb != null) {
|
||||
callbacks.bindAppsUpdated(modifiedFinal);
|
||||
}
|
||||
}
|
||||
@@ -1322,7 +1324,8 @@ public class LauncherModel extends BroadcastReceiver {
|
||||
final ArrayList<ApplicationInfo> removedFinal = removed;
|
||||
mHandler.post(new Runnable() {
|
||||
public void run() {
|
||||
if (callbacks == mCallbacks.get()) {
|
||||
Callbacks cb = mCallbacks != null ? mCallbacks.get() : null;
|
||||
if (callbacks == cb && cb != null) {
|
||||
callbacks.bindAppsRemoved(removedFinal, permanent);
|
||||
}
|
||||
}
|
||||
@@ -1332,7 +1335,8 @@ public class LauncherModel extends BroadcastReceiver {
|
||||
mHandler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (callbacks == mCallbacks.get()) {
|
||||
Callbacks cb = mCallbacks != null ? mCallbacks.get() : null;
|
||||
if (callbacks == cb && cb != null) {
|
||||
callbacks.bindPackagesUpdated();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user