Android Open Source - playnomics-android Render Task Factory From Project Back to project page playnomics-android .
License The source code is released under:
Apache License
If you think the Android project playnomics-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 com.playnomics.android.messaging.ui;
/ * w w w . j a v a 2 s . c o m * /
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.widget.ImageView;
import com.playnomics.android.messaging.HtmlAd;
import com.playnomics.android.messaging.NativeCloseButton;
import com.playnomics.android.messaging.Placement;
import com.playnomics.android.messaging.Placement.IPlacementStateObserver;
import com.playnomics.android.messaging.ui.PlayViewFactory.IImageViewHandler;
import com.playnomics.android.messaging.ui.PlayWebView.IPlayWebViewHandler;
import com.playnomics.android.util.Logger;
import com.playnomics.android.util.Logger.LogLevel;
public class RenderTaskFactory {
private IPlayViewFactory viewFactory;
private Logger logger;
public RenderTaskFactory(IPlayViewFactory viewFactory, Logger logger) {
this.viewFactory = viewFactory;
this.logger = logger;
}
public Runnable createLayoutPlacementTask(final Placement placement,
final HtmlAd htmlAd, final Activity activity,
final IPlayWebViewHandler handler,
final IImageViewHandler imageViewHandler,
final IPlacementStateObserver observer) {
return new Runnable() {
public void run() {
try {
PlayWebView webView = viewFactory.createPlayWebView(
activity, htmlAd.getHtmlContent(),
handler, logger);
PlayDialog dialog;
if (htmlAd.getCloseButton() instanceof NativeCloseButton) {
NativeCloseButton closeButton = (NativeCloseButton) htmlAd
.getCloseButton();
ImageView closeButtonView = viewFactory
.createImageView(activity, imageViewHandler);
byte [] imageData = closeButton.getImageData();
Bitmap bitmap = BitmapFactory.decodeByteArray(
imageData, 0, imageData.length);
closeButtonView.setImageBitmap(bitmap);
dialog = viewFactory.createPlayDialog(activity,
webView, observer, closeButtonView, placement);
} else {
dialog = viewFactory.createPlayDialog(activity,
webView, observer, placement);
}
placement.setDialog(dialog);
} catch (Exception ex) {
logger.log(LogLevel.WARNING,
"The placement %s cannot be rendered" ,
placement.getPlacementName());
logger.log(LogLevel.WARNING, ex);
}
}
};
}
public Runnable createShowPlacementTask(final PlayDialog dialog){
return new Runnable() {
public void run() {
dialog.show();
}
};
}
public Runnable createHidePlacementTask(final PlayDialog dialog) {
return new Runnable() {
public void run() {
dialog.dismiss();
}
};
}
}
Java Source Code List com.playnomics.PlaynomicsMoreTestActivity.java com.playnomics.PlaynomicsTestAppActivity.java com.playnomics.RichDataFrameDelegate.java com.playnomics.android.client.AssetClient.java com.playnomics.android.client.EventQueue.java com.playnomics.android.client.EventWorker.java com.playnomics.android.client.HttpConnectionFactory.java com.playnomics.android.client.IEventQueue.java com.playnomics.android.client.IEventWorker.java com.playnomics.android.client.IHttpConnectionFactory.java com.playnomics.android.client.PlacementDataClient.java com.playnomics.android.client.SegmentationClient.java com.playnomics.android.events.AppPageEvent.java com.playnomics.android.events.AppPauseEvent.java com.playnomics.android.events.AppResumeEvent.java com.playnomics.android.events.AppRunningEvent.java com.playnomics.android.events.AppStartEvent.java com.playnomics.android.events.CustomEvent.java com.playnomics.android.events.ExplicitEvent.java com.playnomics.android.events.ImplicitEvent.java com.playnomics.android.events.PlaynomicsEvent.java com.playnomics.android.events.TransactionEvent.java com.playnomics.android.events.UserInfoEvent.java com.playnomics.android.messaging.CloseButton.java com.playnomics.android.messaging.HtmlAdFactory.java com.playnomics.android.messaging.HtmlAd.java com.playnomics.android.messaging.HtmlCloseButton.java com.playnomics.android.messaging.MessagingManager.java com.playnomics.android.messaging.NativeCloseButton.java com.playnomics.android.messaging.Placement.java com.playnomics.android.messaging.Position.java com.playnomics.android.messaging.Target.java com.playnomics.android.messaging.ui.IPlayViewFactory.java com.playnomics.android.messaging.ui.PlayDialog.java com.playnomics.android.messaging.ui.PlayViewFactory.java com.playnomics.android.messaging.ui.PlayWebView.java com.playnomics.android.messaging.ui.RenderTaskFactory.java com.playnomics.android.push.GcmBroadcastReceiver.java com.playnomics.android.push.GcmIntentService.java com.playnomics.android.push.GcmManager.java com.playnomics.android.sdk.IGoogleCloudMessageConfig.java com.playnomics.android.sdk.IPlacementDelegate.java com.playnomics.android.sdk.IPlaynomicsPlacementDelegate.java com.playnomics.android.sdk.IPlaynomicsPlacementRawDelegate.java com.playnomics.android.sdk.IPlaynomicsSegmentationDelegate.java com.playnomics.android.sdk.IPushConfig.java com.playnomics.android.sdk.IPushNotificationDelegate.java com.playnomics.android.sdk.Playnomics.java com.playnomics.android.segments.UserSegmentIds.java com.playnomics.android.session.ActivityObserver.java com.playnomics.android.session.GameSessionInfo.java com.playnomics.android.session.HeartBeatHandler.java com.playnomics.android.session.HeartBeatProducer.java com.playnomics.android.session.IActivityObserver.java com.playnomics.android.session.ICallbackProcessor.java com.playnomics.android.session.IHeartBeatProducer.java com.playnomics.android.session.SessionStateMachine.java com.playnomics.android.session.Session.java com.playnomics.android.session.TouchEventHandler.java com.playnomics.android.session.WindowCallbackProxy.java com.playnomics.android.util.AndroidLogger.java com.playnomics.android.util.AsyncTaskRunner.java com.playnomics.android.util.CacheFile.java com.playnomics.android.util.Config.java com.playnomics.android.util.ContextWrapper.java com.playnomics.android.util.EventTime.java com.playnomics.android.util.IAsyncCall.java com.playnomics.android.util.IConfig.java com.playnomics.android.util.IRandomGenerator.java com.playnomics.android.util.LargeGeneratedId.java com.playnomics.android.util.LogWriter.java com.playnomics.android.util.Logger.java com.playnomics.android.util.Util.java