mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-28 15:56:49 +00:00
Fix 2199124 - Sometimes app icons don't go away when deleting the app.
The app list isn't sorted by component name, it's sorted by title, so we can't binary search on the component name. Duh. Linear search is fine here.
This commit is contained in:
@@ -39,6 +39,7 @@ import android.renderscript.ProgramStore;
|
||||
import android.renderscript.Sampler;
|
||||
import android.renderscript.SimpleMesh;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.database.DataSetObserver;
|
||||
@@ -547,7 +548,7 @@ public class AllAppsView extends RSSurfaceView
|
||||
final int N = list.size();
|
||||
for (int i=0; i<N; i++) {
|
||||
final ApplicationInfo item = list.get(i);
|
||||
int index = Collections.binarySearch(mAllAppsList, item, mAppIntentComp);
|
||||
int index = findAppByComponent(mAllAppsList, item);
|
||||
if (index >= 0) {
|
||||
mAllAppsList.remove(index);
|
||||
if (mRollo != null) {
|
||||
@@ -581,11 +582,17 @@ public class AllAppsView extends RSSurfaceView
|
||||
}
|
||||
};
|
||||
|
||||
private Comparator<ApplicationInfo> mAppIntentComp = new Comparator<ApplicationInfo>() {
|
||||
public int compare(ApplicationInfo a, ApplicationInfo b) {
|
||||
return a.intent.getComponent().compareTo(b.intent.getComponent());
|
||||
private static int findAppByComponent(ArrayList<ApplicationInfo> list, ApplicationInfo item) {
|
||||
ComponentName component = item.intent.getComponent();
|
||||
final int N = list.size();
|
||||
for (int i=0; i<N; i++) {
|
||||
ApplicationInfo x = list.get(i);
|
||||
if (x.intent.getComponent().equals(component)) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
};
|
||||
return -1;
|
||||
}
|
||||
|
||||
private static int countPages(int iconCount) {
|
||||
int iconsPerPage = Defines.COLUMNS_PER_PAGE * Defines.ROWS_PER_PAGE;
|
||||
|
||||
Reference in New Issue
Block a user