fix:Explore Search: No title bar for item, non-existent menu for item, wrongly-worded menu for category (#4274)

This commit is contained in:
Prince kushwaha 2021-03-03 18:09:42 +05:30 committed by GitHub
parent 9b91eb9095
commit a4bdd23718
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 53 additions and 1 deletions

View file

@ -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);
}

View file

@ -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);
}
}
}

View file

@ -4,6 +4,6 @@
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/menu_browser_current_category"
android:title="@string/menu_view_file_page"
android:title="@string/menu_view_category_page"
app:showAsAction="never" />
</menu>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/browser_actions_menu_items"
android:title="@string/menu_view_item_page" />
</menu>

View file

@ -711,5 +711,7 @@ Upload your first media by tapping on the add button.</string>
<string name="depicts_step_title">Depicts</string>
<string name="license_step_title">Media License</string>
<string name="media_detail_step_title">Media Details</string>
<string name="menu_view_category_page">View category page</string>
<string name="menu_view_item_page">View item page</string>
</resources>