diff --git a/app/src/main/java/org/schabi/newpipe/NewPipeDatabase.java b/app/src/main/java/org/schabi/newpipe/NewPipeDatabase.java index 988a5ed98..8f7732218 100644 --- a/app/src/main/java/org/schabi/newpipe/NewPipeDatabase.java +++ b/app/src/main/java/org/schabi/newpipe/NewPipeDatabase.java @@ -51,4 +51,15 @@ public final class NewPipeDatabase { throw new RuntimeException("Checkpoint was blocked from completing"); } } + + public static void close() { + if (databaseInstance != null) { + synchronized (NewPipeDatabase.class) { + if (databaseInstance != null) { + databaseInstance.close(); + databaseInstance = null; + } + } + } + } } diff --git a/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java b/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java index d6e1888e1..67eeb2eb3 100644 --- a/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java +++ b/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java @@ -21,6 +21,7 @@ import androidx.fragment.app.FragmentTransaction; import com.nostra13.universalimageloader.core.ImageLoader; import org.schabi.newpipe.MainActivity; +import org.schabi.newpipe.NewPipeDatabase; import org.schabi.newpipe.R; import org.schabi.newpipe.RouterActivity; import org.schabi.newpipe.about.AboutActivity; @@ -608,6 +609,7 @@ public final class NavigationHelper { * @param activity the activity to finish */ public static void restartApp(final Activity activity) { + NewPipeDatabase.close(); activity.finishAffinity(); final Intent intent = new Intent(activity, MainActivity.class); activity.startActivity(intent);