Skip to content

Commit 09d4716

Browse files
committed
fix a possible SearchTask memory leaks
1 parent 11ee36b commit 09d4716

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

app/src/main/java/io/github/subhamtyagi/lastlauncher/LauncherActivity.java

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -555,6 +555,21 @@ protected void onResume() {
555555
}
556556
}
557557

558+
@Override
559+
protected void onStop() {
560+
super.onStop();
561+
562+
if (dialogs != null) {
563+
dialogs.dismiss();
564+
dialogs = null;
565+
}
566+
567+
if (mSearchTask!=null) {
568+
mSearchTask.cancel(true);
569+
mSearchTask=null;
570+
}
571+
}
572+
558573
//show the option on long click
559574
@Override
560575
public boolean onLongClick(View view) {
@@ -836,8 +851,16 @@ public void run() {
836851
@Override
837852
public void onBackPressed() {
838853
mSearchBox.setVisibility(View.GONE);
854+
839855
if (searching) {
856+
//check this line
857+
imm.hideSoftInputFromWindow(mSearchBox.getWindowToken(), 0);
858+
840859
searching = false;
860+
if (mSearchTask!=null) {
861+
mSearchTask.cancel(true);
862+
mSearchTask=null;
863+
}
841864
mHomeLayout.setPadding(DbUtils.getPaddingLeft(), DbUtils.getPaddingTop(), DbUtils.getPaddingRight(), DbUtils.getPaddingBottom());
842865
sortApps(DbUtils.getSortsTypes());
843866
}
@@ -911,6 +934,19 @@ protected void onDestroy() {
911934
dialogs.dismiss();
912935
dialogs = null;
913936
}
937+
938+
if (mSearchTask!=null) {
939+
mSearchTask.cancel(true);
940+
mSearchTask=null;
941+
}
942+
943+
if (imm!=null){
944+
if(imm.isActive()){
945+
imm.hideSoftInputFromWindow(mSearchBox.getWindowToken(), 0);
946+
}
947+
imm=null;
948+
}
949+
914950
unregisterReceiver(broadcastReceiverAppInstall);
915951
unregisterReceiver(broadcastReceiverShortcutInstall);
916952
broadcastReceiverAppInstall = null;

0 commit comments

Comments
 (0)