Android Open Source - GlassTunes Context Wrapper Edge Effect






From Project

Back to project page GlassTunes.

License

The source code is released under:

Apache License

If you think the Android project GlassTunes 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 (c) 2013 Android Alliance, LTD
 *//  www  .j  av  a  2 s  . c o 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.glasstunes.screenslide;

import android.content.Context;
import android.content.ContextWrapper;
import android.content.res.AssetManager;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.ShapeDrawable;
import android.util.DisplayMetrics;
import android.util.Log;

public class ContextWrapperEdgeEffect extends ContextWrapper {

  private ResourcesEdgeEffect mResourcesEdgeEffect;

  public ContextWrapperEdgeEffect(Context context) {
    super(context);
    Resources resources = context.getResources();
    mResourcesEdgeEffect = new ResourcesEdgeEffect(resources.getAssets(),
        resources.getDisplayMetrics(), resources.getConfiguration());
  }

  @Override
  public Resources getResources() {
    return mResourcesEdgeEffect;
  }

  private class ResourcesEdgeEffect extends Resources {
    private int overscroll_edge = getPlatformDrawableId("overscroll_edge");
    private int overscroll_glow = getPlatformDrawableId("overscroll_glow");

    public ResourcesEdgeEffect(AssetManager assets, DisplayMetrics metrics,
        Configuration config) {
      // super(metrics, localConfiguration);
      super(assets, metrics, config);
    }

    private int getPlatformDrawableId(String name) {
      try {
        int i = ((Integer) Class
            .forName("com.android.internal.R$drawable")
            .getField(name).get(null)).intValue();
        return i;
      } catch (ClassNotFoundException e) {
        Log.e("[ContextWrapperEdgeEffect].getPlatformDrawableId()",
            "Cannot find internal resource class");
        return 0;
      } catch (NoSuchFieldException e1) {
        Log.e("[ContextWrapperEdgeEffect].getPlatformDrawableId()",
            "Internal resource id does not exist: " + name);
        return 0;
      } catch (IllegalArgumentException e2) {
        Log.e("[ContextWrapperEdgeEffect].getPlatformDrawableId()",
            "Cannot access internal resource id: " + name);
        return 0;
      } catch (IllegalAccessException e3) {
        Log.e("[ContextWrapperEdgeEffect].getPlatformDrawableId()",
            "Cannot access internal resource id: " + name);
      }
      return 0;
    }

    @Override
    public Drawable getDrawable(int resId)
        throws Resources.NotFoundException {
      if (resId == this.overscroll_edge || resId == this.overscroll_glow) {
        return new ShapeDrawable();
      } else {
        return super.getDrawable(resId);
      }

    }
  }
}




Java Source Code List

com.glasstunes.BaseContentCardActivity.java
com.glasstunes.BrowseActivity.java
com.glasstunes.ConfirmationActivity.java
com.glasstunes.ControlsActivity.java
com.glasstunes.Debug.java
com.glasstunes.DetailActivity.java
com.glasstunes.GlassTunesApp.java
com.glasstunes.HeaderActivity.java
com.glasstunes.LauncherActivity.java
com.glasstunes.NowPlayingActivity.java
com.glasstunes.cards.ActionCard.java
com.glasstunes.cards.BrowseCard.java
com.glasstunes.cards.ContentCard.java
com.glasstunes.cards.HeaderCard.java
com.glasstunes.cards.LauncherCard.java
com.glasstunes.cards.NowPlayingCard.java
com.glasstunes.cards.PausePlayCard.java
com.glasstunes.cards.SkipNextCard.java
com.glasstunes.cards.SkipPreviousCard.java
com.glasstunes.controller.LocalMusicController.java
com.glasstunes.controller.MusicController.java
com.glasstunes.screenslide.BasicCardFragment.java
com.glasstunes.screenslide.BasicCardPagerAdapter.java
com.glasstunes.screenslide.BounceBackViewPager.java
com.glasstunes.screenslide.CardFragment.java
com.glasstunes.screenslide.ContextWrapperEdgeEffect.java
com.glasstunes.screenslide.ScreenSlideActivity.java
com.glasstunes.screenslide.ScreenSlidePagerAdapter.java
com.glasstunes.view.RobotoTypefaces.java
com.glasstunes.view.SliderView.java
com.glasstunes.view.TypophileTextView.java
com.viewpagerindicator.CirclePageIndicator.java
com.viewpagerindicator.IconPageIndicator.java
com.viewpagerindicator.IconPagerAdapter.java
com.viewpagerindicator.IcsLinearLayout.java
com.viewpagerindicator.LinePageIndicator.java
com.viewpagerindicator.PageIndicator.java
com.viewpagerindicator.TabPageIndicator.java
com.viewpagerindicator.TitlePageIndicator.java
com.viewpagerindicator.UnderlinePageIndicator.java
com.woodblockwithoutco.remotemetadataprovider.internal.MetadataUpdaterCallback.java
com.woodblockwithoutco.remotemetadataprovider.internal.RemoteControlDisplay.java
com.woodblockwithoutco.remotemetadataprovider.media.RemoteMetadataProvider.java
com.woodblockwithoutco.remotemetadataprovider.media.enums.MediaCommand.java
com.woodblockwithoutco.remotemetadataprovider.media.enums.PlayState.java
com.woodblockwithoutco.remotemetadataprovider.media.enums.RemoteControlFeature.java
com.woodblockwithoutco.remotemetadataprovider.media.listeners.OnArtworkChangeListener.java
com.woodblockwithoutco.remotemetadataprovider.media.listeners.OnMetadataChangeListener.java
com.woodblockwithoutco.remotemetadataprovider.media.listeners.OnPlaybackStateChangeListener.java
com.woodblockwithoutco.remotemetadataprovider.media.listeners.OnRemoteControlFeaturesChangeListener.java