From a4bdd237181a32d790b6186068ad8135587c0186 Mon Sep 17 00:00:00 2001 From: Prince kushwaha <65972015+Prince-kushwaha@users.noreply.github.com> Date: Wed, 3 Mar 2021 18:09:42 +0530 Subject: [PATCH] fix:Explore Search: No title bar for item, non-existent menu for item, wrongly-worded menu for category (#4274) --- .../category/CategoryDetailsActivity.java | 4 ++ .../WikidataItemDetailsActivity.java | 40 +++++++++++++++++++ .../res/menu/fragment_category_detail.xml | 2 +- app/src/main/res/menu/menu_wikidata_item.xml | 6 +++ app/src/main/res/values/strings.xml | 2 + 5 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 app/src/main/res/menu/menu_wikidata_item.xml diff --git a/app/src/main/java/fr/free/nrw/commons/category/CategoryDetailsActivity.java b/app/src/main/java/fr/free/nrw/commons/category/CategoryDetailsActivity.java index bb4ac4f14..749221547 100644 --- a/app/src/main/java/fr/free/nrw/commons/category/CategoryDetailsActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/category/CategoryDetailsActivity.java @@ -62,6 +62,7 @@ public class CategoryDetailsActivity extends BaseActivity viewPager.setOffscreenPageLimit(2); tabLayout.setupWithViewPager(viewPager); setSupportActionBar(toolbar); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); setTabs(); setPageTitle(); } @@ -187,6 +188,9 @@ public class CategoryDetailsActivity extends BaseActivity PageTitle title = Utils.getPageTitle(CATEGORY_PREFIX + categoryName); Utils.handleWebUrl(this, Uri.parse(title.getCanonicalUri())); return true; + case android.R.id.home: + onBackPressed(); + return true; default: return super.onOptionsItemSelected(item); } diff --git a/app/src/main/java/fr/free/nrw/commons/explore/depictions/WikidataItemDetailsActivity.java b/app/src/main/java/fr/free/nrw/commons/explore/depictions/WikidataItemDetailsActivity.java index 2324ab0b8..f36e0f01c 100644 --- a/app/src/main/java/fr/free/nrw/commons/explore/depictions/WikidataItemDetailsActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/explore/depictions/WikidataItemDetailsActivity.java @@ -2,9 +2,14 @@ package fr.free.nrw.commons.explore.depictions; import android.content.Context; import android.content.Intent; +import android.net.Uri; import android.os.Bundle; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; import android.view.View; import android.widget.FrameLayout; +import androidx.appcompat.widget.Toolbar; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.viewpager.widget.ViewPager; @@ -13,6 +18,7 @@ import butterknife.ButterKnife; import com.google.android.material.tabs.TabLayout; import fr.free.nrw.commons.Media; import fr.free.nrw.commons.R; +import fr.free.nrw.commons.Utils; import fr.free.nrw.commons.ViewPagerAdapter; import fr.free.nrw.commons.category.CategoryImagesCallback; import fr.free.nrw.commons.explore.depictions.child.ChildDepictionsFragment; @@ -43,6 +49,8 @@ public class WikidataItemDetailsActivity extends BaseActivity implements MediaDe TabLayout tabLayout; @BindView(R.id.viewPager) ViewPager viewPager; + @BindView(R.id.toolbar) + Toolbar toolbar; ViewPagerAdapter viewPagerAdapter; @@ -56,6 +64,8 @@ public class WikidataItemDetailsActivity extends BaseActivity implements MediaDe viewPager.setAdapter(viewPagerAdapter); viewPager.setOffscreenPageLimit(2); tabLayout.setupWithViewPager(viewPager); + setSupportActionBar(toolbar); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); setTabs(); setPageTitle(); } @@ -188,4 +198,34 @@ public class WikidataItemDetailsActivity extends BaseActivity implements MediaDe intent.putExtra("entityId", depictedItem.getId()); context.startActivity(intent); } + + /** + * This function inflates the menu + */ + @Override + public boolean onCreateOptionsMenu(Menu menu) { + MenuInflater menuInflater=getMenuInflater(); + menuInflater.inflate(R.menu.menu_wikidata_item,menu); + return super.onCreateOptionsMenu(menu); + } + + /** + * This method handles the logic on item select in toolbar menu + * Currently only 1 choice is available to open Wikidata item details page in browser + */ + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()){ + case R.id.browser_actions_menu_items: + String entityId=getIntent().getStringExtra("entityId"); + Uri uri = Uri.parse("https://www.wikidata.org/wiki/" + entityId); + Utils.handleWebUrl(this, uri); + return true; + case android.R.id.home: + onBackPressed(); + return true; + default: + return super.onOptionsItemSelected(item); + } + } } diff --git a/app/src/main/res/menu/fragment_category_detail.xml b/app/src/main/res/menu/fragment_category_detail.xml index 58f94aba8..386e678fd 100644 --- a/app/src/main/res/menu/fragment_category_detail.xml +++ b/app/src/main/res/menu/fragment_category_detail.xml @@ -4,6 +4,6 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> \ No newline at end of file diff --git a/app/src/main/res/menu/menu_wikidata_item.xml b/app/src/main/res/menu/menu_wikidata_item.xml new file mode 100644 index 000000000..8f0c6d57b --- /dev/null +++ b/app/src/main/res/menu/menu_wikidata_item.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 46065b994..5b5ff60b3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -711,5 +711,7 @@ Upload your first media by tapping on the add button. Depicts Media License Media Details + View category page + View item page