package org.gnucash.android.util; import android.content.SharedPreferences; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import org.gnucash.android.app.GnuCashApplication; import org.gnucash.android.ui.account.AccountsActivity; import org.gnucash.android.ui.settings.PreferenceActivity; /** * Utility class for common operations involving books */ public class BookUtils { public static final String KEY_BACKUP_FILE = "book_backup_file_key"; /** * Return the backup file for the book * @param bookUID Unique ID of the book * @return DocumentFile for book backups */ @Nullable public static String getBookBackupFileUri(String bookUID){ SharedPreferences sharedPreferences = PreferenceActivity.getBookSharedPreferences(bookUID); return sharedPreferences.getString(KEY_BACKUP_FILE, null); } /** * Activates the book with unique identifer {@code bookUID}, and refreshes the database adapters * @param bookUID GUID of the book to be activated */ public static void activateBook(@NonNull String bookUID){ GnuCashApplication.getBooksDbAdapter().setActive(bookUID); GnuCashApplication.initializeDatabaseAdapters(); } /** * Loads the book with GUID {@code bookUID} and opens the AccountsActivity * @param bookUID GUID of the book to be loaded */ public static void loadBook(@NonNull String bookUID){ activateBook(bookUID); AccountsActivity.start(GnuCashApplication.getAppContext()); } }