Android Open Source - Aviary-Android-SDK I A P Buy Button From Project Back to project page Aviary-Android-SDK .
License The source code is released under:
AVIARY API TERMS OF USE
Full Legal Agreement
The following terms and conditions and the terms and conditions at http://www.aviary.com/terms (collectively, the ?Terms??)
govern your use of any and ...
If you think the Android project Aviary-Android-SDK 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 com.aviary.android.feather.widget;
/ / f r o m w w w . j a v a 2 s . c o m
import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.util.Pair;
import android.view.View;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.aviary.android.feather.R;
import com.aviary.android.feather.cds.CdsUtils;
import com.aviary.android.feather.cds.CdsUtils.PackOption;
import com.aviary.android.feather.widget.IAPDialogMain.PackOptionWithPrice;
public class IAPBuyButton extends RelativeLayout {
TextView mTextView;
View mProgress;
PackOptionWithPrice mOption;
long mPackId;
public IAPBuyButton ( Context context, AttributeSet attrs ) {
super ( context, attrs );
}
@Override
protected void onFinishInflate() {
super.onFinishInflate();
mTextView = (TextView) findViewById( R.id.aviary_buy_button_text );
mProgress = findViewById( R.id.aviary_buy_button_loader );
}
public PackOptionWithPrice getPackOption() {
return mOption;
}
@Override
protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
getHandler().removeCallbacks( checkDownloadStatus );
};
Runnable checkDownloadStatus = new Runnable() {
@Override
public void run() {
Log.d( VIEW_LOG_TAG, "checkDownloadStatus for " + mPackId );
if ( mPackId > -1 && null != getContext() && null != mOption ) {
Pair<PackOption, String> result = CdsUtils.getPackOptionDownloadStatus( getContext(), mPackId );
if ( null != result ) {
if ( null != getContext() ) {
setPackOption( new PackOptionWithPrice( result.first ), mPackId );
}
}
}
}
};
public void setPackOption( PackOptionWithPrice option, long packId ) {
if ( null != option && option.equals( mOption ) ) {
// no need to update
return ;
}
mOption = option;
mPackId = packId;
// if( LoggerFactory.LOG_ENABLED ) {
// Log.i( VIEW_LOG_TAG, "setPackOption(" + packId + "): " + option );
// }
if ( null != getHandler() )
getHandler().removeCallbacks( checkDownloadStatus );
if ( null == option ) {
return ;
}
setEnabled( true );
switch ( option.option ) {
case RESTORE:
mTextView.setText( R.string.feather_iap_restore );
mProgress.setVisibility( View.INVISIBLE );
mTextView.setVisibility( View.VISIBLE );
break ;
case PURCHASE:
mProgress.setVisibility( View.INVISIBLE );
mTextView.setVisibility( View.VISIBLE );
if ( null != option.price ) {
mTextView.setText( option.price );
} else {
mTextView.setText( R.string.feather_iap_unavailable );
}
break ;
case OWNED:
mProgress.setVisibility( View.INVISIBLE );
mTextView.setVisibility( View.VISIBLE );
mTextView.setText( R.string.feather_iap_owned );
setEnabled( false );
break ;
case ERROR:
mProgress.setVisibility( View.INVISIBLE );
mTextView.setVisibility( View.VISIBLE );
mTextView.setText( R.string.feather_iap_retry );
break ;
case FREE:
mProgress.setVisibility( View.INVISIBLE );
mTextView.setVisibility( View.VISIBLE );
mTextView.setText( R.string.feather_iap_download );
break ;
case DOWNLOAD_COMPLETE:
mProgress.setVisibility( View.INVISIBLE );
mTextView.setVisibility( View.VISIBLE );
mTextView.setText( R.string.feather_iap_installing );
setEnabled( false );
break ;
case DOWNLOADING:
mProgress.setVisibility( View.VISIBLE );
mTextView.setVisibility( View.INVISIBLE );
setEnabled( false );
if ( null != getHandler() )
getHandler().postDelayed( checkDownloadStatus, (long ) ( ( Math.random() * 100 ) + 900 ) );
break ;
case PACK_OPTION_BEING_DETERMINED:
mProgress.setVisibility( View.VISIBLE );
mTextView.setVisibility( View.INVISIBLE );
setEnabled( false );
break ;
case DOWNLOAD_ERROR:
mProgress.setVisibility( View.INVISIBLE );
mTextView.setVisibility( View.VISIBLE );
mTextView.setText( R.string.feather_iap_retry );
break ;
}
}
}
Java Source Code List com.aviary.android.feather.AlertActivity.java com.aviary.android.feather.AviaryMainController.java com.aviary.android.feather.FeatherActivity.java com.aviary.android.feather.async_tasks.AsyncImageManager.java com.aviary.android.feather.async_tasks.DownloadImageAsyncTask.java com.aviary.android.feather.async_tasks.ExifTask.java com.aviary.android.feather.effects.AbstractContentPanel.java com.aviary.android.feather.effects.AbstractOptionPanel.java com.aviary.android.feather.effects.AbstractPanelLoaderService.java com.aviary.android.feather.effects.AbstractPanel.java com.aviary.android.feather.effects.AdjustEffectPanel.java com.aviary.android.feather.effects.BordersPanel.java com.aviary.android.feather.effects.ColorSplashPanel.java com.aviary.android.feather.effects.CropPanel.java com.aviary.android.feather.effects.DelayedSpotDrawPanel.java com.aviary.android.feather.effects.DrawingPanel.java com.aviary.android.feather.effects.EffectsPanel.java com.aviary.android.feather.effects.EnhanceEffectPanel.java com.aviary.android.feather.effects.MemePanel.java com.aviary.android.feather.effects.NativeEffectRangePanel.java com.aviary.android.feather.effects.SimpleStatusMachine.java com.aviary.android.feather.effects.SliderEffectPanel.java com.aviary.android.feather.effects.StickersPanel.java com.aviary.android.feather.effects.TextPanel.java com.aviary.android.feather.effects.TiltShiftPanel.java com.aviary.android.feather.graphics.CdsPreviewTransformer.java com.aviary.android.feather.graphics.GalleryBottomIndicatorDrawable.java com.aviary.android.feather.graphics.GalleryTopIndicatorDrawable.java com.aviary.android.feather.graphics.GlowBitmapDrawable.java com.aviary.android.feather.graphics.GlowDrawable.java com.aviary.android.feather.graphics.PluginDividerDrawable.java com.aviary.android.feather.graphics.PreviewFillColorDrawable.java com.aviary.android.feather.graphics.PreviewSpotDrawable.java com.aviary.android.feather.graphics.RepeatableHorizontalDrawable.java com.aviary.android.feather.opengl.AviaryGLSurfaceView.java com.aviary.android.feather.utils.PackIconCallable.java com.aviary.android.feather.utils.SimpleBitmapCache.java com.aviary.android.feather.utils.ThreadUtils.java com.aviary.android.feather.utils.TypefaceUtils.java com.aviary.android.feather.utils.UIUtils.java com.aviary.android.feather.widget.AdjustImageView.java com.aviary.android.feather.widget.AviaryAbsSpinner.java com.aviary.android.feather.widget.AviaryAdapterView.java com.aviary.android.feather.widget.AviaryBadgeToolLayout.java com.aviary.android.feather.widget.AviaryBottomBarViewFlipper.java com.aviary.android.feather.widget.AviaryButton.java com.aviary.android.feather.widget.AviaryEdgeEffect.java com.aviary.android.feather.widget.AviaryGalleryTopIndicatorView.java com.aviary.android.feather.widget.AviaryGallery.java com.aviary.android.feather.widget.AviaryHighlightImageButton.java com.aviary.android.feather.widget.AviaryImageRestoreSwitcher.java com.aviary.android.feather.widget.AviaryImageSwitcher.java com.aviary.android.feather.widget.AviaryNavBarViewFlipper.java com.aviary.android.feather.widget.AviarySeekBar.java com.aviary.android.feather.widget.AviaryTextView.java com.aviary.android.feather.widget.AviaryToast.java com.aviary.android.feather.widget.AviaryToggleButton.java com.aviary.android.feather.widget.AviaryWheel.java com.aviary.android.feather.widget.AviaryWorkspaceIndicator.java com.aviary.android.feather.widget.AviaryWorkspace.java com.aviary.android.feather.widget.CellLayout.java com.aviary.android.feather.widget.CropImageView.java com.aviary.android.feather.widget.DrawableHighlightView.java com.aviary.android.feather.widget.EffectThumbLayout.java com.aviary.android.feather.widget.HighlightView.java com.aviary.android.feather.widget.IAPBuyButton.java com.aviary.android.feather.widget.IAPDialogDetail.java com.aviary.android.feather.widget.IAPDialogList.java com.aviary.android.feather.widget.IAPDialogMain.java com.aviary.android.feather.widget.ImageViewDrawableOverlay.java com.aviary.android.feather.widget.ImageViewSpotDraw.java com.aviary.android.feather.widget.ImageViewTiltiShiftTouch.java com.aviary.android.feather.widget.ImageViewTouchAndDraw.java com.aviary.android.feather.widget.PointCloud.java com.aviary.android.feather.widget.ScrollerRunnable.java com.aviary.android.feather.widget.VibrationHelper.java com.aviary.android.feather.widget.VibrationWidget.java