Feature #1756 : Bookmark System (#1935)

* Add bookmark star images

* Add bookmark item in navigation menu

* Add Activity for bookmarks

* Implement bookmarks viewpager

* Bookmark object and bookmarkDao

* Implement Bookmark Picture Fragment and Controller

* Implement image detail bookmark menu action UI

* contentProvider + config + dao rework

* Fix Dao and Content Provider crashes

* Link bookmark controllers and dao

* Implement bookmark location fragment, controller

* Add bookmark icon to location items

* Add empty bookmark list behavior and refactoring

* bookmarkLocation dao and contentProvider

* Fix bookmarks location crashes

* Rename and refactor classes

* Implement location list refresh

* Fix picture list update
When user come back from detail picture fragment, it solve the refresh bug.

* full test coverage

* Refactor bookmarks classes

* Fix bookmarks pictures loading

* Fix bookmark locations list display

* Java Documetation

* Fix Code review quality

* Fix DB version update

* Remove forgotten todo

* Update bookmark activity base class
Change from AuthenticatedActivity to BaseNavigationActivity
This commit is contained in:
Victor-Bonin 2018-10-25 17:54:22 +02:00 committed by Josephine Lim
parent 89d2d0cfe0
commit 80a9c94653
42 changed files with 2361 additions and 12 deletions

View file

@ -32,6 +32,8 @@ import fr.free.nrw.commons.R;
import fr.free.nrw.commons.WelcomeActivity;
import fr.free.nrw.commons.achievements.AchievementsActivity;
import fr.free.nrw.commons.auth.LoginActivity;
import fr.free.nrw.commons.bookmarks.BookmarksActivity;
import fr.free.nrw.commons.contributions.ContributionsActivity;
import fr.free.nrw.commons.category.CategoryImagesActivity;
import fr.free.nrw.commons.contributions.ContributionsActivity;
import fr.free.nrw.commons.nearby.NearbyActivity;
@ -77,6 +79,7 @@ public abstract class NavigationBaseActivity extends BaseActivity
nav_Menu.findItem(R.id.action_notifications).setVisible(false);
nav_Menu.findItem(R.id.action_settings).setVisible(false);
nav_Menu.findItem(R.id.action_logout).setVisible(false);
nav_Menu.findItem(R.id.action_bookmarks).setVisible(true);
}else {
userIcon.setVisibility(View.VISIBLE);
nav_Menu.findItem(R.id.action_login).setVisible(false);
@ -84,6 +87,7 @@ public abstract class NavigationBaseActivity extends BaseActivity
nav_Menu.findItem(R.id.action_notifications).setVisible(true);
nav_Menu.findItem(R.id.action_settings).setVisible(true);
nav_Menu.findItem(R.id.action_logout).setVisible(true);
nav_Menu.findItem(R.id.action_bookmarks).setVisible(true);
}
}
@ -210,6 +214,10 @@ public abstract class NavigationBaseActivity extends BaseActivity
drawerLayout.closeDrawer(navigationView);
CategoryImagesActivity.startYourself(this, getString(R.string.title_activity_explore), FEATURED_IMAGES_CATEGORY);
return true;
case R.id.action_bookmarks:
drawerLayout.closeDrawer(navigationView);
BookmarksActivity.startYourself(this);
return true;
default:
Timber.e("Unknown option [%s] selected from the navigation menu", itemId);
return false;