mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-27 04:43:54 +01:00
Migrated CategoryDetailsActivity , MainActivity to View Binding (#5595)
* Butterknife to ViewBinding * code fix to pass all tests
This commit is contained in:
parent
23492ab11f
commit
8df0055a5a
8 changed files with 116 additions and 116 deletions
|
|
@ -15,13 +15,12 @@ import androidx.appcompat.widget.Toolbar;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.fragment.app.FragmentManager;
|
import androidx.fragment.app.FragmentManager;
|
||||||
import androidx.viewpager.widget.ViewPager;
|
import androidx.viewpager.widget.ViewPager;
|
||||||
import butterknife.BindView;
|
|
||||||
import butterknife.ButterKnife;
|
|
||||||
import com.google.android.material.tabs.TabLayout;
|
import com.google.android.material.tabs.TabLayout;
|
||||||
import fr.free.nrw.commons.Media;
|
import fr.free.nrw.commons.Media;
|
||||||
import fr.free.nrw.commons.R;
|
import fr.free.nrw.commons.R;
|
||||||
import fr.free.nrw.commons.Utils;
|
import fr.free.nrw.commons.Utils;
|
||||||
import fr.free.nrw.commons.ViewPagerAdapter;
|
import fr.free.nrw.commons.ViewPagerAdapter;
|
||||||
|
import fr.free.nrw.commons.databinding.ActivityCategoryDetailsBinding;
|
||||||
import fr.free.nrw.commons.explore.categories.media.CategoriesMediaFragment;
|
import fr.free.nrw.commons.explore.categories.media.CategoriesMediaFragment;
|
||||||
import fr.free.nrw.commons.explore.categories.parent.ParentCategoriesFragment;
|
import fr.free.nrw.commons.explore.categories.parent.ParentCategoriesFragment;
|
||||||
import fr.free.nrw.commons.explore.categories.sub.SubCategoriesFragment;
|
import fr.free.nrw.commons.explore.categories.sub.SubCategoriesFragment;
|
||||||
|
|
@ -45,23 +44,23 @@ public class CategoryDetailsActivity extends BaseActivity
|
||||||
private CategoriesMediaFragment categoriesMediaFragment;
|
private CategoriesMediaFragment categoriesMediaFragment;
|
||||||
private MediaDetailPagerFragment mediaDetails;
|
private MediaDetailPagerFragment mediaDetails;
|
||||||
private String categoryName;
|
private String categoryName;
|
||||||
@BindView(R.id.mediaContainer) FrameLayout mediaContainer;
|
|
||||||
@BindView(R.id.tab_layout) TabLayout tabLayout;
|
|
||||||
@BindView(R.id.viewPager) ViewPager viewPager;
|
|
||||||
@BindView(R.id.toolbar) Toolbar toolbar;
|
|
||||||
ViewPagerAdapter viewPagerAdapter;
|
ViewPagerAdapter viewPagerAdapter;
|
||||||
|
|
||||||
|
private ActivityCategoryDetailsBinding binding;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_category_details);
|
|
||||||
ButterKnife.bind(this);
|
binding = ActivityCategoryDetailsBinding.inflate(getLayoutInflater());
|
||||||
|
final View view = binding.getRoot();
|
||||||
|
setContentView(view);
|
||||||
supportFragmentManager = getSupportFragmentManager();
|
supportFragmentManager = getSupportFragmentManager();
|
||||||
viewPagerAdapter = new ViewPagerAdapter(getSupportFragmentManager());
|
viewPagerAdapter = new ViewPagerAdapter(getSupportFragmentManager());
|
||||||
viewPager.setAdapter(viewPagerAdapter);
|
binding.viewPager.setAdapter(viewPagerAdapter);
|
||||||
viewPager.setOffscreenPageLimit(2);
|
binding.viewPager.setOffscreenPageLimit(2);
|
||||||
tabLayout.setupWithViewPager(viewPager);
|
binding.tabLayout.setupWithViewPager(binding.viewPager);
|
||||||
setSupportActionBar(toolbar);
|
setSupportActionBar(binding.toolbarBinding.toolbar);
|
||||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||||
setTabs();
|
setTabs();
|
||||||
setPageTitle();
|
setPageTitle();
|
||||||
|
|
@ -110,9 +109,9 @@ public class CategoryDetailsActivity extends BaseActivity
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onMediaClicked(int position) {
|
public void onMediaClicked(int position) {
|
||||||
tabLayout.setVisibility(View.GONE);
|
binding.tabLayout.setVisibility(View.GONE);
|
||||||
viewPager.setVisibility(View.GONE);
|
binding.viewPager.setVisibility(View.GONE);
|
||||||
mediaContainer.setVisibility(View.VISIBLE);
|
binding.mediaContainer.setVisibility(View.VISIBLE);
|
||||||
if (mediaDetails == null || !mediaDetails.isVisible()) {
|
if (mediaDetails == null || !mediaDetails.isVisible()) {
|
||||||
// set isFeaturedImage true for featured images, to include author field on media detail
|
// set isFeaturedImage true for featured images, to include author field on media detail
|
||||||
mediaDetails = MediaDetailPagerFragment.newInstance(false, true);
|
mediaDetails = MediaDetailPagerFragment.newInstance(false, true);
|
||||||
|
|
@ -216,9 +215,9 @@ public class CategoryDetailsActivity extends BaseActivity
|
||||||
@Override
|
@Override
|
||||||
public void onBackPressed() {
|
public void onBackPressed() {
|
||||||
if (supportFragmentManager.getBackStackEntryCount() == 1){
|
if (supportFragmentManager.getBackStackEntryCount() == 1){
|
||||||
tabLayout.setVisibility(View.VISIBLE);
|
binding.tabLayout.setVisibility(View.VISIBLE);
|
||||||
viewPager.setVisibility(View.VISIBLE);
|
binding.viewPager.setVisibility(View.VISIBLE);
|
||||||
mediaContainer.setVisibility(View.GONE);
|
binding.mediaContainer.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
super.onBackPressed();
|
super.onBackPressed();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,15 +12,13 @@ import android.os.Bundle;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.FrameLayout;
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.appcompat.widget.Toolbar;
|
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.fragment.app.FragmentManager;
|
import androidx.fragment.app.FragmentManager;
|
||||||
|
import androidx.viewpager.widget.ViewPager;
|
||||||
import androidx.work.ExistingWorkPolicy;
|
import androidx.work.ExistingWorkPolicy;
|
||||||
import butterknife.BindView;
|
import fr.free.nrw.commons.databinding.MainBinding;
|
||||||
import butterknife.ButterKnife;
|
|
||||||
import fr.free.nrw.commons.CommonsApplication;
|
import fr.free.nrw.commons.CommonsApplication;
|
||||||
import fr.free.nrw.commons.R;
|
import fr.free.nrw.commons.R;
|
||||||
import fr.free.nrw.commons.WelcomeActivity;
|
import fr.free.nrw.commons.WelcomeActivity;
|
||||||
|
|
@ -63,14 +61,6 @@ public class MainActivity extends BaseActivity
|
||||||
ContributionController controller;
|
ContributionController controller;
|
||||||
@Inject
|
@Inject
|
||||||
ContributionDao contributionDao;
|
ContributionDao contributionDao;
|
||||||
@BindView(R.id.toolbar)
|
|
||||||
Toolbar toolbar;
|
|
||||||
@BindView(R.id.pager)
|
|
||||||
public UnswipableViewPager viewPager;
|
|
||||||
@BindView(R.id.fragmentContainer)
|
|
||||||
public FrameLayout fragmentContainer;
|
|
||||||
@BindView(R.id.fragment_main_nav_tab_layout)
|
|
||||||
NavTabLayout tabLayout;
|
|
||||||
|
|
||||||
private ContributionsFragment contributionsFragment;
|
private ContributionsFragment contributionsFragment;
|
||||||
private NearbyParentFragment nearbyParentFragment;
|
private NearbyParentFragment nearbyParentFragment;
|
||||||
|
|
@ -95,6 +85,11 @@ public class MainActivity extends BaseActivity
|
||||||
|
|
||||||
public Menu menu;
|
public Menu menu;
|
||||||
|
|
||||||
|
public MainBinding binding;
|
||||||
|
|
||||||
|
NavTabLayout tabLayout;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Consumers should be simply using this method to use this activity.
|
* Consumers should be simply using this method to use this activity.
|
||||||
*
|
*
|
||||||
|
|
@ -122,11 +117,13 @@ public class MainActivity extends BaseActivity
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
binding = MainBinding.inflate(getLayoutInflater());
|
||||||
|
setContentView(binding.getRoot());
|
||||||
|
setSupportActionBar(binding.toolbarBinding.toolbar);
|
||||||
|
tabLayout = binding.fragmentMainNavTabLayout;
|
||||||
loadLocale();
|
loadLocale();
|
||||||
setContentView(R.layout.main);
|
|
||||||
ButterKnife.bind(this);
|
binding.toolbarBinding.toolbar.setNavigationOnClickListener(view -> {
|
||||||
setSupportActionBar(toolbar);
|
|
||||||
toolbar.setNavigationOnClickListener(view -> {
|
|
||||||
onSupportNavigateUp();
|
onSupportNavigateUp();
|
||||||
});
|
});
|
||||||
/*
|
/*
|
||||||
|
|
@ -177,11 +174,11 @@ public class MainActivity extends BaseActivity
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSelectedItemId(int id) {
|
public void setSelectedItemId(int id) {
|
||||||
tabLayout.setSelectedItemId(id);
|
binding.fragmentMainNavTabLayout.setSelectedItemId(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setUpPager() {
|
private void setUpPager() {
|
||||||
tabLayout.setOnNavigationItemSelectedListener(navListener = (item) -> {
|
binding.fragmentMainNavTabLayout.setOnNavigationItemSelectedListener(navListener = (item) -> {
|
||||||
if (!item.getTitle().equals(getString(R.string.more))) {
|
if (!item.getTitle().equals(getString(R.string.more))) {
|
||||||
// do not change title for more fragment
|
// do not change title for more fragment
|
||||||
setTitle(item.getTitle());
|
setTitle(item.getTitle());
|
||||||
|
|
@ -196,7 +193,7 @@ public class MainActivity extends BaseActivity
|
||||||
|
|
||||||
private void setUpLoggedOutPager() {
|
private void setUpLoggedOutPager() {
|
||||||
loadFragment(ExploreFragment.newInstance(),false);
|
loadFragment(ExploreFragment.newInstance(),false);
|
||||||
tabLayout.setOnNavigationItemSelectedListener(item -> {
|
binding.fragmentMainNavTabLayout.setOnNavigationItemSelectedListener(item -> {
|
||||||
if (!item.getTitle().equals(getString(R.string.more))) {
|
if (!item.getTitle().equals(getString(R.string.more))) {
|
||||||
// do not change title for more fragment
|
// do not change title for more fragment
|
||||||
setTitle(item.getTitle());
|
setTitle(item.getTitle());
|
||||||
|
|
@ -258,11 +255,11 @@ public class MainActivity extends BaseActivity
|
||||||
}
|
}
|
||||||
|
|
||||||
public void hideTabs() {
|
public void hideTabs() {
|
||||||
tabLayout.setVisibility(View.GONE);
|
binding.fragmentMainNavTabLayout.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void showTabs() {
|
public void showTabs() {
|
||||||
tabLayout.setVisibility(View.VISIBLE);
|
binding.fragmentMainNavTabLayout.setVisibility(View.VISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -317,7 +314,7 @@ public class MainActivity extends BaseActivity
|
||||||
@Override
|
@Override
|
||||||
protected void onSaveInstanceState(Bundle outState) {
|
protected void onSaveInstanceState(Bundle outState) {
|
||||||
super.onSaveInstanceState(outState);
|
super.onSaveInstanceState(outState);
|
||||||
outState.putInt("viewPagerCurrentItem", viewPager.getCurrentItem());
|
outState.putInt("viewPagerCurrentItem", binding.pager.getCurrentItem());
|
||||||
outState.putString("activeFragment", activeFragment.name());
|
outState.putString("activeFragment", activeFragment.name());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -472,7 +469,7 @@ public class MainActivity extends BaseActivity
|
||||||
* Public method to show nearby from the reference of this.
|
* Public method to show nearby from the reference of this.
|
||||||
*/
|
*/
|
||||||
public void showNearby() {
|
public void showNearby() {
|
||||||
tabLayout.setSelectedItemId(NavTab.NEARBY.code());
|
binding.fragmentMainNavTabLayout.setSelectedItemId(NavTab.NEARBY.code());
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum ActiveFragment {
|
public enum ActiveFragment {
|
||||||
|
|
|
||||||
|
|
@ -1322,7 +1322,7 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setTabItemContributions() {
|
public void setTabItemContributions() {
|
||||||
((MainActivity) getActivity()).viewPager.setCurrentItem(0);
|
((MainActivity) getActivity()).binding.pager.setCurrentItem(0);
|
||||||
// TODO
|
// TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,9 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="?attr/mainBackground">
|
android:background="?attr/mainBackground">
|
||||||
|
|
||||||
<include layout="@layout/toolbar"/>
|
<include
|
||||||
|
android:id="@+id/toolbarBinding"
|
||||||
|
layout="@layout/toolbar"/>
|
||||||
|
|
||||||
<com.google.android.material.tabs.TabLayout
|
<com.google.android.material.tabs.TabLayout
|
||||||
android:id="@+id/tab_layout"
|
android:id="@+id/tab_layout"
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,9 @@
|
||||||
android:gravity="center_horizontal"
|
android:gravity="center_horizontal"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<include layout="@layout/toolbar" />
|
<include
|
||||||
|
android:id="@+id/toolbarBinding"
|
||||||
|
layout="@layout/toolbar" />
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue