package com.anthony.app.dagger; import android.content.Context; import com.anthony.app.dagger.component.ApplicationComponent; import com.anthony.app.dagger.component.DaggerApplicationComponent; import com.anthony.app.dagger.module.ApplicationModule; import com.anthony.library.BaseApplication; import javax.inject.Inject; /** * Created by Anthony on 2016/12/1. * Class Note: * Dagger2 support */ public class DaggerApplication extends BaseApplication { private ApplicationComponent mAppComponent; @Inject DataRepository dataRepository; @Override public void onCreate() { super.onCreate(); getAppComponent().inject(this); // initAVOS(); } public ApplicationComponent getAppComponent() { if (mAppComponent == null) { mAppComponent = DaggerApplicationComponent.builder(). applicationModule(new ApplicationModule(this)).build(); } return mAppComponent; } public DataRepository getDataRepository() { return dataRepository; } // private void initAVOS() { // try { // ApplicationInfo appInfo = getPackageManager() // .getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA); // String id = appInfo.metaData.getString("AVOS_APP_ID"); // String key = appInfo.metaData.getString("AVOS_APP_KEY"); // // init LeanCloud AppId and AppKey // AVOSCloud.initialize(this, id, key); // } catch (PackageManager.NameNotFoundException e) { // e.printStackTrace(); // } // } public static DaggerApplication get(Context context) { return (DaggerApplication) context.getApplicationContext(); } }