This commit is contained in:
mhutti1 2016-10-07 16:44:39 +01:00
commit a5ef6f6748
12 changed files with 35 additions and 20 deletions

View File

@ -93,7 +93,7 @@
android:enabled="false"
android:key="pref_version"
android:persistent="false"
android:selectable="false"
android:selectable="true"
android:shouldDisableView="false"
android:title="@string/pref_info_version"/>

View File

@ -53,7 +53,7 @@ public class KiwixDatabaseTest {
@Test
public void testMigrateDatabase() throws IOException {
KiwixDatabase kiwixDatabase = new KiwixDatabase(mContext);
KiwixDatabase kiwixDatabase = KiwixDatabase.getInstance(mContext);
kiwixDatabase.recreate();
String testId = "8ce5775a-10a9-bbf3-178a-9df69f23263c";
String[] testBookmarks = new String[] {"Test1","Test2","Test3"};

View File

@ -71,7 +71,7 @@ public class BookmarksActivity extends AppCompatActivity
noBookmarksLayout = (LinearLayout) findViewById(R.id.bookmarks_none_linlayout);
bookmarksDao = new BookmarksDao(new KiwixDatabase(this));
bookmarksDao = new BookmarksDao(KiwixDatabase.getInstance(this));
bookmarks = bookmarksDao.getBookmarkTitles(ZimContentProvider.getId());
bookmarkUrls = bookmarksDao.getBookmarks(ZimContentProvider.getId());
@ -220,11 +220,15 @@ public class BookmarksActivity extends AppCompatActivity
@Override
public void onBackPressed() {
int value = Settings.System.getInt(getContentResolver(), Settings.System.ALWAYS_FINISH_ACTIVITIES, 0);
if (value == 1) {
Intent startIntent = new Intent(this, KiwixMobileActivity.class);
startIntent.putExtra("bookmarkClicked", false);
if (value == 1) { // means there's only 1 activity in stack so start new
startActivity(startIntent);
} else {
super.onBackPressed();
} else { // we have a parent activity waiting...
setResult(RESULT_OK,startIntent );
finish();
}
}

View File

@ -950,7 +950,7 @@ public class KiwixMobileActivity extends AppCompatActivity {
//Bookmarks
bookmarks = new ArrayList<>();
bookmarksDao = new BookmarksDao(new KiwixDatabase(this));
bookmarksDao = new BookmarksDao(KiwixDatabase.getInstance(this));
bookmarks = bookmarksDao.getBookmarks(ZimContentProvider.getId());
openMainPage();
@ -1189,6 +1189,7 @@ public class KiwixMobileActivity extends AppCompatActivity {
private void deleteBookmark(String article) {
bookmarksDao.deleteBookmark(article, ZimContentProvider.getId());
refreshBookmarks();
}
public boolean openArticleFromBookmarkTitle(String bookmarkTitle) {
@ -1458,8 +1459,7 @@ public class KiwixMobileActivity extends AppCompatActivity {
return;
//Bookmarks
bookmarksDao = new BookmarksDao(new KiwixDatabase(this));
bookmarksDao = new BookmarksDao(new KiwixDatabase(this));
bookmarksDao = new BookmarksDao(KiwixDatabase.getInstance(this));
bookmarks = bookmarksDao.getBookmarks(ZimContentProvider.getId());
if (itemClicked) {
@ -1516,8 +1516,8 @@ public class KiwixMobileActivity extends AppCompatActivity {
}
public void refreshBookmarkSymbol(Menu menu) { // Checks if current webview is in bookmarks array
if (bookmarks == null){
bookmarksDao = new BookmarksDao(new KiwixDatabase(this));
if (bookmarks == null || bookmarks.size() == 0){
bookmarksDao = new BookmarksDao(KiwixDatabase.getInstance(this));
bookmarks = bookmarksDao.getBookmarks(ZimContentProvider.getId());
}
if (menu.findItem(R.id.menu_bookmarks) != null &&

View File

@ -110,7 +110,7 @@ public class LibraryFragment extends Fragment implements AdapterView.OnItemClick
kiwixService = ((KiwixApplication) super.getActivity().getApplication()).getKiwixService();
conMan = (ConnectivityManager) super.getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo network = conMan.getActiveNetworkInfo();
bookDao = new BookDao(new KiwixDatabase(super.getActivity()));
bookDao = new BookDao(KiwixDatabase.getInstance(super.getActivity()));
if (network != null && network.isConnected()) {
if (isWiFi()) {
getLibraryData();

View File

@ -53,7 +53,7 @@ public class SearchActivity extends AppCompatActivity
// String zimFile = getIntent().getStringExtra("zimFile");
mListView = (ListView) findViewById(R.id.search_list);
recentSearchDao = new RecentSearchDao(new KiwixDatabase(this));
recentSearchDao = new RecentSearchDao(KiwixDatabase.getInstance(this));
List<String> recentSearches = recentSearchDao.getRecentSearches();
mDefaultAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1);
mListView.setAdapter(mDefaultAdapter);

View File

@ -122,7 +122,7 @@ public class ZimFileSelectFragment extends Fragment
mZimFileList.setOnItemClickListener(this);
mZimFileList.setOnItemLongClickListener(this);
bookDao = new BookDao(new KiwixDatabase(context));
bookDao = new BookDao(KiwixDatabase.getInstance(context));
mFiles = bookDao.getBooks();
Collections.sort(mFiles, new fileComparator());

View File

@ -52,6 +52,8 @@ public class BookmarksDao {
} finally {
bookmarkCursor.close();
}
return result;
}

View File

@ -54,13 +54,22 @@ public class KiwixDatabase extends SquidDatabase {
private static final int VERSION = 11;
private Context context;
private static KiwixDatabase instance = null;
public KiwixDatabase(Context context) {
protected KiwixDatabase(Context context) {
super(context);
this.context = context;
}
public static KiwixDatabase getInstance(Context context) {
if(instance == null) {
instance = new KiwixDatabase(context);
}
return instance;
}
@Override
public String getName() {
return "Kiwix.db";

View File

@ -98,7 +98,7 @@ public class DownloadService extends Service {
notifications.add(notificationTitle);
final Intent target = new Intent(this, KiwixMobileActivity.class);
target.putExtra("library", true);
bookDao = new BookDao(new KiwixDatabase(this));
bookDao = new BookDao(KiwixDatabase.getInstance(this));
PendingIntent pendingIntent = PendingIntent.getActivity
(getBaseContext(), 0,
target, PendingIntent.FLAG_CANCEL_CURRENT);

View File

@ -77,8 +77,8 @@ public class LibraryAdapter extends ArrayAdapter<Book> {
allBooks = ImmutableList.copyOf(books);
arrayBooks = books;
mActivity = (ZimManageActivity) context;
networkLanguageDao = new NetworkLanguageDao(new KiwixDatabase(mActivity));
bookDao = new BookDao(new KiwixDatabase(context));
networkLanguageDao = new NetworkLanguageDao(KiwixDatabase.getInstance(mActivity));
bookDao = new BookDao( KiwixDatabase.getInstance(context));
initLanguageMap();
getLanguages();
getFilter().filter(mActivity.searchView.getQuery());

View File

@ -146,7 +146,7 @@ public class KiwixSettingsActivity extends AppCompatActivity {
setStorage();
setUpSettings();
new LanguageUtils(getActivity()).changeFont(getActivity().getLayoutInflater());
recentSearchDao = new RecentSearchDao(new KiwixDatabase(getActivity()));
recentSearchDao = new RecentSearchDao(KiwixDatabase.getInstance(getActivity()));
}