Skip to content

Commit

Permalink
Sample code cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
alexvasilkov committed Dec 6, 2015
1 parent fad1e81 commit bef0dce
Show file tree
Hide file tree
Showing 10 changed files with 129 additions and 70 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -34,16 +34,14 @@
import com.alexvasilkov.gestures.transition.ViewsCoordinator;
import com.alexvasilkov.gestures.transition.ViewsTransitionAnimator;
import com.alexvasilkov.gestures.transition.ViewsTransitionBuilder;
import com.alexvasilkov.gestures.views.interfaces.GestureView;
import com.alexvasilkov.gestures.views.utils.RecyclePagerAdapter;
import com.googlecode.flickrjandroid.photos.Photo;

import java.util.List;

public class AdvancedDemoActivity extends BaseActivity implements
ViewPositionAnimator.PositionUpdateListener,
FlickrPhotoListAdapter.OnPhotoListener,
FlickrPhotoPagerAdapter.OnSetupGestureViewListener {
FlickrPhotoListAdapter.OnPhotoListener {

private static final int PAGE_SIZE = 30;

Expand Down Expand Up @@ -189,7 +187,7 @@ public void loadNextItems() {
private void initPager() {
// Setting up pager views
mPagerAdapter = new FlickrPhotoPagerAdapter(mViews.pager);
mPagerAdapter.setSetupListener(this);
mPagerAdapter.setSetupListener(mSettingsMenu);

mPagerListener = new ViewPager.SimpleOnPageChangeListener() {
@Override
Expand Down Expand Up @@ -286,11 +284,6 @@ public void onPositionUpdate(float state, boolean isLeaving) {
if (isLeaving && state == 0f) mPagerAdapter.setActivated(false);
}

@Override
public void onSetupGestureView(GestureView view) {
mSettingsMenu.applySettings(view);
}


@Result(FlickrApi.LOAD_IMAGES_EVENT)
private void onPhotosLoaded(List<Photo> photos, boolean hasMore) {
Expand Down Expand Up @@ -352,10 +345,10 @@ public ViewHolder(Activity activity) {
toolbarBack = Views.find(activity, R.id.flickr_toolbar_back);
grid = Views.find(activity, R.id.flickr_list);

pager = Views.find(activity, R.id.full_images_pager);
pagerToolbar = Views.find(activity, R.id.full_image_toolbar);
pagerTitle = Views.find(activity, R.id.full_image_title);
pagerBackground = Views.find(activity, R.id.full_image_background);
pager = Views.find(activity, R.id.flickr_pager);
pagerToolbar = Views.find(activity, R.id.flickr_full_toolbar);
pagerTitle = Views.find(activity, R.id.flickr_full_title);
pagerBackground = Views.find(activity, R.id.flickr_full_background);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,11 @@

import com.alexvasilkov.android.commons.utils.Views;
import com.alexvasilkov.gestures.sample.R;
import com.alexvasilkov.gestures.sample.adapters.PaintingsLayoutsAdapter;
import com.alexvasilkov.gestures.sample.adapters.PaintingsLayoutsPagerAdapter;
import com.alexvasilkov.gestures.sample.logic.Painting;
import com.alexvasilkov.gestures.sample.utils.GestureSettingsMenu;
import com.alexvasilkov.gestures.views.interfaces.GestureView;

public class FrameLayoutSampleActivity extends BaseActivity
implements PaintingsLayoutsAdapter.OnSetupGestureViewListener {
public class FrameLayoutSampleActivity extends BaseActivity {

private ViewPager mViewPager;
private GestureSettingsMenu mSettingsMenu;
Expand All @@ -31,7 +29,7 @@ protected void onCreate(Bundle savedInstanceState) {
Painting[] paintings = Painting.getAllPaintings(getResources());

mViewPager = Views.find(this, R.id.paintings_view_pager);
mViewPager.setAdapter(new PaintingsLayoutsAdapter(mViewPager, paintings, this));
mViewPager.setAdapter(new PaintingsLayoutsPagerAdapter(mViewPager, paintings, mSettingsMenu));
mViewPager.setPageMargin(getResources().getDimensionPixelSize(R.dimen.view_pager_margin));
}

Expand All @@ -57,9 +55,4 @@ public boolean onOptionsItemSelected(MenuItem item) {
}
}

@Override
public void onSetupGestureView(GestureView view) {
mSettingsMenu.applySettings(view);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,12 @@
import com.alexvasilkov.android.commons.texts.SpannableBuilder;
import com.alexvasilkov.android.commons.utils.Views;
import com.alexvasilkov.gestures.sample.R;
import com.alexvasilkov.gestures.sample.adapters.PaintingsImagesAdapter;
import com.alexvasilkov.gestures.sample.adapters.PaintingsPagerAdapter;
import com.alexvasilkov.gestures.sample.logic.Painting;
import com.alexvasilkov.gestures.sample.utils.GestureSettingsMenu;
import com.alexvasilkov.gestures.views.interfaces.GestureView;

public class ImageViewSampleActivity extends BaseActivity
implements ViewPager.OnPageChangeListener, PaintingsImagesAdapter.OnSetupGestureViewListener {
implements ViewPager.OnPageChangeListener {

private Painting[] mPaintings;

Expand All @@ -44,7 +43,7 @@ protected void onCreate(Bundle savedInstanceState) {
mTitleView = Views.find(this, R.id.painting_title);

mViewPager = Views.find(this, R.id.paintings_view_pager);
mViewPager.setAdapter(new PaintingsImagesAdapter(mViewPager, mPaintings, this));
mViewPager.setAdapter(new PaintingsPagerAdapter(mViewPager, mPaintings, mSettingsMenu));
mViewPager.addOnPageChangeListener(this);
mViewPager.setPageMargin(getResources().getDimensionPixelSize(R.dimen.view_pager_margin));
onPageSelected(0); // Manually calling for first item
Expand Down Expand Up @@ -93,9 +92,4 @@ public void onPageScrollStateChanged(int state) {
// no-op
}

@Override
public void onSetupGestureView(GestureView view) {
mSettingsMenu.applySettings(view);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
import com.alexvasilkov.android.commons.utils.Views;
import com.alexvasilkov.gestures.animation.ViewPositionAnimator;
import com.alexvasilkov.gestures.sample.R;
import com.alexvasilkov.gestures.sample.utils.GestureSettingsSetupListener;
import com.alexvasilkov.gestures.sample.utils.glide.GlideHelper;
import com.alexvasilkov.gestures.views.GestureImageView;
import com.alexvasilkov.gestures.views.interfaces.GestureView;
import com.alexvasilkov.gestures.views.utils.RecyclePagerAdapter;
import com.bumptech.glide.Glide;
import com.googlecode.flickrjandroid.photos.Photo;
Expand All @@ -23,7 +23,7 @@ public class FlickrPhotoPagerAdapter extends RecyclePagerAdapter<FlickrPhotoPage

private final ViewPager mViewPager;
private List<Photo> mPhotos;
private OnSetupGestureViewListener mSetupListener;
private GestureSettingsSetupListener mSetupListener;

private boolean mActivated;

Expand All @@ -41,7 +41,7 @@ public Photo getPhoto(int pos) {
return mPhotos.get(pos);
}

public void setSetupListener(OnSetupGestureViewListener listener) {
public void setSetupListener(GestureSettingsSetupListener listener) {
mSetupListener = listener;
}

Expand Down Expand Up @@ -147,8 +147,4 @@ public ViewHolder(ViewGroup parent) {
}
}

public interface OnSetupGestureViewListener {
void onSetupGestureView(GestureView view);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
package com.alexvasilkov.gestures.sample.adapters;

import android.support.annotation.NonNull;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;

import com.alexvasilkov.android.commons.utils.Views;
import com.alexvasilkov.gestures.sample.R;
import com.alexvasilkov.gestures.sample.logic.Painting;
import com.alexvasilkov.gestures.sample.utils.glide.GlideHelper;

public class PaintingsListAdapter extends BaseAdapter implements View.OnClickListener {

private final Painting[] mPaintings;
private final OnPaintingListener mListener;

public PaintingsListAdapter(Painting[] paintings, OnPaintingListener listener) {
mPaintings = paintings;
mListener = listener;
}

@Override
public int getCount() {
return mPaintings.length;
}

@Override
public Object getItem(int position) {
return mPaintings[position];
}

@Override
public long getItemId(int position) {
return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
holder = onCreateHolder(parent);
holder.itemView.setTag(R.id.tag_holder, holder);
} else {
holder = (ViewHolder) convertView.getTag(R.id.tag_holder);
}
onBindHolder(holder, position);
return holder.itemView;
}

private ViewHolder onCreateHolder(ViewGroup parent) {
ViewHolder holder = new ViewHolder(parent);
holder.image.setOnClickListener(this);
return holder;
}

private void onBindHolder(ViewHolder holder, int position) {
holder.image.setTag(R.id.tag_item, position);
GlideHelper.loadResource(mPaintings[position].getImageId(), holder.image);
}

@Override
public void onClick(@NonNull View view) {
int pos = (Integer) view.getTag(R.id.tag_item);
mListener.onPaintingClick(mPaintings[pos], pos, (ImageView) view);
}

public static ImageView getImage(View itemView) {
ViewHolder holder = (ViewHolder) itemView.getTag(R.id.tag_holder);
return holder == null ? null : holder.image;
}

static class ViewHolder {
public final View itemView;
public final ImageView image;

public ViewHolder(ViewGroup parent) {
itemView = Views.inflate(parent, R.layout.item_image);
image = (ImageView) itemView;
}
}

public interface OnPaintingListener {
void onPaintingClick(Painting painting, int position, ImageView image);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,19 @@
import android.view.ViewGroup;

import com.alexvasilkov.gestures.sample.logic.Painting;
import com.alexvasilkov.gestures.sample.utils.GestureSettingsSetupListener;
import com.alexvasilkov.gestures.sample.utils.glide.GlideHelper;
import com.alexvasilkov.gestures.views.GestureImageView;
import com.alexvasilkov.gestures.views.interfaces.GestureView;
import com.alexvasilkov.gestures.views.utils.RecyclePagerAdapter;

public class PaintingsImagesAdapter extends RecyclePagerAdapter<PaintingsImagesAdapter.ViewHolder> {
public class PaintingsPagerAdapter extends RecyclePagerAdapter<PaintingsPagerAdapter.ViewHolder> {

private final ViewPager mViewPager;
private final Painting[] mPaintings;
private final OnSetupGestureViewListener mSetupListener;
private final GestureSettingsSetupListener mSetupListener;

public PaintingsImagesAdapter(ViewPager pager, Painting[] paintings,
OnSetupGestureViewListener listener) {
public PaintingsPagerAdapter(ViewPager pager, Painting[] paintings,
GestureSettingsSetupListener listener) {
mViewPager = pager;
mPaintings = paintings;
mSetupListener = listener;
Expand All @@ -38,10 +38,13 @@ public ViewHolder onCreateViewHolder(@NonNull ViewGroup container) {
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
if (mSetupListener != null) mSetupListener.onSetupGestureView(holder.image);
holder.image.getController().resetState();
GlideHelper.loadResource(mPaintings[position].getImageId(), holder.image);
}

public static GestureImageView getImage(RecyclePagerAdapter.ViewHolder holder) {
return ((ViewHolder) holder).image;
}


static class ViewHolder extends RecyclePagerAdapter.ViewHolder {
public final GestureImageView image;
Expand All @@ -52,8 +55,4 @@ public ViewHolder(ViewGroup container) {
}
}

public interface OnSetupGestureViewListener {
void onSetupGestureView(GestureView view);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import com.alexvasilkov.gestures.sample.R;
import com.alexvasilkov.gestures.views.interfaces.GestureView;

public class GestureSettingsMenu {
public class GestureSettingsMenu implements GestureSettingsSetupListener {

@InstanceState
private boolean mIsPanEnabled = true;
Expand Down Expand Up @@ -110,7 +110,8 @@ public boolean onOptionsItemSelected(MenuItem item) {
return true;
}

public void applySettings(GestureView view) {
@Override
public void onSetupGestureView(GestureView view) {
Context context = ((View) view).getContext();
float overscrollX = mIsOverscrollXEnabled ? 32f : 0f;
float overscrollY = mIsOverscrollYEnabled ? 32f : 0f;
Expand All @@ -128,7 +129,6 @@ public void applySettings(GestureView view) {
.setGravity(mGravity);
}


private enum GravityType {
CENTER(Gravity.CENTER),
TOP(Gravity.TOP),
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.alexvasilkov.gestures.sample.utils;

import com.alexvasilkov.gestures.views.interfaces.GestureView;

public interface GestureSettingsSetupListener {
void onSetupGestureView(GestureView view);
}
11 changes: 0 additions & 11 deletions sample/src/main/res/drawable/flickr_progress_background.xml

This file was deleted.

14 changes: 7 additions & 7 deletions sample/src/main/res/layout/activity_advanced_demo.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
<merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activities.FlickrListActivity">
android:layout_height="match_parent">

<android.support.v7.widget.RecyclerView
android:id="@+id/flickr_list"
Expand All @@ -13,7 +12,8 @@
android:clipToPadding="false"
android:padding="@dimen/flickr_list_margin"
android:scrollbarStyle="outsideOverlay"
android:scrollbars="vertical" />
android:scrollbars="vertical"
tools:listitem="@layout/item_flickr_image" />

<!-- Next view is only used to smoother toolbar fading -->

Expand All @@ -23,26 +23,26 @@
android:background="@color/window_background_dark_2" />

<View
android:id="@+id/full_image_background"
android:id="@+id/flickr_full_background"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/window_background_dark_2"
android:visibility="invisible" />

<android.support.v4.view.ViewPager
android:id="@+id/full_images_pager"
android:id="@+id/flickr_pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />

<android.support.v7.widget.Toolbar style="@style/App.Toolbar" />

<android.support.v7.widget.Toolbar
android:id="@+id/full_image_toolbar"
android:id="@+id/flickr_full_toolbar"
style="@style/App.Toolbar.Transparent"
android:visibility="invisible" />

<TextView
android:id="@+id/full_image_title"
android:id="@+id/flickr_full_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
Expand Down

0 comments on commit bef0dce

Please sign in to comment.