Android Open Source - sdk-android-2 Vendor Compat






From Project

Back to project page sdk-android-2.

License

The source code is released under:

Apache License

If you think the Android project sdk-android-2 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

/**
 * Copyright 2013 Medium Entertainment, Inc.
 */*from w  ww  .j a va 2 s .co m*/
 * 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.playhaven.android.compat;

import android.content.Context;
import android.content.res.TypedArray;
import android.util.AttributeSet;
import com.playhaven.android.PlayHaven;
import com.playhaven.android.R;

public class VendorCompat
{
    public enum LAYOUT
    {
        playhaven_activity,
        playhaven_overlay,
        playhaven_loadinganim,
        playhaven_exit,
        playhaven_dialog,
    }

    public enum DRAWABLE
    {
        playhaven_badge,
    }

    public enum ATTR
    {
        com_playhaven_android_view_PlayHavenView_placementTag,
        com_playhaven_android_view_PlayHavenView_cuDisplayOptions,
        com_playhaven_android_view_Badge_placementTag,
        com_playhaven_android_view_Badge_badgeTextColor,
    }

    public enum STYLEABLE
    {
        com_playhaven_android_view_Badge,
        com_playhaven_android_view_PlayHavenView,
    }

    public enum ID
    {
        playhaven_dialog_view,
        com_playhaven_android_view_Overlay,
        com_playhaven_android_view_LoadingAnimation,
        com_playhaven_android_view_Exit,
        com_playhaven_android_view_Exit_button,
        playhaven_activity_view
    }

    public enum ResourceType {
        string,
        layout,
        id,
        styleable,
        drawable,
        attr
    }

    private String vendorId;

    public VendorCompat(Context context, String vendorId)
    {
        // We don't need the context, just ignore it
        this(vendorId);
    }

    public VendorCompat(String vendorId)
    {
        if(vendorId != null || vendorId.length() > 0)
        {
            /**
             * Per http://tools.ietf.org/html/rfc3986#section-2.3
             * unreserved  = ALPHA / DIGIT / "-" / "." / "_" / "~"
             */
            String replacePattern = "[^A-Za-z0-9\\-\\.\\_\\~]*";

            /**
             * Replace all invalid characters
             * This works because we are saying to replace all characters that don't match
             */
            this.vendorId = vendorId.replaceAll(replacePattern, "");

        }

        if(this.vendorId == null || this.vendorId.length() == 0)
        {
            PlayHaven.v("vendorId has no valid characters in it. Using default.");
            this.vendorId = getClass().getSimpleName();
        }

        // Trim to size
        this.vendorId = this.vendorId.substring(0, Math.min(this.vendorId.length(), 42));
    }

    public String getVendorId(){return vendorId;}

    public int getLayoutId(Context context, LAYOUT layout)
    {
        return getResourceId(context, ResourceType.layout, layout.name());
    }

    public int getDrawableId(Context context, DRAWABLE drawable)
    {
        return getResourceId(context, ResourceType.drawable, drawable.name());
    }

    public int getAttrId(Context context, ATTR attr)
    {
        switch(attr)
        {
            case com_playhaven_android_view_PlayHavenView_cuDisplayOptions:
                return R.styleable.com_playhaven_android_view_PlayHavenView_cuDisplayOptions;
            case com_playhaven_android_view_PlayHavenView_placementTag:
                return R.styleable.com_playhaven_android_view_PlayHavenView_placementTag;
            case com_playhaven_android_view_Badge_placementTag:
                return R.styleable.com_playhaven_android_view_Badge_placementTag;
            case com_playhaven_android_view_Badge_badgeTextColor:
                return R.styleable.com_playhaven_android_view_Badge_badgeTextColor;
            default:
                return getResourceId(context, ResourceType.attr, attr.name());
        }
    }

    public int getId(Context context, ID id)
    {
        /**
         * Unity needs to look up by string name
         * If not Unity, this will give us better performance
         */
        switch(id)
        {
            case com_playhaven_android_view_Exit:
                return R.id.com_playhaven_android_view_Exit;
            case com_playhaven_android_view_Exit_button:
                return R.id.com_playhaven_android_view_Exit_button;
            case com_playhaven_android_view_Overlay:
                return R.id.com_playhaven_android_view_Overlay;
            case com_playhaven_android_view_LoadingAnimation:
                return R.id.com_playhaven_android_view_LoadingAnimation;
            default:
                return getResourceId(context, ResourceType.id, id.name());
        }
    }

    /**
     * @param context
     * @param type the ResourceType wanted
     * @param name the name of the wanted resource
     * @return the resource id for a given resource
     */
    public int getResourceId(Context context, ResourceType type, String name)
    {
        return context.getResources().getIdentifier(name, type.name(), context.getPackageName());
    }

    public TypedArray obtainStyledAttributes(Context context, AttributeSet attrs, STYLEABLE styleable)
    {
        switch(styleable)
        {
            case com_playhaven_android_view_Badge:
                return context.obtainStyledAttributes(attrs, R.styleable.com_playhaven_android_view_Badge, 0, 0);
            case com_playhaven_android_view_PlayHavenView:
                return context.obtainStyledAttributes(attrs, R.styleable.com_playhaven_android_view_PlayHavenView, 0, 0);
            default:
                return null;
        }
    }
}




Java Source Code List

com.playhaven.android.DeviceId.java
com.playhaven.android.PlacementListener.java
com.playhaven.android.Placement.java
com.playhaven.android.PlayHavenException.java
com.playhaven.android.PlayHaven.java
com.playhaven.android.PushPlacement.java
com.playhaven.android.cache.BulkCacheDownloader.java
com.playhaven.android.cache.CacheCleaner.java
com.playhaven.android.cache.CacheDownloader.java
com.playhaven.android.cache.CacheResponseHandler.java
com.playhaven.android.cache.Cache.java
com.playhaven.android.cache.CachedInfo.java
com.playhaven.android.cache.package-info.java
com.playhaven.android.compat.UnityCompat.java
com.playhaven.android.compat.VendorCompat.java
com.playhaven.android.data.ContentUnitType.java
com.playhaven.android.data.CustomEvent.java
com.playhaven.android.data.DataCollectionField.java
com.playhaven.android.data.JsonUrlExtractor.java
com.playhaven.android.data.Purchase.java
com.playhaven.android.data.Reward.java
com.playhaven.android.data.package-info.java
com.playhaven.android.diagnostic.APIValidationIndicators.java
com.playhaven.android.diagnostic.DiagnosticApp.java
com.playhaven.android.diagnostic.DiagnosticPreferences.java
com.playhaven.android.diagnostic.InstrumentationReceiver.java
com.playhaven.android.diagnostic.Launcher.java
com.playhaven.android.diagnostic.OutputBox.java
com.playhaven.android.diagnostic.RequestTypeAdapter.java
com.playhaven.android.diagnostic.RequestType.java
com.playhaven.android.examples.ContentExample2.java
com.playhaven.android.examples.ContentExample.java
com.playhaven.android.examples.DialogExample.java
com.playhaven.android.examples.DisplayOptExample.java
com.playhaven.android.examples.EmbeddedExample.java
com.playhaven.android.examples.IAPTrackingExample.java
com.playhaven.android.examples.LoggingExample.java
com.playhaven.android.examples.MoreGamesExample.java
com.playhaven.android.examples.NoContent1Example.java
com.playhaven.android.examples.NoContent2Example.java
com.playhaven.android.examples.OnResumeExample.java
com.playhaven.android.examples.OpenExample.java
com.playhaven.android.examples.OptInExample.java
com.playhaven.android.examples.PreloadDialogExample.java
com.playhaven.android.examples.PreloadExample.java
com.playhaven.android.examples.PurchaseExample.java
com.playhaven.android.examples.RewardExample.java
com.playhaven.android.examples.WebviewFullscreenExample.java
com.playhaven.android.push.GCMBroadcastReceiver.java
com.playhaven.android.push.GCMRegistrationRequest.java
com.playhaven.android.push.NotificationBuilder.java
com.playhaven.android.push.PushReceiver.java
com.playhaven.android.req.ContentDispatchRequest.java
com.playhaven.android.req.ContentDispatchType.java
com.playhaven.android.req.ContentRequest.java
com.playhaven.android.req.ContentUnitRequest.java
com.playhaven.android.req.CustomEventRequest.java
com.playhaven.android.req.Identifier.java
com.playhaven.android.req.InstallRequest.java
com.playhaven.android.req.MetadataRequest.java
com.playhaven.android.req.NoContentException.java
com.playhaven.android.req.NoIdentifierException.java
com.playhaven.android.req.OpenRequest.java
com.playhaven.android.req.PlayHavenRequest.java
com.playhaven.android.req.PurchaseTrackingRequest.java
com.playhaven.android.req.PushTrackingRequest.java
com.playhaven.android.req.RequestListener.java
com.playhaven.android.req.ServerErrorHandler.java
com.playhaven.android.req.SignatureException.java
com.playhaven.android.req.SubcontentRequest.java
com.playhaven.android.req.UrlRequest.java
com.playhaven.android.req.UserAgent.java
com.playhaven.android.req.package-info.java
com.playhaven.android.util.DisplayUtil.java
com.playhaven.android.util.GoogleAdvertisementUtil.java
com.playhaven.android.util.GooglePlayServicesUtil.java
com.playhaven.android.util.JsonUtil.java
com.playhaven.android.util.KontagentUtil.java
com.playhaven.android.util.MemoryReporter.java
com.playhaven.android.util.TimeZoneFormatter.java
com.playhaven.android.util.package-info.java
com.playhaven.android.view.Badge.java
com.playhaven.android.view.ChildView.java
com.playhaven.android.view.DefaultPlayHavenListener.java
com.playhaven.android.view.FrameManager.java
com.playhaven.android.view.FullScreen.java
com.playhaven.android.view.HTMLView.java
com.playhaven.android.view.MoreGames.java
com.playhaven.android.view.NativeView.java
com.playhaven.android.view.PlayHavenListener.java
com.playhaven.android.view.PlayHavenView.java
com.playhaven.android.view.Windowed.java
com.playhaven.android.view.package-info.java
com.playhaven.android.package-info.java
javax.annotation.Generated.java
javax.annotation.package-info.java
${package}.__artifactId__Activity.java