Last active
August 29, 2015 14:10
-
-
Save cbedoy/0b96946300211f9ffa6e to your computer and use it in GitHub Desktop.
ApplicationLoaderWithImageLoaderConfiguration
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import android.content.Context; | |
import android.graphics.Bitmap; | |
import android.view.LayoutInflater; | |
import android.view.View; | |
import android.view.ViewGroup; | |
import android.widget.BaseAdapter; | |
import android.widget.ImageView; | |
import android.widget.TextView; | |
import com.cbedoy.apprende.R; | |
import com.cbedoy.apprende.activity.ApplicationLoader; | |
import com.cbedoy.apprende.service.BlurService; | |
import com.cbedoy.apprende.service.ImageService; | |
import com.cbedoy.apprende.service.InjectionManager; | |
import com.nostra13.universalimageloader.core.ImageLoader; | |
import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener; | |
import java.util.HashMap; | |
import java.util.List; | |
/** | |
* Created by Carlos on 19/10/2014. | |
*/ | |
public class CustomViewCell extends BaseAdapter | |
{ | |
private List<Object> viewModel; | |
private Context context; | |
private LayoutInflater layoutInflater; | |
public CustomViewCell(Context context, LayoutInflater layoutInflater, List<Object> viewModel) | |
{ | |
this.layoutInflater = layoutInflater; | |
this.context = context; | |
this.viewModel = viewModel; | |
} | |
@Override | |
public int getCount() { | |
return viewModel.size(); | |
} | |
@Override | |
public Object getItem(int i) { | |
return viewModel.get(i); | |
} | |
@Override | |
public long getItemId(int i) { | |
return 0; | |
} | |
@Override | |
public View getView(int position, View convertView, ViewGroup viewGroup) { | |
final ViewHolder viewHolder; | |
if(convertView == null) | |
{ | |
convertView = layoutInflater.inflate(R.layout.app_category_cell, null); | |
viewHolder = new ViewHolder(); | |
viewHolder.imageCell = (ImageView) convertView.findViewById(R.id.app_category_cell_image); | |
viewHolder.textCell = (TextView) convertView.findViewById(R.id.app_category_cell_name); | |
convertView.setTag(viewHolder); | |
} | |
else | |
{ | |
viewHolder = (ViewHolder) convertView.getTag(); | |
} | |
HashMap<String, Object> currentModel = (HashMap<String, Object>) viewModel.get(position); | |
String string = InjectionManager.MEDIA_URL + ((HashMap) (currentModel.get("fields"))).get("thumbnail").toString(); | |
ImageLoader.getInstance().displayImage( | |
string, | |
viewHolder.imageCell, | |
ApplicationLoader.options, | |
new SimpleImageLoadingListener() { | |
@Override | |
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { | |
super.onLoadingComplete(imageUri, view, loadedImage); | |
//Bitmap bitmap = BlurService.getInstance().performRequestBlurByImage(loadedImage); | |
//viewHolder.imageCell.setImageBitmap(bitmap); | |
} | |
}); | |
viewHolder.textCell.setText(((HashMap) currentModel.get("fields")).get("name").toString()); | |
viewHolder.textCell.setTypeface(ImageService.boldFont); | |
return convertView; | |
} | |
class ViewHolder{ | |
ImageView imageCell; | |
TextView textCell; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.cbedoy.apprende.activity; | |
import android.app.Application; | |
import android.content.Context; | |
import android.content.pm.PackageInfo; | |
import android.content.pm.PackageManager; | |
import android.graphics.Bitmap; | |
import android.os.Handler; | |
import com.cbedoy.apprende.R; | |
import com.cbedoy.apprende.service.TypefaceService; | |
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator; | |
import com.nostra13.universalimageloader.core.DisplayImageOptions; | |
import com.nostra13.universalimageloader.core.ImageLoader; | |
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; | |
import com.nostra13.universalimageloader.core.assist.QueueProcessingType; | |
/** | |
* Created by Carlos on 18/10/2014. | |
*/ | |
public class ApplicationLoader extends Application | |
{ | |
public static volatile Context mainContext = null; | |
public static volatile Handler mainHandler = null; | |
public static volatile DisplayImageOptions options; | |
public static volatile ImageLoaderConfiguration config; | |
@Override | |
public void onCreate() { | |
super.onCreate(); | |
mainContext = getApplicationContext(); | |
mainHandler = new Handler(mainContext.getMainLooper()); | |
TypefaceService.overrideFont(getApplicationContext(), "SERIF", "fonts/Roboto-Light.ttf"); | |
options = new DisplayImageOptions.Builder() | |
.showImageOnLoading(R.drawable.ic_launcher) | |
.showImageForEmptyUri(R.drawable.ic_launcher) | |
.showImageOnFail(R.drawable.ic_launcher) | |
.cacheInMemory(true) | |
.cacheOnDisk(true) | |
.considerExifParams(true) | |
.bitmapConfig(Bitmap.Config.RGB_565) | |
.build(); | |
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext()) | |
.threadPriority(Thread.NORM_PRIORITY - 2) | |
.denyCacheImageMultipleSizesInMemory() | |
.diskCacheFileNameGenerator(new Md5FileNameGenerator()) | |
.diskCacheSize(5 * 1024 * 1024) // 50 Mb | |
.tasksProcessingOrder(QueueProcessingType.LIFO) | |
.writeDebugLogs() // Remove for release app | |
.build(); | |
// Initialize ImageLoader with configuration. | |
ImageLoader.getInstance().init(config); | |
} | |
public static int getAppVersion() { | |
try { | |
PackageInfo packageInfo = mainContext.getPackageManager().getPackageInfo(mainContext.getPackageName(), 0); | |
return packageInfo.versionCode; | |
} catch (PackageManager.NameNotFoundException e) { | |
throw new RuntimeException("Could not get package name: " + e); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment