Skip to content

Commit

Permalink
Refactoring of ListingFragment and MainActivity
Browse files Browse the repository at this point in the history
  • Loading branch information
sicarelli committed Jul 17, 2015
1 parent e19b1e4 commit 8aa7b95
Show file tree
Hide file tree
Showing 9 changed files with 262 additions and 306 deletions.
2 changes: 1 addition & 1 deletion materialup/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ dependencies {
compile 'com.android.support:cardview-v7:22.2.0'
compile 'com.android.support:recyclerview-v7:22.2.0'
compile 'org.jsoup:jsoup:1.8.2'
compile ('com.github.florent37:materialviewpager:1.0.5@aar') { transitive = true }
compile ('com.github.florent37:materialviewpager:1.0.7@aar') { transitive = true }
compile 'com.android.support:design:22.2.0'
compile 'com.squareup.okhttp:okhttp:2.4.0'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.4.0'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import java.util.ArrayList;
import java.util.List;

import io.jari.materialup.factories.ListingFactory;
import io.jari.materialup.factories.CategoryFactory;

public class CategoryAdapter extends FragmentPagerAdapter {

Expand All @@ -33,6 +33,6 @@ public int getCount() {

@Override
public CharSequence getPageTitle(int position) {
return ListingFactory.getTitleForPosition(position);
return CategoryFactory.getTitleForPosition(position);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,16 @@

import android.net.Uri;

import com.android.volley.AuthFailureError;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;

import org.json.JSONException;

import java.util.HashMap;
import java.util.Map;

import io.jari.materialup.R;
import io.jari.materialup.exeptions.ItemException;
import io.jari.materialup.exeptions.ItemImageException;
Expand Down Expand Up @@ -64,18 +68,29 @@ public static void getItemImage(String id, final ItemImageCallBack callback) {
@Override
public void onResponse(String response) {
try {

String imageUrl = ParseUtils.parseImageUrl(response);
callback.onItemImageSuccess(imageUrl);
} catch (JSONException e) {
callback.onItemImageError(new ItemImageException(UpApplication.getInstance().getString(R.string.error_connection)));
}
}
}, new Response.ErrorListener() {
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
callback.onItemImageError(new ItemImageException(UpApplication.getInstance().getString(R.string.error_connection)));
}
}
) {
@Override
public void onErrorResponse(VolleyError error) {
callback.onItemImageError(new ItemImageException(UpApplication.getInstance().getString(R.string.error_connection)));
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
params.put("Accept", "application/json");

return params;
}
});
};

VolleySingleton.getInstance().addToRequestQueue(stringRequest);

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
package io.jari.materialup.factories;

import android.content.Context;
import android.content.res.Resources;

import com.github.florent37.materialviewpager.header.HeaderDesign;

import io.jari.materialup.R;
import io.jari.materialup.enums.PageTypes;
import io.jari.materialup.ui.fragments.CategoryFragment;

/**
* Created by rsicarelli on 7/15/15.
*/
public class CategoryFactory {

public static CategoryFragment getFragForPosition(int position, Context context) {
Resources res = context.getResources();
switch (position) {
case PageTypes.TYPE_ALL:
return CategoryFragment.newInstance(context.getString(R.string.all));
case PageTypes.TYPE_CONCEPTS:
return CategoryFragment.newInstance(context.getString(R.string.concepts));
case PageTypes.TYPE_LIVE:
return CategoryFragment.newInstance(context.getString(R.string.live));
case PageTypes.TYPE_RESOURCES:
return CategoryFragment.newInstance(context.getString(R.string.resources));
case PageTypes.TYPE_FREEBIES:
return CategoryFragment.newInstance(context.getString(R.string.freebies));
}
return null;
}

public static String getTitleForPosition(int position) {
switch (position) {
case PageTypes.TYPE_ALL:
return "All";
case PageTypes.TYPE_CONCEPTS:
return "Concepts";
case PageTypes.TYPE_LIVE:
return "Live";
case PageTypes.TYPE_RESOURCES:
return "Resources";
case PageTypes.TYPE_FREEBIES:
return "Freebies";
}
return "";
}

public static HeaderDesign getHeaderDesign(int position) {
switch (position) {

case PageTypes.TYPE_ALL:
return HeaderDesign.fromColorResAndDrawable(
R.color.primary,
null);
case PageTypes.TYPE_CONCEPTS:
return HeaderDesign.fromColorResAndDrawable(
R.color.red_600,
null);
case PageTypes.TYPE_LIVE:
return HeaderDesign.fromColorResAndDrawable(
R.color.teal_600,
null);
case PageTypes.TYPE_RESOURCES:
return HeaderDesign.fromColorResAndDrawable(
R.color.yellow_600,
null);
case PageTypes.TYPE_FREEBIES:
return HeaderDesign.fromColorResAndDrawable(
R.color.orange_600,
null);
}

return null;
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
package io.jari.materialup.ui.activities;

import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.view.ViewGroup;

import com.bumptech.glide.Glide;
import com.bumptech.glide.request.animation.GlideAnimation;
import com.bumptech.glide.request.target.SimpleTarget;
import com.github.florent37.materialviewpager.MaterialViewPager;
import com.github.florent37.materialviewpager.header.HeaderDesign;

import butterknife.Bind;
import butterknife.ButterKnife;
import io.jari.materialup.R;
import io.jari.materialup.factories.ListingFactory;
import io.jari.materialup.ui.fragments.ListingFragment;
import io.jari.materialup.factories.CategoryFactory;

/**
* Created by jari on 07/06/15.
Expand All @@ -32,41 +36,27 @@ protected void onCreate(Bundle savedInstanceState) {
setMenuIcon();

materialViewPager.getViewPager().setAdapter(new FragmentStatePagerAdapter(getSupportFragmentManager()) {
int oldPosition = -1;

@Override
public int getCount() {
return 5;
}

@Override
public void setPrimaryItem(ViewGroup container, int position, Object object) {
super.setPrimaryItem(container, position, object);

if (position == oldPosition) {
return;
}
oldPosition = position;

ListingFragment listingFragment = (ListingFragment) object;
listingFragment.setActive(materialViewPager);

for (int i = 0; i < (getCount() - 1); i++) {
ListingFragment fragment = (ListingFragment) getItem(i);
if (fragment != null && !fragment.equals(listingFragment)) {
fragment.setInactive(materialViewPager);
}
}
public Fragment getItem(int position) {
return CategoryFactory.getFragForPosition(position, MainActivity.this);
}

@Override
public Fragment getItem(int position) {
return ListingFactory.getFragForPosition(position, MainActivity.this);
public CharSequence getPageTitle(int position) {
return CategoryFactory.getTitleForPosition(position);
}
});

materialViewPager.setMaterialViewPagerListener(new MaterialViewPager.Listener() {
@Override
public CharSequence getPageTitle(int position) {
return ListingFactory.getTitleForPosition(position);
public HeaderDesign getHeaderDesign(int position) {
return CategoryFactory.getHeaderDesign(position);
}
});

Expand All @@ -75,4 +65,16 @@ public CharSequence getPageTitle(int position) {

}

public void updatePagerDrawable(String imageUrl) {
Glide.with(this)
.load(imageUrl)
.asBitmap()
.into(new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(Bitmap bitmap, GlideAnimation glideAnimation) {
materialViewPager.setImageDrawable(new BitmapDrawable(getResources(), bitmap), 400);
}
});
}

}
Loading

0 comments on commit 8aa7b95

Please sign in to comment.