unregister FileCleanupReceiver when disableHistory
FileCleanupReceiver was not unregister when switch NotificationHistory Testing Steps: 1. Settings -> Apps and notifications -> Notifications -> Notification history 2. Repeat switch 1000 times and system crash. Change-Id: I40493fe7726883a449e54888247c5bffcc1554e3
This commit is contained in:
committed by
Julia Reynolds
parent
011be0d15a
commit
52853a2d47
@@ -103,7 +103,7 @@ public class NotificationHistoryDatabase {
|
||||
|
||||
IntentFilter deletionFilter = new IntentFilter(ACTION_HISTORY_DELETION);
|
||||
deletionFilter.addDataScheme(SCHEME_DELETION);
|
||||
mContext.registerReceiver(mFileCleaupReceiver, deletionFilter);
|
||||
mContext.registerReceiver(mFileCleanupReceiver, deletionFilter);
|
||||
}
|
||||
|
||||
public void init() {
|
||||
@@ -329,6 +329,12 @@ public class NotificationHistoryDatabase {
|
||||
}
|
||||
}
|
||||
|
||||
public void unregisterFileCleanupReceiver() {
|
||||
if(mContext != null) {
|
||||
mContext.unregisterReceiver(mFileCleanupReceiver);
|
||||
}
|
||||
}
|
||||
|
||||
private static long safeParseLong(String fileName) {
|
||||
// AtomicFile will create copies of the numeric files with ".new" and ".bak"
|
||||
// over the course of its processing. If these files still exist on boot we need to clean
|
||||
@@ -340,7 +346,7 @@ public class NotificationHistoryDatabase {
|
||||
}
|
||||
}
|
||||
|
||||
private final BroadcastReceiver mFileCleaupReceiver = new BroadcastReceiver() {
|
||||
private final BroadcastReceiver mFileCleanupReceiver = new BroadcastReceiver() {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
String action = intent.getAction();
|
||||
|
||||
@@ -272,6 +272,7 @@ public class NotificationHistoryManager {
|
||||
|
||||
private void disableHistory(NotificationHistoryDatabase userHistory, @UserIdInt int userId) {
|
||||
userHistory.disableHistory();
|
||||
userHistory.unregisterFileCleanupReceiver();
|
||||
|
||||
mUserPendingHistoryDisables.put(userId, false);
|
||||
mHistoryEnabled.put(userId, false);
|
||||
|
||||
Reference in New Issue
Block a user