Android Open Source - friendica-for-android Photo Gallery Adapter






From Project

Back to project page friendica-for-android.

License

The source code is released under:

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

If you think the Android project friendica-for-android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package de.wikilab.android.friendica01.adapter;
// w  w  w.j  ava 2  s . co m
import java.io.File;

import de.wikilab.android.friendica01.R;
import de.wikilab.android.friendica01.TwAjax;
import de.wikilab.android.friendica01.R.id;

import android.content.Context;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class PhotoGalleryAdapter extends BaseAdapter {
  private static final String TAG="Friendica/PhotoGalleryAdapter";
  
    private Context mContext;
    private Pic[] mPics ;
    private int viewId;
    
    public OnClickListener clickListener;
    
    public static class Pic {
      public String url,cache,caption,data1; public Object data2;
      public Pic(String purl, String pcache, String pcaption, String pdata1, Object pdata2) { url=purl; cache=pcache; caption=pcaption; data1=pdata1; data2=pdata2; }
    }
    
    public PhotoGalleryAdapter(Context c, int pviewId, Pic[] pics) {
        mContext = c; mPics = pics; viewId = pviewId;
    }

    public int getCount() {
        return mPics.length;
    }

    public Object getItem(int position) {
        return null;
    }

    public long getItemId(int position) {
        return 0;
    }

    // create a new ImageView for each item referenced by the Adapter
    public View getView(int position, View convertView, ViewGroup parent) {
        final ImageView imageView;
        if (convertView == null) {  // if it's not recycled, initialize some attributes
          LayoutInflater inf = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
          convertView = inf.inflate(viewId, null);
          if (clickListener != null) {
            final View ccv = convertView;//.findViewById(R.id.profile_image);
            ccv.setOnClickListener(new OnClickListener() {
          @Override public void onClick(View v) {
            clickListener.onClick(ccv);
          }
        });
          }
          //imageView = new ImageView(mContext);
            //imageView.setLayoutParams(new GridView.LayoutParams(145, 145));
            //imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
            //imageView.setPadding(8, 8, 8, 8);
        }
        imageView = (ImageView) convertView.findViewById(R.id.profile_image);
        
        ((TextView) convertView.findViewById(R.id.caption)).setText(mPics[position].caption);
        convertView.setTag(mPics[position]);
        
/*
    Drawable toRecycle= imageView.getDrawable();
    if (toRecycle != null) {
        ((BitmapDrawable)imageView.getDrawable()).getBitmap().recycle();
    }
  */  
        
    //NEW: download cached
    final File cachefile = new File(mPics[position].cache);
    if (cachefile.isFile()) {
      imageView.setImageURI(Uri.parse("file://" + cachefile.getAbsolutePath()));
    } else {
          final TwAjax t = new TwAjax(mContext, true, false);
          
      imageView.setImageBitmap(null);
      t.urlDownloadToFile(mPics[position].url, cachefile.getAbsolutePath(), new Runnable() {
        @Override
        public void run() {
          imageView.setImageURI(Uri.parse("file://" + cachefile.getAbsolutePath()));
        }
      });
    }
    
        return convertView;
    }

}




Java Source Code List

com.handmark.pulltorefresh.library.PullToRefreshAdapterViewBase.java
com.handmark.pulltorefresh.library.PullToRefreshBase.java
com.handmark.pulltorefresh.library.PullToRefreshExpandableListView.java
com.handmark.pulltorefresh.library.PullToRefreshGridView.java
com.handmark.pulltorefresh.library.PullToRefreshListView.java
com.handmark.pulltorefresh.library.PullToRefreshWebView.java
com.handmark.pulltorefresh.library.internal.EmptyViewMethodAccessor.java
com.handmark.pulltorefresh.library.internal.IndicatorLayout.java
com.handmark.pulltorefresh.library.internal.LoadingLayout.java
de.wikilab.android.friendica01.FileUploadService.java
de.wikilab.android.friendica01.FragmentParentListener.java
de.wikilab.android.friendica01.GCMIntentService.java
de.wikilab.android.friendica01.HtmlImageHelper.java
de.wikilab.android.friendica01.LoginListener.java
de.wikilab.android.friendica01.Max.java
de.wikilab.android.friendica01.NotificationCheckerService.java
de.wikilab.android.friendica01.Notification.java
de.wikilab.android.friendica01.TwAjax.java
de.wikilab.android.friendica01.ViewServer.java
de.wikilab.android.friendica01.activity.FriendicaImgUploadActivity.java
de.wikilab.android.friendica01.activity.GenericContentActivity.java
de.wikilab.android.friendica01.activity.HomeActivity.java
de.wikilab.android.friendica01.activity.MainScreenActivity.java
de.wikilab.android.friendica01.activity.MessageDetailActivity.java
de.wikilab.android.friendica01.activity.MessagesActivity.java
de.wikilab.android.friendica01.activity.PreferenceContainerActivity.java
de.wikilab.android.friendica01.activity.PreferencesActivity.java
de.wikilab.android.friendica01.activity.UserProfileActivity.java
de.wikilab.android.friendica01.activity.WritePostActivity.java
de.wikilab.android.friendica01.adapter.HtmlStringArrayAdapter.java
de.wikilab.android.friendica01.adapter.MessageContentAdapter.java
de.wikilab.android.friendica01.adapter.MessageListAdapter.java
de.wikilab.android.friendica01.adapter.PhotoGalleryAdapter.java
de.wikilab.android.friendica01.adapter.PostListAdapter.java
de.wikilab.android.friendica01.fragment.ContentFragment.java
de.wikilab.android.friendica01.fragment.FriendListFragment.java
de.wikilab.android.friendica01.fragment.MainMenuFragment.java
de.wikilab.android.friendica01.fragment.MessageViewFragment.java
de.wikilab.android.friendica01.fragment.MessageWriteFragment.java
de.wikilab.android.friendica01.fragment.PhotoGalleryFragment.java
de.wikilab.android.friendica01.fragment.PostDetailFragment.java
de.wikilab.android.friendica01.fragment.PostListFragment.java
de.wikilab.android.friendica01.fragment.WelcomeFragment.java
de.wikilab.android.friendica01.fragment.WritePostFragment.java