diff options
author | Adam Cohen <adamcohen@google.com> | 2014-09-30 09:48:49 -0700 |
---|---|---|
committer | Adam Cohen <adamcohen@google.com> | 2014-09-30 10:23:18 -0700 |
commit | 1a85c5839c91942b3c7dd0da5992db4d98defdc3 (patch) | |
tree | efee77c775675a0990933f569aaa8a876d3828d3 /src/com/android/launcher3/LauncherModel.java | |
parent | 6d467e27b7e16442d3fb56af2aa3d94e657dff25 (diff) | |
download | android_packages_apps_Trebuchet-1a85c5839c91942b3c7dd0da5992db4d98defdc3.tar.gz android_packages_apps_Trebuchet-1a85c5839c91942b3c7dd0da5992db4d98defdc3.tar.bz2 android_packages_apps_Trebuchet-1a85c5839c91942b3c7dd0da5992db4d98defdc3.zip |
Don't let old Launcher activity interfere with new one
-> Launcher uses a static instance of it's loader (across
multiple activities) since activities can come and go
(configuration change, eg.) but the data model and loading
is static.
-> Currently, this is not robust to a sequence of events that
looks like onCreate(instance A), onCreate(instance B),
onDestroy(instance B) -- depending on the timing of those
calls.
-> This CL addresses a symptom of the above scenario by not
allowing an older Launcher Activity cancel the loader /
clear the callbacks for a newer Activity.
Bug 17679693
Change-Id: I8ece93e288464b0d578b9669c165b67132d997ed
Diffstat (limited to 'src/com/android/launcher3/LauncherModel.java')
-rw-r--r-- | src/com/android/launcher3/LauncherModel.java | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java index dd948916b..60eb15f9c 100644 --- a/src/com/android/launcher3/LauncherModel.java +++ b/src/com/android/launcher3/LauncherModel.java @@ -1385,6 +1385,10 @@ public class LauncherModel extends BroadcastReceiver return isLaunching; } + public boolean isCurrentCallbacks(Callbacks callbacks) { + return (mCallbacks != null && mCallbacks.get() == callbacks); + } + public void startLoader(boolean isLaunching, int synchronousBindPage) { startLoader(isLaunching, synchronousBindPage, LOADER_FLAG_NONE); } |