/******************************************************************************* * Copyright 2013 PAR Works, Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ package com.parworks.mars.view.trending; import android.annotation.SuppressLint; import android.content.Intent; import android.graphics.Bitmap; import android.os.Bundle; import android.support.v4.app.Fragment; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.RelativeLayout; import com.parworks.arviewer.MiniARViewer; import com.parworks.mars.R; import com.parworks.mars.cache.BitmapCache; import com.parworks.mars.cache.BitmapWorkerTask; import com.parworks.mars.cache.BitmapWorkerTask.BitmapWorkerListener; import com.parworks.mars.utils.ImageHelper; import com.parworks.mars.view.siteexplorer.ExploreActivity; import com.parworks.mars.view.siteexplorer.ViewDimensionCalculator; @SuppressLint("ValidFragment") public class TrendingSiteFragment extends Fragment implements OnClickListener { private String siteId; private String displayName; private int numAugmentedImages; private String posterImageUrl; private String posterImageContent; private int posterOriWidth; private int posterOriHeight; public TrendingSiteFragment() { super(); } public TrendingSiteFragment(String siteId, String displayName, int numAugmentedImages, String posterUrl, String posterImageContent, int width, int height) { this.siteId = siteId; this.displayName = displayName; if (displayName == null || TextUtils.isEmpty(displayName)) { this.displayName = siteId; } this.numAugmentedImages = numAugmentedImages; this.posterImageUrl = posterUrl; this.posterImageContent = posterImageContent; this.posterOriWidth = width; this.posterOriHeight = height; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { ViewDimensionCalculator caculator = new ViewDimensionCalculator(this.getActivity()); RelativeLayout v = (RelativeLayout) inflater.inflate(R.layout.fragment_trending_site, null); // handle poster image final MiniARViewer miniARViewer = (MiniARViewer) v.findViewById(R.id.trendingSitePosterImageViewer); int imageWidth = (int) (caculator.getScreenWidth() * 0.8); miniARViewer.setSize(imageWidth, imageWidth); if (posterImageUrl != null) { Bitmap posterImageBitmap = BitmapCache.get().getBitmap( BitmapCache.getImageKeyFromURL(posterImageUrl)); if (posterImageBitmap == null) { new BitmapWorkerTask(posterImageUrl, new BitmapWorkerListener() { @Override public void bitmapLoaded(Bitmap bitmap) { miniARViewer.setImageBitmap(ImageHelper.getRoundedCornerBitmap(bitmap, 10)); miniARViewer.setOriginalSize(posterOriWidth, posterOriHeight); miniARViewer.setAugmentedData(posterImageContent); } }).execute(); } else { miniARViewer.setImageBitmap(ImageHelper.getRoundedCornerBitmap(posterImageBitmap, 10)); miniARViewer.setOriginalSize(posterOriWidth, posterOriHeight); miniARViewer.setAugmentedData(posterImageContent); } } // setup ShingleBoard ShingleBoard sb = (ShingleBoard) v.findViewById(R.id.shingleBoard); int boardWidth = (int) (caculator.getScreenWidth() * 0.7); sb.getLayoutParams().width = boardWidth; sb.updateText(displayName, numAugmentedImages); // add click action miniARViewer.setOnClickListener(this); sb.setOnClickListener(this); return v; } @Override public void onClick(View v) { Intent i = new Intent(this.getActivity(), ExploreActivity.class); i.putExtra(ExploreActivity.SITE_ID_ARGUMENT_KEY, siteId); startActivity(i); } }