it.tidalwave.bluebill.mobile.android.BlueBillApplication Maven / Gradle / Ivy
The newest version!
/***********************************************************************************************************************
*
* blueBill Mobile - Android - open source birding
* Copyright (C) 2009-2011 by Tidalwave s.a.s. (http://www.tidalwave.it)
*
***********************************************************************************************************************
*
* 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.
*
***********************************************************************************************************************
*
* WWW: http://bluebill.tidalwave.it/mobile
* SCM: https://java.net/hg/bluebill-mobile~android-src
*
**********************************************************************************************************************/
package it.tidalwave.bluebill.mobile.android;
import java.lang.reflect.Field;
import org.openide.util.Lookup;
import android.app.Application;
import it.tidalwave.mobile.android.asset.AndroidSmartAssetManager;
import it.tidalwave.mobile.asset.SmartAssetManager;
import it.tidalwave.netbeans.util.AsLookupSupport;
import it.tidalwave.netbeans.util.Locator;
/***********************************************************************************************************************
*
* The main class of blueBill Mobile. It provides initialization and clean up.
*
* @author Fabrizio Giudici
* @version $Id$
*
**********************************************************************************************************************/
public class BlueBillApplication extends Application
{
@Override
public void onCreate()
{
super.onCreate();
try
{
AsLookupSupport.setUseCache(true);
// This trick was an old one for setting mock Lookups in tests, but works well here.
final Field defaultLookup = Lookup.class.getDeclaredField("defaultLookup");
defaultLookup.setAccessible(true);
final BlueBillLookup blueBillLookup = new BlueBillLookup();
blueBillLookup.setContext(this);
defaultLookup.set(null, blueBillLookup);
((AndroidSmartAssetManager)Locator.find(SmartAssetManager.class)).setVersion(2);
}
catch (Exception e)
{
throw new RuntimeException(e);
}
}
}