From 55349ca6305aeb0ceee7c11ce8e1d67abb09d7a4 Mon Sep 17 00:00:00 2001 From: Amit Kumar Date: Mon, 30 Nov 2020 18:08:26 +0530 Subject: [PATCH] Prevent item from being added twice by first checking them --- .../e/blisslauncher/core/events/AppAddEvent.java | 8 ++++++++ .../features/launcher/LauncherActivity.java | 12 ++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/foundation/e/blisslauncher/core/events/AppAddEvent.java b/app/src/main/java/foundation/e/blisslauncher/core/events/AppAddEvent.java index eb486d51b3..229b56345c 100644 --- a/app/src/main/java/foundation/e/blisslauncher/core/events/AppAddEvent.java +++ b/app/src/main/java/foundation/e/blisslauncher/core/events/AppAddEvent.java @@ -22,4 +22,12 @@ public class AppAddEvent extends Event{ public UserHandle getUserHandle() { return userHandle; } + + @Override + public String toString() { + return "AppAddEvent{" + + "packageName='" + packageName + '\'' + + ", userHandle=" + userHandle + + '}'; + } } diff --git a/app/src/main/java/foundation/e/blisslauncher/features/launcher/LauncherActivity.java b/app/src/main/java/foundation/e/blisslauncher/features/launcher/LauncherActivity.java index d97c275890..68f7cc5aee 100755 --- a/app/src/main/java/foundation/e/blisslauncher/features/launcher/LauncherActivity.java +++ b/app/src/main/java/foundation/e/blisslauncher/features/launcher/LauncherActivity.java @@ -520,10 +520,7 @@ public class LauncherActivity extends AppCompatActivity implements } public void onAppAddEvent(AppAddEvent appAddEvent) { - moveTo = -1; - ApplicationItem applicationItem = AppUtils.createAppItem(this, appAddEvent.getPackageName(), - appAddEvent.getUserHandle()); - addLauncherItem(applicationItem); + updateOrAddApp(appAddEvent.getPackageName(),appAddEvent.getUserHandle()); //DatabaseManager.getManager(this).saveLayouts(pages, mDock); if (moveTo != -1) { mHorizontalPager.setCurrentPage(moveTo); @@ -538,7 +535,7 @@ public class LauncherActivity extends AppCompatActivity implements } public void onAppChangeEvent(AppChangeEvent appChangeEvent) { - updateApp(appChangeEvent.getPackageName(), appChangeEvent.getUserHandle()); + updateOrAddApp(appChangeEvent.getPackageName(), appChangeEvent.getUserHandle()); DatabaseManager.getManager(this).saveLayouts(pages, mDock); } @@ -558,6 +555,7 @@ public class LauncherActivity extends AppCompatActivity implements return; } if (launcherItem != null) { + BlissFrameLayout view = prepareLauncherItem(launcherItem); int current = 0; @@ -860,7 +858,7 @@ public class LauncherActivity extends AppCompatActivity implements } } - private void updateApp(String packageName, UserHandle userHandle) { + private void updateOrAddApp(String packageName, UserHandle userHandle) { handleWobbling(false); ApplicationItem updatedAppItem = AppUtils.createAppItem(this, packageName, userHandle); if (updatedAppItem == null) { @@ -952,6 +950,7 @@ public class LauncherActivity extends AppCompatActivity implements existingAppItem); gridLayout.removeViewAt(j); addAppToGrid(gridLayout, blissFrameLayout, j); + moveTo = i + 1; return; } } @@ -964,6 +963,7 @@ public class LauncherActivity extends AppCompatActivity implements BlissFrameLayout blissFrameLayout = prepareLauncherItem(updatedAppItem); gridLayout.removeViewAt(j); addAppToGrid(gridLayout, blissFrameLayout, j); + moveTo = i + 1; return; } } -- GitLab