Merge pull request #6639 from TeamNewPipe/fix/db_transaction

Fix crash when refreshing feed after importing database or subscriptions
This commit is contained in:
Tobi 2021-07-10 17:00:42 +02:00 committed by GitHub
commit ab838fd84f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 0 deletions

View file

@ -51,4 +51,15 @@ public final class NewPipeDatabase {
throw new RuntimeException("Checkpoint was blocked from completing"); 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;
}
}
}
}
} }

View file

@ -21,6 +21,7 @@ import androidx.fragment.app.FragmentTransaction;
import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoader;
import org.schabi.newpipe.MainActivity; import org.schabi.newpipe.MainActivity;
import org.schabi.newpipe.NewPipeDatabase;
import org.schabi.newpipe.R; import org.schabi.newpipe.R;
import org.schabi.newpipe.RouterActivity; import org.schabi.newpipe.RouterActivity;
import org.schabi.newpipe.about.AboutActivity; import org.schabi.newpipe.about.AboutActivity;
@ -608,6 +609,7 @@ public final class NavigationHelper {
* @param activity the activity to finish * @param activity the activity to finish
*/ */
public static void restartApp(final Activity activity) { public static void restartApp(final Activity activity) {
NewPipeDatabase.close();
activity.finishAffinity(); activity.finishAffinity();
final Intent intent = new Intent(activity, MainActivity.class); final Intent intent = new Intent(activity, MainActivity.class);
activity.startActivity(intent); activity.startActivity(intent);